Fixed  type parameter in call to AddRemoteAuthentication()

Fixed the type parameter in the first call to AddRemoteAuthentication() - was RemoteAuthenticationState, should be PizzaAuthenticationState

Thanks for this PR! Looks like this is no longer needed with the RC1 updates.


fix(dataset): import/export jinja template bug

SUMMARY
While deleting the existing jinja parameter, in dataset editor, an empty string was saved instead of the None value, which was incorrectly processed during export/import. For bug fix, the @pre_load method was added, which would replace an empty string in template_params with the value None
BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF

TESTING INSTRUCTIONS

ADDITIONAL INFORMATION

[ ] Has associated issue:
[ ] Required feature flags:
[ ] Changes UI
[ ] Includes DB Migration (follow approval process in SIP-59)

[ ] Migration is atomic, supports rollback & is backwards-compatible
[ ] Confirm DB migration upgrade and downgrade tested
[ ] Runtime estimates and downtime expectations provided

[ ] Introduces new feature or API
[ ] Removes existing feature or API

@supersetbot orglabel

@crabulous thanks for the PR. Would you mind adding unit tests to prevent future regressions?

@crabulous thanks for the PR. Would you mind adding unit tests to prevent future regressions?

I did it) Check my test, please!


Top-level :time-zone changes system time zone

Thanks for cronut and its ideas. It facilitated moving some stuff off of WildFly and immutant.scheduling, and into a simpler Jetty setup. I was surprised to see that cronut changed the JVM default time zone when using a top-level :time-zone on the schedule, though. After digging through the code, I think the README could be clearer about how time zones work in cronut. At least I was bitten by this.
Please consider calling out in the README that using :cronut/scheduler {:time-zone ...} is not isolated to Quartz/cronut, but will actually change the JVM default time zone.
Thankfully, cronut also supports using :time-zone inside the job definition, however this only seems to work for #cronut/trigger and not #cronut/cron.
To avoid messing with the system time zone but still be able to specify a time zone for a job (and incidentally also be able to use different time zones for different cron jobs), this seems to work:

do not use the top-level :time-zone (since it currently changes system default zone)
do not use #cronut/cron (since it only supports a simple cron expression and not a job-specific timezone)
instead, configure jobs like:

{:job ...
 :trigger #cronut/trigger {:type :cron
                           :cron "....."
                           :time-zone "Europe/Oslo"}}

