Hybrid C# / F# VS 2015 solution does not build in VS2017

I have a solution that was created in VS2015 with two projects: -

F# class library, Services, which targets F#4.0.
C# ASP .NET application that references the F# library

Both have a paket reference to FSharp.Core <IP_ADDRESS>.
The solution builds fine in VS2015, yet having installed VS2017 I now get the following error whenever I try to build the C# application in VS2017: -
Error	CS1705	Assembly 'Services' with identity 'Services, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null' uses 'FSharp.Core, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' which has a higher version than referenced assembly 'FSharp.Core' with identity 'FSharp.Core, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'.
This is on a fresh VS2017 install with latest F# Nightly tools. The only way I can get it to build is through MSBuild directly in a FAKE script.

 But if you try a solution rebuild in VS2017 and then try to build the C# project (even from VS2015), it fails. It's as if the F# project is somehow being built linked against F#4.1 even though the referenced FSharp.Core is 4.0.

I think you are hitting https://github.com/Microsoft/visualfsharp/issues/2399 - do you reference a type-provider in your F# project?

@isaacabraham
open a vs command window, and run msbuild in the services directory.  Scroll back through the output spew and find the compile options. it is similar to the below.
Can you see if there is an -r: for fsharp.core.dll it should look similar to this:
  -r:c:\kevinransom\ProjectScaffold\packages\FSharp.Core\lib\net40\FSharp.Core.dll

Please let me know if there is one.  My intuition is that for the Services dll it is missing.
 C:\Program Files (x86)\Microsoft SDKs\F#\4.1\Framework\v4.0\fsc.exe -o:obj\Debug\Services.dll
  -g
  --debug:full
  --noframework
  --define:DEBUG
  --define:TRACE
  --doc:bin\Debug\Services.XML
  --optimize-
  --tailcalls-
  -r:c:\kevinransom\ProjectScaffold\packages\FSharp.Core\lib\net40\FSharp.Core.dll
  -r:C:\Program Files (x86)\Microsoft SQL Server\130\SDK\Assemblies\Microsoft.SqlServer.Types.dll
  -r:C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.2\mscorlib.dll
  -r:C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.2\System.Core.dll
  -r:C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.2\System.Data.dll
  -r:C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.2\System.dll
  -r:C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.2\System.Net.dll
  -r:C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.2\System.Net.Http.dll
  -r:C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.2\System.Net.Http.WebRequest.dll
  -r:C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.2\System.Numerics.dll
  -r:C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.2\System.Runtime.Serialization.dll
  -r:C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.2\System.Xml.dll
  -r:C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.2\System.Xml.Linq.dll
  --target:library
  --warn:3
  --warnaserror:76
  --fullpaths
  --flaterrors
  --subsystemversion:6.00
  --highentropyva+
  Library.fs
  C````

If there is an explicit reference to:

-r:c:\kevinransom\ProjectScaffold\packages\FSharp.Core\lib\net40\FSharp.Core.dll

Then the issue is likely as @0x53A says the TypeProvider.

@KevinRansom Here's a snippet of output (taken from VS2017 command prompt): -
CoreCompile:
  C:\Program Files (x86)\Microsoft SDKs\F#\4.1\Framework\v4.0\fsc.exe -o:obj\Debug\Services.dll
  -g
  --debug:full
  --noframework
  --define:DEBUG
  --define:TRACE
  --doc:bin\Debug\Services.XML
  --optimize-
  --tailcalls-
  -r:C:\Users\Isaac\Source\Repos\project\packages\FSharp.Core\lib\net40\FSharp.Core.dll

So it is there. I'm not sure if this means it's the same as #2399 or not though - your first comment suggest that that's not the case but your second implies it is :-)

Note that even in the VS2015 command prompt I see the -r for FSharp.Core.

So the build and compiler are referencing the correct FSharp.Core.dll.  So the likely culprit is using a type that references the latest FSharp.Core.dll.  The most likely cause is a bug in the TypeProvider.  It worked as you expected in earlier versions of the FSharp.Compiler because of a bug in the Compiler that has been fixed.
The fix is to correct the issue in the TP ...
Kevin

The provided types file for that TP looks quite old.  Perhaps someone familiar with the TP should try and fix the FSharp.Core types that it returns to the compiler.

@isaacabraham
I think this is a by design … It is an instance of where imported references were not unifying upwards.  We have to have this behavior for two reasons:

Because it is the correct behavior
Because on the coreclr, it is entirely possible for an app to reference an unbound number of versions of bcl reference assemblies.

Someone needs to work with the SqlProvider maintainers to fix the issue in their type provider.  I would try to take a look at it, but I kind of have a thousand other things to do right now.  As I am sure does everyone else …
I do think there is, an F# compiler bug here too and that is we don’t issue an error message that the developer hasn’t referenced the unified version of the impacted assembly.  However, that still wouldn't make this work.
There are tools in providedtypes.fs that enable a TP developer to pass back to the compiler the correct types for the references passed to the compiler.  However, a lot of care is required and it is easy to get it wrong.
@dsyme  thoughts?

@KevinRansom @isaacabraham I do believe the type provider may need to be updated to be a multi-targeting type provider, by making use of ProvidedTypesContext here: https://github.com/fsprojects/FSharp.TypeProviders.StarterPack/blob/master/src/ProvidedTypesContext.fs
This is non-trivial and, given the fairly sophisticated nature of that type provider, it may expose further issues.

@dsyme @KevinRansom ok - thanks for explaining that :-) So what are the options going forward?

Someone updates the TP - sounds like a bit of effort but doable. I imagine only people that are using VS2017 / F#4.1 will be motivated to do this, but given the difficulty of working with TPs, this could be an issue for users of the TP.

Some change to allow the "old" behaviour? Or is that not possible / undesirable?

What is the impact of this issue vis-a-vis TPs in general - is it going to affect all of them? Just certain ones? Because of the spurious nature of this error I can see lots of people raising false positives about this.

I don't understand that much of this, but I do see similarities with an issue (or issues, it begins to look like) that I reported on Stackoverflow some time ago, and found a solution for. @isaacabraham, perhaps you can have a look at it and see if what I found can be of any help. Also, @anybody, should I report that issue here?
Link to the issue on Stackoverflow:
http://stackoverflow.com/questions/42665926/cannot-resolve-dependency-to-assembly-fsharp-core-4-4-1-0-when-using-vs-2017

@BentTranberg Could be, but that looks more like a more run-of-the-mill binding redirects error to me.

@isaacabraham from my limited experience, this affects every type provider I have used, and will likely affect most others.
While I was trying to do my part by researching the behavior and providing more info for #2399, I found that I was able to create a provided property that returns an empty string or calls functions without any problems, but as soon as the property getter body uses anything specific to F#, even just the |> operator, the compiled binary points to the newer FSharp.Core again.
This is just my assumption, but I doubt many type providers were written with the intent to completely avoid all F# features in the provided members, and as @dsyme pointed out here, the solution to this is not well-documented.

@amazingant.
Yes if you pass back a type from the ambient FSharp.Core.dll which is super easy to do.  Then the F# compiler is going to say ... oh I have a reference to FSharp.Core.dll version <IP_ADDRESS>.  Now all references to FSharp.Core in generated code will now use the higher version number and the referenced assembly will be to FSharp.Core version <IP_ADDRESS>.

@KevinRansom as I mentioned, I was able to trigger this behavior by just using an F# operator within a provided property getter.

@dsyme is there a well-documented fix for this that could be applied to type providers for this? Or is it essentially "you must upgrade to FSharp.Core 4.1"?

@isaacabraham My understanding is that the ix is to make the relevant type provider be a cross-targeting type provider. https://github.com/fsprojects/FSharp.TypeProviders.StarterPack#the-providedtypes-api---cross-targeting-type-providers


html/css

going to work on the html and CSS and make it pretty and see if I can add the random wheel button

cleaned up some html and css, added nav bars to top and bottom, made some placeholder divs for the API data


opendistro_security.multitenancy.tenants.preferred is not taking effect

I am using kibana security plugin 1.9.0 and have enabled multitenancy. Everything is working properly except opendistro_security.multitenancy.tenants.preferred is not having any effect on the ordering in the Tenants tab of Kibana. Even after configuring the parameter the list is coming in the default order.
Configuration in kibana.yml
opendistro_security.multitenancy.enabled: true
opendistro_security.multitenancy.enable_filter: true
opendistro_security.multitenancy.tenants.preferred: ["Private","xyz","Global","abc"]
elasticsearch.requestHeadersWhitelist: [ "Authorization", "securitytenant" ]
Please check and suggest.
Thanks in advance

Is this still an issue? We have not received any other reports of this behavior and it has been a while, so not sure if you were able to get past this issue or is it still happening? Given the multiple changes since that (now) unsupported version, I'm going to close this one but please feel free to re-open if you need help. Thanks!


Cannot use tab in docker containers' shells

Hi !
The problem
I want to use shells in my docker containers, but I cannot use tab to autocomplete the files' name.

You'll notice in the gif that I firstly open a shell in the VM, in which tab is working
To reproduce

Open a docker shell
Write the beginning of a file's name
Use tab

By default, XPipe opens a sh in your docker container. These usually don't support autocompletion and other features.
What you are looking for is probably bash. The reason XPipe defaults to sh is that containers very rarely come with more than just the bare essentials, which is sh.
You can fix this by right clicking the container -> Find available connections -> Select shell environments. If any other shell, such as bash, is installed that supports autocompletion it should be added there.

Figured it today ! Thank you !
(Off topic) Should I consider start learning some sh? 😅

Great.
If you're planning to frequently work with containers, getting familiar with sh itself and how it differs to bash might be a good idea. Because you will only find a variant of sh on many containers.

I guess this can be closed then


Feature: Theme Feature in settings

Describe the feature
The theme feature in a Flutter app allows users to personalize the appearance of the app by choosing between different themes, such as light and dark themes. Themes define the visual style of various UI elements like buttons, text, backgrounds, and more.
Add ScreenShots
NA
Record

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

Can I work on this feature?


OEO does not validate against DL profile

Description of the issue
I tried to set up a travis CI with robot that validates the ontology. Unfortunately, the validation does not succeed using the DL profile:
OWL 2 DL Profile Report: Ontology and imports closure NOT in profile. The following violations are present:
Use of undeclared annotation property: <http://purl.org/dc/elements/1.1/license> in annotation [Annotation(<http://purl.org/dc/elements/1.1/license> <http://creativecommons.org/licenses/by/3.0/>) in null]
Use of undeclared annotation property: <http://xmlns.com/foaf/0.1/mbox> in annotation [Annotation(<http://xmlns.com/foaf/0.1/mbox><EMAIL_ADDRESS>in null]

I did some digging and the issue seems to be the BFO import, which is fixed to BFO v2.0. The validation succeeds with a newer version of BFO
Ideas of solution
Update the version of the imported BFO.
Workflow checklist

[x] I am aware of the
workflow
for this repository

Is this still an issue or can we close this?

@jannahastings @MGlauer : Any actions needed here for the 1.1 release?

I think this is fixed now? @MGlauer any further actions outstanding?


Introduce a timer mocking utility to tests

In #1024 Sinon has been dropped. However, this lead to us stubbing setTimeout manually for the components which have time-based propagation (e.g. menu).
We should clean this up a little by either introducing a small util which can be reused to stub setTimeout, or by introducing a dependency which does this for us.
Keep in mind I tried sinon's fake timers module originally but I think their bundle causes problems in our build.

Fixed in M3


Doesn't work with VSCodium that's installed via Flatpack on Fedora

Before submitting your bug report

[x] I believe this is a bug. I'll try to join the Continue Discord for questions
[x] I'm not able to find an open issue that reports the same bug
[x] I've seen the troubleshooting guide on the Continue Docs

Relevant environment info
- OS: Fedora 39
- Continue: v0.6.17

Description
On Fedora 39, when installing VSCodium via the graphical "Software" app/store thing, and then installing Continue, Continue doesn't work. The symptoms are: clicking the button to edit the "config.json" does absolutely nothing. There is no way to add a configuration for any LLM model/method.
To reproduce
See above.
Log output
No response

@zine999 If you do cmd+shift+p and then select "Toggle Developer Tools", do you see any potentially relevant errors in the console logs when you click the gear button? This would greatly help with debugging.
Another very good thing to know: does ~/.continue/config.json exist at all? If not this would very much explain the problem and would likely be an easy fix

Hmm... this is really hard to reproduce now that I've installed the official VSCodium thing via dnf. Since doing that, the Flatpack version of VSCodium suddenly works, even when I rename the .continue folder. I think I would need to install Fedora afresh to try out your suggestions, which I might do in a VM.
Re does ~/.continue/config.json exist at all? - I don't think it did, if memory serves.

OK... I'm not sure what's going on. I can't reproduce this, even in a fresh install of Fedora. I don't know why it wasn't working before. I'll close this issue since I can't reproduce anymore. If I'm ever able to reproduce I'll open it again.


Local variable name 'RawPathToGroupedPathMapInHaving' must match pattern '^a-z?$'.

Code Path:server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/AnalyzeVisitor.java

See description of Checkstyle rule naming.LocalVariableNameCheck at the Checkstyle website.

[WeOpen Star]I would like to help

[WeOpen Star]I would like to help


Instance details page does not show instance storage

For example on the instance details page of i3en.2xlarge, it should show that it has two 2500MB NVMe SSD instance storage, like on the table of the main page.
https://instances.vantage.sh/aws/ec2/i3en.2xlarge

There's a small lag between deployments and cache updates but you should see these details tomorrow!


feat: partial sha256

Implements partial sha256_var. Expects partial msgs to be padded to be multiples of 64(needs tests that fail when msg len is not a multiple of 64).

todo: show hook up with partial hashing in zkemail js sdk when switching to full zkemail sdk use for input gen


Perform release-related activities for 20.09

A number of checks have to be performed on the evidence files submitted by data providers as they arrive and before the pipeline is run to see whether the agreed changes have been implemented.

EVA file received on 11th August:

Number of evidence strings went down slightly after haplotypes were excluded (eva-opentargets/127), there were 116,023 in the submitted file.
Valid JSON
gene2variant score removed so that scoring is based on functional consequence of the variant (#1138)
There are still 19 evidence strings where the ClinVar condition is "Alzheimer disease (AD)" and they are mapped to EFO_0000249. These were manually mapped to Early-onset autosomal dominant Alzheimer disease (Orphanet_1020) - see #104
58 trinucleotide repeat expansions (SO_0002165) in evidence file. I will check with EVA why RCV000851331 and RCV000853078 went missing.

Expression Atlas differential expression file received on 23rd August:

Data from Expression Atlas release 36
388,303 evidence strings received, which end up being 230,273 after filtering based on activity (up from 221,633 in 20.06)
Filtering still performed in-house
Valid JSON

No updated baseline file was submitted.

TEPs checked on September 1st and there are no updates

Chemical Probes updated on 1st September:

Two new probes (PFI-6 and SGC-CK2-1) in SGC, there are 79 in total.
23 new probes in Chemical Probes Portal (25CN-NBOH, A-485, AB680, ABT-100, AMG-510, BAY-3827, BAY-549, BAY-707, BAY-826, BAY-985, BI-1935, BI-2545, CPI-1612, DO264, Luminespib, MLi-2, MRTX849, SR-318, TH5427, Tubastatin A, UCSF4226, ULK-101, WM-1119) and one lost (BAY-885) because after a new review the score is below the threshold. There are 157 probes in total.
Sever new probes ((R)-ZINC-3573, BAY-069, Ogerin, SR-302, TP-030-1, TP-030-2, WM-1119) in Open Science Probes/Donated Chemical Probes portal, there are 72 in total.

EuropePMC evidence file received on 24th August. It was checked and it looks good:

Number of evidence strings went down around 2.5M to 7,319,521 because ML pipeline was used to removed FPs.
Valid JSON
2,450 evidence strings annotated with COVID-19 (MONDO_0100096). However, the Hoffmann et al. Cell paper is still not among them.

Ticket closed as 20.09 release pushed to production. Thank you @AsierGonzalez for another great release! :-)


command data when pairing Aqara Precision Motion Sensor

Above is the screenshot of service call. Shall I keep line 1 to 3 (service, target.device_id) generated automatically?
Is the entity_id in the red rect the one I shall fill in data.entity_id?

Shall I use lumi.motion.agl04 as data.device?

You not need to use service for pairing official Xiaomi device. Just pair it from MiHome. Or toggle pair switch.

You not need to use service for pairing official Xiaomi device. Just pair it from MiHome. Or toggle pair switch.

Correct me if I'm wrong, but I hear Aqara Precision Motion Sensor is supposed to work with Aqara gateways such as M1S, and can't be used with Xiaomi Gateway 3 in Mi home. Have you paired it with Mi home successfully before? If yes, may I use the fast paring mode (shortly press the gateway button for 3 times and then long press it for one time) to pair the sensor?

trippleclick and reset motion sensor. it will pair on chinese region.

trippleclick and reset motion sensor. it will pair on chinese region.

Thank you very much, I manage to pair the sensor. But my automation fails to trigger when sensor state changes. Where may I find the correct values for the state of Aqara Precision Motion Sensor?

trippleclick and reset motion sensor. it will pair on chinese region.

Thank you very much, I manage to pair the sensor. But my automation fails to trigger when sensor state changes. Where may I find the correct values for the state of Aqara Precision Motion Sensor?

I try removing value "off" from the "from" input box and the automation works.


[error] Ubuntu 22.10 is not supported!

[error] Ubuntu 22.10 is not supported!

That is not a bug, Ubuntu 22.10 is really not supported.
Please check out the documentation.
../Frenck


Improvement auto release by CI

Current release script requires token updated by manually.
This idea is that token refreshed on heroku and  release it.

LGTM


Port website to deno

The README states that

This is written in React / TailwindCSS / Vercel / CloudFlare Workers. Not in Deno. Ideally this could be ported to Deno at some point but we are in need of a new website and dogfooding takes too long. We hope to see this code ported to Deno with minimal developer flow interrupted (in particular, we need the ability to listen for FS events and reload the web server).

As Deno has now released 1.0, can the work to move website to deno get prioritized?
The Node.js community loves that this website runs on node, but it's an easy laughing stock for questioning capabilities of Deno (check replies to example tweet)

As the author of that tweet, there is nothing mocking in it from my side. I genuinely love it, as Next.js is a fantastic framework.
(As much as it would if it was running on Wordpress - which is still fantastic).

I fully agree that this will be great to do. The website can be ported when Deno is ready for this. Currently the tooling that is needed to make a good, high performance site like tree shaking and code splitting capable bundlers, static generation frameworks, css bundlers, minifiers ect are just not there yet.
Next.js is a really great framework, but sadly only exists for node. Having the Deno team develop an entire tooling stack simmilar in capability to Next.js to support the Deno website being written in Deno seems unreasonable. The people that are building the Deno runtime should build the Deno runtime and not web frameworks. With some more time the community will hopefully build and port enough tooling to Deno so that the website can be ported to Deno. :rocket:
I think the top priority should be the runtime and not the website though :-)

I can port this website to run on Deno runtime with SSR & minimal code changed
The dev tool is still rely on some Node lib (rollup, react) for better DX
The idea is leverage ESM & reuse between Client Side & Server Side
Let me know if you will accept a PR @lucacasonato

Let's wait a bit longer.
I really want to dog food deno here too - but not yet. The website is working today - I don't have to put much time into it - I would like it to remain that way so I can focus on problems deeper inside deno.

My position has changed. We now want to port this website to Deno.
I will leave undefined how exactly this should be done, what tooling should be used. However here are some candidates:

https://github.com/lucacasonato/dext.ts
https://packup.deno.dev/
https://github.com/lucacasonato/fresh

@ry any opinions on https://github.com/alephjs/aleph.js ? Just curious about the ecosystem in general, NextJS is the only thing keeping me in NodeJS for my web servers so I am eager from your decisions.

This is being done in #2017


Use Assertion IDs to prevent SAML replay attacks

From the https://docs.oasis-open.org/security/saml/v2.0/saml-profiles-2.0-os.pdf,

"The service provider MUST ensure that bearer assertions are not replayed, by maintaining the set of used ID values for the length of time for which the assertion would be considered valid based on the NotOnOrAfter attribute in the ".

Currently, there's no way to configure and use this form of defense. It would be nice if the library could handle the assertion ID validation too as part of authentication.
Note: By setting the "allow_unsolicited" config to False, it sort of prevents the replay attacks. But it would take out the IdP initiated logins altogether.

Once a Response have been acquired the cache will be updated and the same response, if replayed, will be rejected (403 Forbidden). Please, can you share a PoC to show what you're are trying to tell us?
See AssertionConsumerService ClassView

Thanks for the quick response! My question is a follow-up to the discussion from here - https://github.com/IdentityPython/pysaml2/issues/333

See AssertionConsumerService ClassView

Do you want me to check out the class AssertionConsumerService in pysaml?

Once a Response have been acquired the cache will be updated and the same response, if replayed, will be rejected (403 Forbidden). Please, can you share a PoC to show what you're are trying to tell us?

Not sure it's happening. I'm currently using the vanilla config and inorder to repro, this is what I'm doing