This already works fine, maybe it could also be worked into the README?
A possible enhancement here could be to make the top-level :time-zone NOT change the default system zone (or non-breaking, by growing a top-level :default-time-zone), but instead act as the default :time-zone for each of the job definitions (and support it for both #cronut/cron and #cronut/trigger shortcuts), unless overridden to a different time-zone or nil for system time zone. This is how I believed top-level :time-zone would work in the first place.
Btw, do the data readers really add anything here? Maybe always using a map would work just as fine. :trigger #cronut/cron or :trigger #cronut/trigger doesn't buy that much over simply :cronut/trigger {:type :cron}, it actually kinda buys less, but with a higher cost in multiple concepts and understanding?

Hello @terjesb, thank-you for this, I'm just digesting it now!

Thanks again @terjesb, I thought about this over the weekend and decided to remove the :time-zone configuration at the scheduler level. I agree Cronut shouldn't alter the system default time-zone, that was just my laziness for the particular problem I was solving at the time.
It's a breaking change, have released 0.2.0 and added a little to the README. I've left the shortcut tagged literals for cron and interval in, they're really useful in my case where I want a single time-zone to apply for all cron triggers and I only want to define the cron expression itself.
I experimented with using a scheduler-level time-zone to alter triggers after the fact (see the PR above), but the implementation relies on reflection and ultimately diverges from Quartz itself (there's no way to configure per-scheduler time-zones in Quartz, it just falls back to system default tz where none is set per trigger). I don't want to maintain an external library to Quartz, just wrap it in as data-oriented a manner as possible.
As a side note, my implementation would never have worked for multiple schedulers in a single JVM, which is something I'd like to support (via a pluggable SchedulerFactory) at a later time, so makes sense to pull this out now.


Turn off Altrank bot, when Unauthorized API key error occurs

Is your feature request related to a problem? Please describe.
I would like to start and test altrank bot once again. As the new Lunarcrush api key is now pretty expensive, I'd like to test if it's worth it. I can get the test api key, that is only valid for like a week. And i want the bot to be automatically turned off when it expires, so it doesn't start any new trade based on outdated altrank.
Describe the solution you'd like
Create option, to automatically turn the bot off, when Unauthorized API key error occurs.
Describe alternatives you've considered
Doing it manually. IDK
Additional context
The Unauthorized API key error message looks like this:
[3C Cyber Bot-Helper altrank]

Fetching LunarCrush data failed with code 401: {"error":"Error: Not authorized (2)"}

Ok, so the LunarCrush test key expires in 8 or 9 hours, so there is no point in using it this way.


{{basePath}} weirdness (maybe bug?)

In my API I have certain controllers that have a RootPrefix but not all of them.  After generating the SWAGGER json object I observed the following:
basePath = "/v2"; // had to have pulled this from a RoutePrefix from controller.
However, each and every one of my paths contained the following:
/v1/
/v2/
It seems that the path contains the full URI (even with the RoutePrefix) as I would expect.  However the basePath is now not needed and actually misleading because, if I read correctly, the basePath is said to be the "route prefix" to the paths which should prepend that path.  So you might expect the URL to be the following in my case:
Route: basePath + pathKey = "/v2/v1/products".
Of course this is not correct.
Is this a bug or is this by design?  If this is by design can you explain the behavior and how it should be interpreted?
Thanks!

Essentially, basePath is the virtual directory (if any) where your services is hosted. The routing attributes (incl. RoutePrefix) all contribute to the path for individual operations and so are never used to populate the basePath.
So, it's very strange that you're seeing basePath with a value = "/v2" unless that is actually the virtual directory for your app.

Thanks for the reply.  Unfortunately I do not believe I have a virtual directory set up for my application which is yielding this.
Here is my problem.  I wrote a conversion tool to convert from swagger to a more object oriented json format that I can use to drive a razor view. The code works just fine. I am having a problem because when swagger says "this is the basePath" then what you are saying is true and my code generates the routes for my uris incorrectly making my view yield bad results.
Without diving into your code I couldent tell you why it is happening and without my edge case web api code (that I unfortunately cannot give you due to company policy) it seems you are not experiencing that problem.  Perhaps you could simply keep an eye on this and see if anyone else has this issue.  If not then perhaps it is unique to me and I can code around it somehow.
Thanks again.

Based on the code, it's definitely very surprising for the basePath to be populated from RoutePrefix - I can't see how this could be happening. But, you should take a quick look at the code to see if anything jumps out. Here's a little background
When a request is made for the Swagger document - e.g. http://tempuri.org/vdir/swagger/docs/v1, the website rootUrl is inferred from the host headers and virtual directory ...
// Swashbuckle.Core/Application/SwaggerDocsConfig.cs

public static string DefaultRootUrlResolver(HttpRequestMessage request)
{
    var scheme = GetHeaderValue(request, "X-Forwarded-Proto") ?? request.RequestUri.Scheme;
    var host = GetHeaderValue(request, "X-Forwarded-Host") ?? request.RequestUri.Host;
    var port = GetHeaderValue(request, "X-Forwarded-Port") ?? request.RequestUri.Port.ToString(CultureInfo.InvariantCulture);

    var httpConfiguration = request.GetConfiguration();
    var virtualPathRoot = httpConfiguration.VirtualPathRoot.TrimEnd('/');

    return string.Format("{0}://{1}:{2}{3}", scheme, host, port, virtualPathRoot);
}

This is in turn passed to the swagger generator ...
// Swashbuckle.Core/Swagger/SwaggerGenerator.cs
public SwaggerDocument GetSwagger(string rootUrl, string apiVersion)
{

Where it's used to populate the basePath ...
var rootUri = new Uri(rootUrl);
...
basePath = (rootUri.AbsolutePath != "/") ? rootUri.AbsolutePath : null

So, this code path never even looks at any routing attributes. It's worth noting that you can configure your own root Url resolver instead of the DefaultRootUrlResolver shown above. See the RootUrl config setting in the readme for more information. Is it possible you are providing your own impl for this?


Create function overrides values in bool field if Default true annotation is set for many bool fields

GORM Playground Link
https://github.com/VincentVanBork/playground
Description
When having many annotations for default:true bool fields, Create() seems to override values set in the instance model just before create.

@VincentVanBork  hello,look  this doc https://gorm.cn/docs/create.html#Default-Values


Navbar hamburger icon overlaps with white space in "Community" page

This is a Bug Report

The Navbar file icon option is getting out from the main context and it lies in the white portion
Proposed Solution:
Improve or Update by resizing and making it into the orange portion of Kubernetes Navbar
Page to Update:
https://kubernetes.io/community/

/area web-development

/good first issue

/good-first-issue
/language en

/retitle Navbar hamburger icon overlaps with white space in "Community" page

Looks duplicate of issue we already have https://github.com/kubernetes/website/issues/42314
/remove-help
/remove-good-first-issue
/remove-language en
/triage duplicate

/assing

triage/accepted

@anurag4499 if you are not the org member please don't comment triage/accepted

okay
plz  tell me how to assing this work

https://deploy-preview-43077--kubernetes-io-main-staging.netlify.app/community/
i did this work

/approve

Issue is fixed now
/close


Properly handle scalar parsing errors

SPQR currently does nothing about errors that occur during scalar coercion. The correct steps would be to catch everything and return null on from parseLiteral  and wrap exceptions into CoercingParseValueException and possibly GraphQLError in parseValue.

Also all scalars should handle NullValue appropriately.

Fixed in 2b4807c.


Using dynamic RuleParameter

I have a scenario where I receive none typed JSON messages and would like to validate the payload. E.g
var  reading = JsonConvert.DeserializeObject($"{{\"temp\":42.0}}");
var message = new RuleParameter("reading", reading);
var result = await ruleEngine.ExecuteAllRulesAsync("TemperatureWarning", message, nodeId);

But I get an error saying:
Exception while parsing expression 'reading.temp < 3 ' - The binary operator LessThan is not defined for the types 'Newtonsoft.Json.Linq.JToken' and 'Newtonsoft.Json.Linq.JToken'.
Does anyone have a suggestion of how to get around this?

@wmmihaa Can you try with ExpandoObjectConverter ?
Something like
 var converter = new ExpandoObjectConverter();
  var telemetryInfo = "{\"noOfVisitsPerMonth\": 10,\"percentageOfBuyingToVisit\": 15}";
  return JsonConvert.DeserializeObject<ExpandoObject>(telemetryInfo, converter);

If you want to use JObject , you might need cast the JObject before user
int(reading.temp) < 3

Closing issue due to inactivity


[Bug Report]: Tauri/React template missing module declaration

Steps to reproduce

Besides, when you try to bundle it, TypeScript gives an error for some reason. That's why I created a file called declare.ts with this code, and only then can I run it
declare module '*.svg' {
    const content: any;
    export default content;
}

declare module '*.png' {
    const content: any;
    export default content;
}

Originally posted by @Estereg in https://github.com/farm-fe/farm/issues/1604#issuecomment-2227042712

Reproduce link
No response
What is actually happening?
see above
System Info
any

I have already created a pull request for this, and it has been merged into the main branch. Please review the changes.
https://github.com/farm-fe/farm/pull/1571#event-13451051845

I have already created a pull request for this, and it has been merged into the main branch. Please review the changes. #1571 (comment)

Okay, thanks for the heads up


pkg/textparse: parse metric names with ':'

@mwitkow

Test looks legit. Otherwise I can't coment. It's been 10 years since I touched grammars ;)

Merging then :)


v5-compatible script cannot run in pwsh

Steps to reproduce
I am using dgreadiness_v3.6.zip (from https://www.microsoft.com/en-us/download/confirmation.aspx?id=53337)
Expected behavior
PS C:\Users> powershell.exe E:\Desktop\dgreadiness_v3.6\DG_Readiness_Tool_v3.6.ps1 -ready
###########################################################################
Readiness Tool Version 3.4 Release.
Tool to check if your device is capable to run Device Guard and Credential Guard.
###########################################################################
###########################################################################
OS and Hardware requirements for enabling Device Guard and Credential Guard
 1. OS SKUs: Available only on these OS Skus - Enterprise, Server, Education, Enterprise IoT, Pro, and Home
 2. Hardware: Recent hardware that supports virtualization extension with SLAT
To learn more please visit: https://aka.ms/dgwhcr
###########################################################################

Credential-Guard is not running.
HVCI is not running.
Config-CI is not running. (Not Enabled)
Not all services are running.

I assume that PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…} also includes v5.
Actual behavior
PS C:\Users> pwsh E:\Desktop\dgreadiness_v3.6\DG_Readiness_Tool_v3.6.ps1 -ready
###########################################################################
Readiness Tool Version 3.4 Release.
Tool to check if your device is capable to run Device Guard and Credential Guard.
###########################################################################
Note that this script is compatible with v5 PowerShell. YMMV.
get-wmiobject: E:\Desktop\dgreadiness_v3.6\DG_Readiness_Tool_v3.6.ps1:1013
Line |
1013 |  $isRunningOnVM = (get-wmiobject win32_computersystem).model
     |                    ~~~~~~~~~~~~~
     | The term 'get-wmiobject' is not recognized as the name of a cmdlet, function, script file, or operable
     | program. Check the spelling of the name, or if a path was included, verify that the path is correct
     | and try again.

InvalidOperation: E:\Desktop\dgreadiness_v3.6\DG_Readiness_Tool_v3.6.ps1:1014
Line |
1014 |  if($isRunningOnVM.Contains("Virtual"))
     |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     | You cannot call a method on a null-valued expression.

###########################################################################
OS and Hardware requirements for enabling Device Guard and Credential Guard
 1. OS SKUs: Available only on these OS Skus - Enterprise, Server, Education, Enterprise IoT, Pro, and Home
 2. Hardware: Recent hardware that supports virtualization extension with SLAT
To learn more please visit: https://aka.ms/dgwhcr
###########################################################################

Credential-Guard is not running.
HVCI is not running.
Config-CI is not running. (Not Enabled)
Not all services are running.
PS C:\Users> pwsh -version 5 E:\Desktop\dgreadiness_v3.6\DG_Readiness_Tool_v3.6.ps1 -ready
PowerShell 7.0.2

Script works out of luck
https://docs.microsoft.com/en-us/powershell/scripting/windows-powershell/starting-the-windows-powershell-2.0-engine?view=powershell-7 does not seem to trigger "v5 compatibility mode" as extrapolated.
Environment data

> $PSVersionTable

Name                           Value
----                           -----
PSVersion                      7.0.2
PSEdition                      Core
GitCommitId                    7.0.2
OS                             Microsoft Windows 10.0.18363
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
WSManStackVersion              3.0

Get-WmiObject was considered deprecated in PowerShell version 3.
Since then, Get-CimInstance has been the replacement command. Get-WmiObject was officially dropped in v6.0. I'm not sure in what capacity, if any, -Version 2 is expected to work, but I wouldn't expect it to function in pwsh myself.

What does, then, PSCompatibleVersions mean, if not backwards compatibility with previous PS versions?

PSCompatibleVersions is, as far as I'm aware, only referenced for the purposes of #Requires -PSVersion statements. In other words, if the stated version is not in the PSCompatibleVersions list, PowerShell won't even try to run the script.
It's more about preventing earlier versions of PS from trying to run scripts which may contain language features that were introduced later on, to the best of my knowledge. 🙂

In any case, "in such a volatile environment", I would expect that #Requires -Version (and not #Requires -PSVersion), would guard both ways: against old and against new features.
Or, would provide backwards-compatible interfaces.
In any case, I got what I expected by this thread. Thank you for the prompt responses.


Add tutorial "Access Prisma from a Node script using Prisma Bindings"

Note that Step 1 and 3 are almost identical to Build a GraphQL server for an existing Prisma service.
Also I could not find the Quickstart file that links to the tutorials (The one that corresponds to https://www.prisma.io/docs/quickstart/). I saw it in previous versions of the docs, but not on 1.8.
I created a folder called 03-Access-Prisma-from-Scripts inside 03-Tutorials2. Should I give it a different name or number?

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Passing parameters to start container

Hi, I'm currently using Docker.DotNet in a project and need to pass parameters when starting a container.
Having looked at the source code I see StartContainerAsync takes ContainerStartParameters  which only has a DetachKeys property which is a string. Is this what is used to pass parameters to the starting container or is there another method of doing it? If so, is there an example of how it's formatted?
Thanks!

What "parameters" are you trying to pass? It is likely that you wanted to pass them at create instead of start

Its actually a valid scenario. I need to pass parameters to my docker container and the parameters are dynamic in nature, they just cant be "hard-coded" in dockerfile.

Actually on second thought, I think Justin is right. I got confused CreateContainer with Image.

Hi @jterry75,
I'm new to the Docker Remote API, but when running an image you pass in arguments, for instance:
docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=yourStrong(!)Password' -p 1433:1433 -d microsoft/mssql-server-linux
I suppose I was expecting to see this on the StartContainerAsync method (likening start to Docker's run command, but having seen your response and looking at the CreateContainerAsync I was clearly looking in the wrong place and don't understand how the Remote API works.

@JosephWoodward - Yea, unfortunately the docker remote API and the docker CLI are quite different in some cases. In the case of docker run there is a create/attach/start sequence that happens. Glad that create/start workflow does what you need. If you find anything missing please let me know and I will update the models.


net/http: TLS handshake timeout

We encountered a timeout issue with the TLS handshake when connecting to TPP. After adjusting some timeout values in tpp.go, we successfully established a connection. However, the current default settings might be too low for certain environments. Could we consider increasing the default values or making TCP/tls timeouts configurable?
PROBLEM SUMMARY
With a complex network, a tcp/TLS timeout may occur.
STEPS TO REPRODUCE
Not trivial to reproduce, as it requiers a environment with similar latency.
EXPECTED RESULTS
vcert is able to connect to TPP
ACTUAL RESULTS
Error messages:
net/http: TLS handshake timeout
after increasing TLSHandshakeTimeout to 60 seconds error changed to:
context deadline exceeded (Client.Timeout exceeded while awaiting headers）
(still timeout)
ENVIRONMENT DETAILS
issue occurs with vcert 5.7 and TPP.
COMMENTS/WORKAROUNDS
here's the updated code that increased the timeout to 60s which was sufficient in this particular case.
file: tpp.go
func (c *Connector) getHTTPClient() *http.Client {
if c.client != nil {
return c.client
}
var netTransport = &http.Transport{
Proxy: http.ProxyFromEnvironment,
DialContext: (&net.Dialer{
Timeout:   60 * time.Second,
KeepAlive: 60 * time.Second,
DualStack: true,
}).DialContext,
//MaxIdleConns:          100,
//IdleConnTimeout:       90 * time.Second,
//TLSHandshakeTimeout:   60 * time.Second,
//ExpectContinueTimeout: 1 * time.Second,
//ResponseHeaderTimeout: 60 * time.Second,
}
tlsConfig := http.DefaultTransport.(http.Transport).TLSClientConfig
/ #nosec */
if c.trust != nil {
if tlsConfig == nil {
tlsConfig = &tls.Config{
MinVersion: tls.VersionTLS12,
}
} else {
tlsConfig = tlsConfig.Clone()
}
tlsConfig.RootCAs = c.trust
}
netTransport.TLSClientConfig = tlsConfig
c.client = &http.Client{
Timeout:   time.Second * 60,
Transport: netTransport,
}
return c.client
}

Since there is no code in this repo, I am guessing you meant this to go to the VCert repo instead of this one.


revokeAccessTokenOnSignout does not revoke access token

Hello,
I want the access token to be revoked when the user logs out.
So I set revokeAccessTokenOnSignout to true but it is not revoked. The log says:
...
checking if token revocation is necessary
no need to revoke due to no user, token, or JWT format
...

despite being "correctly" logged in. Silent renewing the access token works.
Furthermore my config is as follows:
const userManagerConfig = {
        /* REQUIRED */
        authority: systemSettings.AuthAuthorityURI,
        client_id: 'client',
        redirect_uri: `${absoluteBasePath}callback`,
        response_type: 'token id_token',
        scope: 'openid profile email',

        /* OPTIONAL */
        post_logout_redirect_uri: `${absoluteBasePath}`,
        automaticSilentRenew: true,
        silent_redirect_uri: `${absoluteBasePath}silent_renew.html`,
        filterProtocolClaims: true,
        loadUserInfo: true,
        revokeAccessTokenOnSignout: true,
        monitorSession: true
    };

Is there something else I need to consider?

When you logout, what are you calling to actually logout.

Programmatically I am calling signoutRedirect which calls
https://<somedomain>/cl/end_session_endpoint?id_token_hint=<someidtokenhint>&post_logout_redirect_uri=<someurl>

Is this the info you wanted?

JWTs are not revocable.

So what would be the cases where you can revoke an access token?

When the token is stored in the token service (presumably in some DB).

Ok, thank you for the info.

Why are we checking for . in access_token?
`UserManager.prototype._revokeAccessTokenInternal = function _revokeAccessTokenInternal(access_token, required) {
// check for JWT vs. reference token
if (!access_token || access_token.indexOf('.') >= 0) {
return Promise.resolve(false);
}
    return this._tokenRevocationClient.revoke(access_token, required).then(function () {
        return true;
    });
};`


Retry mechanism

Hey, great framework!
Wondering how would you handle the case when a third party service may be down and you need to keep retrying till it goes up again.
I see the retry plugin is in memory. What would happen if the instance that is retrying is shutdown(failure or due to a new app deployment). Do you envision any particular way to handle the retrying mechanism in a stateful way? Any recommendations?
Cheers,

Hello @yarandoo glad you're enjoying Studio.
So for the first thing, i would advise you against keep retrying forever, because this can lead to a memory leak, imagine that your service keep receiving new calls, and the third part service dont get back, on this scenario you will have an increasing number of services being retried so at some point in the future your system will crash unless the third part service become available.
But, anyway i need to implement some kind of exponential backoff for the time between the retries.
About the problem of the "stateful" retry i can implement the following, the option to add 2 functions to the plugin, one to be called BEFORE the service call (to store data related for that call, like service name and service parameters)  and another to be called after the service success (or after all retries), so you can use this 2 hooks to store this info (in a file or in your database) and after all the retries (or sucess) you can delete this info. This functions can also receive metadata like timestamp, number of attempts, and if it was a success.
To do this, i will also need an extra function which list all "open" retries , this function is going to be called on the startup, and let Studio deals with all the retries.
This solution works for you? I can implement and publish both solutions this week (backoff + stateful retry)

Guau, thanks for your detailed answer, sounds good!
Just one question I have is how would you handle the situation where you have multiple instances running the application? As in this case each instance on startup will be initializing its own studio and possibly reading the same pending retries from the store. In this scenario I see that your service call might be executed N times. With N being the number of instances running.
Cheers,

So, you can use one of the following solutions:
1- The easiest is, using a local repository (filesystem or embedded database), the problem with this solution is, you can lose data if you stop to deploy services on that machine without migrating the data
2- Generate a random identifier for each machine deploying your data and save it as an environment  variable, and use this variable to separate logically your retries , so in your database where you store your retry data, you add a field with this identifier, and when listing pending retries, you query only for open retries on that identifier
3-You need to implement some kind of lock solution, to make sure only one server is processing the old retries.  I dont want to implement this in the framework, because its completely up to the developer to choose the database and the strategy for doing so.
I hope it helped you.

@ericholiveira thanks for your answer.

and 2) are interesting options, but I think will both involve loosing data if the new instance that spins up has a new ID. Currently we have no way to manage which ID the new instance will have, or to replicate the same ID as the instance that was shut down.

Could be using the typical queue. Something like AWS SQS enables to have multiple consumers but only one reading the message at the time. (Visibility window).

In this case the reading of the queue to retrieve messages should be done periodically by each instance. This could potentially work. Do you think the retry plugin could support reading from a given store periodically instead of at init time?

First the easiest question... about the promise chain, i don't know any solution to deal with the chain... The only thing i can think as a solution for this is for you con encapsulate everything inside a service with the "retry" enabled, and make sure you handle this as a "transaction" (you have to catch exceptions on your service and cleanup any needed info), so the solution for this is check your business rule, and wrap everything you need in the retry, instead of just the access for third part.
I believe that if you decide to use a queue to do this, its better keep polling the queue in your application startup and manually calling the service again, because it is really simple to implement, and i want to avoid adding a ton of configurations on the framework, i think its going to be really confusing for most users having a option to poll for data and a option to list data.
What do you think?

Ps: If you join the slack channel we can discuss more on the best way to solve this problem, and post the solution here

Guau, thanks for your detailed answer, sounds good!
Just one question I have is how would you handle the situation where you
have multiple instances running the application? As in this case each
instance on startup will be initializing its own studio and possibly
reading the same pending retries from the store. In this scenario I see
that your service call might be executed N times. With N being the number
of instances running.
Cheers,
On Sunday, 23 October 2016, Erich Oliveira<EMAIL_ADDRESS>wrote:

Hello @yarandoo https://github.com/yarandoo glad you're enjoying Studio.
So for the first thing, i would advise you against keep retrying forever,
because this can lead to a memory leak, imagine that your service keep
receiving new calls, and the third part service dont get back, on this
scenario you will have an increasing number of services being retried so at
some point in the future your system will crash unless the third part
service become available.
But, anyway i need to implement some kind of exponential backoff for the
time between the retries.
About the problem of the "stateful" retry i can implement the following,
the option to add 2 functions to the plugin, one to be called BEFORE the
service call (to store data related for that call, like service name and
service parameters) and another to be called after the service success (or
after all retries), so you can use this 2 hooks to store this info (in a
file or in your database) and after all the retries (or sucess) you can
delete this info. This functions can also receive metadata like timestamp,
number of attempts, and if it was a success.
To do this, i will also need an extra function which list all "open"
retries , this function is going to be called on the startup, and let
Studio deals with all the retries.
This solution works for you? I can implement and publish both solutions
this week (backoff + stateful retry)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/ericholiveira/studio/issues/57#issuecomment-255551009,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABeCBx91lWcqdlYYzeubyiR96-M9bBCTks5q2m32gaJpZM4KduLt
.

I really believe that the safest way to implement this without losing any data is to have another instance running a simple query to list all pending retries (taking into account a timeout for those in "processing" status) and make this instance call the service from other services.. you can add a simple endpoint to do it, or use studio cluster and let it find and call the services for you (or even add it to a queue and listen this queue on your instances).
I believe any other solution will add a tremendous amount of work for you to sync your instances and avoid duplication.
And as this solution is a simple read and delegate to another, you PROBABLY can scale it without any problem
Im also, working on the solution i described, and will be publishing it probably tomorrow

@yarandoo just published the changes.. i decided to keep only the methods beforeCall and afterCall, to store your retry data, so for your problem (and anyone problem for a stateful retry) you will have to write your own logic to list your pending retries and call your service again... this should be really easy to do, as we discussed...
Let me know if you need anything else


versions after 24.04.4-1 don't start

versions after <IP_ADDRESS>-1, especially .4 and latest don't start.
Error message:
Failed to initialize COOLWSD: File not found: /etc/coolwsd/certs/ca-chain.cert.pem| wsd/COOLWSD.hpp:522
but the compose contains the variables:
      - ENABLE_TLS_CERT_GENERATE=FALSE
      - ENABLE_TLS=FALSE
      - ENABLE_TLS_REVERSE_PROXY=TRUE

adding
      - TLS_CA_FILENAME=fullchain.pem
      - TLS_CERT_FILENAME=cert.pem
      - TLS_KEY_FILENAME=privkey.pem

and mounting the volume: helps

Interesting - I will have to peek on my installs to see if I see similar. I am generally just running on autopilot on building these and making sure they continue building.
Let me try to find some time this week.

https://github.com/tiredofit/docker-collabora-online/releases/tag/24.04.4-4.1 should get you going!

sorry - no. While this version starts , I cannot connect and don't see any error msgs yet. Will continue to investigate later.

I can only guess. Below, there is the ssl section of [24.04.4-4.1] . The difference to the - working - version of [24.04.4-4] is that below, the paths are empty whereas previously there were entries even if unused.
But as opposed to previously, I don't see any error messages, neither in the browser console nor in the coolwsd log.
Giving up for today.
 <ssl desc="SSL settings">
            <as_scheme type="bool" default="true" desc="When set we exclusively use the WOPI URI's scheme to enable SSL for storage">true</as_scheme>
            <enable type="bool" desc="If as_scheme is false or not set, this can be set to force SSL encryption between storage and coolwsd. When empty this defaults to following the ssl.enable setting"></enable>
            <cert_file_path desc="Path to the cert file. When empty this defaults to following the ssl.cert_file_path setting" relative="false"></cert_file_path>
            <key_file_path desc="Path to the key file. When empty this defaults to following the ssl.key_file_path settinge" relative="false"></key_file_path>
            <ca_file_path desc="Path to the ca file. When empty this defaults to following the ssl.ca_file_path setting" relative="false"></ca_file_path>
            <cipher_list desc="List of OpenSSL ciphers to accept. If empty the defaults are used. These can be overridden only if absolutely needed."></cipher_list>
        </ssl>

using the most recent image helps

Excellnet. I think its in their upstream code issue. Thanks for circling back.

I am thankful for your repositories! So the least I can do is find glitches and comment where useful. Greetings from the German Black Forest


Add duration to DetectResponse

I noticed doods2 is missing detection duration metrics in logs that was present in the original doods repo. I found it helpful, so I'm requesting to add it back :).

Thanks!


Added a second troubleshooting step for 401s

Please reach out to copowell internally on this - there is more that can be done to fix this doc regarding a case we had open.
User had more than 200 groups (distribution and security) and they were receiving 401s since the token didn't contain the authorized group GUID. The fix was to change the groupMembershipClaims property in the appManifest for the Kubernetes API in AAD from "All" to "SecurityGroup".

#sign-off

@ktoliver : Thanks for your contribution! The author, @iainfoulds, has been notified to review your proposed change.


⚠ PrivateHD has degraded performance

In 0b71316, PrivateHD ($PHD) experienced degraded performance:

HTTP code: 200
Response time: 3313 ms

Resolved: PrivateHD performance has improved in 8c590ac.


Radios/Checkboxes with labels are allowed to have aria-labelledby point elsewhere

Unfortunately this makes the input lose its original "Example answer 1/2/3" label, they're instead all labelled by the heading above.

Consider removing the aria-labelledby test examples, prefer the usual label + input relationship instead https://github.com/dwp/govuk-casa/search?q="aria-labelledby"&unscoped_q="aria-labelledby"

Inadvertently closed due to misalignment with internal issue list!

This can be closed now, as the aria-labelledby examples have been removed. It's up to developers to ensure their HTML markup is accessible.


update ansible playbook for building go-ssb-rooms and view front end

See also https://github.com/planetary-social/infrastructure/issues/28

Q: from Nov 21 sprint planning - Need to clarify how 'view front end' work is part of this and to what degree.

Need to check in with Zach about the status of this.

This is addressed, indirectly, in https://github.com/planetary-social/rooms-frontend/issues/23
The suggestion in that PR is to containerize these applications via docker.  Anytime you update the code, you would build a new docker image, tag it, and push it to your repo.
The host would be running three docker services and to update any of them, you would run an ansible task that changes the docker tag used for the service and restarts it.
This containerized setup, and the ansible tasks, are included in the above PR.  There are pr's for go-ssb-room(#2), graphql(#43), and the rooms-frontend(#130) to containerize each of these services.

This is assigned to me, presumably because of #56, but I am not sure if it should be at this point.


Dialog not maximizing

Need your time saving help with this
I have xxDialog.ts with maximizable() attribute set but when I run the Dialog is not maximized but the maximize button is enable and when i click on the button it maximizes. What i need is to open the dialog maximized by default.
@Serenity.Decorators.maximizable()
@Serenity.Decorators.registerClass()
@Serenity.Decorators.responsive()
@Serenity.Decorators.panel()
export class CampaignDayEditorDialog extends Common.GridEditorDialog<CampaignDayRow> {
    protected getFormKey() { return CampaignDayForm.formKey; }
    protected getLocalTextPrefix() { return CampaignDayRow.localTextPrefix; }
    protected getNameProperty() { return CampaignDayRow.nameProperty; }
    protected form = new CampaignDayForm(this.idPrefix);

    constructor() {
        super();
        this.element.closest('.ui-dialog').find('.ui-dialog-titlebar-minimize').click();
    }
}

Write that under onDialogOpen not constructor, and its class is maximize not minimize

Thank you @volkanceylan
I tried the following but still it is not maximizing
    dialogOpen() {
        this.element.closest('.ui-dialog').find('.ui-dialog-titlebar-maximize').click();
        }

@ms4hafiz, i wrote "onDialogOpen", you write "dialogOpen", please more care

and don't forget to call super.onDialogOpen()

Thanks 👍
It works now :)


Template globals are not accessible within imports w/ enable_async

Template globals are not applied correctly when using the enable_async environment flag.
When used normally, template globals can be used within imported macros.
With enable_async=True, template globals can only be accessed in macros within the immediate template.
Example script:
from jinja2 import Environment
from jinja2.loaders import DictLoader
import asyncio

templates = {
    "child.html": """\
{% extends default_layout or 'default.html' %}
{% from 'helpers.html' import imported_get_value%}
{% macro get_value() %}{{value}}{% endmacro %}
]{% block body %}
    {{ get_value() }}
    {{ imported_get_value() }}
{% endblock %}
""",
    "default.html": """\
<!doctype html>
<title>{{ value }}</title>
{% block body %}{% endblock %}
""",
    "helpers.html": """\
{% macro imported_get_value() %}{{value}}{% endmacro %}
""",
}

def sync_main():
    env = Environment(loader=DictLoader(templates))
    tmpl = env.get_template("child.html", globals={"value": "hello"})
    print(tmpl.render())

async def async_main():
    env = Environment(loader=DictLoader(templates), enable_async=True)
    tmpl = env.get_template("child.html", globals={"value": "hello"})
    print(await tmpl.render_async())

if __name__ == "__main__":
    print("---- SYNC ----")
    sync_main()
    print("---- ASYNC ----")
    asyncio.run(async_main())

Output
---- SYNC ----
<!doctype html>
<title>hello</title>

    hello
    hello

---- ASYNC ----
<!doctype html>
<title>hello</title>

    hello

I expected the above output to be the same for sync and async.
Environment:

Python version: 3.9.6
Jinja version: 3.0.1

Apologies, I accidentally pressed enter and posted this too soon. I will edit the original comment with more information shortly.

I've had a look into the code to see if I can determine why this is happening, and I have identified the following line that stops the vars from being passed to the new context.
https://github.com/pallets/jinja/blob/647677d37fd4d95d5fb1571a3120c8b185bad4bf/src/jinja2/compiler.py#L1094
Changing this to self.write("_get_default_module_async(context)") resolves this problem, however, I am unsure if this will cause issues elsewhere.
pytest is still passing after making this change.

Happy to review a PR

Cheers, hopefully the PR should resolve this!


[FLINK-9766][network][tests] fix cleanup in RemoteInputChannelTest

What is the purpose of the change
If an assertion in the tests of RemoteInputChannelTest fails and as a result the cleanup fails, in most tests the original assertion was swallowed making it hard to debug.
Furthermore, #testConcurrentRecycleAndRelease2() does even not clean up at all
if successful.
Brief change log

add a helper method to unify (correct) cleanup so that if an exception is thrown in the finally block, it will be added as a suppressed exception

Verifying this change
This change is a trivial rework / code cleanup without any test coverage.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): no
The public API, i.e., is any changed class annotated with @Public(Evolving): no
The serializers: no
The runtime per-record code paths (performance sensitive): no
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: no
The S3 file system connector: no

Documentation

Does this pull request introduce a new feature? no
If yes, how is the feature documented? not applicable

+1

LGTM!

merging...


SNOW-960172: Add map_dict functionality

What is the current behavior?
I have some arbitrary values in a column. Let's say the unique values of this column are in the set {"foo", "bar", "buzz"}.
I would like to be able to have a pythonic way to apply some function in way resembling a case-switch operation, but using a pythonic dictionary.
To my understanding, this is not possible to do in the current Python Snowpark SDK without resorting to a recursive case-when expression, a custom function, or using a templates SQL expression.
What is the desired behavior?
I would like to be able to use a pythonic expression on a reference to the column with like so: col("colname").map_dict({"foo": 5, "bar": 6, "buzz": 12}), which would convert any existing keys in the provided dictionary with their associated values. In this example, every instance of "foo" becomes 5, and the correct data type of the new column is coerced accordingly. Should a unique value in the column not be available in the set of keys of the provided dictionary, it would result in a null value.
How would this improve snowflake-snowpark-python?
This is extremely vital functionality that, to my understanding, is far too complicated to implement with the current implementation of a CASE WHEN statement
References, Other Background
This behavior is provided in the Polars API

Hi @granthamtaylor , I would like to have a look into the issue.


adding nodes to a node deployment

When upgrading a node deployment by adding an additional node. The machine-controller cannot find the current machine set. Instead it creates a new machineset. Which results in having two new nodes instead of one. We are using the machine-controller v1.17. I included my logs:
kubectl -n cluster-hw6t8hvsmk logs machine-controller-85ccdc8f89-5p879
I0528 12:29:29.454498       1 main.go:570] creating event broadcaster
I0528 12:29:45.170774       1 event.go:221] Event(v1.ObjectReference{Kind:"Endpoints", Namespace:"kube-system", Name:"machine-controller", UID:"03d93483-2e1c-11e9-bb62-0a580af41328", APIVersion:"v1", ResourceVersion:"27730738", FieldPath:""}): type: 'Normal' reason: 'LeaderElection' machine-controller-85ccdc8f89-5p879_3d1c7322-8144-11e9-9f3d-9ef2333484a2-machine-controller became leader
I0528 12:29:45.182431       1 migrations.go:144] CRD machines.machine.k8s.io not present, no migration needed
I0528 12:29:45.182469       1 migrations.go:52] Starting to migrate providerConfigs to providerSpecs
I0528 12:29:45.209151       1 migrations.go:134] Successfully migrated providerConfigs to providerSpecs
I0528 12:29:45.315224       1 plugin.go:116] looking for plugin "machine-controller-userdata-centos"
I0528 12:29:45.315278       1 plugin.go:144] checking "/usr/local/bin/machine-controller-userdata-centos"
I0528 12:29:45.315779       1 plugin.go:157] found '/usr/local/bin/machine-controller-userdata-centos'
I0528 12:29:45.315796       1 plugin.go:116] looking for plugin "machine-controller-userdata-coreos"
I0528 12:29:45.315812       1 plugin.go:144] checking "/usr/local/bin/machine-controller-userdata-coreos"
I0528 12:29:45.315868       1 plugin.go:157] found '/usr/local/bin/machine-controller-userdata-coreos'
I0528 12:29:45.315876       1 plugin.go:116] looking for plugin "machine-controller-userdata-ubuntu"
I0528 12:29:45.315892       1 plugin.go:144] checking "/usr/local/bin/machine-controller-userdata-ubuntu"
I0528 12:29:45.315906       1 plugin.go:157] found '/usr/local/bin/machine-controller-userdata-ubuntu'
E0528 12:53:20.396110       1 controller.go:161] Failed to reconcile MachineSet "kube-system/coreos-worker-7968f4ccd8": failed to update machine set status: MachineSet.cluster.k8s.io "coreos-worker-7968f4ccd8" not found
I0528 12:53:21.720296       1 machine.go:615] Validated machine spec of coreos-worker-7968f4ccd8-vtlcq
I0528 12:53:22.021969       1 machine.go:615] Validated machine spec of coreos-worker-7968f4ccd8-khpdb
I0528 12:53:24.242268       1 provider.go:467] Waiting for the instance e1ac4435-ea89-4d99-8bdc-1f39bc53c28c to become active...
I0528 12:53:25.279521       1 provider.go:467] Waiting for the instance 474da046-a9ab-431d-8506-6d3f532e7a1f to become active...
I0528 12:53:32.984306       1 provider.go:495] Instance e1ac4435-ea89-4d99-8bdc-1f39bc53c28c became active after 8.742047 seconds
I0528 12:53:33.850826       1 provider.go:495] Instance 474da046-a9ab-431d-8506-6d3f532e7a1f became active after 8.571310 seconds
I0528 12:53:33.863762       1 provider.go:836] Assigning a floating IP to instance e1ac4435-ea89-4d99-8bdc-1f39bc53c28c
I0528 12:53:35.019077       1 provider.go:836] Assigning a floating IP to instance 474da046-a9ab-431d-8506-6d3f532e7a1f
I0528 12:53:37.793007       1 provider.go:883] Successfully assigned the FloatingIP <IP_ADDRESS> to instance e1ac4435-ea89-4d99-8bdc-1f39bc53c28c. Took 3.929244 seconds(without the recheck wait period 3.000000 seconds).
I0528 12:53:37.844926       1 machine.go:940] Added delete finalizer to machine coreos-worker-7968f4ccd8-vtlcq
I0528 12:53:37.845008       1 machine.go:637] Created machine coreos-worker-7968f4ccd8-vtlcq at cloud provider
I0528 12:53:37.845842       1 event.go:221] Event(v1.ObjectReference{Kind:"Machine", Namespace:"kube-system", Name:"coreos-worker-7968f4ccd8-vtlcq", UID:"91ec6266-8147-11e9-addc-a29911f58ca7", APIVersion:"cluster.k8s.io/v1alpha1", ResourceVersion:"27735387", FieldPath:""}): type: 'Normal' reason: 'Created' Successfully created instance
I0528 12:53:39.628176       1 event.go:221] Event(v1.ObjectReference{Kind:"Machine", Namespace:"kube-system", Name:"coreos-worker-7968f4ccd8-vtlcq", UID:"91ec6266-8147-11e9-addc-a29911f58ca7", APIVersion:"cluster.k8s.io/v1alpha1", ResourceVersion:"27735452", FieldPath:""}): type: 'Normal' reason: 'InstanceFound' Found instance at cloud provider, addresses: [<IP_ADDRESS> <IP_ADDRESS>]
I0528 12:53:41.560022       1 provider.go:883] Successfully assigned the FloatingIP <IP_ADDRESS> to instance 474da046-a9ab-431d-8506-6d3f532e7a1f. Took 6.540943 seconds(without the recheck wait period 3.000000 seconds).
I0528 12:53:41.646405       1 machine.go:940] Added delete finalizer to machine coreos-worker-7968f4ccd8-khpdb
I0528 12:53:41.646459       1 machine.go:637] Created machine coreos-worker-7968f4ccd8-khpdb at cloud provider
I0528 12:53:41.646766       1 event.go:221] Event(v1.ObjectReference{Kind:"Machine", Namespace:"kube-system", Name:"coreos-worker-7968f4ccd8-khpdb", UID:"91dfc014-8147-11e9-addc-a29911f58ca7", APIVersion:"cluster.k8s.io/v1alpha1", ResourceVersion:"27735386", FieldPath:""}): type: 'Normal' reason: 'Created' Successfully created instance
I0528 12:53:41.941648       1 event.go:221] Event(v1.ObjectReference{Kind:"Machine", Namespace:"kube-system", Name:"coreos-worker-7968f4ccd8-vtlcq", UID:"91ec6266-8147-11e9-addc-a29911f58ca7", APIVersion:"cluster.k8s.io/v1alpha1", ResourceVersion:"27735462", FieldPath:""}): type: 'Normal' reason: 'InstanceFound' Found instance at cloud provider, addresses: [<IP_ADDRESS> <IP_ADDRESS>]```

We could not reproduce this anymore. I think this can be closed.


Merge with the drop down arrow？

Now：

https://userstyles.org/styles/79050/firefox-tabs-counter

Install them both

I'm not sure that I can do that. My addon is a WebExtension, so I'm limited with what I can do with the icon. The badge that I'm using to show the counter is a rigid API. I have no control ovwr CSS in the toolbar. I did this to ensure that my tab counter will work in Firefox v57+ when old addons using the older API will be disabled.

Closing until there is a workaround or new API function.


Bug with stored jobs of different types

Description
I think we've found a major bug in PyWPS. The bug occurs when mixing jobs of different types, and when jobs are stored because maxparallel is reached.
Let's say the PyWPS application defines two processes, i.e. two subclasses of pywps.app.Process: ProcessA and ProcessB. Let's also say that maxparallel is 2, meaning that there's never more than 1 async job running at a given time.
Now consider this sequence:

Launch a ProcessA job in async mode
Launch a ProcessB job in async mode before the 1st job is finished

What will happen is the following:
An OS process is forked for the first job (the ProcessA job). The second job (the ProcessB job) is stored in the database queue because there already is a job running. When the first job's handler function completes, the _run_process function checks if the job queue has elements. So, in our case, _run_process gets the ProcessB job from the queue, and schedules its execution. The issue is that the ProcessB job will be executed using ProcessA's handler!
Environment

operating system: Linux
Python version: 3.4
PyWPS version: current develop branch
source/distribution
[X] git clone
[ ] Debian
[ ] PyPI
[ ] zip/tar.gz
[ ] other (please specify):
web server
[ ] Apache/mod_wsgi
[ ] CGI
[X] other (please specify): uWSGI

Steps to Reproduce
See the description.
Additional Information

Fixed in PR #312


Iteration optimizations

Some slight code enhancements for iterations in three points.

Is this faster? Because it doesn't seem more readable to me.

You don't think it is an improvement? Okay, then I'll close this PR.
I cannot make a statement on performance, sorry.


SVM: Add Gaussian kernel feature mapping

-1 from me as the code currently stands.
Freeing memory passed to a function can lead to instability of the database system and is a complete blocker for merge.


Incorrect indentation error message for conditionals

The following compiles successfully:
module Main where

one = if True then 1
              else 0

If you delete the indentation on the last line, you get:
module Main where

one = if True then 1
else 0

## ERRORS in Main.elm ##########################################################

-- SYNTAX PROBLEM ----------------------------------------------------- Main.elm

I ran into something unexpected when parsing your code!

4| else 0
   ^
I am looking for one of the following things:

    an 'else' branch
    whitespace

As reported in https://github.com/elm-lang/elm-platform/issues/16, this situation came up when someone was working through a tutorial on conditionals.
The current message seems confusing because it points to the word else and says that this is invalid, but an 'else' branch would have been acceptable.

It is improved in 0.19.1 with the following message:
-- UNFINISHED IF ------------------------------------------------------ temp.elm

I was expecting to see an `else` branch after this:

2| one = if True then 1
                       ^
I know what to do when the condition is `True`, but not when it is `False`.

Add an else branch to handle that scenario!

I think this message will be relatively common with people not knowing that an else is needed, so I wouldn't want to clutter the message for this particular scenario. It may be possible to detect it specifically though. I'll give it a shot.

Added a tweak in https://github.com/elm/compiler/commit/98b963c43a45b7296c4ed957ec01e578efe51294 to produce:
-- WEIRD ELSE BRANCH -------------------------------------------------- temp.elm

I was partway through an `if` expression when I got stuck here:

1| one = if True then 1
2| else 0
   ^^^^
I think this else keyword needs to be indented more. Try adding some spaces
before it.

It also works for code like:

one =
  let
    number =
      if True then 1
   else 0
  in
  41

I don't really expect that kind of thing to happen, but it's nicer anyway!

😻 awesome, thank you!


Update README.md

Added import Foundation and import Transport to your SMTP server example. Without the import it wont work.

Current coverage is 71.82% (diff: 100%)

No coverage report found for master at 3ba1418.

Powered by Codecov. Last update 3ba1418...ff60211

Thanks!


Convert canary e2e test to use v1beta1 and add reject canary spec on v1alpha2

What this PR does / why we need it:
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
Special notes for your reviewer:

Convert canary test to use v1beta1 API
Reject canary usage on v1alpha2 spec as this is no longer supported

Release note:
1. reject canary spec on v1alpha2 spec as it is no longer supported

/lgtm

/lgtm

/retest

/retest

/retest

/retest

/retest

/retest

/lgtm

/lgtm


out of memory w/ colab notebook

Hi, I'm running a 1.7k sequence with the colab notebook version, I'm using a colab pro account. Alphafold crashes every time after the genetic database search is done. I've also tried several truncated sequences (~1.4k aa), same thing happened.
What is the maximal sequence length that Colab notebook version can handle?

UnfilteredStackTrace                      Traceback (most recent call last)
 in ()
41                                                            random_seed=0)
---> 42     prediction_result = model_runner.predict(processed_feature_dict)
43
11 frames
UnfilteredStackTrace: RuntimeError: Resource exhausted: Out of memory while trying to allocate<PHONE_NUMBER>4 bytes.
The stack trace below excludes JAX-internal frames.
The preceding is the original exception that occurred, unmodified.

The above exception was the direct cause of the following exception:
RuntimeError                              Traceback (most recent call last)
/usr/local/lib/python3.7/dist-packages/jax/interpreters/xla.py in _execute_compiled(compiled, avals, handlers, kept_var_idx, *args)
891           for i, x in enumerate(args)
892           if x is not token and i in kept_var_idx))
--> 893   out_bufs = compiled.execute(input_bufs)
894   check_special(xla_call_p.name, out_bufs)
895   return [handler(*bs) for handler, bs in zip(handlers, _partition_outputs(avals, out_bufs))]
RuntimeError: Resource exhausted: Out of memory while trying to allocate<PHONE_NUMBER>4 bytes.

Hi I ran into some of these issues too,
They do have a max length of 2500, however I would try factory resetting the runtime and see if that helps.  Also it does seem like colabnotebook has a time-out limit if file does not start running with a certain period of time.  In addition, try not to have any other collabnotebooks run at the same time. Hopefully this helps!

Hi, having the same issue. Colab seems to have a hard limit of ~14gb GPU vram. It needed 16gb, truncation reduce to 15gb. Seems like every 100aa is about 1gb, at least for my protein.
Is there some way to decrease the size required when working with large input sequences? Maybe some compromise on the number of MSA used?
Or maybe shift it to work completely on CPU in colab, since pro users can get 25gb of ram?

Now there's Colab Pro+ available, assuming I can get more computational power, I upgraded of course. When I tried the 1.7k sequence, it even didn't pass MSA step this time. Anyone came across this error?

Colab has multiple different GPU types, so you might get a different GPU type each time and that will impact the maximum length of the sequence you would be able to fold. Colab Pro should give access to GPUs with more RAM but this still might not be sufficient for long proteins (1500+). I recommend either running a local version of AlphaFold for long proteins or checking if that particular protein is in the AlphaFold Protein Structure Database (www.alphafold.com).


Error saat ingin convert Inferencing

bang pas saya convert error terus
Traceback (most recent call last):

File "/usr/local/lib/python3.10/dist-packages/gradio/routes.py", line 414, in run_predict
    output = await app.get_blocks().process_api(
  File "/usr/local/lib/python3.10/dist-packages/gradio/blocks.py", line 1323, in process_api
    data = self.postprocess_data(fn_index, result["prediction"], state)
  File "/usr/local/lib/python3.10/dist-packages/gradio/blocks.py", line 1257, in postprocess_data
    prediction_value = block.postprocess(prediction_value)
  File "/usr/local/lib/python3.10/dist-packages/gradio/components.py", line 2531, in postprocess
    processing_utils.audio_to_file(sample_rate, data, file.name)
  File "/usr/local/lib/python3.10/dist-packages/gradio/processing_utils.py", line 163, in audio_to_file
    data = convert_to_16_bit_wav(data)
  File "/usr/local/lib/python3.10/dist-packages/gradio/processing_utils.py", line 177, in convert_to_16_bit_wav
    if data.dtype in [np.float64, np.float32, np.float16]:
AttributeError: 'NoneType' object has no attribute 'dtype'
Traceback (most recent call last):
  File "/content/Retrieval-based-Voice-Conversion-WebUI/infer-web.py", line 146, in vc_single
    if_f0 = cpt.get("f0", 1)
NameError: name 'cpt' is not defined

Traceback (most recent call last):
  File "/usr/local/lib/python3.10/dist-packages/gradio/routes.py", line 414, in run_predict
    output = await app.get_blocks().process_api(
  File "/usr/local/lib/python3.10/dist-packages/gradio/blocks.py", line 1323, in process_api
    data = self.postprocess_data(fn_index, result["prediction"], state)
  File "/usr/local/lib/python3.10/dist-packages/gradio/blocks.py", line 1257, in postprocess_data
    prediction_value = block.postprocess(prediction_value)
  File "/usr/local/lib/python3.10/dist-packages/gradio/components.py", line 2531, in postprocess
    processing_utils.audio_to_file(sample_rate, data, file.name)
  File "/usr/local/lib/python3.10/dist-packages/gradio/processing_utils.py", line 163, in audio_to_file
    data = convert_to_16_bit_wav(data)
  File "/usr/local/lib/python3.10/dist-packages/gradio/processing_utils.py", line 177, in convert_to_16_bit_wav
    if data.dtype in [np.float64, np.float32, np.float16]:
AttributeError: 'NoneType' object has no attribute 'dtype'

Kirim ssnya

Itu inferencing timbrenya masih kosong

Lah iya ga nyadar wkwkwk, langsung saya close aja


Live search discards the first typed character

Description
When a live search enabled bootstrap select is focused (but not yet open) and a character is typed the select expands but discards the typed character. The expected result is the typed character expands the select and populates the search field with that character.
Versions
Browser/OS: Chrome Version 71.0.3578.30/Windows 10
Steps to Reproduce

Tab to a live search enabled select
Type a single character

Actual Result: The select opens.
Expected Result: The select opens and the character that was typed is displayed in the search field.
Examples
Code Pen: https://codepen.io/kdolan1/pen/xQdNyg
Can Also be Reproduced Here: https://developer.snapappointments.com/bootstrap-select/examples/#live-search. Try typing "b" in this example

i have the same problem.

Released in v1.13.6!


Responsive Menu

The main navigation menu does not behave nicely when changing the resolution, looks broken on mobile.

done


⚠ Bofrost.de has degraded performance

In d2cafb9, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1014 ms

Resolved: Bofrost.de performance has improved in f820a45 after 7 minutes.


Multiple AZ/subnets support

There's an issue open for this but it is specifically for awsbatch whereas I need this for Slurm. Our own proprietary "Slurm with AWS" implementation had this so we've gone backwards a bit in that respect by moving to ParallelCluster. Hoping you guys are able to get to this soon! Documentation indicates it's coming.

Any updates or timelines for the multiple AZ support?

We don't have yet a timeline to share for this feature enhancement.
An high level alternative is to use Slurm Federation to manage multiple Slurm clusters. See Workshop: Using AWS ParallelCluster for Research.

I successfully did multi-AZ / multi-subnet with ParallelCluster 2.11.3 running SGE.  I am not sure if the issues people are seeing are SLURM-specific, or if there's something else I'm doing right here that AWS doesn't necessarily know about.
We are using:
scheduler = sge
base_os = ubuntu1804
cluster_type = spot
with
master_subnet_id and compute_subnet_id set to the same subnet.  Create the cluster, and then edit the autoscaling group manually.  Under the "Network" section, change the one AZ/subnet listed to a full set of subnets you've created, one in each AZ.
As you can see in the screenshots, simply changing the ASG causes the autoscaler to spot request in multiple AZs, and running jobs span across the AZs:

Hi @gns-build-server, thanks for your contribute!
Your approach works with SGE (or Torque) because ParallelCluster uses ASG to manage compute fleet, so by manually modifying the ASG you're adding more capabilities to your cluster.
This is not a suggested approach because you're manually modifying resources created by ParallelCluster so this can causes unexpected issues. Then this approach has some limits, for example the instance type you can use for compute fleet must be the same in all the avail zones.
For Slurm (starting from ParallelCluster 2.9.0) this approach cannot work because we moved away from ASG and we're using Slurm Cloud Bursting native support, providing a better integration with AWS. As part of 2.9.0 we also introduced support for multiple queues and multiple instance types.
With this issue we're tracking the possibility to natively use multiple Availability Zones together with different instance types, for example to overcome capacity limits.

@enrico-usai That's what I was worried about.  If there is no roadmap for the functionality to use multiple AZs in Parallelcluster with SLURM, then this is a dealbreaker for us to move onto Parallelcluster 3.0 where the SGE scheduler no longer exists.
For us to continue using Parallelcluster without SGE and ASGs, we will absolutely need multiple availability zones, because at the scale we are runinng, we frequently run into capacity limits when stuck in single AZs, and using SLURM Federation to federate between multiple-clusters is a non-starter for our product.
I would like to chime in with the other voices requesting a timeline for the ability to natively use multiple AZs together with the "different instance types" built into Parallelcluster >=2.9.0 in order to overcome capacity limits.  It is vital for us to be able to continue using Parallelcluster beyond the version we're currently stuck at.

@gns-build-server  +1, @enrico-usai, we are also stuck due to the same limitations.

@enrico-usai, this is due to the GPU capacity issues.

If I can chime in, My particular use case, we use HPC to run processing pipelines which also contain GPU isntances.
To save cost we use CPU jobs and GPU jobs that have dependencies in between them so we only use GPUs to do the strict minimum.
Since we don't need low latency between hosts, just A LOT of hosts, using multi-AZ would help us greatly!

@enrico-usai , We find that when we run our application, (using spot, with 96-VCPU nodes such as m6a.24xlarge and m6i.24xlarge), we frequently find ourselves unable to get capacity if we are stuck with a single AZ.  We primarily run in US-East-1.  Our clusters will frequently scale to 50-100 nodes when the queue is stacked with jobs, but this doesn't only happen when the queue is stacked.  We frequently find the system unable to get even a single node even when it's currently at zero nodes if we've got it set to a particular instance type and it's stuck to a single AZ.  What we find ourselves doing is looking at the Spot Advisor and trying to guess, according to the "% interruption" column for our region, which instance types we should change the cluster to.  Even this doesn't work well, because we frequently find that the Spot Advisor is indicating low % interruption and we still can't get any capacity for that instance type in a particular AZ.  My suspicion is the Spot Advisor will indicate low % interruption even when one or more AZs in a region are out of capacity, as long as there are some AZs in the region that still have high capacity.  This frankly, makes the Spot Advisor incredibly frustrating to get any useful information out of in a single-AZ situation.
If we were to move to SLURM right now, we could potentially mitigate this a bit by having multiple instance types set even within a single AZ, but we do that with Starcluster already, and it doesn't really work well even in the situation where we have multiple instance types set, ever since Starcluster's AZ choice mechanism became broken due to AWS's changing how they do pricing.  (Starcluster always prefers whichever AZ/instance type combination in your "instance type array" has the cheapest price, modified by whatever weighting factor you assign to prefer certain instance types even at higher current price.  Ever since, a couple of years ago, AWS changed how spot pricing works such that an AZ with low capacity no longer has HIGHER price, this mechanism became broken.  It used to be that if an AZ had no spot capacity for that instance type, the price shot up to 10X the on-demand price, and the Starcluster would always choose a lower-priced AZ for that instance type, or a different instance type in a lower-priced AZ.  After AWS made that change -- without warning customers, I might add -- a pure price-prioritized spot mechanism like Starcluster's will frequently get stuck in a single AZ because it may be the lowest priced one even though it has zero spot capacity.)
Because of the above experience with Starcluster getting stuck in particular AZs, we are not going to move from SGE to SLURM on Parallelcluster 3.0+ until multi-AZ in SLURM on ParallelCluster is available and works at least as well as it does with SGE/ASG's on Parallelcluster right now.

@enrico-usai
I haven't chimed in since I opened this up in December, but my anticipation that we would need this was warranted as we're hitting capacity issues now.
Use case: Multiple clusters for different groups of users, spinning up jobs of 50-100 SPOT instances (for now), ideally across multiple AZ's in a region and ideally across multiple generations of the same spec'd resource type.
Problem: We hit capacity limits. We were using 6th gen Intel c nodes but found that capacity was limited so we switched to 5th gen. Although multiple "ComputeResources" somewhat works, I found that when it would hit capacity limits on one of the resource types, slurm/pcluster wouldn't always grab from the other resource type. That is almost irrelevant though (for this issue), because if I was able to span multiple AZ's, I would be less likely to run into these capacity issues in the first place. For now, I have tried to put different clusters (since we have multiple) into different AZ's so they don't step on each other but this manual balancing is proving to be a pretty tedious and is burning time on something that should otherwise be automated.
If we had this feature, along with maybe a smoother mechanism for using multiple instance types within the same queue, I would consider this product 100% complete for our use case.

Also, based on looking at https://github.com/aws/aws-parallelcluster/issues/3114 , I suspect @tanantharaman also has a good use case here.

I've done some work on multi-AZ support for Slurm based on PCluster 3.1.1. Anyone interested in this can find the code here, and follow the user guide to have a try.

Any news on this? We are hitting ressource limits rather frequently. This morning for example:
2022-08-18 13:25:20,204 - [slurm_plugin.instance_manager:add_instances_for_nodes] - ERROR - Encountered exception when launching instances for nodes (x1) ['gpu-dy-g4dnxlarge-2']: An error occurred (InsufficientInstanceCapacity) when calling the RunInstances operation (reached max retries: 1): We currently do not have sufficient g4dn.4xlarge capacity in the Availability Zone you requested (us-east-1a). Our system will be working on provisioning additional capacity. You can currently get g4dn.4xlarge capacity by not specifying an Availability Zone in your request or choosing us-east-1b, us-east-1c, us-east-1d, us-east-1f.

+1 on this. seems like the spot capacity is getting more and more competitive in us-east-1. since we host our data on s3 in this region, it is important that we can run our cluster in the same reason so we don't incur heavy data-transfer costs. the broader the pool of spot inventory we can access, the better this will work. or amazon can add more capacity and there won't be a need for this feature...

Large scale HPC without this feature is almost impossible. I've changed my approach to a custom head node with AWS plugin for Slurm (https://github.com/aws-samples/aws-plugin-for-slurm )that supports multiple subnets. I've also made a fork to add headnode high availability support, more flexible node hostnames, and HTTPS proxy support (https://github.com/pauloestrela/aws-plugin-for-slurm).

@pauloestrela probably not relevant for you since you're on slurm, but i have managed to get awsbatch working with multiple AZ's. I basically bypassed the compute-environment and job-queue created by pcluster and created my own. the only real difference is to add more subnets to the "computeResources" section of the compute-env. i'm not sure if this breaks some features of pcluster, but i think for my case it is fine because my compute nodes do not need to communicate with each other.
this method has the added benefit that you can use your own container image instead of the pcluster one (also specified in the compute-environment), assuming you use pcluster's entrypoint script (in this github repo) and add all necessary dependencies, it is able to mount the shared volume and integrate successfully.

us-east-1 is completely packed so it's unlikely they'll be able to add capacity anytime soon. I've talked to support a couple of times, and I've gathered that while there were sometimes 800+ M5.4xlarge available in 1a at the time they checked, you still cannot get any spot because this head-room literally swing to 0 in minutes..
We've pretty much completely gave up running spot there.. if someone knows of 64GB+ types that usually have capacity I'll gladly take the tip!

From: msherman13 @.>
Sent: Friday, October 21, 2022 8:43:05 AM
To: aws/aws-parallelcluster @.>
Cc: Quentin Machu @.>; Manual @.>
Subject: Re: [aws/aws-parallelcluster] Multiple AZ/subnets support (Issue #3576)
+1 on this. seems like the spot capacity is getting more and more competitive in us-east-1. since we host our data on s3 in this region, it is important that we can run our cluster in the same reason so we don't incur heavy data-transfer costs. the broader the pool of spot inventory we can access, the better this will work. or amazon can add more capacity and there won't be a need for this feature...
—
Reply to this email directly, view it on GitHubhttps://github.com/aws/aws-parallelcluster/issues/3576#issuecomment-1286980318, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AZRAAOXN44XFDSH56FHJRPLWEKMWTANCNFSM5JQITKNA.
You are receiving this because you are subscribed to this thread.Message ID: @.***>

Coming back here one more time to emphasize how helpful this would be. As this is the most discussed open issue for this project, I think we can all agree that this feature would have a huge impact!

Hello all,
I'm happy to announce that ParallelCluster 3.4.0 with multi-az support is now available.


[AKS] aks mesh upgrade rollback/complete: Add --yes parameter to support not prompting the users to confirm the operation

Related command
az aks mesh upgrade rollback -g myResourceGroup -n myCluster --revision asm-1-20
az aks mesh upgrade complete -g myResourceGroup -n myCluster
Description
This change allows customers to suppress warnings while using az aks mesh upgrade rollback and az aks mesh upgrade complete commands. This is particularly helpful with automation of service mesh upgrade revisions.
Testing Guide
az aks mesh upgrade rollback -g myResourceGroup -n myCluster --revision asm-1-20 --yes
az aks mesh upgrade complete -g myResourceGroup -n myCluster --yes
both the above commands should not prompt the users to confirm the operation.
History Notes

This checklist is used to make sure that common guidelines for a pull request are followed.

[x] The PR title and description has followed the guideline in Submitting Pull Requests.

[x] I adhere to the Command Guidelines.

[x] I adhere to the Error Handling Guidelines.

AKS

/azp run

/azp run

Please fix CI issues


The mpi4py problem

Hi, nice work. I am really interested in your work, and new to semantic segmentation.
When I run the code
torchpack dist-run -np 1 python train.py configs/semantic_kitti/spvcnn/cr0p5.yaml
the system return this:
`Synopsis:       mpirun [options]
mpirun [options]   []
Description:    Start an MPI application in LAM/MPI.
Notes:
[options]       Zero or more of the options listed below
           LAM/MPI appschema
         List of LAM nodes and/or CPUs (examples
below)
       Must be a LAM/MPI program that either