Have a Django server running and try to login with the SAML IdP, IdP authentication succeeds, and the redirection to my web app is also successful.
Use postman to resend the same SAML response back to the server on the assertion_consumer_service end-point.

https://github.com/knaperek/djangosaml2/blob/master/djangosaml2/views.py#L323 - This method parse_authn_request_response checks for signature validation, TTL, the recipient is correct, etc. but don't think it currently checks if the same assertion ID has already been used.
try:
        response = client.parse_authn_request_response(
					request.POST['SAMLResponse'], BINDING_HTTP_POST, outstanding_queries)
        except (StatusError, ToEarly) as e:
            _exception = e
            logger.exception("Error processing SAML Assertion.")
        except ResponseLifetimeExceed as e:
		...
		...

(I tried to be as descriptive as possible without dumping a lot of details, let me know if makes sense or if you need me to provide more context)

I see
That's something that belongs to pysaml2 cache management system. Afaik I think that the Saml session Is linked to djangosaml2 session cookie, in a way that It could be impossible to exploit a reply Attack to authenticated another user.
Thank you for your check, please enrich this thread with any additional information.
Try to use postman to another session, It would not work. Try to change/modify the response, It Will be unvalidared due to the signature check.
Let me know

Afaik I think that the Saml session Is linked to djangosaml2 session cookie, in a way that It could be impossible to exploit a reply Attack to authenticate another user.Try to use postman to another session, It would not work.

True, even when they try to replay they're still authenticated as the same user. But this could mean an adversary can gain access to the system as an authorized user just by replaying the response. There are other checks that minimize this threat vector, like signature checks, use encrypted communications, etc. However, if the SP wants to provide this validation as the SAML spec recommends, it'd be nice if the library could provide some hooks.

That's something that belongs to the pysaml2 cache management system

I think pysaml2 says it has to be the responsibility of the SP (or whoever is using pysaml) to ensure that the response IDs are persisted and checked.
Since the djangosaml2 library cannot handle the persistence of IDs, djangosaml2 could expose some hooks similar to the Saml2Backend.clean_attributes, Saml2Backend.is_authorized, etc. but that would let the SP access the SAMLReponse object and then decide if it wants to accept that response or not.
I think from the current design/philosophy behind Saml2Backend, it's probably by design that the AuthnResponse is encapsulated. Would it be possible to expose similar hooks for Saml2Client that take care of additional validations and the client could be configurable in Django settings?

in your setup allow_unsolicited is set to True or False?

afaik in djangosaml2 it would be good to check the presence of the related session_id in the OutstandingQueriesCache:
https://github.com/knaperek/djangosaml2/blob/033b16c6ee626bcf485e9b06bed95b6eacaa2a30/djangosaml2/views.py#L279
having a .get at the top of the ACS would be the final solution

I think that this should be investigated well
https://github.com/knaperek/djangosaml2/blob/033b16c6ee626bcf485e9b06bed95b6eacaa2a30/djangosaml2/views.py#L365

@peppelinux the issue happens when allow_unsolicited is set to True. And the outstanding_queries only has a record if the login request originated from the SP. If the allow_unsolicited is set to False, the service has to essentially drop support for the IdP initiated logins.

thank you @basavakanaparthi-alation
as I can see this
https://github.com/knaperek/djangosaml2/blob/f636c40d812f7c39cf110bcbc2af08c8beca380a/djangosaml2/views.py#L83
overlaps with this
https://github.com/knaperek/djangosaml2/blob/f636c40d812f7c39cf110bcbc2af08c8beca380a/djangosaml2/views.py#L318
... and I think that it would be trivial to put a filter on identity_cache and outstanding queryes.
Would you like to have a dive in djangosaml2 and then purpose a PR for this?

Yes, we should investigate more in pysaml2 parse_authn_request_response
thank you for this issue

Do you use a differenti useragent for doping the replay or the same One?
The outstandingquery uses your request session (cookie). The threath would be presente only if your replay works on a differenti useragent, without the preavious session cookie in It.
Can you confirm this please?

If an attacker would steal the cookie ... who would care about the saml2 bearer, it would be already logged in with the cookie only!
Afaik I don't think that's threat at this moment. Hope to meet your though

Do you use a different useragent for doing the replay, or the same One?