invokes MPI_INIT or has exactly one of
its children invoke MPI_INIT
     Optional list of command line arguments
to
Options:
-c         Run  copies of  (same as -np)
-client  :
Run IMPI job; connect to the IMPI server
at port  as IMPI client number
-D              Change current working directory of new
processes to the directory where the
executable resides
-f              Do not open stdio descriptors
-ger            Turn on GER mode
-h              Print this help message
-l              Force line-buffered output
-lamd           Use LAM daemon (LAMD) mode (opposite of -c2c)
-nger           Turn off GER mode
-np        Run  copies of  (same as -c)
-nx             Don't export LAM_MPI_* environment variables
-O              Universe is homogeneous
-pty / -npty    Use/don't use pseudo terminals when stdout is
a tty
-s      Load  from node
-sigs / -nsigs  Catch/don't catch signals in MPI application
-ssi    Set environment variable LAM_MPI_SSI_=
-toff           Enable tracing with generation initially off
-ton, -t        Enable tracing with generation initially on
-tv		Launch processes under TotalView Debugger
-v              Be verbose
-w / -nw        Wait/don't wait for application to complete
-wd        Change current working directory of new
processes to
-x     Export environment vars in
Nodes:          n, e.g., n0-3,5
CPUS:           c, e.g., c0-3,5
Extras:         h (local node), o (origin node), N (all nodes), C (all CPUs)
Examples:       mpirun n0-7 prog1
Executes "prog1" on nodes 0 through 7.
            mpirun -lamd -x FOO=bar,DISPLAY N prog2
            Executes "prog2" on all nodes using the LAMD RPI.
            In the environment of each process, set FOO to the value
            "bar", and set DISPLAY to the current value.

            mpirun n0 N prog3
            Run "prog3" on node 0, *and* all nodes.  This executes *2*
            copies on n0.

            mpirun C prog4 arg1 arg2
            Run "prog4" on each available CPU with command line
            arguments of "arg1" and "arg2".  If each node has a
            CPU count of 1, the "C" is equivalent to "N".  If at
            least one node has a CPU count greater than 1, LAM
            will run neighboring ranks of MPI_COMM_WORLD on that
            node.  For example, if node 0 has a CPU count of 4 and
            node 1 has a CPU count of 2, "prog4" will have
            MPI_COMM_WORLD ranks 0 through 3 on n0, and ranks 4
            and 5 on n1.

            mpirun c0 C prog5
            Similar to the "prog3" example above, this runs "prog5"
            on CPU 0 *and* on each available CPU.  This executes
            *2* copies on the node where CPU 0 is (i.e., n0).
            This is probably not a useful use of the "C" notation;
            it is only shown here for an example.

Defaults:       -c2c -w -pty -nger -nsigs
And when I install mpi4py, and then run the code above, the system return:[mpiexec@eyre-MS-7C35] match_arg (utils/args/args.c:163): unrecognized argument allow-run-as-root
[mpiexec@eyre-MS-7C35] HYDU_parse_array (utils/args/args.c:178): argument matching returned error
[mpiexec@eyre-MS-7C35] parse_args (ui/mpich/utils.c:1642): error parsing input array
[mpiexec@eyre-MS-7C35] HYD_uii_mpx_get_parameters (ui/mpich/utils.c:1694): unable to parse user arguments
[mpiexec@eyre-MS-7C35] main (ui/mpich/mpiexec.c:148): error parsing parameters
`
Also, I am wandering where is the 'dataset' folder located?

I'm not sure which MPI implementation you are using. We are using OpenMPI and haven't tried others.

The dataset folder is at /dataset/semantic-kitti. You can override it either in the config file or by --dataset.root ROOT

I will close this issue for now due to its inactiveness. Please feel free to reopen it if the issue has not been resolved.

I have the same question, what can I do to solve the problem?
[mpiexec@AcerNitro] match_arg (utils/args/args.c:163): unrecognized argument allow-run-as-root
[mpiexec@AcerNitro] HYDU_parse_array (utils/args/args.c:178): argument matching returned error
[mpiexec@AcerNitro] parse_args (ui/mpich/utils.c:1642): error parsing input array
[mpiexec@AcerNitro] HYD_uii_mpx_get_parameters (ui/mpich/utils.c:1694): unable to parse user arguments
[mpiexec@AcerNitro] main (ui/mpich/mpiexec.c:148): error parsing parameters

Could you please double-check which MPI implementation you are using?

I run this example with torchpack dist-run -np 1 python evaluate.py configs/semantic_kitti/default.yaml --name SemanticKITTI_val_SPVNAS@65GMACs.

Could you please double-check which MPI implementation you are using?

I have the same problem, as I am not familiar with mpi, so I just run conda install mpi4py and I get these package installed
mpi                       1.0                       mpich    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
mpi4py                    3.0.3            py37hf046da1_1    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
mpich                     3.3.2                hc856adb_0    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main

Do you know how to solve the problem? thx in advance!

Could you please double-check which MPI implementation you are using?

I have the same problem, as I am not familiar with mpi, so I just run conda install mpi4py and I get these package installed
mpi                       1.0                       mpich    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
mpi4py                    3.0.3            py37hf046da1_1    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
mpich                     3.3.2                hc856adb_0    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main

Do you know how to solve the problem? thx in advance!

After I switch to openmpi the problem dissappears.

After I switch to openmpi the problem dissappears.

After I switch to openmpi the problem dissappears.

Could you tell me how to switch to openmpi? thx in advance!

You may follow the instructions at https://www.open-mpi.org/faq/?category=building to install OpenMPI from source.

After I switch to openmpi the problem dissappears.
Could you tell me how to switch to openmpi? thx a lot!

I have the same problem, which is
(coopdet3d) (base) root@zgc-a6000-114-41:/mnt/data/hjw/Code/coopdet3d# torchpack dist-run -np 3 python tools/train_coop.py configs/tumtraf_v2x/det/transfusion/secfpn/cooperative/lidar/pointpillars.yaml [mpiexec@zgc-a6000-114-41] match_arg (utils/args/args.c:163): unrecognized argument allow-run-as-root [mpiexec@zgc-a6000-114-41] HYDU_parse_array (utils/args/args.c:178): argument matching returned error [mpiexec@zgc-a6000-114-41] parse_args (ui/mpich/utils.c:1642): error parsing input array [mpiexec@zgc-a6000-114-41] HYD_uii_mpx_get_parameters (ui/mpich/utils.c:1694): unable to parse user arguments [mpiexec@zgc-a6000-114-41] main (ui/mpich/mpiexec.c:148): error parsing parameters
I find that I install OpenMPI = 4.0.4 and mpi4py = 3.0.3 at the same time.
And just "conda uninstall mpi4py" works.


[📖]Clarify steps for changing the application's theme at the click of a button

Suggestion
On this page: https://qwikui.com/docs/styled/install/
It states: This might seem like a lot of configuration, but we believe it to be worth it because it allows changing your entire application's theme at the click of a button.
I'm not sure how this would be achieved. I'm not suggesting we necessarily need a comprehensive guide on this, however it might be worth stating the basic idea. I'm guessing this refers to configuring multiple tailwind themes as per this sort of process? https://dev.to/ultroneoustech/creating-multiple-themes-in-tailwind-css-and-nextjs-2e98
Thanks for the brilliant library btw, I love the philosophy behind it.

Ah sorry about the confusion here. What I meant by "at the click of a button", is the ability for the developer to simply click on the make it yours button, chose his preset, color and radios, then copy code then the entire theme is changed. no need to change CSS in your components. I didn't mean that for the end user, although it's definitely possible to provide that to the end user as that's what we do in Qwik UI for the developers (our end users 😓 ). Maybe Qwik UI could make implementing such a feature easier in the future, but that's not our current priority.
Would you be up to making a docs PR to rephrase this?


Update API with Assigned Quota

APIM-CLI version
1.14.2
API-Management version
<IP_ADDRESS>30830
Question
NOTE: Same thing happens with 1.14.4 and 1.14.5.
We are trying to manage API Manager quotas thru apimcli. But, for starters, we can not get this information by running apim settings get command.
The issue we are running into is mainly that when we update an API with a quota plan, that quota plan looses the reference to that API and stops working.
Is that something we are operating wrong? Is there a known issue about it?
Let me know if this should be turned into a bug.

Hi @ramonpenteado, Can you share the api-config file?

attached file
api-config.json

Fixed in 1.14.6


Pull in phpunit

Pull in phpunit instead of relying on global install?

Hmm that's embarassing.  I must've had something wrong with my vendor folder... orchestra/testbench pulls it in, and a composer re-install fixed my issue.


Give nightlight IDE a try

Discussed with zach oaks in order to find out, which steps are required ...

https://sekao.net/nightlight/
https://github.com/oakes/Nightlight

Nightlight is up and running ... now lets try to use it for bootstrapping other ides

integrated & working


Child process throws fatal error when closed

Version: 1.19.1 release
Platform: Windows 10, 64bit, VC++ 2017

When I spawn a child process using uv_spawn and close the process after I've opened a Windows GetOpenFileDialog dialog I get the following error:

PostQueuedCompletionStatus: (6) The handle is invalid.

This doesn't happen when I spawn the child process directly; it also doesn't matter if the child process is spawned before or after the dialog is opened.
I'm using the nativefiledialog library but I've also tried it with noc_file_dialog and then the same thing happens.
Sometimes I also get a read access violation. in process.c on line 856:
POST_COMPLETION_FOR_REQ(loop, &process->exit_req);

which either says loop was 0x000000000000 or loop was 0xFFFFFFFFFFFFFFC7..

Does this error  happen in the parent or in the child process?

It happens in the parent process when the child process is closed.

Thanks,
Could you prepare a simplified repro of this? That would be a great help for debugging this.

I've create a repo to showcase this with instructions here: https://github.com/tversteeg/libuv-process-bug

Use &parent instead of &child_req in https://github.com/tversteeg/libuv-process-bug/blob/master/Parent/Parent.cpp#L44 and the problem will go away.

I think you mean &process, but I concur with bzoz that using stack memory there (and later copying the struct to process) won't work, and is likely the source of your problem.

I can't seem to find any mention of this in the docs. Is it there somewhere?

I've opened a doc PR in https://github.com/libuv/libuv/pull/1749. I'm gonna close this now.


Impossible to use clang to build rust packages

Can we just say that use setEnv to force set environment variables before the cargo command is a bad idea?
https://github.com/NixOS/nixpkgs/blob/ac6c93e57592408c7fb65cfd35b3293435589089/pkgs/build-support/rust/lib/default.nix#L57
https://github.com/NixOS/nixpkgs/blob/ac6c93e57592408c7fb65cfd35b3293435589089/pkgs/build-support/rust/hooks/cargo-build-hook.sh#L33
It forces HOST_CC to be set to gcc even when stdenv is switched to llvm, for example the code below would still run gcc when building native packages because of the HOST_CC setting, which would lead to linking failures:
makeRustPlatform {
        rustc = self.rust-stable;
        cargo = self.rust-stable;
        stdenv = self.llvmPackages.libcxxStdenv;
}

Note that this problem does not exist with Nixpkgs 23.05. It only becomes a problem after the setEnv approach is adopted in 23.11 and newer.
In general, we want environment variables to be configurable. But this setEnv thing is just very difficult to override. Would appreciate suggestions on how to override HOST_CC, or getting rid of setEnv completely. Thanks!

Is this still a problem? Have you tried pkgsLLVM?

It is still a problem. It is pretty clear where the problem is, namely, setEnv is too rigid and can't be overridden.

Ok, how have you tried setting the CC? Have you tried overriding rustc's stdenv to clangStdenv?

Ok, how have you tried setting the CC? Have you tried overriding rustc's stdenv to clangStdenv?

If you read the source code of setEnv, it gets CC from environment, but it gets HOST_CC from pkgsBuildHost.stdenv.cc, which is not something a user can easily have control over.

I am reading the source code which is why I have been asking if you have tried changing the stdenv.

Yes, I tried to pass a different stdenv as argument to makeRustPlatform, but it wasn't effective.

makeRustPlatform isn't what needs to have stdenv overridden. pkgs/development/compilers/rust/default.nix imports pkgs/build-support/rust/lib/default.nix which the rust lib takes in stdenv. Which the rust default file is imported from pkgs/development/compilers/rust/1_80.nix.

I don't know, but using pkgsLLVM is too much of a heavy lifting to solve a local environment variable problem. But thanks for the suggestion though!

Yeah, these are two of the best (probably only) options. I suggest pkgsLLVM since it gives you an environment that is purely LLVM on target. Overriding a single package to use LLVM will result in an LLVM + GCC environment. If you have any issues with clangStdenv when doing this, I suggest giving pkgsLLVM a shot.

The Rust build infrastructure should be fixed, though.

@emilazy True, pkgs/development/compilers/rust/default.nix could be callPackaged and pkgs/development/compilers/rust/1_80.nix could just inherit it and pass through stdenv.

Rust and setEnv is what motivated https://github.com/NixOS/nixpkgs/pull/346043. Prior to that PR, it was impossible to override the SDK version of Rust packages that needed to build non-Rust code (particularly some -sys crates) because setEnv pulled in other clangs with the wrong SDK version (e.g., https://github.com/NixOS/nixpkgs/issues/239384).
Some of my early attempts to work around it involved turning makeRustPlatform into a fixed-point and allowing rustPlatform to be overridden, but it uses pkgsBuildHost, pkgsBuildTarget, and pkgsTargetTarget depending on the cross-compilation scenario. Just overriding the stdenv may not be enough.


Bl test for fluxes sleep test

Error in fluxes are computed in the get_metrics method of SleepPhase, and fluxes are now tested in test_star_sleep.py.

Thanks Bryan!


Is it possible to make sidebars not cause layout shifts on the editor area?

I like to use the centered layout for the editors.
It works great when the sidebars are closed.
When you open either the primary or secondary it causes a layout shift in the editor area and your editor is no longer centered wrt the workspace area.
Would it be possible to use the extension to customize this behavior?

already have it on the right. doesn’t work with centered layout.


brohonestly, I'm really confused by this npm error

Sup dawg:
josh@onix:~/dev/project$ npm install ncp
npm http GET https://registry.npmjs.org/ncp
npm http 200 https://registry.npmjs.org/ncp
npm http GET https://registry.npmjs.org/ncp/-/ncp-0.2.6.tgz
npm http 200 https://registry.npmjs.org/ncp/-/ncp-0.2.6.tgz
npm ERR! Error: EACCES, symlink '../ncp/bin/ncp'
npm ERR!  { [Error: EACCES, symlink '../ncp/bin/ncp'] errno: 3, code: 'EACCES', path: '../ncp/bin/ncp' }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.

npm ERR! System Linux 3.2.0-34-generic
npm ERR! command "/usr/local/bin/node" "/usr/local/bin/npm" "install" "ncp"
npm ERR! cwd /home/josh/dev/project
npm ERR! node -v v0.8.8
npm ERR! npm -v 1.1.59
npm ERR! path ../ncp/bin/ncp
npm ERR! code EACCES
npm ERR! errno 3
npm ERR! stack Error: EACCES, symlink '../ncp/bin/ncp'
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     /home/josh/dev/project/npm-debug.log
npm ERR! not ok code 0

looks like the bin install is bugging out?

It's been long time since we've last seen this, it's probably fixed in npm. Closing.


refactor: convert scan args into struct

I was trying to add a new option (load_blobs) to the scan exec and realized the args had gotten a little out of control.  I refactored them into a struct.  I've since abandoned my original idea (load_blobs) but wanted to see if others felt the refactor was worth keeping.

Codecov Report
Attention: Patch coverage is 90.79755% with 15 lines in your changes missing coverage. Please review.

Project coverage is 78.80%. Comparing base (c859a15) to head (d882e66).
Report is 4 commits behind head on main.

Files with missing lines
Patch %
Lines

rust/lance/src/dataset/write/merge_insert.rs
0.00%
7 Missing :warning:

rust/lance/src/io/exec/scan.rs
91.48%
2 Missing and 2 partials :warning:

rust/lance/src/dataset/fragment.rs
94.00%
0 Missing and 3 partials :warning:

rust/lance/src/io/exec/pushdown_scan.rs
66.66%
0 Missing and 1 partial :warning:

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #2976   +/-   ##
=======================================
  Coverage   78.80%   78.80%
=======================================
  Files         235      235
  Lines       73141    73139    -2
  Branches    73141    73139    -2
=======================================
+ Hits        57636    57637    +1
- Misses      12519    12520    +1
+ Partials     2986     2982    -4

Flag
Coverage Δ

unittests
78.80% <90.79%> (+<0.01%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Add Opera-Beta

Opera browser Beta Channel
They have a deb available from their website.
https://download3.operacdn.com/pub/opera-beta/87.0.4390.8/linux/opera-beta_87.0.4390.8_amd64.deb

Sorry, we won't be accepting any daily/nightly, beta or pre-release software. Please see:

Add guidelines for what packages are acceptable for inclusion


ci: bump github actions; reduce job permissions to minimum

closes #37

@mcollina mind also grabbing this one when you get a second please?