The useragent is different (Mozilla vs Postman, I also don't think it matters - it just has the metadata about the environment, right?). Plus, none of the cookies or any user-specific headers are shared. I'm still seeing the issue - I'm able to login successfully just by resending the SAML Response.

The outstandingquery uses your request session (cookie).

If I understood the code correctly, the write to the outstandingquery when the SP initiates a login request. And when the assertion_consumer_service is hit it checks and deletes the session_id from the cache if it exists. So if the request didn't originate from the SP like in the case of IdP initiated logins - the outstandingquery would be empty, so if the allow_unsolicited is set to True, it validates the response and accepts it. The issue is that the same response can be used to authenticate multiple times and have many auth sessions.

The threath would be present only if your replay works on a different useragent, without the preavious session cookie in It.

I don't think this is accurate. It doesn't really matter - like the SP doesn't need any user/session specific info to validate the SAMLAuthnResponse.

Ok got It, but with unsolicited set to True this Is the correct behaviour, It doesn't check the id response in relation of the preavious requests.
I would suggest you to disable unsolicited, for any other additional purpose on this topic I'd ask you to dig into pysaml2, as identitycache and outstanding queries are whitin its management.
Today I was quite busy and I didn't have the Energy to follow this issue, so I made some distraction with my questions. Sorry for that.
Now I can have a clearest view and I really want to thank you for your effort and idea but I'm going to close this issue because Is not strictoy related to Django.
I don't use idp initiated login and I discourage to enable unsolicited. Thank you again and Hope to follow your next issues and PR if there would be the pleasure from you to do that.
Great contribution After all

Thank you for the quick responses. I appreciate you taking the time in discussing this with me.
However, I don't think this is the correct behavior - the Service Provider, in this case, the Django app using djangosaml2 needs to enforce this.

"The service provider MUST ensure that bearer assertions are not replayed, by maintaining the set of used ID values for the length of time for which the assertion would be considered valid based on the NotOnOrAfter attribute in the ".

So the library should at least have some hooks/configurations to allow the Service Provider to inspect the response, handle the storage of the IDs check the validity, etc. Like in one of my earlier comments, there

Since the djangosaml2 library cannot handle the persistence of IDs, djangosaml2 could expose some hooks similar to the Saml2Backend.clean_attributes, Saml2Backend.is_authorized, etc. but that would let the SP access the SAMLReponse object and then decide if it wants to accept that response or not. I think from the current design/philosophy behind Saml2Backend, it's probably by design that the AuthnResponse is encapsulated.

If we're okay with the approach/plan - I don't mind chipping in with a PR too. But this is definitely a valid use-case that must be supported by the library if it wants to sit between the Django app and the pysaml2 library.

if allow_unsolicited is set to True we have a correct behaviour, standing on how pysaml2 implemented SAML2-core.
I agree that djangosaml2 could enforce this aspect, with a local storage with expirable (60mins) entities that woould simply have session_id, but, sincerely, if I don'tfind a motivated contributor to pursue this goal, I would honestly not include this in the roadmap, because I firmly believe that with rare exceptions the allow_unsolicited and IdPInitiated login features shouldn't be enabled in a production environment.
See Redis TTL and take your time for a PR, when you'll start ask me to reopen this Issue and stay sure that I'll review and merge your contribution asap

Hey @peppelinux I'm planning to open a PR soon, could you reopen this issue and assign it to me?

closed via https://github.com/peppelinux/djangosaml2/commit/3624de6f1cbd26cfa78fb517581ab7c09a8efee3


Use egg info in annotations for VCS dependencies

What's the problem this feature will solve?
Annotations of subdependencies of VCS dependencies are missing in requirements.txt.
Describe the solution you'd like
Consider using the egg name specified either as
egg_name @ <vcs_url>

or
<vcs_url>#egg=egg_name

in the annotations in the requirements.txt, e.g.
package_name  # via egg_name

Hello @cbows,
Thanks for the issue! This is a duplicate of #293.


How can I modify the environment variables which built from other env variables?

This is My makefile.toml:
[config]
skip_core_tasks = true

[env]
MODE = { value = "release", condition = { env_not_set = ["MODE"] } }
KERNEL_ELF = "target/${MODE}/kernel.bin"

[tasks.print]
script_runner = "@duckscript"
script = '''
echo ${MODE}
echo ${KERNEL_ELF}
'''

[tasks.debug]
command = "cargo"
args = ["make", "print", "--env", "MODE=debug"]

not sure what is the question here, your makefile seems to work well:
~/ $ cargo make print
[cargo-make] INFO - cargo make 0.32.12
[cargo-make] INFO - Build File: Makefile.toml
[cargo-make] INFO - Task: print
[cargo-make] INFO - Profile: development
[cargo-make] INFO - Running Task: print
release
target/release/kernel.bin
[cargo-make] INFO - Build Done in 0.00 seconds.
~/ $ cargo make debug
[cargo-make] INFO - cargo make 0.32.12
[cargo-make] INFO - Build File: Makefile.toml
[cargo-make] INFO - Task: debug
[cargo-make] INFO - Profile: development
[cargo-make] INFO - Execute Command: "cargo" "make" "print" "--env" "MODE=debug"
[cargo-make][1] INFO - Build File: Makefile.toml
[cargo-make][1] INFO - Task: print
[cargo-make][1] INFO - Profile: development
[cargo-make][1] INFO - Running Task: print
debug
target/release/kernel.bin
[cargo-make][1] INFO - Build Done in 0.00 seconds.
[cargo-make] INFO - Build Done in 0.56 seconds.

I expect that when the variable MODE is debug, the variable KERNEL_ELF can be "target/debug/kernel.bin"

@umaYnit this should now be resolved in dev branch 0.32.13

Yes, it's ok, I can test code conveniently and happily again. thanks~ :laughing:


showRecord

Should I pull in showRecord based on my work in purescript-record-show (https://github.com/matthewleon/purescript-record-show)? It feels like it belongs here.

sounds good. hopefully this one goes into prelude later for sure 😄

This is in Prelude now :+1:


Rework rendering API to allow for simultaneous "human" and "rgb_array" mode rendering

Proposal
I propose to change the gym environment API so that human and rgb_array rendering can be enabled/disabled independently. Hence, instead of having to choose just between no rendering, "human" rendering, and "rgb_rendering", there should be another option to enable both.
Motivation
One thing that has always bothered me about gym is that there is no way of rendering environments in "rgb_array" mode, while also displaying their "human" visualization. However, there are valid use-cases for doing this, e.g., if the policy expects a rendered image as input, but one also wants to see what is currently happening in the scene.
Additionally, when using a simulator like PyBullet or IsaacSim in gym environments, the simulator already provides an interface, which simply has to be enabled at the start. The interfaces these simulators provide are interactive and are thus much more informative for the user than the static "rgb_array" outputs. However, currently, one has to choose between seeing the interfaces and rendering numpy images.
In my opinion, there is no reason why the rendering modes should be mutually exclusive.
Pitch
This could be implemented by separating the "human" rendering mode from the rendering_mode variable. Hence, one could add a boolean option, human_rendering, which enables or disables "human" rendering mode. If enabled, human rendering is always performed in the step function (I think this is already the case).
The render function specification changes so that it is no longer allowed to return None. Instead, it should throw an exception if it is called without any rendering mode active and else return the rendered image in the specified format.
Alternatives
A workaround is to write a wrapper that takes "rgb_array" images generated by gym.Env.render and displays them as well as returning them in its own render function. For custom environments using simulators like PyBullet and IsaacSim, a custom option can be implemented to display their interfaces even if the rendering mode is not set to human.
Additional context
No response
Checklist

[X] I have checked that there is no similar issue in the repo

While, it is not standard, I don't see why env.render() with human can't return the rgb array if available rather than None currently. Would this solve the issue your discussing?

An alternate solution would be to to allow multiple render modes at the same time Example: render_mode = ["human". "rgb_array", "rgb_array"] This would also enable multi-cameras.
Note: this has been previously suggested inhttps://github.com/openai/gym/issues/3038

While, it is not standard, I don't see why env.render() with human can't return the rgb array if available rather than None currently. Would this solve the issue your discussing?

I see three issues with the way rendering is currently implemented:

For existing environments (e.g. cartpole), there is no way of rendering both rgb_array and showing the human interface anymore. In the old API, this was possible via calling Env.render twice with different arguments, as pointed out in the replies to (https://github.com/https://github.com/openai/gym/issues/3038).
Once rendering_mode is set to "human", it is not possible to specify what env.render() should return anymore (“rgb_array”, “rgb_array_list”, “ansi”, “ansi_list”).
Some environments might need to know in advance whether or not they should create "rgb_array" renderings (e.g. for creating buffers or rendering pipelines). If we choose to let Env.render() always return rgb_array renderings, we also need to prepare for rendering every time, if it is needed or not.

An alternate solution would be to to allow multiple render modes at the same time Example: render_mode = ["human". "rgb_array", "rgb_array"] This would also enable multi-cameras.

I feel like this would overcomplicate things, as certain combinations don't really make sense (e.g., combining "rgb_array" and "rgb_array_list". Also, the render functions would have to be rewritten so that they return multiple different renderings, e.g., "ansi" and "rgb_array". All that I would like to have is being able to enable human rendering next to other rendering modes.

There is a point in letting the HumanRender be transparent, as it actually is not possible to observe/verify what is rendered.
The other modes could be streamed to file or back into ML-code, but "human" can't...


example : MultiDocument Agentic RAG with Function tools

[ ] Add Colab Link to Blog: After merging the example, ensure the Colab link is included in the blog post before it’s published.
[ ] Update README.md: Once the blog is published, verify that the blog link is correctly added to the README.md for this example.

@AyushExel


Add lettering to the Catalogue API

Gut feeling is that this is a fairly small piece of work (add a single field to the Miro transformer, changes to Work and DisplayWork) and would be an easy win for rounding out API fields, but it’s a public API change so we should hold it until @jtweed is back from holiday.
Related: https://github.com/wellcometrust/wellcomecollection.org/issues/1234

(…however I may tee this up and hide it behind the staging API if I get itchy fingers on Friday)

Turns out the models and API all support this, we just don’t expose it on any records? Just needs a transformer change.

Reopening until we’ve done a reindex.

Closing as this is now present in the API: https://api.wellcomecollection.org/catalogue/v0/works/a24dbqqp


Fix 0.3.0 regression, install qfieldcloud-cli as executable

Task linked: QF-1494 Fix qfieldcloud-cli not installing the executable


Restify integration

I had good experiences with Restify in the past, and it also has a supersweet ip-based ratelimiter.
I was wondering if I could combine fortunejs with restify so I came up with a similar solution like this, but it didnt work:
https://github.com/fortunejs/fortune/issues/128
There might be a conflict with configuring the headers, especially the content-type.
No idea whether this is a fortune-jsonapi, fortune or restify issue , but here goes:
var entity, entityname, fortune, http, i, jsonapi, len, model, nedb, ref, ref1, restify, serializer, store;
fortune = require('fortune');
jsonapi = require('fortune-json-api');
restify = require('restify');

/*
 * setup store (serializers and adapter)
 */
store = fortune()
.defineType('user', {
    name: { type: String },

    // Following and followers are inversely related (many-to-many).
    following: { link: 'user', inverse: 'followers', isArray: true },
    followers: { link: 'user', inverse: 'following', isArray: true },

    // Many-to-one relationship of user posts to post author.
    posts: { link: 'post', inverse: 'author', isArray: true }
})

.defineType('post', {
  message: { type: String },

  // One-to-many relationship of post author to user posts.
    author: { link: 'user', inverse: 'posts' }
})

store.connect().then(function() {
  var port, server;
  server = restify.createServer({})
  server.use(fortune.net.http(store));
  server.use(restify.acceptParser(server.acceptable));
  server.use(restify.queryParser());
  server.use(restify.bodyParser());
  port = process.env.PORT || 1337;
  console.log("starting fortune @ localhost:" + port);
  return server.listen(port, function() {
    return console.log('%s %s up and running', server.name, server.url);
  });
});

get it running:
npm install fortune fortune-json-api restify
node server.js

then
$ curl -X POST -H 'Content-Type: application/vnd.api+json' "http://localhost:1337/user" --data '{"name":"foo"}'
{"code":"ResourceNotFound","message":"/user does not exist"}
Should I bother at all?
I noticed an http-extension like this (https://www.npmjs.com/package/http-router) reproduces  restify/express-style routing as well, and I got it working immediately.
store.connect().then(function() {
  var fortunehandler = fortune.net.http(store);
  var server = http.createServer(function(req, res) {
    if (!routes.route(req, res)) {
      return fortunehandler(req, res);
    }
  });
  return server.listen(1337);

The question then would be: is it safe to say that most express/restify npm middleware modules (like this: https://www.npmjs.com/package/ratelimit-middleware) will work after a bit of DIY plumbing like above?

You might notice that Restify follows this signature for middleware, same as Connect and Express: (req, res, next). The http wrapper from Fortune.js does not, so you will have to wrap it again to get a middleware out of it:
const listener = fortune.net.http(store, { endResponse: false })

function middleware (req, res, next) {
  return listener(req, res).then(response => {
    // save the response somewhere, then call next
    next()
  })
  .catch(next)
}

Not sure if that is the problem, though, I've never used Restify.

Thx, that will do yes :)
Actually, the more I compare restify/express with the http-module, the more I'm realising that restify/express isn't a rocketscience project.
Its just a decorated http module.
I think Im just going to copy the use() function from restify/express, so I can easily add their middleware npm modules next to fortune middleware.
That would definately keep things lightweight.
Again, Thx!


Kubelet Configuration (v1beta1)

Link refers to a github 404 page:
Node Allocatable

Thanks @shaked-develeap, related doc - https://kubernetes.io/docs/reference/config-api/kubelet-config.v1beta1/#LoggingConfiguration
/assign
/kind doc

/assign

The link
[Node Allocatable](https://git.k8s.io/community/contributors/design-proposals/node/node-allocatable.md)
is hard-coded in the upstream source code (https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/kubelet/config/v1beta1/types.go#L634).
The reference is generated from the source code, so the fix must be proposed in the upstream kubernetes/kubernetes repo. Refer to https://kubernetes.io/docs/contribute/generate-ref-docs/contribute-upstream/ for guidance on how to contribute upstream.

/triage accepted

Cannot fix this downstream. Please propose a fix to the code (link provided in previous comment).
/close


add #[openapi(rename = "...")] attribute

Hello!
I designed a fix for #357 which is a little different from the approach in #358. This time, I'm adding the explicit rename using #[openapi(rename = "...")]. If there's a good way to test my approach using existing paperclip tests, I'd love to know about it.

Hello!
I designed a fix for #357 which is a little different from the approach in #358. This time, I'm adding the explicit rename using #[openapi(rename = "...")]. If there's a good way to test my approach using existing paperclip tests, I'd love to know about it.

So the tests basically take your "config", generate the openapi spec and compare it against a hardcoded spec using check_json. I see you've renamed a Pet - that should fail the tests now are they expect to see Pet and not PetRenamed - however please add a new test instead to avoid changing all the existing tests which expect Pet.

Hey @tiagolobocastro, I rebased, reimplemented extract_rename using your suggestions and added a test case for it! Could you please take another look when you have a chance? Thanks!

awesome thanks @tomsik68, I've kicked gh actions and will try to have a look during the week

hey @tomsik68 would you mind fixing the clippy errors here

Thank you @tomsik68 !


Unclear Outputs with AddModifier

I'm trying to add a simple modifier to overwrite a value with a static string, but the output is always "true". Can you help me understand the correct way to use AddModifier? Given the examples I've seen, I don't understand why this does not work:
func modStatic(json, arg string) string {
	return arg
}

gjson.AddModifier("static", func(json, arg string) string {
		return modStatic(json, arg)
	  })

I think the issue is that the argument should be a valid json value. In your case you’ll probably need to add quotation marks around each arg.
https://play.golang.org/p/Y3ATaEDW0LF


Quick dockerfile implementation

Awesome project. Saw the request for docker on reddit and thought this may help others. I see I am now 2 hours late... but perhaps my pull request will help you?
You can install docker, and test by running these commands:
docker build -t reactive-resume .
docker run -p 5000:5000 reactive-resume:latest

Oh, I am so sorry. I started working on it as soon as I created an issue on GitHub, the only thing slowing me down was my internet connection, but I have managed to successfully push a docker image and the changes required for the same.
You can read more about it in the documentation:
https://docs.rxresu.me/deployment/#docker
I'm really sorry that you had to go through all that trouble. I'll get better with making clear updates on what I'm working on further so that there won't be any clashes, but I do appreciate your efforts a lot and I do hope you keep contributing to the project :) Thank you so so much!

No problem at all! I'm glad you are pushing forward with this! It's awesome :)
Just some suggestions though - avoid multiple FROM (https://stackoverflow.com/questions/33322103/multiple-froms-what-it-means), declare a USER (don't run as root), and it would be best to leave nginx out of your dockerfile and instead create a docker-compose which uses two separate containers (it seems weird compared to how we used to think about virtual machines, but many want as little as possible in each container). But honestly - great work! Thank you!!!

Yes, I just saw your comment on Reddit. I'm not quite sure on how to do this, as I'm still learning all about Docker. Could you reopen a PR and work around with the files I've made to make them better according to your experience? I would want to strive for maximum efficiency too, and dangling containers are a pain.
Thank you so much :) Please keep supporting, and I'll keep doing whatever I can to make the app more and more useful.

Hey @benjaminchodroff, would you be making that extra fix or should we let this be? :)

Looks great to me. The nginx+node appears to work well - and is running as nginx. Let's go with what you got!

Is the docker/portainer deployment code avail for this then as it's not obvious from an initial look?  Maybe I'm just missing something.


Trying to change the mapType using setState does not work on the latest version

Summary
Trying to change the mapType using setState does not work on the latest version.
Indeed the issue I'm reporting looks quite similar to this one: https://github.com/react-native-maps/react-native-maps/issues/2178
Environment info
  react-native: 0.63.2
  react: 16.13.1
  react-native-maps: 0.27.1

Reproducible sample code
import React, { useRef, useState } from 'react';
import { StyleSheet, Button } from 'react-native';
import MapView from 'react-native-maps';

const CHANGE_MAPTYPE_TO = 'Change mapType to ';

const Map = () => {
  const mapRef = useRef<MapView>(null!);
  const [buttonTitle, setButtonTitle] = useState(CHANGE_MAPTYPE_TO + 'satellite');

  const toggleMapType = () => {
    let mapType;
    mapType = mapRef.current?.state.mapType === 'satellite' ? 'standard' : 'satellite';
    const buttonNewTitle = CHANGE_MAPTYPE_TO + (mapType === 'satellite' ? 'standard' : 'satellite');
    console.log('UPDATE MAP TYPE TO =', mapType);
    console.log('PREVIOUS STATE =', mapRef.current?.state);
    mapRef.current?.setState(
      {
        ...mapRef.current?.state,
        mapType,
      },
      () => {
        console.log('NEW SATE =', mapRef.current?.state);
        setButtonTitle(buttonNewTitle);
      },
    );
  };

  return (
    <>
      <MapView ref={mapRef} provider="google" style={styles.container} />
      <Button title={buttonTitle} onPress={() => toggleMapType()} />
    </>
  );
};

const styles = StyleSheet.create({
  container: {
    flex: 1,
  },
});

export default Map;

Upon pressing the button you'll get the following logs:
[Wed Nov 11 2020 10:32:46.914]  LOG      UPDATE MAP TYPE TO = satellite
[Wed Nov 11 2020 10:32:46.915]  LOG      PREVIOUS STATE = {"isReady": true}
[Wed Nov 11 2020 10:32:46.915]  LOG      NEW SATE = {"isReady": true, "mapType": "satellite"}
[Wed Nov 11 2020 10:32:56.273]  LOG      UPDATE MAP TYPE TO = standard
[Wed Nov 11 2020 10:32:56.274]  LOG      PREVIOUS STATE = {"isReady": true, "mapType": "satellite"}
[Wed Nov 11 2020 10:32:56.275]  LOG      NEW SATE = {"isReady": true, "mapType": "standard"}

Unfortunately changing the mapType on the state does not take effect on the MapView.
Any idea what I might have missed or doing wrong here?

Have you tried providing the prop directly to MapView? Why are you using ref?

Have you tried providing the prop directly to MapView? Why are you using ref?

Still same Error

I think your approach is overcomplicating things a bit.
The following works for me on both iOS and Android:
import React, {useState} from 'react';
import {StyleSheet} from 'react-native';
import MapView, {MapTypes} from 'react-native-maps';

export default function App() {
  const [mapType, setMapType] = useState<MapTypes>('standard');
  const toggleMapType = () =>
    setMapType(mapType === 'standard' ? 'satellite' : 'standard');

  return (
    <MapView style={styles.mapView} mapType={mapType} onPress={toggleMapType} />
  );
}

const styles = StyleSheet.create({
  mapView: {
    flex: 1,
  },
});

I'm going to close this for now, but if you believe that there's still a bug regarding this, feel free to open a new issue following the issue template.

I think your approach is overcomplicating things a bit.
The following works for me on both iOS and Android:
import React, {useState} from 'react';
import {StyleSheet} from 'react-native';
import MapView, {MapTypes} from 'react-native-maps';

export default function App() {
  const [mapType, setMapType] = useState<MapTypes>('standard');
  const toggleMapType = () =>
    setMapType(mapType === 'standard' ? 'satellite' : 'standard');

  return (
    <MapView style={styles.mapView} mapType={mapType} onPress={toggleMapType} />
  );
}

const styles = StyleSheet.create({
  mapView: {
    flex: 1,
  },
});

I'm going to close this for now, but if you believe that there's still a bug regarding this, feel free to open a new issue following the issue template.

this works but it re renders the map


[DR-1622] Create Adapter in Relay to override MSEditor Adapter

Background
We need to override the mseditor adapterService to inject our own backend logic
Changes done
Add own adapterService to Doppler Relay mseditor page
Add helper to log methods in console
Pending to be done
Mock methods to access to mseditor features
Notes
This task will be updated together with PR-1253
Logger

@andresmoschini Could you please check my lastest changes on this pr?

Move the adapterService to another js file.
Mock almost all methods except getImagesForCampaign(), we saw with you that we need  to check better inside of the original MSEditor implementation of this method.

Thanks

@andresmoschini could you please let me know if you agree with my lastest changes?

@andresmoschini I already update the pr with examples and some code review refactors that maybe you are interested in it.

Logger is working wonderfull, you are ok with merge this pr? @andresmoschini

Sure, feel free to rebase it as you want.


Include cargo_vcs_info.json even for dirty working directories

Problem
Currently, Cargo includes a .cargo_vcs_info.json file when publishing, but only if the working copy is clean and --allow-dirty is not used.
However, this metadata is needed regardless whether the directory was modified or not. It's unlikely the path in repo would change, and it is still needed for resolving relative paths in README, creating links to the crate, and still helpful for quickly finding the crate in its repository.

There are situations where it's still necessary to edit the Cargo.toml file, e.g. to publish crates with circular dev dependencies (#4242), or explicitly specified tests/benchmarks that are excluded from the tarball (#13456). In this case the commit hash is basically still accurate.
 Dishonest users can always modify Cargo to make it lie or upload a manipulated tarball themselves, so this file is informational, not an integrity guarantee.
Proposed Solution
Cargo could always include the commit hash when available. Perhaps add "dirty":true if reporting that state is deemed important. Alternatively, provide an option of --allow-dirty-but-still-include-the-commit-hash.
Notes
No response

Is there a reason to be mutating Cargo.toml for dev-dependencies these days with the stripping of non-registry dev-dependencies?
For #13456, I am actively working on a fix.  I posted the last major refactor today (#13693) before I can make the relevant change.
That said, I agree with the idea and it makes me wonder why this wasn't considered before.  #5886 and its predecessor don't really say much on motivation.  Same with #9866.

The biggest risk with this is if someone assumes the presence of cargo_vcs_info.json means the .crate is clean.
I talked to @joshtriplett to get some historical perspective and they don't see an issue and don't think that above use case should be large enough for us to work around (e.g. adding a cargo_vcs_info-2.json file)

https://docs.rs/crate/async-recursion/1.1.0/source/Cargo.toml.orig
is an example of a crate that removed non-workspace crates-io dev-dep to avoid a cycle (tokio-test)

I'm not seeing tokio-test in the source Cargo.toml.
I'm also not too sure the point you are trying to get across.  In theory, there isn't a reason to do that manually anymore.  However, that is independent of whether we go forward with this and I've marked it as Accepted though I'm assuming we'd hold an FCP for it but I expect that to be relatively smooth.

The biggest risk with this is if someone assumes the presence of cargo_vcs_info.json means the .crate is clean.

Adding a "dirty" field would help here, unless they are just looking for the file (not the contents of the file. In which case there really isn't much you can do about it.
Another use case here is that of https://github.com/briansmith/ring/issues/1460#issuecomment-1830305112. TLDR: ring has a perl script(!) to generate assembly files, and also pre-compiles these for Windows so users don't need nasm to build ring. I can only assume that this predates stable support for inline assembly / global assembly in Rust. But I can imagine other similar use cases, where you want to pre-generate some data that requires exotic tools / takes an excessive amount of time to build. It's not ideal of course, but the real world rarely is.

Adding a "dirty" field would help here, unless they are just looking for the file (not the contents of the file. In which case there really isn't much you can do about it.

To clarify, I brought that up to talk about the impact on compatibility and not so much about people writing correct code in the future.  All they have to go off of right now is the presence of the file.

To clarify, I brought that up to talk about the impact on compatibility and not so much about people writing correct code in the future. All they have to go off of right now is the presence of the file.

Makes sense, but:

You already can't trust it today, I could patch my cargo to fake this (as @kornelski already pointed out in the original post). So it is not usable for security.
If you want to use it, you should look at the revision mentioned in the file and use that (presumably in an advisory role, or as a starting point for verification to check that it actually matches the repo).

@page I'm not seeing tokio-test in the source Cargo.toml

Sorry, I've pasted a wrong link. It was meant to be async-stream 0.3.5 https://github.com/rust-lang/cargo/issues/13695#issuecomment-2071319331

@taiki-e can you provide any insight into the async-stream publishing process?  What is the direct problem cargo or crates.io is giving you that is leading to tokio-test to be stripped?  As noted in my previous message, I'm wondering if there is a change that can be made to make this work.

https://github.com/tokio-rs/async-stream/issues/102#issuecomment-1946871459

I don't remember exactly what happened, but I suspect I could not publish without removing it due to circular dependencies.
https://github.com/tokio-rs/tokio/blob/b32826bc937a34e4d871c89bb2c3711ed3e20cdc/tokio-test/Cargo.toml#L22

So I think the issue with async-stream can be solved if https://github.com/rust-lang/cargo/issues/4242 is solved or a workaround that works for dev-dependencies that have a version is added (a known workaround doesn't work with such a case).

Adding a "dirty" field would help here, unless they are just looking for the file (not the contents of the file. In which case there really isn't much you can do about it.

Would love to see this. .cargo_vcs_info.json is not even useful for package provenance, but having dirty field can still help when browsing sources. At least people won't assume it is clean.

https://github.com/rust-lang/cargo/issues/8434  is also related I believe.


Using flavour reports "table name must be a string or a builder"

When using flavour as subquery OR as main query, it reports: table name must be a string or a builder
squel version: 5.5
console.log(
            squel.useFlavour("postgres").select()
                .from( squel.useFlavour("postgres").select().from('students'), 's' )
                .field('s.id')
                .toString()
        );

This will be fixed in the next release :)

5.5.1 will be out later today with a fix.


Port WASI host types

Completely removes bindgen dependency, and majority of primitive type casts.

Now, it's also much easier to set up the CI which I'll do just now ;-)


Feature: Set up short links for profile

Suggested solution
To continue the OSCR engagement, we want to make it easy for people to see and share their OSCR score. We currently own oscr.me. Let's use this as our shortlink. For example, mine would be: oscr.me/bekah

What does this share? Their DevCard URL?


Send and receive ndarrays as json/bytes

Implementation based on https://github.com/Intelligent-Instruments-Lab/iil-python-tools/issues/9#issuecomment-1108717218
Example showing different variations (https://github.com/Intelligent-Instruments-Lab/iil-examples/commit/9ea19f5a684fe578e0917dda43d5f2446708f7a5):
https://github.com/Intelligent-Instruments-Lab/iil-examples/tree/ja-dev/iipyper/ndarray

Closing this in favour of #2


Add possibility to deserialize to immutable object

It would be nice if DSON supported immutable objects. I always make my data transfer objects immutable. This makes them safe to share in all code and also to cache. Here is an example:
class FooDto {
  final Guid id;
  final String name;
  FooDto(this.id, this.name);
}

In order to deserialize the constructor must be called and the keys in the JSON matched to the names of the constructor params. I saw no examples of this (but have not tried so maybe it already works?).

I'll try to implement that feature. However I would like to see a more explained sample why an inmutable object are safe to share in all code?

Immutable objects are nothing special, they are just read-only objects, and because they are read-only, nobody can ever change them and thus they can be shared by all code safely. One example why they are important: Consider the case where you have many developers working on a single project. If mutable objects are passed between different developers code, what can happen is the anti-pattern called "defensive copying". When one developer receives an object from code developed by another developer, he starts by copying it because he know the other developer's code still has a reference to it and may change properties on it without warning. Add more developers and a lot of the code base will do nothing more than doing copies...
Another example, consider making a query to the server and getting an object as response. Now we put this object in client-side cache so that next time the same query is used, we need not access the server, we just return the object directly from the client-side cache. Consider some part of the code now gets this object from cache, and changes one of the properties. Since this is the same object as in cache, the cache also changes. So now the cache does not correspond to the query response anymore. This leads to very hard to find bugs. If the object were immutable, everyone can share the objects from the cache safely because no-one can change them.
Immutability has a lot more benefits than the above. Many of the new functional languages like ClojureScript have only immutable objects because of all the benefits it bring.

Defensive Copying looks like a problem for multi-thread applications like java. If that the case, Dart is single-thread and many threats (functions, methods, classes) never would access the same object or property at the same time.
To me caching would also means that I want to write values to cache after send data to server or database. In other words, I would rewrite the values of cached objects after writing into the database. And also before write I would lock the object adding a new locked status.

I still will implement the feature although I think is not needed.

Thanks for considering this feature!

Immutable objects are also useful for avoiding locks in multi-threading but as you say Dart is single threaded (but if I recall correctly they now have problems with mutable objects in sky applications). Defensive copying however is not related to this, it is more a matter of passing mutable objects between many layers of code developed by many different developers while having the guarantee that "your" copy of the object is not mutated by some other code. With immutable objects this is not necessary. So it is highly useful for single threaded apps. If you are interested, a team inside Google that use Dart have done this package to help with immutability, specifically stating the reason of avoiding defensive copying:
https://pub.dartlang.org/packages/built_collection
https://groups.google.com/a/dartlang.org/forum/#!searchin/misc/Introducing$20Built$20Collections/misc/2g2_yuaRgYU/3s41eigoY3AJ
https://groups.google.com/a/dartlang.org/forum/#!topic/misc/k1px0Rt5HzA

With immutable objects, you just replace the whole object (or object graph) when you write to the cache.

I would also love this feature.
Ran into this right now and I don't really know how to solve it in a good way. Having support in dson would be a nice way though.


Add a test case for HTTP/2 100-continue scenario

Purpose

$subject

Fixes #19047
Check List

[x] Read the Contributing Guide
[ ] Required Balo version update
[ ] Updated Change Log
[ ] Checked Tooling Support (#)
[ ] Added necessary tests

[ ] Unit Tests
[ ] Spec Conformance Tests
[ ] Integration Tests
[ ] Ballerina By Example Tests

[ ] Increased Test Coverage
[ ] Added necessary documentation

[ ] API documentation
[ ] Module documentation in Module.md files
[ ] Ballerina By Examples

Codecov Report

Merging #19443 into ballerina-1.0.x will not change coverage.
The diff coverage is n/a.

@@               Coverage Diff                @@
##           ballerina-1.0.x   #19443   +/-   ##
================================================
  Coverage            15.73%   15.73%
================================================
  Files                   47       47
  Lines                 1265     1265
  Branches               197      197
================================================
  Hits                   199      199
  Misses                1053     1053
  Partials                13       13

Continue to review full report at Codecov.

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


Randomise leader election

Is your feature request related to a problem? Please describe.
I noticed that we are currently always waiting for the same amount of time during leader election (see here)
let mut tick_interval = tokio::time::interval(Duration::from_secs(lease_time / 2));
loop {
    tick_interval.tick().await;

Maybe it makes sense to randomise this a bit and give different instances a slightly different tick_interval. This way we would space out requests a bit.
CC @yezizp2012
Describe the solution you'd like
No response
Describe alternatives you've considered
No response
Additional context
Raft also uses randomised timeouts during leader election to avoid collisions

@CAJan93 whats the minimum value lease_time can have? and can you tell me how to test that particular file?

Well, I think it's not that necessary to do this, because: 1. eventually we will replace it with APIs of etcd lib or (some big refactoring); 2. even in current implementation, etcd will guarantee only one node will register successfully, it will ensure sequential writing of each requests.

I agree, it is not needed, but it would still reduce the likelihood of simultaneous election-runs that may then be repeated. Therefore I introduced this randomisation in https://github.com/risingwavelabs/risingwave/pull/6466
(it really is just very few lines of code)


Add warning for out-of-bounds page range in pdfly cat command

PR Description
This PR addresses issue #33 where users attempting to use the pdfly cat command to extract a range of pages outside the number of pages in the PDF document do not receive a warning. The following changes have been made:

Implemented a warning message: Added logic to check if the specified page range is out of bounds and print a warning to stderr if it is.
Removed the pytest.skip decorator from the test case: Enabled the test_cat_subset_warn_on_missing_pages test to verify the warning message in stderr.

Testing

Ran the updated test suite to ensure that the warning message is correctly produced and captured.
Verified that the test_cat_subset_warn_on_missing_pages test passes, confirming that the warning is printed to stderr when the page range is out of bounds.

Hello @Lucas-C any updates on this?

I merged your MR!
Thank you very much for your contribution @Zingzy 👍

This has been released in version 0.4.0: https://pypi.org/project/pdfly/#history


Game Types?

On the old API, I was able to get a list of all the regular season and playoff games by doing:
https://statsapi.web.nhl.com/api/v1/schedule?season=20152016&gameType=R or https://statsapi.web.nhl.com/api/v1/schedule?season=20152016&gameType=P
With the new API (thanks to a comment here), I was able to get a list of games from a season like: https://api.nhle.com/stats/rest/en/game?cayenneExp=season=20152016, but I'm trying to figure out how to filter only regular season and playoff games. I'm assuming it's the gameType property, but to be sure, does anyone have a list of those?

I believe this would work:
https://api.nhle.com/stats/rest/en/game?cayenneExp=season=20152016 and gameTypeId={game_type}
where game_type = 1 (preseason), 2 (regular season), 3  (playoffs)

There are actually quite a few gameTypes, but @alanryder is correct. Only games with a gameType of 2 or 3 are considered official games.
1 - pre-season (1,998 games)
2 - regular season (63,930) including the entire 2024-2025 season, most of which haven't been played as of this post
3 - playoffs (5,017)
4 - all-star (84)
6 - World Cup group stage (36)
7 - World Cup knockout stage (18)
8 - World Cup pre-tournament (12)
9 - Olympics (168)
10 - Young Stars (2)
12 - Canadian All-Stars vs. American All-Stars (1) and Team King vs. Team Kloss (1) -> 2 total
13 - games lost to the 2004 labor dispute (1,230)
14 - Canada Cup (93)
18 - appears to be exhibition games played overseas (36) and not official regular season or playoff games
19 - Four Nations Face-off (6) -> played in lieu of the All-Star game in February, 2025

Also note that I've found game IDs that aren't valid in the API, like "2021030215." So keep in mind that my above numbers might be a bit off even though they are directly provided by the API.


Type error if null value passed in

Hi
Some of my data is null - when I pass via knockout data-binding, marked does not handle src = null in Lexer.prototype.lex, therefore suggest something like
if (src == null) {
src = '';
}
goes in before the body of the function.
Jeremy

Closing as stale.


Chip resistor updates

The first two commits of #49, as requested there.

I'm really sorry, but I guess there is still something wrong with the changes... I noticed that the commit "Chip resistors: Disable grab area on doc layer" also changes the courtyard coordinates of the "Density Level A" footprint, but not of the "Density Level B" footprint. Thus I checked out the chip-cap-unip-pkg branch of the generator and re-generated the resistor packages. And indeed, this strange change in one of the footprints gets reverted, i.e. this branch does not correspond to the current state of the generator branch chip-cap-unip-pkg. Or is this intended?

Hm, when I go back to the commit "chip: Disable grab area on doc layer" and re-generate, there are no changes on master... Maybe something went wrong when rebasing and fixing the conflicts.
Rebasing branches that also contain refactorings and keeping generated data in another repository in sync is a pain :slightly_frowning_face:

@ubruhin I now applied the diff generated by the current HEAD of the generator branch, as suggested.


Contributing instructions for running tests don't run tests

CONTRIBUTING says to run rake to run the tests, but it never seems to get to the all task which actually runs the tests.
Perhaps it should be updated to reference running just rake clean spec, which would match how Travis runs the tests? That'd leave the burden to Travis to run the tests across all the rubies/gemfiles rather than making the user do some/most of that.
I could submit a pull request updating CONTRIBUTING to use rake clean spec if that's the desired way to run tests locally.

@cgunther +1
I just tried to run the specs with rake spec and I got this error message:
etagwerker:delayed_paperclip/ (solve-issue-101✗) $ be rake                                                                        [16:40:59]
`rake appraisal:install` task is deprecated and will be removed soon. Please use `appraisal install`.
Warning: Your gemfiles directive in .travis.yml is incorrect. Run `appraisal generate --travis` to get the correct configuration.
>> bundle check --gemfile='/Users/etagwerker/Projects/delayed_paperclip/gemfiles/3.2.gemfile' || bundle install --gemfile='/Users/etagwerker/Projects/delayed_paperclip/gemfiles/3.2.gemfile'
Your Gemfile lists the gem delayed_paperclip (>= 0) more than once.
You should probably keep only one of them.
While it's not a problem now, it could cause errors if you change the version of just one of them later.
You cannot specify the same gem twice coming from different sources.
You specified that delayed_paperclip (>= 0) should come from source at ../../ and source at ../
Your Gemfile lists the gem delayed_paperclip (>= 0) more than once.
You should probably keep only one of them.
While it's not a problem now, it could cause errors if you change the version of just one of them later.
You cannot specify the same gem twice coming from different sources.
You specified that delayed_paperclip (>= 0) should come from source at ../../ and source at ../


Go type errors with v1.15.0-preview.202405090001

What are you generating using Kiota, clients or plugins?
API Client/SDK
In what context or format are you using Kiota?
Nuget tool
Client library/SDK language
Go
Describe the bug
Starting May 9th when we switched from Kiota v1.14.0 to 1.15.0-preview.202405090001, our Go SDK builds started failing. The core of the issue appears to be that Kiota is using the filename without the extension ("CodeScanningVariantAnalysis_status") instead of the type inside that file ("CodeScanningVariantAnalysisStatus") as the type in references.
Kiota version: 1.15.0-preview.202405090001
Kiota dependency versions:
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>Expected behavior
We expect the correct type to be used and our Go SDK builds to succeed.
How to reproduce

Check out https://github.com/octokit/source-generator at ba64dd8f34e5f488ffa52ea58c86f9e21b8b30d6
Clone https://github.com/octokit/go-sdk in a sibling directory to the source-generator
Run ./scripts/generate-go.sh (a source-generator script)

Open API description file
https://github.com/github/rest-api-description/blob/main/descriptions/api.github.com/api.github.com.yaml
Kiota Version
1.15.0-preview.202405090001
Latest Kiota version known to work for scenario above?(Not required)
v1.14.0
Known Workarounds

Downgrade Kiota versions
Workaround PR that uses find/replaces to fix the issue: https://github.com/octokit/source-generator/pull/60

Configuration
This occurs locally and in GitHub Actions; I do not believe this is architecture-specific.
Debug output
⚠ Debug log is too big to paste here. Please let me know if you'd like this as a separate file and I can include it as a gist.
Other information
It appears that Kiota is using the filename without the extension ("CodeScanningVariantAnalysis_status") instead of the type inside that file ("CodeScanningVariantAnalysisStatus") as the type in references.

Failed build log: https://github.com/octokit/source-generator/actions/runs/9120788321
Successful build log: https://github.com/octokit/source-generator/actions/runs/9010165543

Thanks for reporting this @kfcampbell
I ran a bisect between the two tags with a modified version of the script and all the commits are bad.
Are you sure the change of kiota version triggered the issues? Are you sure you were using 1.14 until the breakage?  "D:/github/source-generator/post-processors/go/post-processor.exe" $pwd
$buildResult = go build ./... 2>&1
git clean -f .
git checkout .
popd
$buildResultCount = $buildResult | % {$_.ToString()} | ? { $_.Contains("undefined: CodeScanningVariantAnalysis_status")} | measure | select -ExpandProperty Count
if ($buildResultCount -gt 0) {
   Write-Error "status snake case"
   exit 1;
}


js locale file doesn't loads when language is changed

If a site uses multiple languages and you switch the current language then app doesn't load corresponding js-file with translation when variable {{ form.media }} is used.
I found a workaround which works for me, please have a look:
widgets.py [@@ -251,7 +251,7 @@]
 class PickerWidgetMixin(object):

         js = ["js/bootstrap-datetimepicker.js"]

-        language = self.options.get('language', 'en')
+        language = get_supported_language(get_language())
         if language != 'en':
             js.append("js/locales/bootstrap-datetimepicker.%s.js" % language)

I have this issue too. Locale middleware, l10n, i18n and tz support are enabled.
Switching the language causes the form to fail validation. Switching back to the previous language works though.

In my case, localization works well when you change your LANGUAGE_CODE to desire language in settings.py. The first time widget is loaded, it triggers the __init__ method of PickerWidgetMixin class, wich contains self.options['language'] = get_supported_language(get_language()) and show it well. When you change language settings at request level (in my case, with a cookie that alerts django to swich language) it doesn't trigger again, so I think the trick is here, triggerig this method per each request or setting widget js to desire language.
Any ideas?

I have also affected by this. I used @MuR solution but it would be better if there was a pull request and merge this feature with master.
@MuR thanks for the fix by the way.


fix(types): Allow Snippet mapper with primitives to match undefined

Resolves #214

📦 Published PR as canary version: 4.1.8--canary.215.f10113b.0

:sparkles: Test out this PR locally via:
npm install<EMAIL_ADDRESS># or
yarn add<EMAIL_ADDRESS>

There's a breakdown of existing svelte-check issues.

https://github.com/storybookjs/addon-svelte-csf/actions/runs/11379831712/job/31657979250?pr=215#step:7:23
https://github.com/storybookjs/addon-svelte-csf/actions/runs/11379831712/job/31657979250?pr=215#step:7:31
https://github.com/storybookjs/addon-svelte-csf/actions/runs/11379831712/job/31657979250?pr=215#step:7:37

Those are related to @storybook/svelte types. Those stories tests are using regular CSF.

https://github.com/storybookjs/addon-svelte-csf/actions/runs/11379831712/job/31657979250?pr=215#step:7:57
https://github.com/storybookjs/addon-svelte-csf/actions/runs/11379831712/job/31657979250?pr=215#step:7:65
https://github.com/storybookjs/addon-svelte-csf/actions/runs/11379831712/job/31657979250?pr=215#step:7:72
https://github.com/storybookjs/addon-svelte-csf/actions/runs/11379831712/job/31657979250?pr=215#step:7:85
https://github.com/storybookjs/addon-svelte-csf/actions/runs/11379831712/job/31657979250?pr=215#step:7:92

Those are caused by legacy components of this addon, and they are using Svelte 4 features.
At this moment, I have no clue how to fix it.

Superseded by #219


Emotional Faces - New schedule with fixation times

schedule_allfaces_12-12-22_v2_CAL.csv

updated the schedule and used fixation times.


"abc9" pass for timing-aware techmapping (experimental, FPGA only, no FFs)

I wanted to test drive this by applying it on top of current master (74945dd at the time of this writing), but trying to rebase against master failed with a merge conflict that I'm not qualified to resolve. Any chance at a rebase and force-push against master? -- Thanks!


All Serialized Objects Should Be Tested Against Known Good Serialized Bytes Values

Description
As an implementor, I want every serialized class to be serialized from a known value and compared against a known correct bytes value, and deserialized from a known correct bytes value to an expected object value so that I am sure [de]serialization is fully tested, as round trip testing is not sufficient to test against errors that are common to both serializing and deserializing.
Acceptance Criteria

Every class which is [de]serialized should have the following tests:

Known Obj Configuration is Serialized into Known Serialized Bytes Value
Known Serialized Bytes Value is Deserialized into Known Obj Configuration

@schroedingerscode, has this been completed or is it still an open issue?


Setting sync is not working after removing extensions via command line

VSCode Version: 1.49.2
OS Version: 10.15.6 (osX)

Steps to Reproduce:

Sync your settings and quit the vscode editor.
Delete the extensions via rm ~/.vscode/extensions command in terminal. Re-open the vscode, extension, settings, etc are back to default and it is not syncing back to the last sync.

Does this issue occur when all extensions are disabled?: Yes/No - No
Screenshot for vscode sync log after opening to sync back the deleted exts:

In this case, your latest state of extensions (which is removing all installed extensions) is pushed to the server. You can see that from the log that extensions updated the data in remote.
May I know what are you expecting otherwise?

@sandy081 My expectation was, when I closed vscode editor and it can no longer sync the settings. When i opened it back it should have synced back extensions.

No. After you open VS Code (after removing extensions from anywhere, same as changing a file that is being synced) VS Code sees that current state is changed and sync the state to the server. If the server has a different state (synced from a different machine), then VS Code does the merge.
In short, changing the state is same as doing from the tool or outside the tool. It is same as turn off sync and uninstall extensions and turn on sync.
If you want to revert to a certain state, you can do it from Synced Data view - this is available with the command - Settings Sync: Show Synced Data


Append testing id to sample-app-namespace

Issue #, if available:
Test runs occasionally fail because the sample-app-namespace from the previous run is still terminating.
Description of changes:
Append testing id at the end of the namespace
Note:

Tried to make sample-app-namespace-${{ env.Testing_Id }}, but cloudformation doesn't allow stack name exceeding 128 characters, so Create role for AWS access from the sample app was failing due to final name being 130 characters.
Attempted to write command to delete all namespace with sample-app-namespace-*, but kubectl doesn't allow such formats. If we want to do that, will need to write a .sh script file. Since the previous sample-app-namespaces are in terminating status, deemed it not necessary to run the delete command again in subsequent runs.

Test run: https://github.com/aws-observability/aws-application-signals-test-framework/actions/runs/8651339788
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Tried to make sample-app-namespace-${{ env.Testing_Id }}, but cloudformation doesn't allow stack name exceeding 128 characters, so Create role for AWS access from the sample app was failing due to final name being 130 characters.

Which stack? Eventually the testing ID here will get long enough to cause the same issue since the run number is incrementing up with each run. Maybe it's time to revisit the format of the testing ID.

Tried to make sample-app-namespace-${{ env.Testing_Id }}, but cloudformation doesn't allow stack name exceeding 128 characters, so Create role for AWS access from the sample app was failing due to final name being 130 characters.

Which stack? Eventually the testing ID here will get long enough to cause the same issue since the run number is incrementing up with each run. Maybe it's time to revisit the format of the testing ID.

This stack here: https://github.com/aws-observability/aws-application-signals-test-framework/actions/runs/8645613978/job/23704680373#step:15:82

Tried to make sample-app-namespace-${{ env.Testing_Id }}, but cloudformation doesn't allow stack name exceeding 128 characters, so Create role for AWS access from the sample app was failing due to final name being 130 characters.

Which stack? Eventually the testing ID here will get long enough to cause the same issue since the run number is incrementing up with each run. Maybe it's time to revisit the format of the testing ID.

Currently, the stack name will be eksctl-e2e-canary-test-addon-iamserviceaccount-sample-app-namespace-8651339788-16-service-account-us-east-1-8651339788-16, which is 121 characters. I do not think there is any concern of it exceeding the 128 characters requirement.

Tried to make sample-app-namespace-${{ env.Testing_Id }}, but cloudformation doesn't allow stack name exceeding 128 characters, so Create role for AWS access from the sample app was failing due to final name being 130 characters.

Which stack? Eventually the testing ID here will get long enough to cause the same issue since the run number is incrementing up with each run. Maybe it's time to revisit the format of the testing ID.

Currently, the stack name will be eksctl-e2e-canary-test-addon-iamserviceaccount-sample-app-namespace-8651339788-16-service-account-us-east-1-8651339788-16, which is 121 characters. I do not think there is any concern of it exceeding the 128 characters requirement.

Actually, I encountered the same problem while working on Python E2E test. Since Python test use cluster naming "e2e-python-canary-test", which has 7 chars more than Java, appending ${{ github.run_id }}-${{ github.run_number }} even exceed 128 chars limit. I have to make the namespace to be "python-app-ns-${{ github.run_id }}-${{ github.run_number }}", which has exactly 128 chars. It will be helpful if we can "revisit the format of the testing ID".


Add start time to stream notification message

Requested feature.
Add stream start to stream notification message.

Feature implemented in feabe0d1d01a29ded90e80b605740bae719785ae


Cache when running job in container

I have been using the cache for different jobs (and I love it, thanks a lot :rocket:).
However, I have this one job that always gets Cache not found for input keys: ..., and that's the only one running in a container:
 alpine-linux:
    name: alpine 3.11.6 (musl)
    runs-on: ubuntu-18.04
    container: alpine:3.11.6
    steps:
      - uses: actions/checkout@v2
      - uses: actions/cache@v2
        id: cache
        with:
          path: ./build/release/third_party/install
          key: ${{ github.job }}-${{ hashFiles('./third_party/**') }}

Could it be that the cache does not work in the container: configuration? And is it expected?

@JonasVautherin I tried to reproduce and saw the following error in the Post Cache step.  Can you please confirm you see the same?
/bin/tar --posix -z -cf cache.tgz -P -C /__w/cache-test-files/cache-test-files --files-from manifest.txt
/bin/tar: unrecognized option: posix
BusyBox v1.31.1 () multi-call binary.

In short, it looks like the version of tar included with Alpine is not compatible with this action.   In addition to the --posix flag, BusyBox tar also doesn't support the -P or --files-from options.
I would recommend trying to install GNU tar before running the cache step:
apk add --no-cache tar

Thanks a lot! I get a 404 on your link, but here is what I see in my log output:
Run actions/cache@v2
  with:
    path: ./build/release/third_party/install
    key: alpine-linux-05b188841ec79c15887535d40j77e3073ca0ab97b003e65ab54bd6d81179c9b6
/usr/bin/docker exec  124efe6e0d73453528a2e924519d636c973f0fd5515c6a6ea49585b45e5e2c30 sh -c "cat /etc/*release | grep ^ID"
Cache not found for input keys: alpine-linux-05b188841ec79c15887535d4b207e3073ca0ab97b003e65ab54bd6d81179c9b6

I did not fine the Busybox error. However, I am now testing with your suggestion, I'll report here when it's done.

That solves it, thanks a lot! I should have paid more attention to the post cache step, I won't forget next time. Thanks again!


DO NOT MERGE Test new appjs heroku deployment

I've copied over the Heroku config to #202.
Once that has been merged, @igloosi can you add the gulp tasks from here to copy assets to /public, then we can remove the /preview directory and close this PR.

Closing in favour of #202.


Can't access getRouterParams in server/middleware

Environment
Working directory: /home/xiaoeyun/workspace/project-mate                                                                                2:02:22 PM
Nuxt project info:                                                                                2:02:22 PM

Operating System: Linux
Node Version:     v21.6.2
Nuxt Version:     3.13.2
CLI Version:      3.13.2
Nitro Version:    2.9.7
Package Manager<EMAIL_ADDRESS>Builder:          -
User Config:      compatibilityDate, devtools, modules, icon, nitro, vite
Runtime Modules<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>radix-vue/nuxt<EMAIL_ADDRESS><EMAIL_ADDRESS>Build Modules:    -

Reproduction
https://stackblitz.com/edit/github-1mvcqo?file=server%2Fapi%2F[test].ts
Describe the bug
server/middleware can't use getRouterParams to get router params
Additional context
No response
Logs
No response

Would you see if you can reproduce this in pure Nitro (reproduction sandbox), and if so, raise there? 🙏


Add assertions on definition properties in tests

Summary
This pull request adds a few assertions, which mainly clarify how id properties are set as the results of Define utility calls, in unit tests. No changes to the main code side.
Requirements (place an x in each [ ])

[x] I've read and understood the Contributing Guidelines and have done my best effort to follow them.
[x] I've read and agree to the Code of Conduct.

Thanks for the review!


App-SpaM

Hi everybody,
finally we have cleaned up App-SpaM and added it to bioconda. Hence, we would also appreciate to have it added to PEWO. AFAIK I followed all developer instructions, if you find any errors I should fix just let me know. I also had to make some small adjustments in the PEWO_java submodule but couldn't figure out how to include them here - should I just do another pull request at the other repo?

Dear Matthias,
Thank you for this ! Really appreciated !
We will carefully review your code and merge it afterwards.

Concerning the java side, yes please, do a pull request to this other repo.
I'm just surprisd you had to do something there, it's intended to be independant.
What was the nature of the change ?

Thanks for the fast response. I did another PR at the PEWO_java repo with my changes - maybe they are unnecessary or there is a better way to do it though... If you need any help or more info please let me know.

Oh, I see.
Indeed, I will have to change these few lines that were initially for debugging purposes...
Thank you for pointing it !

Hello,
Good job! I'd just ask one more thing... Our Travis CI runs two pipelines travis/tests/1_..., travis/tests/2_... on every push, making sure it's possible to build and run those toy examples in the isolated environment. In your request you did not change config files of those, and App-SpaM is not tested with CI. "All checks have passed" does not tell anything about App-SpaM yet.
Could you please add App-SpaM there as well? Do not forget to include App-SpaM in test_soft.
Thanks

Ah, I didn't notice those.. added it to the two config files; looks like it worked?

Our Travis CI runs two pipelines travis/tests/1_..., travis/tests/2_... on every push, making sure it's possible to build and run those toy examples in the isolated environment. In your request you did not change config files of those, and App-SpaM is not tested with CI.

Good point, we need to add this in the developer documentation.
I'm adding an issue for this.


Task :react-native-mmkv:buildCMakeDebug FAILED

After upgrade the react-native from 0.68.1 to 0.68.5 i get this error when i try to build the app.
> Task :react-native-mmkv:buildCMakeDebug FAILED
C/C++: ninja: error: '../../../../build/react-native-0.68.1.aar/jni/armeabi-v7a/libjsi.so', needed by '../../../../build/intermediates/cxx/Debug/4f1a4o11/obj/armeabi-v7a/libreactnativemmkv.so', missing and no known rule to make it
w: Detected multiple Kotlin daemon sessions at build/kotlin/sessions

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':react-native-mmkv:buildCMakeDebug'.
> Build command failed.
  Error while executing process /Users/xxx/Library/Android/sdk/cmake/<IP_ADDRESS>88404/bin/ninja with arguments {-C /Users/xxx/Projects/yyy/apps/mono-repo/node_modules/react-native-mmkv/android/.cxx/Debug/4f1a4o11/armeabi-v7a reactnativemmkv}
  ninja: Entering directory `/Users/xxx/Projects/yyy/apps/mono-repo/node_modules/react-native-mmkv/android/.cxx/Debug/4f1a4o11/armeabi-v7a'

  ninja: error: '../../../../build/react-native-0.68.1.aar/jni/armeabi-v7a/libjsi.so', needed by '../../../../build/intermediates/cxx/Debug/4f1a4o11/obj/armeabi-v7a/libreactnativemmkv.so', missing and no known rule to make it

"react-native": "0.68.5",
"react-native-mmkv": "2.5.1",

SOLVED: After removing node_modules/react-native-mmkv and running yarn install the build completed successfully.


New interfaces: safety check functions

File with checks: https://github.com/oneapi-src/oneDAL/pull/1137/files#diff-d0e19bf33dd8eca1c4cae781adcdde2747203ff72b258076f15a25e2a4746eb2

/intelci: run


Hi,Can I know the Code for Sherepoint links ?

OS:
Launch command used:

Verbose  log
PASTE VERBOSE LOG HERE

try this: https://vball.fun/2021/12/10/download-view-only-video-from-microsoft-sharepoint/


Notebook allows last cell to delete

When inside a notebook, the last cell gives a user the option to delete the cell.

When the user clicks delete, the notebook goes into an error state that cannot be recovered without refreshing:

Expected experience is to not have the delete option on the last cell in a notebook.

Good catch! I guess that button just shouldn't be displayed if the cell count == 1


Implement alpine loadgen and liveness check

FEATURE REQUEST
Implement alpine image loadgen and liveness check
Design a client-side Job to enact as a loadgen or liveness-check which is dependent on job-yaml-spec. The Job ought to run python-script to generate verbose file of job-yaml-specified size to send in either in loadgen mode or as a liveness check.

This issue is no longer relevant to litmuschaos/litmus & is instead moved to mayadata-io/litmus


Add definitions starterkit

Added an ntuple definition for Starterkit. @eduardo-rodrigues

Thanks for this. I will look into the CI failure, which seems to be the same as got in your previous MR :S.
BTW, you ought to link to TTree, https://root.cern/doc/master/classTTree.html, not the rather shortly scoped TNutple, which we do not even use (for obvious reasons).

Thanks for this. I will look into the CI failure, which seems to be the same as got in your previous MR :S.
BTW, you ought to link to TTree, https://root.cern/doc/master/classTTree.html, not the rather shortly scoped TNutple, which we do not even use (for obvious reasons).

I think the failure is connected to the secrets, where there is a PERSONAL_TOKEN uploaded. I am not entirely sure whether it is okay for non-personal projects. https://github.com/lhcb/glossary/settings/secrets/actions

I think the failure is connected to the secrets, where there is a PERSONAL_TOKEN uploaded. I am not entirely sure whether it is okay for non-personal projects. https://github.com/lhcb/glossary/settings/secrets/actions

But then why does it work for me and not for you? And various other people committed. Dunno if somebody of the admins has an idea?

I think the failure is connected to the secrets, where there is a PERSONAL_TOKEN uploaded. I am not entirely sure whether it is okay for non-personal projects. https://github.com/lhcb/glossary/settings/secrets/actions

But then why does it work for me and not for you? And various other people committed. Dunno if somebody of the admins has an idea?

I can try to upload my token there now and see what will happen then

Closing in favour of the more complete https://github.com/lhcb/glossary/pull/56.