Quickstart DataHub not found - Container dependency datahub-schema-registry failed

Describe the bug
Quickstart DataHub not found - Container dependency datahub-schema-registry failed
broker-1               | [2024-06-18 05:29:52,956] INFO [GroupCoordinator 1]: Member sr-1-a6e11473-80b3-4bc7-8d38-f78ed144fd27 in group schema-registry has failed, removing it from the group (kafka.coordinator.group.GroupCoordinator)
broker-1               | [2024-06-18 05:29:52,962] INFO [GroupCoordinator 1]: Preparing to rebalance group schema-registry in state PreparingRebalance with old generation 1 (__consumer_offsets-29) (reason: removing member sr-1-a6e11473-80b3-4bc7-8d38-f78ed144fd27 on heartbeat expiratio
n) (kafka.coordinator.group.GroupCoordinator)
broker-1               | [2024-06-18 05:29:52,966] INFO [GroupCoordinator 1]: Group schema-registry with generation 2 is now empty (__consumer_offsets-29) (kafka.coordinator.group.GroupCoordinator)
broker-1               | [2024-06-18 05:29:56,998] INFO [GroupCoordinator 1]: Dynamic member with unknown member id joins group schema-registry in Empty state. Created a new member id sr-1-b6f2c3f4-0b45-4aac-9c1d-c6553c0dab8c and request the member to rejoin with this id. (kafka.coordi
nator.group.GroupCoordinator)
broker-1               | [2024-06-18 05:29:57,008] INFO [GroupCoordinator 1]: Preparing to rebalance group schema-registry in state PreparingRebalance with old generation 2 (__consumer_offsets-29) (reason: Adding new member sr-1-b6f2c3f4-0b45-4aac-9c1d-c6553c0dab8c with group instance
id None; client reason: rebalance failed due to MemberIdRequiredException) (kafka.coordinator.group.GroupCoordinator)
broker-1               | [2024-06-18 05:29:57,016] INFO [GroupCoordinator 1]: Stabilized group schema-registry generation 3 (__consumer_offsets-29) with 1 members (kafka.coordinator.group.GroupCoordinator)
broker-1               | [2024-06-18 05:29:57,044] INFO [GroupCoordinator 1]: Assignment received from leader sr-1-b6f2c3f4-0b45-4aac-9c1d-c6553c0dab8c for group schema-registry for generation 3. The group has 1 members, 0 of which are static. (kafka.coordinator.group.GroupCoordinator)
broker-1               | [2024-06-18 05:34:47,423] INFO [Controller id=1] Processing automatic preferred replica leader election (kafka.controller.KafkaController)
broker-1               | [2024-06-18 05:34:47,423] TRACE [Controller id=1] Checking need to trigger auto leader balancing (kafka.controller.KafkaController)
broker-1               | [2024-06-18 05:34:47,425] DEBUG [Controller id=1] Topics not in preferred replica for broker 1 HashMap() (kafka.controller.KafkaController)
broker-1               | [2024-06-18 05:34:47,425] TRACE [Controller id=1] Leader imbalance ratio for broker 1 is 0.0 (kafka.controller.KafkaController)

To Reproduce
Steps to reproduce the behavior:
1-datahub docker quickstart
2-Edit docker-compose.yml timeouts to more than double in case it was a problem that the boot was being interrupted but the problem persists
Expected behavior
That the system quickstart starts with all the containers
Screenshots
[+] Running 7/7
 ✔ Container datahub-mysql-1                Healthy                                                                                0.5s
 ✔ Container datahub-elasticsearch-1        Healthy                                                                                0.5s
 ✔ Container datahub-zookeeper-1            Healthy                                                                                0.5s
 ✔ Container datahub-elasticsearch-setup-1  Started                                                                                1.1s
 ✔ Container datahub-mysql-setup-1          Started                                                                                1.0s
 ✔ Container datahub-broker-1               Healthy                                                                                1.5s
 ✘ Container datahub-schema-registry-1      Error                                                                                1.5s
dependency failed to start: container datahub-schema-registry-1 is unhealthy

Unable to run quickstart - the following issues were detected:
- elasticsearch container is not present
- schema-registry container is not present
- datahub-gms container is not present
- elasticsearch-setup container is not present
- broker container is not present
- datahub-frontend-react container is not present
- zookeeper container is not present
- kafka-setup container is not present

If you think something went wrong, please file an issue at https://github.com/datahub-project/datahub/issues
or send a message in our Slack https://slack.datahubproject.io/
Be sure to attach the logs from /tmp/tmpa7oee_e5.log

Desktop (please complete the following information):

OS: RHEL Linux
Docker 19.03

Additional context
Attach logs /tmp/tmpa7oee_e5.log
tmpa7oee_e5.log

The problem is ports in use and their modification/adaptation such as 8080 or 8081 is not allowed since when changing them in docker-compose.yml to other free ones the solution does not start correctly.


delete all from entity

I was trying to remove all data from "Test" entity. After call Test.deleteAll(), data is not removed. This line  NSManagedObjectContext.defaultContext.save() is missing
Thanks Martin

Saving context is left up to the user, because context saving is an extremely heavy operation.
Usually, you save the context in you applicationWillTerminate() function so you never freeze up the UI with your context work.
To save the context in applicationWillTerminate(), call CoreDataManager.sharedManager.saveContext()
I'll add a listener to the CoreDataManager so that we autosave on Terminate

I need to save the contexto before the user log out. So, I think this is
not the best solution because applicationWillTerminate will not be called
2016-01-11 23:17 GMT-03:00 Zaid Daghestani<EMAIL_ADDRESS>
Saving context is left up to the user, because context saving is an
extremely heavy operation.
Usually, you save the context in you applicationWillTerminate() function
so you never freeze up the UI with your context work.
To save the context in applicationWillTerminate(), call
CoreDataManager.sharedManager.saveContext()
I'll add a listener to the CoreDataManager so that we autosave on Terminate
—
Reply to this email directly or view it on GitHub
https://github.com/arkverse/SwiftRecord/issues/11#issuecomment-170760542
.

Just updated with 0.0.5
You can just call Test.save()


Unable to cast object of type 'generatedProxy_2' to type 'Microsoft.PowerPlatform.Dataverse.Client.IOrganizationServiceAsync'

I‘m getting this issue occasionally  for  azure function app, I'm using the latest verion of Microsoft.PowerPlatform.Dataverse.Client（0.6.1）.
Full Exception :
Microsoft.PowerPlatform.Dataverse.Client.Utils.DataverseConnectionException : Failed to connect to Dataverse ---> System.AggregateException : One or more errors occurred. (Unable to cast object of type 'generatedProxy_2' to type 'Microsoft.PowerPlatform.Dataverse.Client.IOrganizationServiceAsync'.) ---> Unable to cast object of type 'generatedProxy_2' to type 'Microsoft.PowerPlatform.Dataverse.Client.IOrganizationServiceAsync'.
at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)
at System.Threading.Tasks.Task`1.get_Result()
at Microsoft.PowerPlatform.Dataverse.Client.ConnectionService.GetCachedService(ConnectionService& ConnectionObject)
at Microsoft.PowerPlatform.Dataverse.Client.ConnectionService.IntilizeService(ConnectionService& ConnectionObject)
at Microsoft.PowerPlatform.Dataverse.Client.ServiceClient.CreateServiceConnection(Object externalOrgServiceProxy,AuthenticationType requestedAuthType,String hostName,String port,String orgName,NetworkCredential credential,String userId,SecureString password,String domain,String Geo,String claimsHomeRealm,Boolean useSsl,Boolean useUniqueInstance,OrganizationDetail orgDetail,String clientId,Uri redirectUri,PromptBehavior promptBehavior,OrganizationWebProxyClientAsync externalOrgWebProxyClient,String certificateThumbPrint,StoreName certificateStoreName,X509Certificate2 certificate,Uri instanceUrl,Boolean isCloned,Boolean useDefaultCreds,Version incomingOrgVersion,ILogger externalLogger,String tokenCacheStorePath)
---> (Inner Exception #0) System.InvalidCastException : Unable to cast object of type 'generatedProxy_2' to type 'Microsoft.PowerPlatform.Dataverse.Client.IOrganizationServiceAsync'.
at async Microsoft.PowerPlatform.Dataverse.Client.ConnectionService.InitServiceAsync()<---
End of inner exception
at Microsoft.PowerPlatform.Dataverse.Client.ServiceClient.CreateServiceConnection(Object externalOrgServiceProxy,AuthenticationType requestedAuthType,String hostName,String port,String orgName,NetworkCredential credential,String userId,SecureString password,String domain,String Geo,String claimsHomeRealm,Boolean useSsl,Boolean useUniqueInstance,OrganizationDetail orgDetail,String clientId,Uri redirectUri,PromptBehavior promptBehavior,OrganizationWebProxyClientAsync externalOrgWebProxyClient,String certificateThumbPrint,StoreName certificateStoreName,X509Certificate2 certificate,Uri instanceUrl,Boolean isCloned,Boolean useDefaultCreds,Version incomingOrgVersion,ILogger externalLogger,String tokenCacheStorePath)
at Microsoft.PowerPlatform.Dataverse.Client.ServiceClient.ConnectToService(String connectionString,ILogger logger)
at Microsoft.PowerPlatform.Dataverse.Client.ServiceClient..ctor(String dataverseConnectionString,ILogger logger)
at myFunction.Startup.<>c.b__2_0(IServiceProvider s) at D:\XXX\AzureFunction\AzureFunctions\myFunction\Startup.cs : 16
at DryIoc.Microsoft.DependencyInjection.DryIocAdapter.<>c__DisplayClass3_0.b__0(IResolverContext r) at D:\a_work\1\s\src\WebJobs.Script.WebHost\DependencyInjection\DryIoc\DryIocAdapter.cs : 156
at DryIoc.Registrator.<>c__DisplayClass27_0.b__0(IResolverContext r) at D:\a_work\1\s\src\WebJobs.Script.WebHost\DependencyInjection\DryIoc\Container.cs : 4550
at System.Linq.Expressions.Interpreter.FuncCallInstruction`3.Run(InterpretedFrame frame)
at System.Linq.Expressions.Interpreter.Interpreter.Run(InterpretedFrame frame)
at System.Linq.Expressions.Interpreter.LightLambda.Run(Object[] arguments)
at Thunk(Func`2 ,IResolverContext )
at DryIoc.Factory.<>c__DisplayClass26_0.b__2() at D:\a_work\1\s\src\WebJobs.Script.WebHost\DependencyInjection\DryIoc\Container.cs : 6605
at DryIoc.Scope.TryGetOrAdd(ImMap`1 items,Int32 id,CreateScopedValue createValue,Int32 disposalOrder) at D:\a_work\1\s\src\WebJobs.Script.WebHost\DependencyInjection\DryIoc\Container.cs : 7849
at DryIoc.Scope.GetOrAdd(Int32 id,CreateScopedValue createValue,Int32 disposalOrder) at D:\a_work\1\s\src\WebJobs.Script.WebHost\DependencyInjection\DryIoc\Container.cs : 7834
at DryIoc.Factory.ApplyReuse(Expression serviceExpr,Request request) at D:\a_work\1\s\src\WebJobs.Script.WebHost\DependencyInjection\DryIoc\Container.cs : 6604
at DryIoc.Factory.GetExpressionOrDefault(Request request) at D:\a_work\1\s\src\WebJobs.Script.WebHost\DependencyInjection\DryIoc\Container.cs : 6564
at DryIoc.Factory.GetDelegateOrDefault(Request request) at D:\a_work\1\s\src\WebJobs.Script.WebHost\DependencyInjection\DryIoc\Container.cs : 6634
at DryIoc.DelegateFactory.GetDelegateOrDefault(Request request) at D:\a_work\1\s\src\WebJobs.Script.WebHost\DependencyInjection\DryIoc\Container.cs : 7740
at DryIoc.Container.ResolveAndCacheDefaultFactoryDelegate(Type serviceType,IfUnresolved ifUnresolved) at D:\a_work\1\s\src\WebJobs.Script.WebHost\DependencyInjection\DryIoc\Container.cs : 211
at DryIoc.Container.DryIoc.IResolver.Resolve(Type serviceType,IfUnresolved ifUnresolved) at D:\a_work\1\s\src\WebJobs.Script.WebHost\DependencyInjection\DryIoc\Container.cs : 196
at Microsoft.Azure.WebJobs.Script.WebHost.DependencyInjection.ScopedServiceProvider.GetService(Type serviceType) at D:\a_work\1\s\src\WebJobs.Script.WebHost\DependencyInjection\ScopedServiceProvider.cs : 25
at Microsoft.Extensions.DependencyInjection.ActivatorUtilities.GetService(IServiceProvider sp,Type type,Type requiredBy,Boolean isDefaultParameterRequired)
at lambda_method(Closure ,IServiceProvider ,Object[] )
at Microsoft.Azure.WebJobs.Host.Executors.DefaultJobActivator.CreateInstance[T](IServiceProvider serviceProvider) at C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\Executors\DefaultJobActivator.cs : 37
at Microsoft.Azure.WebJobs.Host.Executors.DefaultJobActivator.CreateInstance[T](IFunctionInstanceEx functionInstance) at C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\Executors\DefaultJobActivator.cs : 32
at Microsoft.Azure.WebJobs.Host.Executors.ActivatorInstanceFactory`1.<>c__DisplayClass1_1.<.ctor>b__0(IFunctionInstanceEx i) at C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\Executors\ActivatorInstanceFactory.cs : 20
at Microsoft.Azure.WebJobs.Host.Executors.ActivatorInstanceFactory`1.Create(IFunctionInstanceEx functionInstance) at C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\Executors\ActivatorInstanceFactory.cs : 26
at Microsoft.Azure.WebJobs.Host.Executors.FunctionInvoker`2.CreateInstance(IFunctionInstanceEx functionInstance) at C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\Executors\FunctionInvoker.cs : 44
at Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.ParameterHelper.Initialize() at C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\Executors\FunctionExecutor.cs : 799
at async Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.TryExecuteAsync(IFunctionInstance functionInstance,CancellationToken cancellationToken) at C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\Executors\FunctionExecutor.cs : 104

We have encountered the same problem.
There are a lot of errors.
Do you have any progress on this problem?

We have not been able to reliably duplicate the problem at this point and are speculating on what is going on.
it would be extremely helpful if you could provide us a repro of this issue or more information about what is going on when it happens?
thanks
MattB

We have the same issue here. Sadly the project I'm working on is proprietary but I can reproduce the error in a reliable way:
Framework: .NET 6
Function Runtime Version: latest
Steps:

Create a function app that has a startup function
Initialize a ServiceClient with Client/Secret authentication within that startup function

This produces the mentioned error for us every time we start up the function app.
Any pointers what the underlying issues could be? With the right pointers I could try to fix the issue myself and create a pull-request

The client does initialize? Or does it fail and you have a non working client?

The Client fails to initialize. After that every Fall to Public members results in NullReferenceExceptions

Can you paste your setup block here?
I assume you have a startup.cs with a public override void Configure(IFunctionsHostBuilder builder) your adding the setup call too?

As an example,... this is what one of our function test cases' startup.cs's looks like:
This is Functions 4.0.  ( this is not a formal example, but it is from an internal function we are using )
[assembly: FunctionsStartup(typeof(ExampleFunction_DI.Startup))]
namespace ExampleFunction_DI
{
    internal class Startup : FunctionsStartup
    {
        public override void Configure(IFunctionsHostBuilder builder)
        {
            builder.Services.AddLogging();
            builder.Services.AddSingleton<ServiceClient>(sp =>
            {
                var logFactory = sp.GetService<ILoggerFactory>();
                var logger = logFactory.CreateLogger(typeof(ServiceClient));
                return GetClient(logger);
            });

        }

        static ServiceClient GetClient(ILogger logger = null)
        {
            logger?.LogInformation("Connecting to Dataverse");
            var connectionString = $"{Environment.GetEnvironmentVariable("ConnectionStringBase")};AppId={Environment.GetEnvironmentVariable("DataverseAppId")};ClientSecret={Environment.GetEnvironmentVariable("DataverseAppIdSecret")};Url={Environment.GetEnvironmentVariable("InstanceUri")}";
            ServiceClient client = null;
            client = new ServiceClient(connectionString, logger);
            if (client.IsReady)
            {
                logger?.LogInformation("Connected to Dataverse...");
                return client;
            }
            else
                throw client.LastException;
        }

    }
}

Our startup function is a little bit simpler:
`public class Startup : FunctionsStartup
{
public override void ConfigureAppConfiguration(IFunctionsConfigurationBuilder builder)
{
builder.ConfigurationBuilder
.AddUserSecrets(Assembly.GetExecutingAssembly(), true);
    base.ConfigureAppConfiguration(builder);
}

public override void Configure(IFunctionsHostBuilder builder)
{
    LoadServices(builder.Services);
}

private static void LoadServices(IServiceCollection services)
{
    services
        .AddSingleton<ServiceClient>(ConfigureDataverseClient);
}

private static ServiceClient ConfigureDataverseClient(IServiceProvider serviceProvider)
{
    var client = new ServiceClient(new Uri(Config.DataverseUrl.Value!), Config.DataverseClientId.Value!, Config.DataverseClientSecret.Value!, true);
    return client;
}

}`

But we found a workaround: When we handle the client/secret authentication ourselves it works without issues:
Here is our workaround startup function:
public class Startup : FunctionsStartup
{
    public override void ConfigureAppConfiguration(IFunctionsConfigurationBuilder builder)
    {
        builder.ConfigurationBuilder
            .AddUserSecrets(Assembly.GetExecutingAssembly(), true);

        base.ConfigureAppConfiguration(builder);
    }

    public override void Configure(IFunctionsHostBuilder builder)
    {
        LoadServices(builder.Services);
    }

    private static void LoadServices(IServiceCollection services)
    {
        services
            .AddSingleton<ServiceClient>(ConfigureDataverseClient);
    }

    private static ServiceClient ConfigureDataverseClient(IServiceProvider serviceProvider)
    {
        var httpClient = new HttpClient();
        var authHandler = new DataverseAuthHandler(
            httpClient,
            Config.DataverseTenantId.Value!,
            Config.DataverseUrl.Value!,
            Config.DataverseClientId.Value!,
            Config.DataverseClientSecret.Value!
        );
        var client = new DataverseClient(new Uri(Config.DataverseUrl.Value!), _ => authHandler.RetrieveToken(_));
        return client;
    }
}

And our helper class that handles the client/secret authentication:
public class DataverseAuthHandler
{
    public DataverseAuthHandler(HttpClient httpClient, string tenantId, string instanceUrl, string clientId, string clientSecret)
    {
        HttpClient = httpClient;
        LoginUrl = $"https://login.microsoftonline.com/{tenantId}/oauth2/v2.0/token";
        InstanceUrl = instanceUrl;
        ClientId = clientId;
        ClientSecret = clientSecret;
    }

    private HttpClient HttpClient { get; }

    private string LoginUrl { get; }

    private string InstanceUrl { get; }

    private string ClientId { get; }

    private string ClientSecret { get; }

    private string? Token { get; set; }

    private DateTime? TokenValidUntil { get; set; }

    private bool IsTokenStillValid
        => Token is not null && DateTime.UtcNow < TokenValidUntil!.Value;

    public async Task<string> RetrieveToken(string _)
    {
        if (IsTokenStillValid)
            return Token!;

        var tokenResult = await LogIn(InstanceUrl);
        Token = tokenResult.AccessToken;
        TokenValidUntil = DateTime.UtcNow + TimeSpan.FromMinutes(25);
        return Token;
    }

    private async Task<TokenResult> LogIn(string instanceUrl)
    {
        var scope = instanceUrl + ".default";
        var message = new HttpRequestMessage(HttpMethod.Post, LoginUrl)
        {
            Content = new FormUrlEncodedContent(
                new Dictionary<string, string>
                {
                    { "grant_type", "client_credentials" },
                    { "client_id", ClientId },
                    { "client_secret", ClientSecret },
                    { "scope", scope }
                }
            )
        };

        var response = await HttpClient.SendAsync(message);
        response.EnsureSuccessStatusCode();
        return JsonSerializer.Deserialize<TokenResult>(await response.Content.ReadAsStreamAsync())!;
    }

    private class TokenResult
    {
        [JsonPropertyName("token_type")]
        public string TokenType { get; set; } = null!;

        [JsonPropertyName("expires_in")]
        public int ExpiresIn { get; set; }

        [JsonPropertyName("ext_expires_in")]
        public int ExtExpiresIn { get; set; }

        [JsonPropertyName("access_token")]
        public string AccessToken { get; set; } = null!;
    }
}

Are you using the 0.6.6 client? If not can you retest on the please .

I've tested it initially on the 0.6.6 release. There I encountered the error

Thanks,  can you tell us about you hosting setup,
What version of azure functions? What version of the azure functions library (nuget) and dependency injection your using?
What OS host?
Dedicated or shared sub for azure?
Thanks

Here:

Azure Function Runtime: latest
Microsoft.NET.Sdk.Functions: 4.1.0
Microsoft.Extensions.Configuration 6.0.1
Host OS: Linux
dedicated subscription

Hope that helps

We are, sofar, unable to duplicate this issue.
Can you add an ILogger to your function and capture logs for us of the failure?
To do that... Add the Ilogger ( Created As I showed above,  the constructor your using will accept an ILogger as the final parameter ) and include in your host.json
...
  "logging": {
    "logLevel": {
      "Microsoft.PowerPlatform.Dataverse.Client.ServiceClient": "Trace"
    },
...

if you are not comfortable sharing the output here on Git,
please go here: Nuget: Microsoft.PowerPlatform.Dataverse.Client
and hit contact owner - middle of the page on the right and send an email referring to this issue
I will respond directly to you via email and you can reply with the log
Thanks for your help in helping us track this down.

This may or may not help but wanted to confirm that I was also getting this issue, was using also using version 6.6, after seeing this and not wanting to try MortenRoemers clever workaround I tried going back down to 5.17 with same result.
Azure Function Runtime: latest
Microsoft.NET.Sdk.Functions: 4.1.0
Host OS: Windows
Consumption Plan
.Net 6
Initially I was generating a new ServiceClient each time a request was required with a connection string.
Restarting the function would temporarily resolve the issue, the issue would then occur again after a period of time and then continue to happen, given it occurred in line with a spike in requests to the function I made an assumption (which i think is correct) that it occurs when the function auto scales out.
I implemented an easier but way stupiderer workaround which was that I have a declared a static  ServiceClient and during startup I create the assign it.
Now, when I stare at the live logs on Azure I can see that this issue still occurs, but because it occurs during startup Microsoft helpfully abort this scale out attempt and makes a new instance (or  maybe just abandons the scale out attempt entirely and restarts the service) which ends up working so when my functions needs it it doesn't bork out.
Either way, seeing as now I make the whole thing crap out when it tries to scale out the issue has to be something to do with reusing invalid info from another instance.

Thats great info.. and may be the key to what is happening here..  Our tests were not generating enough load to scale out.
Thanks @TomWinton,

@TomWinton may be right that this is a scaling issue, so my workaround only reduced the error but not prevented it.
My project is sadly time-critical so we had to abandon this package in favor of a customer Web-API implementation. But after that project is finished I will gladly come back and provide you with the requested logs

I think you can use Lazy pattern to avoid time cost of Create a ServiceClient, so you Startup will finish soon without be blocked by the constructor

We are inflight on adding deliberate support for that feature set (delayed initialization) into the client itself.
It should appear in the 1.0 release.

Trying to consolidate messages here.
We are having a heck of a time replicating this issue in a controlled environment.
Our current load testing (simple commands) via functions is working though scale out just fine.
(Scaling out to 50 + processes without complaint.)
For folks seeing this issue, can you provide the following information:

Version of DV Service Client your using
Are you using AsyncMethods from the DV Service Client or sync Methods
Are you using .Clone for your clients or using only a single instance
Using Onboard Auth or Custom Auth Hander
Using DI or custom Cache
If Using DI, are you using a Singleton or a scope
What version of functions are you using?  (version of Microsoft.NET.Sdk.Functions )
What Function hosting plan are you using
What Function Host type (Linux or Windows) are you using
What level of concurrent calls are you seeing these failures on

Any information you could provide to help us chase this down would be greatly appreciated.

Hi @MattB-msft

Version of DV Service Client your using - 1.0.9
Are you using AsyncMethods from the DV Service Client or sync Methods - AsyncMethods
Are you using .Clone for your clients or using only a single instance or are you creating a connection each time? .Clone
Using Onboard Auth or Custom Auth Hander - Onboard
Using DI or custom Cache - DI
If Using DI, are you using a Singleton or a scope - Scope
What version of functions are you using? (version of Microsoft.NET.Sdk.Functions ) 4.1.0
What Function hosting plan are you using - Consumption
What Function Host type (Linux or Windows) are you using - Windows
What level of concurrent calls are you seeing these failures on – When making a HttpTrigger Funciton request which wraps multiple inserts into different table using TransactionRequest and after the related records are created we have additional process in the background that utilizes Azure Durable Function to update existing records.

@twiga2013
Thanks for your info this really helps!.
We were able to reproduce the problem with this configuration.
What we would like to you do is this,
As your using Async Methods, do not use Clone().  (it's actually unnecessary if you're using Async methods)
so, remove the using/clone() use and just use the singleton + Async methods.
Our tests are actually built that way ( use of execute async w/out clone ) which is why we have never seen this issue.
We are debugging the WCF Client create issue (which is where we think this is)

Hi @MattB-msft
The changes you recommend made a big difference. The Azure Functions were scaling out and was not see any errors. I will run some additional test under heavy load. Thank You so much for all your help.

@MattB-msft there's still locking going on when the SOAP endpoint is used. In that case you should use Clone()?

@mathiasbl ,  when using the Async messages you should not be seeing locking on any endpoint, could you clarify what your seeing?

I thought so by looking at the source code. An unsupported request goes down to this method:
https://github.com/microsoft/PowerPlatform-DataverseServiceClient/blob/dc278e33f6ad4e1b13335d70bb1ee53c6f8d9235/src/GeneralTools/DataverseClient/Client/ServiceClient.cs#L1677

Correct, this should not lock the channel, are you seeing that happen?

No, I misinterpreted the code.
I'm also seeing this issue in my functionapp (v4). Any progress on it?
Fuction was running fine until this morning.

@MattB-msft any progress? Still occasionally happens.

We think this may be related to the memory leak issue here https://github.com/microsoft/PowerPlatform-DataverseServiceClient/issues/305
Our next update should resolve 305, please let us know after that release if this problem goes away for you

Hello @MattB-msft. Could you please clarify when we can expect the new release? Thank you!

We are doing a good deal of testing on this drop and running it internally for a bit to verify a number of the changes.
So "soon(tm)"
realistically, week of 3/13 is the goal.

We believe we have resolved this with the drop of 1.0.39.
I am going to close this thread now.   If you experience this again after up taking 1.0.39+,  Please reopen with details.
thanks

No need to re-open, but recently had this error in an Azure Function (TimerTrigger).  The timer was set to one minute.  At times the previous instance was still running when then next interval triggered.  According to the docs, the Singleton lock should have prevent this, but it didn't and there were multiple instances running at the same time.  After some period of time of having multiple instances running this error would start to appear.
Obviously, the solution was to prevent multiple instances (which we did with a Durable Function)

We believe we have resolved this with the drop of 1.0.39. I am going to close this thread now. If you experience this again after up taking 1.0.39+, Please reopen with details. thanks

Hi MattB, we are still encounter this issue when using version 1.1.32. The exception is as below.
Microsoft.Azure.WebJobs.Host.FunctionInvocationException : Exception while executing function: QaTaskTimer ---> System.TypeInitializationException : The type initializer for 'XiaoMi.CustomerServiceCC.Function.Timer.Func.QaTaskTimer' threw an exception. ---> Microsoft.PowerPlatform.Dataverse.Client.Utils.DataverseConnectionException : Failed to connect to Dataverse ---> System.AggregateException : One or more errors occurred. (Unable to cast object of type 'generatedProxy_2' to type 'Microsoft.PowerPlatform.Dataverse.Client.IOrganizationServiceAsync'.) ---> Unable to cast object of type 'generatedProxy_2' to type 'Microsoft.PowerPlatform.Dataverse.Client.IOrganizationServiceAsync'.
Environment:
Platform: Windows.
Service: Azure function app.
Service plan: consumption.

@caiyiJu Are you still experiencing this issue? Can you provider more details about what use case is causing this error? Is it happening when your app is handling sudden increase in http traffic?


[FEATREQ] Add a toggle to ignore lectures when considering free days

Is your feature request related to a problem? Please describe.
Some people consider days with lectures "Free days" since they can be webcast, or they'll just read the notes. That makes the current free days algo too restrictive.
Describe the solution you'd like
Add toggle that ignores anything coded with LEC (actually, idk if it's just LEC, so this might become very complicated!) from the free day calculation

Hi there, Sriram!

Do you think you could also include lectures with venues such as 'E-learning'? Or if venue is an issue, I can imagine a toggle for lectures named 'Optional to be in-person', which is toggled off by default.
Your free days filter is great, but maybe another constraint could be 'Optional in-person classes to be ignored for free days' so users have the option to toggle it on and off. Maybe it doesn't have to be a full-on constraint, so it can be another toggle like the 'Make the timetable as compact as possible...' toggle? Not sure if that's a constraint because of how it looks visually from the other constraints.

Also, I really find this app really helpful in course planning, so thanks for this god-tier project. 🫡

Hey, good point! When I did this I hadn't considered E-lectures. Could you give me an example timetable (e.g., some modules with E-learning that might conflict with other slots) that I can test with?
Also i'm glad to hear you're using it!

I guess also I should just enable the toggle so that even if the lecture is marked as physical, that you can choose to webcast it etc

Also, I'm going to be busy for the next few weeks with my thesis, so if you have a chance to submit a PR, that's also very welcome. If not i'll be making it a high priority fix :)

Hey, good point! When I did this I hadn't considered E-lectures. Could you give me an example timetable (e.g., some modules with E-learning that might conflict with other slots) that I can test with?

Here's an example. I'm not following this timetable but I hope it suits your purposes.

Also, I'm going to be busy for the next few weeks with my thesis, so if you have a chance to submit a PR, that's also very welcome. If not i'll be making it a high priority fix :)

I'd love to contribute but I'm not sure I can at this juncture because I'm wrapping up my internship and I have other responsibilities at school. I'll definitely look through when I get the time though, thanks!


rooter doesn't cd with tab change

I am used to switching between different tab with gT and gt.
But I found that rooter doesn't always change the working directory automatically.
I have to call :Rooter manually to set the working directory to the correct folder.
Where I should look into this problem?

Are you using the latest version?
It should change directory on the BufEnter event.  You could start there, seeing whether the event triggers correctly.

Got it! It is caused by sourcing .vimrc.


chore(all): sync version in integ tests

Issue #, if available:
Description of changes:
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

AWS CodeBuild CI Report

CodeBuild project: githubautobuild-for-cdk-v2
Commit ID: e6a2512ad765301f4c5dbd213549037801d10981
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: githubautobuild-for-cdk-v2
Commit ID: 9bb9a23b6c34f6043a0ed569a6fa943cd5d9db7f
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository


👌 IMPROVE: readme formatting + markdown lint formatting compliance - Bash function keyword

@ahmadawais feedback implemented and PR's split & Ready

Hey @ahmadawais, is there anything more i need to do with this PR to move it forward or make it easier to review?


the issue on the kx_array

Hello! A wonderful work on RCWA, but I am curious about the kx_array, which in the RCWA_1D_functions\TM_solver.py is kx_array = k0*(n1np.sin(theta) + indices(lam0 / lattice_constant)). The reference paper writes that kx_array = k0*(n1np.sin(theta) - indices(lam0 / lattice_constant)), which differs from your code by the "minus". I wonders what is right.

indices is an array with numbers from -n, -n+1, ... , n-1, n so because of this, using a minus sign or a plus sign actually does not change anything.

indices is an array with numbers from -n, -n+1, ... , n-1, n so because of this, using a minus sign or a plus sign actually does not change anything.

OK，I understand, Thank you for your help!


optimize:Add methods to reduce redundant code

Ⅰ. Describe what this PR did

Reduced duplicate code in else branch (else statements in index> = 0 and else statements) and optimized code logic (judgment annotation.isParamInProperty () in advance) is more readable. In addition, there is still a large amount of code in this class. If else statement, this commit is only a further simplified code, but it is not optimal.
I think if the code is extended in this class in the future, it will become more and more difficult to maintain (the fetchContextFromObject method has too much logic and high coupling)

Ⅱ. Does this pull request fix one issue?
xxx
Ⅲ. Why don't you add test cases (unit test/integration test)?
xxx
Ⅳ. Describe how to verify it
xxx
Ⅴ. Special notes for reviews

@Zh1Cheung please format the code you modify，there are some code style check not passed.

@Zh1Cheung please format the code you modify，there are some code style check not passed.
Sorry,I encountered the same problem as #2510 , and I can't find the result.xml file he said.And it will report Non-resolvable import POM: Could not find artifact io.seata: seata-bom: pom: 1.2.0-SNAPSHOT @ io.seata: seata-parent: $ {revision}, seata \ pom.xml, line 164, column 25.I don't know how to solve it, thanks

@Zh1Cheung please format the code you modify，there are some code style check not passed.
Sorry,I encountered the same problem as #2510 , and I can't find the result.xml file he said.And it will report Non-resolvable import POM: Could not find artifact io.seata: seata-bom: pom: 1.2.0-SNAPSHOT @ io.seata: seata-parent: $ {revision}, seata \ pom.xml, line 164, column 25.I don't know how to solve it, thanks

remove the first  blank line.

@Zh1Cheung please format the code you modify，there are some code style check not passed.
Sorry,I encountered the same problem as #2510 , and I can't find the result.xml file he said.And it will report Non-resolvable import POM: Could not find artifact io.seata: seata-bom: pom: 1.2.0-SNAPSHOT @ io.seata: seata-parent: $ {revision}, seata \ pom.xml, line 164, column 25.I don't know how to solve it, thanks

I found the XML file. It locates at seata/compressor/seata-compressor-lz4/target/checkstyle-result.xml. So, the XML file should be at the /target/checkstyle-result.xml of the module.
https://github.com/seata/seata/pull/2510#issuecomment-610169873 is my reply.

Codecov Report

Merging #2494 into develop will decrease coverage by 0.12%.
The diff coverage is 14.28%.

@@              Coverage Diff              @@
##             develop    #2494      +/-   ##
=============================================
- Coverage      51.06%   50.93%   -0.13%
- Complexity      2765     2767       +2
=============================================
  Files            550      550
  Lines          17529    17505      -24
  Branches        2064     2023      -41
=============================================
- Hits            8951     8917      -34
+ Misses          7735     7725      -10
- Partials         843      863      +20

Impacted Files
Coverage Δ
Complexity Δ

...io/seata/rm/tcc/interceptor/ActionContextUtil.java
62.06% <14.28%> (+7.52%)
5.00 <0.00> (ø)

...obuf/convertor/BranchRegisterRequestConvertor.java
90.47% <0.00%> (-9.53%)
3.00% <0.00%> (ø%)

...otobuf/convertor/BranchReportRequestConvertor.java
90.90% <0.00%> (-9.10%)
3.00% <0.00%> (ø%)

...obuf/convertor/BranchRollbackRequestConvertor.java
92.00% <0.00%> (-8.00%)
3.00% <0.00%> (ø%)

...otobuf/convertor/GlobalBeginResponseConvertor.java
92.59% <0.00%> (-7.41%)
3.00% <0.00%> (ø%)

...otobuf/convertor/GlobalCommitRequestConvertor.java
93.75% <0.00%> (-6.25%)
3.00% <0.00%> (ø%)

...otobuf/convertor/GlobalStatusRequestConvertor.java
93.75% <0.00%> (-6.25%)
3.00% <0.00%> (ø%)

...obuf/convertor/GlobalRollbackRequestConvertor.java
93.75% <0.00%> (-6.25%)
3.00% <0.00%> (ø%)

...protobuf/convertor/RegisterTMRequestConvertor.java
94.73% <0.00%> (-5.27%)
3.00% <0.00%> (ø%)

...protobuf/convertor/RegisterRMRequestConvertor.java
90.47% <0.00%> (-4.77%)
3.00% <0.00%> (ø%)

... and 23 more

@Zh1Cheung please format the code you modify，there are some code style check not passed.
Sorry,I encountered the same problem as #2510 , and I can't find the result.xml file he said.And it will report Non-resolvable import POM: Could not find artifact io.seata: seata-bom: pom: 1.2.0-SNAPSHOT @ io.seata: seata-parent: $ {revision}, seata \ pom.xml, line 164, column 25.I don't know how to solve it, thanks

remove the first blank line.

Thanks,I ran xx before (at that time my first line was not a blank line), after the build was successful, I checked the result file and found no errors, just
<? xml version = "1.0" encoding = "UTF-8"?>
<checkstyle version = "6.18">
</ checkstyle>

Later, I have not noticed this problem (the first line at this time is a blank line), I always thought it was a problem of maven dependency
In addition, I want to know if I will continue to work under this pr or create a new pr when I want to work on code optimization ?

@Zh1Cheung please format the code you modify，there are some code style check not passed.
Sorry,I encountered the same problem as #2510 , and I can't find the result.xml file he said.And it will report Non-resolvable import POM: Could not find artifact io.seata: seata-bom: pom: 1.2.0-SNAPSHOT @ io.seata: seata-parent: $ {revision}, seata \ pom.xml, line 164, column 25.I don't know how to solve it, thanks

I found the XML file. It locates at seata/compressor/seata-compressor-lz4/target/checkstyle-result.xml. So, the XML file should be at the /target/checkstyle-result.xml of the module.
#2510 (comment) is my reply.

Thanks, I found this file later


Building fails on julia 0.6

julia> Pkg.build("FFTW")
INFO: Building FFTW
================================================================[ ERROR: FFTW ]================================================================
LoadError: Provider BinDeps.PackageManager failed to satisfy dependency libfftw3_threads
while loading /astro/faculty/ebf11/.julia/v0.6/FFTW/deps/build.jl, in expression starting on line 73
===============================================================================================================================================
===============================================================[ BUILD ERRORS ]================================================================
WARNING: FFTW had build errors.

packages with build errors remain installed in /astro/faculty/ebf11/.julia/v0.6
build the package(s) and all dependencies with Pkg.build("FFTW")
build a single package by running its deps/build.jl script

===============================================================================================================================================

Please post the output of versioninfo() and Pkg.status("FFTW")

julia> versioninfo()
Julia Version 0.6.0
Commit 9036443 (2017-06-19 13:05 UTC)
Platform Info:
OS: Linux (x86_64-pc-linux-gnu)
CPU: Intel(R) Xeon(R) CPU E5-1650 0 @ 3.20GHz
WORD_SIZE: 64
BLAS: libopenblas (USE64BITINT DYNAMIC_ARCH NO_AFFINITY Sandybridge)
LAPACK: libopenblas64_
LIBM: libopenlibm
LLVM: libLLVM-3.9.1 (ORCJIT, sandybridge)
julia> Pkg.status("FFTW")

FFTW                          0.0.2

FWIW, I do have fftw already installed, so there may be a way to point julia to that version.  But I presume that you want it to be able to install it's own version of fftw to maximize ease of  use.

sudo yum install fftw
...
Package fftw-3.2.1-3.1.el6.x86_64 already installed and latest version
Nothing to do

Ah, I don't have a system with Yum to test, but I think I see what the problem is: Yum is installing libfftw3_threads.so.3, which because of the versioned so is not being recognized as an alias for the desired library. Fix incoming.

Soon it won't be necessary to build FFTW on Julia 0.6, just FYI. Still working on that though.

The package no longer requires building on 0.6.


Chain namespace

Hi @markrogoyski
What do you think about new namespace with functionality of chain calls of another namespaces' methods?
For example:
$input = [1, -1, 2, -2, 3, -3];

$iter = Chain::create($input)
    ->filterTrue(static function ($value) {
        return $value > 0;
    })
    ->pairwise();

$output = iterator_to_array($iter);
// [[1, 2], [2, 3]]

This is only a draft of PR. If you think this is a good idea I'm ready to implement all the methods and cover them by tests.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

7 of 19 (36.84%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-5.7%) to 93.72%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/Chain.php
7
19
36.84%

Totals

Change from base Build<PHONE_NUMBER>:
-5.7%

Covered Lines:
194

Relevant Lines:
207

💛  - Coveralls

Hi @markrogoyski
I've added all the relevant methods, but they haven't been fully tested yet.
What do you think about this functionality?

Hi @Smoren,
Sorry for the delay in responding. I don't have regular access to my PC and internet temporarily.
Thanks for the PR. I like the idea here.
A couple initial thoughts. I think a better name for this would be Stream. So like:
Stream::of($data)->...
Also, it probably makes sense to think about starting a stream from an infinite iterator, for example:
Stream::count(1, 1)->...
And similarly for random iteration as a starting point.
Anyways, cool stuff. Apologies that it may still be a few days before I can thoroughly review the PR and leave more detailed feedback.
Thanks,
Mark

@markrogoyski
Thanks for the feedback!
I am very glad that you liked this idea.
Made suggested changes to the naming.

Namespace Chain renamed to Stream.
Method Stream::create() renamed to Stream::of().

Hi @Smoren,
I suggest adding this function to the Stream class.
    public function toArray(): array
    {
        $result = [];
        foreach ($this->iterable as $item) {
            $result[] = $item;
        }

        return $result;
    }

It would be a finalizer method on the stream, like this:
$result = Stream::of([1, 2, 3, 4, 5, 6, 7, 8, 9])
    ->filterTrue(fn ($x) => $x % 2 === 0)
    ->pairwise()
    ->toArray();

I think this will simplify your unit tests, as you will no longer need to have a foreach loop in every unit test.
I have some other ideas for methods to add, but this PR is big enough, so we can add them in later on.
Mark

Hi @markrogoyski

Tests: all anonymous functions replaced by arrow functions.
Method toArray() added and used in tests.
Method toAsscociativeArray() added (we need it using key-value iterators, not value only).

Hi @markrogoyski

Tests: all anonymous functions replaced by arrow functions.
Method toArray() added and used in tests.
Method toAsscociativeArray() added (we need it using key-value iterators, not value only).

By the way, I would be very happy if this functionality can be included in the release as soon as possible.
I need this functionality in my own project and it would be great to use it from the composer package without copying the code.

Hi @Smoren,
Thanks again for this great PR. I've merged it in. I'm going to continue developing the Streaming concept to add more features to it.
BTW, I removed toAssociativeArray() because it was not safe as written if zip is used, as the keys will themselves be an array, and trying to use an array as an associative array key will result in a TypeError. I will add a more flexible termination function to map custom keys via an anonymous function.
Mark

Thank you Mark!


Unpin chef-cli in omnibus

This was pinned with a note that chef-cli requires ruby 2.7. It requires 2.5+ now.
Signed-off-by: Tim Smith<EMAIL_ADDRESS>

adhoc: https://buildkite.com/chef/chef-chef-server-master-omnibus-adhoc/builds/2166#65d79df3-d66b-40ef-9687-e3cb43d7bd91


rest framework as optional dependency?

It would be great if rest-framework can be added as an optional dependency.

I love DRF but I lean against it. It's pretty trivial to set it up yourself.


Update autorest version to prerelease 3.0.0-alpha.20240422.2.x

Triggered from pull request: https://github.com/Azure/autorest.csharp/pull/4603

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


Is TTML forced captioning ( subtitle ) supported yet ? ( itts:forcedDisplay )

Hi @joeyparrish ,

A quick search of the code shows that this is not yet supported.  I've put it on the backlog for now, but we will consider this during our next planning phase in February.

Thanks @joeyparrish . Make sense to de-prioritize since the standards are changing , but good to have to be backward compatible.

I think the standard says we should use https://github.com/google/shaka-player/issues/2122. This being at the TTML file level it is not possible to use it in the tracks, because it would imply that we must download all the subtitle tracks and see if they have this attribute.

@avelad, you make a good point.  I have marked this with the "will not implement" label.


TransactionView: ATL validity optimization

Problem

compressed u16 parsing is expensive
A valid transaction cannot use more than 128 accounts.

Summary of Changes

Read byte instead of u16 since valid transaction cannot have more than 127 accounts loaded via ATL

Performance improvement:
packed atls/TransactionMeta
                        time:   [108.04 µs 108.20 µs 108.38 µs]
                        thrpt:  [9.4484 Melem/s 9.4637 Melem/s 9.4783 Melem/s]
                 change:
                        time:   [-11.173% -10.664% -10.191%] (p = 0.00 < 0.05)
                        thrpt:  [+11.348% +11.937% +12.579%]
                        Performance has improved.

Fixes #

Actually. This is probably a bad idea. Though the limit is currently 127 it looks like this is actually a runtime configuration that could be set.
This PR wouldn't allow us to configure as easily...
    pub fn get_transaction_account_lock_limit(&self) -> usize {
        if let Some(transaction_account_lock_limit) = self.transaction_account_lock_limit {
            transaction_account_lock_limit
        } else if self
            .feature_set
            .is_active(&feature_set::increase_tx_account_lock_limit::id())
        {
            MAX_TX_ACCOUNT_LOCKS
        } else {
            64
        }
    }


Whisper using GPU: False

I would like to have the option to use my GPU for whisper, thank you.
I have whisper on my PC and it uses my GPU perfectly with no issues, however now using this program its not utilising my GPU.

This message appears if torch.cuda.is_available() is False. Check your GPU supports CUDA and you have torch set up to use it.


Fix file extensions persisting in file dialog after export

This caused issues if one decided to export many formats in a row. The new file extension would be appended to the previous one.
Now, the filename is retained without its extension for successive exports.
Fixes #7291
I could use a bit of review for this. I added a field to ProjectExportDialog to hold the filename, but stylistically I don't know where it belongs in the declaration.
Or let me know if there's a more-preferred solution. Thanks!

Updated, thanks.
I'm still wondering how the header and constructor are organized re: the new field.

I'm still wondering how the header and constructor are organized re: the new field.

Well usually member variables come first in the header, and then methods, so maybe you should move it up. I don't think it needs to be initialized in the constructor, String should be auto initialized to an empty string IINM.

I think this should also be stored in the project metadata file.

I think this should also be stored in the project metadata file.

I agree. @cooperra Do you need more details/help to implement it this way?

Sorry -- I've been busy lately. I'm hoping to get back into Godot mid-next
week.
I haven't looked at the project metadata yet, but I'd be happy to implement
that. If someone could point me towards any docs or relevant code, that
would help me get a faster start on it; this is my first code-contribution
to the project! :)

@cooperra Thanks for the contribution :)
I added the metadata and merged this manually in 24fe3bd.


'delete' button in file screening page?

Would it be easy to add a 'delete' button in the file screening page? Especially for test files or large erroneous files it seems a bit crazy to keep those in the list...

Yes, this can be done.

It will not be possible to delete the files that have been uploaded to the database:

Great, thanks!


Don't parse text/plain as HTML

PDF processing generates these plain text documents. But I noticed that when I feed these warcs with just plain/text documents, parsing will fail and the document will be dropped.
This change does assume that there are generally no html documents (or anything else that goes through processHTML) served with text/plain; there's no heuristic for determining whether something is plain text or not.

I noticed that this implementation is not catching all text/plain records because of the zip detection. If the URL matches any of the extensions mentioned in https://github.com/bitextor/warc2text/blob/master/src/record.cc#L110 it will try to interpret the contents as a zip file, fail, and skip the record.


JavaVersion.current() Incorrect For Java Toolchain

Expected Behavior

When evaluating JavaVersion.current(), I would expect the jdk version of the toolchain executing the task(s) to be returned
Current Behavior

When evaluating JavaVersion.current(), it returns the version of the jdk which invoked gradle, rather than the version of the jdk that is specified by the java toolchain
Context

I am trying to get the java version from the toolchain currently compiling the code
Steps to Reproduce

build.gradle:
plugins {
    id 'java'
}

group 'org.example'
version '1.0-SNAPSHOT'

repositories {
    mavenCentral()
}

java {
    toolchain {
        languageVersion = JavaLanguageVersion.of(11)
    }
}

compileJava {
    doFirst {
        print("Java Version: " + JavaVersion.current())
    }
}

Run ./gradlew build with any jdk in your environment other than 11, and note that it will print that version instead of 11
Your Environment
gradle 7.6

Build scan URL:

Thank you for your interest in Gradle!
Your issue appears to be a question about how to use Gradle. Your question might be answered in Gradle documentation or on our community Slack or forums. Find links to these resources on help.gradle.org.
If you think you have come across a Gradle bug, please file a new issue describing the problem and how to reproduce it.
If you think Gradle is missing a feature, please file a new issue describing your use case for the feature.

JavaVersion.current() returns the JVM running that code.
doFirst {} is executed in the Gradle JVM, hence the result you get.
The configured toolchain is used to fork a new JVM for the actual Java compilation.
In your build script you can query what is the configured toolchain.
compileJava {
    doFirst {
        print("Java Toolchain Version: " + javaCompiler.get().metadata.languageVersion)
    }
}


it does't working on window7(64bit)

I get wrong when run pure-go on windows.
package main
import("github.com/fatih/color")
func main() {
color.Red("we are red")
}
1: window7 64bit
2: git bash
output:

@mattn do you know what the problem might be ?

@liyu4 you use the command on cygwin or msys2 shell. it's not real command prompt. It's pseudo console. https://github.com/mattn/go-isatty is checking the handle of stdin is whether is tty or not. To recognize cygwin/msys console, go-isatty should check pipe name of handle. Fortunately, implementation is alredy exists.
https://github.com/k-takata/go-iscygpty
Adding new depenency effect is too big currently. fatih/color is depended on 458 packages. go-isatty is depended on 139 packages. So I will add new API to check both terminal using some of code from go-iscygpty. Few hours ago, I got agreement to use some of code for go-isatty from the author. Thanks @k-takata

well ,thanks @mattn

that's awesome. Thanks a lot @mattn for the clarification. When do you think it would be included into go-isatty? I think we can close this when you finish it.

Will do soon https://github.com/mattn/go-isatty/issues/8

Please note that I will add new API IsCygwinTerminal. I don't want to break behavior of IsTerminal. So you must change IsTerminal(fd) to IsTerminal(fd) || IsCygwinTerminal(fd).

Hm, than it would also break my code if the user doesn't have new go-isatty. Is it an interface? Maybe I can do a type check and run a function before checking it.

https://godoc.org/github.com/mattn/go-isatty
go-isatty can't add new feature without add new func at least.

https://github.com/mattn/go-isatty/pull/13

Now added IsCygwinTerminal.

Thanks @mattn, I'll check how I can integrate without breaking it for older version of color.

Most easy way to do it is put latest github.com/mattn/go-isatty into your vendor directory.

Hm yeah that would work, I was against vendoring though because fatih/color is a library as well. I only vendor if it's main package, say CLI or service. But I think this is the only option I can do for now.

Waiting for: https://github.com/mattn/go-isatty/pull/14 After that I need to re-vendor again the latest.

@liyu4 can you test please this PR: https://github.com/fatih/color/pull/61 and let me know if it works or not

hm, hold on!

@fatih  😫   it's still so
below is code run on window7:

Run:

try to go run -x main.go

I have tried it like you say, but there is no effect.
this is working.

@fatih @mattn

@liyu4 I've pushde another fix, can you please try again? I think it was due not OR'in it.

@fatih  very pleasure!

@fatih  😭    i add  below code to color.go
NoColor = os.Getenv("TERM") == "dumb" ||
!isatty.IsTerminal(os.Stdout.Fd()) ||
!isatty.IsCygwinTerminal(os.Stdout.Fd())
but it doesn't working!

Are you really trying fix-windows branch?

@liyu4 we pushed another fix, please try again. Unfortunately I don't have the environment to test, so I'm just doing what you and @mattn and @k-takata suggest

colors are disabled in last fix.
diff --git a/color.go b/color.go
index d9f6aa1..06097b4 100644
--- a/color.go
+++ b/color.go
@@ -18,8 +18,7 @@ var (
        // or not. This is a global option and affects all colors. For more control
        // over each color block use the methods DisableColor() individually.
        NoColor = os.Getenv("TERM") == "dumb" ||
-               !isatty.IsTerminal(os.Stdout.Fd()) ||
-               !isatty.IsCygwinTerminal(os.Stdout.Fd())
+               (!isatty.IsTerminal(os.Stdout.Fd()) || !isatty.IsCygwinTerminal(os.Stdout.Fd()))

        // Output defines the standard output of the print functions. By default
        // os.Stdout is used.

This should be
    NoColor = os.Getenv("TERM") == "dumb" ||
        (!isatty.IsTerminal(os.Stdout.Fd()) && !isatty.IsCygwinTerminal(os.Stdout.Fd()))

sorry!  I had checkout to fix-windows

@mattn  you're right,
NoColor = os.Getenv("TERM") == "dumb" ||
(!isatty.IsTerminal(os.Stdout.Fd()) && !isatty.IsCygwinTerminal(os.Stdout.Fd()))
that's working in my terminal, thanks @mattn  @fatih


feature Support delete statement in cloud mode

Proposed changes
Support delete statement in cloud mode
Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall


Issue in starting generator app on windows

E:\projects\keystoneapp > node keystone
I got this message:
[Error: %1 is not a valid Win32 application.
\\?\E:\projects\keystoneapp\node_modules\bson\build\Release\bson.node]
js-bson: Failed to load c++ bson extension, using pure JS version
------------------------------------------------
Applying update 0.0.1-admins...

------------------------------------------------
testkeystone: Successfully applied update 0.0.1-admins.

Successfully created:

*   1 User

------------------------------------------------
Successfully applied 1 update.
------------------------------------------------

------------------------------------------------
KeystoneJS Started:
testkeystone is ready on port 3000

But the application didn't started. How to debug the issue.

@sachingill on windows you need to tell npm install about a c++ compiler.  If you don't have one you can, for example, download a version of Microsoft Visual Studio.  Assuming you install version 2015 then you can do:
npm install --msvs_version=2015


my part of the story

Please add a link to this pull request in canvas for the record or I cannot continue with the homework.

Hi! Thanks for your submission.
Unfortunately it seems that there were changes in the main that conflict with yours.
Could you please perform a merge as described in Tutorial 5 slides 82-96 and integrate those changes?
Start with synchronizing your local main with my upstream main as described in slide 86.
We do not want to lose any existing content, so you should keep what others have written and add yours.
You're free to reorganize the content blocks so that it still makes a story, but please do minimal changes
to the content of what others have written to integrate them with yours.
The merges will be approved according to arrival time starting from October 26th, 16.00,
so expect that you need to merge again after that time.
If I do not approve the changes you will be asked to update the content.

I have tried to put my text into the the new one so that I kind of works, hope that is all!

Yes very well done thanks!

Thanks for your contribution! Scenario A completed! See canvas for results


Updated README  to include CAVA

Just added CAVA as an official user of Airflow

Welcome! For any PRs in the future please make sure to follow the PR template

Apologies, I figured it was simple enough. But will do in the future

It was :)


ADDED : The Complete Web Developer in 2020: Zero to Mastery

I added the one course in your webpage .

Hey @ishandeveloper can you please guide me, Whats this error in check and how to solve it?
Thank You

It shows me something called docker security type error..hw to resolve this..and make my pull req. allowable..so it will be merged by you brother. plz check what happens...i do the same things what you give us introduction in your repo homepage.


Vte installs fine on mac but not ubuntu

gist logs are here
https://gist.github.com/22ebd67a1320dcc53af1
From the error it seems it requires glib 2.26.0 and above,
but brew info glib shows the newest one is 2.24.0.
However I am able to install vte successfully on mac os.

you can
brew install vet3

@paulhybryant brew update
Latest one on Homebrew/Linuxbrew is 2.44

Thanks for the reply. After further looking into the gist-log, the problem seems to be the follows:
checking for VTE... configure: error: Package requirements (glib-2.0 >= 2.26.0 gobject-2.0 pango >= 1.22.0 gtk+-2.0 >= 2.20.0 gobject-2.0 gio-2.0 gio-unix-2.0 x11 cairo-xlib) were not met:
No package 'x11' found
There is no such package x11. I didn't see the dependency on x11 in vte.rb though.

I am trying to install terminator, and it depends on vte, not vte3.
On Mon, Apr 20, 2015 at 7:24 PM, 李惟<EMAIL_ADDRESS>wrote:

you can
brew install vet3
—
Reply to this email directly or view it on GitHub
https://github.com/Homebrew/linuxbrew/issues/362#issuecomment-94616752.

--
With Regards,
Yu Huang
Software Engineer,
Google Inc.

No package 'x11' found

You'll need to install X11 using your native package manager (yum or apt-get).


Invalid padding bytes Error

Hi,
i tried to decode the jwt token from auth.js v5.0.0-beta.17 and nextjs 14 app router, i just keep getting Invalid padding bytes error
firstly i install the package fastapi-nextauth-jwt
then i extrat the token in an api router
import { NextResponse } from "next/server";
import { getToken } from "next-auth/jwt";
import { NextRequest } from "next/server";

const secret = process.env.AUTH_SECRET as string;

export const GET = async (req: NextRequest) => {
  try {
    if (!secret) {
      throw new Error("NEXTAUTH_SECRET is not set");
    }

    const token = await getToken({
      req,
      secret: secret,
      raw: true,
      salt: "authjs.session-token"
    });

    console.log("Token from getToken:", token ? `${token.substring(0, 20)}...` : "No token");

    if (!token) {
      return new NextResponse("No raw token found", { status: 401 });
    }

    console.log("Attempting to connect to FastAPI server...");
    const response = await fetch("http://<IP_ADDRESS>:8000/test_decode", {
      headers: {
        Cookie: `authjs.session-token=${token}`
      },
      credentials: 'include'
    });

    console.log("FastAPI response status:", response.status);

    const responseText = await response.text();
    console.log("FastAPI response body:", responseText);

    if (!response.ok) {
      throw new Error(`HTTP error! status: ${response.status}, message: ${responseText}`);
    }

    const result = JSON.parse(responseText);
    console.log("Decoded token:", result);

    return new NextResponse(JSON.stringify({
      fastapi_decoded: result,
    }), { status: 200 });
  } catch (error) {
    console.error("GET_ORDERS error details:", error);
    return new NextResponse(`Internal Server Error: ${error}`, { status: 500 });
  }
};

then my fastapi is like this
from fastapi import FastAPI, HTTPException, Request
from fastapi_nextauth_jwt import NextAuthJWT
import uvicorn

app = FastAPI()

SECRET_KEY = "my_hard_coded_secret"
COOKIE_NAME = "authjs.session-token"

next_auth_jwt = NextAuthJWT(
    secret=SECRET_KEY,
    cookie_name=COOKIE_NAME
)

@app.get("/test_decode")
async def test_decode(request: Request):
    print("Received request at /test_decode")
    print("Cookies:", request.cookies)
    try:
        decoded_token = next_auth_jwt(request)
        print("Token successfully decoded")
        print(f"Decoded token: {decoded_token}")
        return {"decoded_token": decoded_token}
    except Exception as e:
        print(f"Error occurred: {str(e)}")
        raise HTTPException(status_code=401, detail=str(e))

if __name__ == "__main__":
    print("Starting FastAPI server...")
    print(f"Secret key: {SECRET_KEY}")
    print(f"Cookie name: {COOKIE_NAME}")
    uvicorn.run(app, host="<IP_ADDRESS>", port=8000)

and in the fastapi terminal i got
Starting FastAPI server...
Secret key: my_hard_coded_secret
Cookie name: authjs.session-token
INFO:     Started server process [46231]
INFO:     Waiting for application startup.
INFO:     Application startup complete.
INFO:     Uvicorn running on http://<IP_ADDRESS>:8000 (Press CTRL+C to quit)
Received request at /test_decode
Cookies: {'authjs.session-token': 'eyJhbGciOiJkaXIiLCJlbmMiOiJBMjU2Q0JDLUhTNTEyIiwia2lkIjoiOXJLdVBzOUV3WjdkZ3k2YTRDX09wckt1THgzeHEwWkluNC1YUDZHUUx3dUpuUkxjSGpjMHVKTy1GRElSbngzVWw3VHlIcGl1dWh5R2t4a0MzWFU0UGcifQ..zIkxK5JUdetnWwN5mo9F1A.FYVLYIpsdhfGAz9NN-uznIFg8V8sY6Yhu4l5y6UMhki8thO0WXupC4Mw4G7JlbGFiHjAcxE33FyO-bNwJjU7KTleqHFxkwaX9iH1q4o4m9DHa_MRd655DZHRaz2nMdh60y0R6o69kYqv6U0he9TEWDIEeb7pRZzZ7UY5keTqnPHn21XXkp-ouWDFgs5UbOxe9-CUZ4GuuOBwOPEKNomvqrx_Amv836vpoNtmUbw51rd-BJx8CHaSSX-KWKCuVNQRgF5Xma0m-m06MaYpj-o2lYqsaczHsRTTiyEI2ZLQJrxRgjUznlFxEN8Bhg-S1XJI79HspYa9pTEzf2qjokLfsg.62j9fpdi5-6AWMNwXwS5ZaM3DbWqJ2DTVieXBm4m_1o'}
Invalid padding bytes.
Error occurred:
INFO:     <IP_ADDRESS>:56110 - "GET /test_decode HTTP/1.1" 401 Unauthorized

any idea how where do i get wrong?

Hi @cblberlin,
If I'm not mistaken getToken gets the decrypted/decoded contents of the JWT, which you are then sending to fastapi, which tries to decode it again, which doesn't work because it already is.
Try directly copying the headers and cookies from your incoming request in your nextjs route handler, and sending those through to fastapi unmodified, I think that should work.
Also on the fastapi side, leave the cookie name default.
Let me know if that works!

Wouldn't it be more clear-cut to completely separate the frontend and backend? It seems a bit odd to use Next.js for handling authentificatioin while having part of the backend implemented with FastAPI

That is possible too of course! I started this project because I already had a frontend using nextauth and a backend using fastapi, if you're starting something new from scratch you could set it up however you like and may not need this.

yes me too, i've implemented the authentification part using auth.js on early stage but later when i cooperate with my colleague (who use fastapi as backend who has more experience on db query) we find out the Authorization part in API calls being hard (cause we don't know how to decode the cookies in python backend) that's why i found out your library, right now we decided to seperate the frontend and backend entirely (re-write whole authentification part) to make it well clear-cut...luckly it's just on early stage so we don't need to re-write the whole part but only design a well-structured OpenAPI docs


Investigate build pipeline error with wasm-opt

Running wasm-opt with the -Oz flag leads to a  Segmentation fault meaning we are unable to build the most optimised version of WASM in our CI pipeline. Potential solutions include

Change the OS that the build pipeline is running in.
Monitor for future releases of wasm-opt that may rectify this issue.
Try older releases of wasm-opt

Issue that might be of relevant here

Because we are phasing out using this seperate tool, this is no longer an issue.


[Docker] Refactor docker images and building in Circle

This PR refactors the Docker image to make it easier to build both Python 3.5 and 2.7 versions for testing.
It should also address #395.

Have a look at the work by @effigies on fmriprep to speed up building docker containers on CircleCI:
https://github.com/poldracklab/fmriprep/pull/465
https://github.com/poldracklab/fmriprep/pull/472

Interesting! The rationale behind adding an intermediate base image is to be able to do something like that pull in poldracklab/fmriprep#465
Regarding poldracklab/fmriprep#472, yes, we will probably end up giving up on Circle caching for mriqc as well :(

I think what the improvement in poldracklab/fmriprep#465 has shown is that you do not need to make an explicit separate base Docker image. You just pull the previously released version from Docker hub and when building the heavy first few layers get reused and only the light final layers get actually rebuild.

As a comment, I think it makes sense to schedule any changes to the heavy base layers for just before some release, so you're not both pulling and then building mostly from scratch every time.


QuISP doesn't build and gives error: String index out of range: 0

QuISP doesn't build and gives error String index out of range: 0
To Reproduce
This is just a simplification of the quisp wiki for Install OMNeT for MacOS and Building QuISP with OMNeT IDE

Download OMNeT++6
Clone quisp
Go to quisp and open Version, adding // in the first line of the file
Go to omnetpp-6.0 and run source setenv, ./configure, make
Run omnetpp
Choose quisp/ as the working directory
Refuse to install samples and INET framework
Go to File -> Import..., and select the General -> Existing Project into Workspace wizard
Select the quisp folder as the root directory, and check the only project that appears
Right-click quisp in the project explorer and click property
Select Makemake tab and configure quisp's build as makemake
Error happens
Even if you ignore this error once, it will keep coming up every time you try to build

Expected behaviour
No exceptions should happen
Screenshots

Desktop (please complete the following information):

OS: macOS 12.5.1, without docker, M1
QuISP version 0.2.1
OMNeT++ version 6.0.1
Compiler or other build info: Apple clang version 13.1.6

This is the same as my build problem. I haven't solved this yet though. You could use docker version if you want.

https://bugs.eclipse.org/bugs/show_bug.cgi?id=418579

Issue solved by

Create a x86_64 homebrew instance
$ $PATH_TO_X86_64_HOMEBREW/brew install llvm@14
In the quisp root directory, check that llvm@14 for x86_64 exists in the path
$ make (-j8)
$ omnetpp

@res6idue Is this issue still relevant? If it is already resolved, this should be marked as closed.

I think this issue is resolved by using the dev container. I will close it.


lead vs continue-reading fonts

Not sure where to ask this question.
I have a django-blog running with bootstrap and I notice that the font of the 'entry-body' class after clicking the 'continue-reading' btn is still the same as the lead font in the previous page. I can see that the 'lead' class is being assigned to the text (after clicking continue-reading) instead of the 'continue-reading' class. I'd like to change this. i.e.

 loren epsom....

How can I change this to

 loren epsom....

The continue-reading class font is smaller than the lead class font.
Thank you.

Sorry for the late reply.
If you want to change this behavior, you have to edit your own copy of templates/zinnia/_entry_detail_base.html
And put something like this

Regards


bump insight version to 5.6.2

Bump version

I will push a post with the new version since we started to do it again from 5.6.0


feat: new GO Feature Flag PHP provider

This PR

This PR contains the implementation of a PHP provider for GO Feature Flag.

This is largely up to you, but it would be convenient for consumers of the SDKs to be able to utilize the PHP HTTP discovery package to automatically provide a PSR compliant implementation based on their packages.
This is in no way something I would expect before merging a 0.1.0 version.
I know that there are still some tests to fix, but let me know if there is any more I can help with @thomaspoignant 👋

Hey @tcarrio, thanks for your input about the HTTP Client.
I've tried to address it by letting people override it in the Config object.
This version is now ready to be reviewed, I'll be happy to have your feedback.


Define module machine type and target machine type more clearly

The error I see on my computer is "fatal error LNK1112: module machine type 'x64' conflicts with target machine type 'X86'".
Your description of the error does not make it clear which is the source and which is the destination. All I know is there is a mismatch somewhere, but don't know whether my library is not what I expected or my application.
I'm not sure if this is correct, but changing
"Similarly, if you create one module with the x64 compiler and another module with the x86 compiler, and try to link them, the linker will generate LNK1112."
to
"Similarly, if you create a library module with the x64 compiler and an executable module with the x86 compiler that uses the library and try to link them, the linker will generate "fatal error LNK1112: module machine type 'x64' conflicts with target machine type 'X86'"."

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

ID: 28b48e91-bcbc-7851-f30d-c625576354b2
Version Independent ID: 5e017ad3-b859-c5e3-5cf4-41afe7f04ffe
Content: Linker Tools Error LNK1112
Content Source: docs/error-messages/tool-errors/linker-tools-error-lnk1112.md
Product: visual-cpp
Technology: cpp-diagnostics
GitHub Login: @corob-msft
Microsoft Alias: corob

@ThomasBeckerStratasys
The target machine type refers to what's being built. (In Visual Studio, it's the platform type listed in the Solution Platforms dropdown in the toolbar.) The linker found that one of the modules you specified (which might be a LIB or OBJ file) was built for an architecture that's incompatible with your target machine.
Because you don't need to specify the target architecture to the linker, if you don't, it will assume you're trying to build something targeting the same machine type as the first object file it encounters (say, an x86 object). If it later encounters an object file that's built for a different machine type, but it's a type that allows the previous object type (say, an ARM64-x86 hybrid type), then the linker updates the target type to the more inclusive type, and keeps going. But when it tries to link in a later object file that's built for an incompatible machine type (say, x64), you'll get the LNK1112 error. That's why the sentence you've complained about is vague about linking modules. Both are inputs to your target executable or library, One of them matches the linker's target machine type, and one doesn't. The second one, whichever type it may be, is the one that triggers the error.
In your case, the target machine type has either been specified as x86, or set to x86 by the first encountered module, and then the linker found another object to link that was built for x64. That module caused the error. The way to interpret the error depends on your intent. Were you trying to build an x86 executable? Then the x64 module is a problem. Rebuild it for x86, if you can, or point your LIBRARY path to the x86 version's location. Were you trying to build for x64? Then your problem is either the target architecture you specified, or if you didn't specify one (which is the most common case, since normally you don't need to), the problem is the x86 module earlier on your link command line. In that case, you must find and change the x86 object file or library to an x64 version.


Thoughts re handling of error tests

Some thoughts...
How to handle the fact that some fields should only be validated on blur, change, or whenever.
valtype (bitmapped field?): 0=full check, 1=propertycheck, 2=propertychanged
is passed in to any rule check based on the original reason for the validation process. It returns true if the validation is to be processed.
Default for any rule is:
applies = (valtype) => { return true; }
If the user calls validate, all returning true for applies(0) are checked
If the user calls validateProperty('X'), all returning true for applies(1) are checked
If the user (via a plugin, e.g. UI binding to model) modifies property 'X' in the model, all returning true for applies(2) are checked
But... left like this, if the user modifies property 'X' in the model through code, all with 2 are checked, so we will get the errors generated on the UI even if we're loading a record's JSON from the server.
One simple solution may be to have the concept of suspending validation (and resetting dirty checking when it is resumed).
Given that (in theory) the user should always be calling validate() anyway (which can't be suspended?), it's safe to accept that so long as the user always uses validate() before consuming the data, there won't be any issues.
A) Rule defined to apply always to any validation attempt:
applies = (valtype) => { return true; };
B) Rule defined to only apply on a full validation:
applies = (valtype) => { return (!valtype); };
C) Rule defined to only apply on a full validation or when the user requests validation of this field by name: (is this likely to be a scenario?)
applies = (valtype) => { return !valtype || (valtype & 1); };
D) Rule defined to only apply on a full validation or when the property has changed through code or binding to the UI:
applies = (valtype) => { return !valtype || (valtype & 2); };
In addition, because applies is a function, the dev can create a rule to only perform validation under chosen situations
To assign onBlur, bindings will update the model property, so the rule will only apply when the user changes data.
If the validation is to apply on onBlur even if data is unchanged, the handler for the input field must call validateProperty('X') to force evaluation of that RuleLink without going through the property watcher.  By default this will only fire the validation if the link is set to A or C.

Actually, this is a variation of the .withGuard() feature I was looking at adding to the rules.
If the user only wants to validate the email address if hasEmail is true, the rule can say
.withGuard( (m,v) => { return m.hasEmail; })

The above code is virtually identical, with the reason being also passed in as a parameter.
The only addition is the flow of the reason down to the call to the RuleLink check.

or perhaps
.appliesIf( (m,v) => { return m.hasEmail; })

?

after our discussion in gitter I am ok with the appliesIf approach, however as mentioned my only worry is that if you are defining the models/rules in a module and consuming it in multiple other modules (i.e an API that shares models as the contracts between front and back end or something) you need to know the predicate at the point of rule assignment, and you may not have the same data available on each module consuming it, so that is a potential worry however the general approach you have put forward seems to solve most common scenarios.

The appliesIf feature has been added in the latest PR merge, feel free to re-open if more discussion is needed but I see future features and changes to applies if being done in new issues/feature tickets.


Correct commits distribution days of week labels

⚠ Pre Checklist

Please complete ALL items in this checklist, and remove before submitting

[x] I have read through the Contributing Documentation.
[ ] I have added relevant tests.
[x] I have added relevant documentation.
[x] I will add labels to the PR, such as pr-type/bug-fix, pr-type/feature-development, etc.

Summary
According to MySQL Documentation, DAYOFWEEK function returns the weekday index for date (1 = Sunday, 2 = Monday, …, 7 = Saturday).
But the dashboard days of the week labels provided are a little different, so I modified them correctly.

Thanks for your contribution.


Not possible to add a second gallery instance to the same page?

I want to have multiple instances of the gallery component on a single .mdx page but I'm having trouble.
Example: If i have the panda gallery already, and add the jwst gallery, the thumbnails for jwst show properly, but the full-size images are pandas no matter what I do.
Is it even possible to have multiple instances on the same page? Sorry if this is the wrong place to ask. Thanks!

Seems like this project isn't active so I guess i'll just find another solution. Yay. More wasted hours.

i isolated the problem with the galleryid scope in the lightbox script. i can now add unlimited galleries to a page. i don't know how to contribute to this project so i am probably just going to publish my own fork and turn it into an npm module. respond if you want me to help.


Wrong less syntax

Hi,
In think there are some error in less file. The way you use ampersand generate the wrong rules eg :
.slick-slide.slick-initialized instead of .slick-initialized .slick-slide.

@leggomuhgreggo is this right? I don't work with less like that

Oooo, might be. I'm on it.
On Fri, Sep 18, 2015 at 10:24 AM, Ken Wheeler<EMAIL_ADDRESS>wrote:

@leggomuhgreggo https://github.com/leggomuhgreggo is this right? I
don't work with less like that
—
Reply to this email directly or view it on GitHub
https://github.com/kenwheeler/slick/pull/1746#issuecomment-141466542.

Thanks for catching that @laurent-bettin
Fixed in #1747

:+1:


Error when running Windows 2019 build

Description
Windows 2019 build looks to run a database test for 'mongo.exe' which appears to be removed in the latest version in the image (5.0.16). It was still present in 5.0.15 but appears to no longer be there causing the test to fail and the rest of the packer  to exit.
Platforms affected

[X] Azure DevOps
[ ] GitHub Actions - Standard Runners
[ ] GitHub Actions - Larger Runners

Runner images affected

[ ] Ubuntu 20.04
[ ] Ubuntu 22.04
[ ] macOS 11
[ ] macOS 12
[X] Windows Server 2019
[ ] Windows Server 2022

Image version and build link
unable to produce
Is it regression?
c60c6b67ab2ad0fe76347ebbcd512b87917ef51a
Expected behavior
The tests succeed and the image update completes.
Actual behavior
Test is failing to run successfully causing an exit.
azure-arm.managed-image: Running tests from 'C:\image\Tests\Databases.Tests.ps1'
azure-arm.managed-image: Describing MongoDB
azure-arm.managed-image:  Context Version
azure-arm.managed-image:    [-] mongo 753ms (518ms|235ms)
azure-arm.managed-image:     CommandNotFoundException: The term 'mongo' 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.
azure-arm.managed-image:     at , C:\image\Tests\Databases.Tests.ps1:8
azure-arm.managed-image:    [+] mongod 252ms (250ms|1ms)
azure-arm.managed-image:  Context Service
azure-arm.managed-image:    [+] mongodb service is stopped 222ms (216ms|6ms)
azure-arm.managed-image:    [+] mongodb service is disabled 48ms (47ms|1ms)
azure-arm.managed-image: Tests completed in 4.46s
azure-arm.managed-image: Tests Passed: 3, Failed: 1, Skipped: 0 NotRun: 12
azure-arm.managed-image:
azure-arm.managed-image:
azure-arm.managed-image: Containers            : {[-] C:\image\Tests\Databases.Tests.ps1}
==> azure-arm.managed-image: Test run has failed
Repro steps
Run image build pipeline.

Duplicate of https://github.com/actions/runner-images/issues/7435


[Add] Implicit usings removed if enabled #58

Issues:

The list of known implicit usings is simply coded to a default - https://dotnetcoretutorials.com/2021/08/31/implicit-using-statements-in-net-6/

[x] Should include items for different sdk types
Should take note of:

[x] <Using Remove="" />
[x] <Using Include="" />

[x] Should be configurable

[ ] Should possibly check for other global usings?

Should possibly check for other global usings?

if it makes the extension smarter, the answer would be yes. OTOH if it increases the code complexity I'd wait  a moment.

Should possibly check for other global usings?

if it makes the extension smarter, the answer would be yes. OTOH if it increases the code complexity I'd wait a moment.

Questions:

where should this global using file is located?
should be configurable on workspace level?

I'd prefer to keep it out at the moment and open a new RF for it, at least until the thing gets clearer.


Redstone Integrator: Allow use of cardinal directions (north/east/south/west).

Describe your idea
This is something from Plethora on 1.12.2 and was a feature I quite liked a lot. I know which cardinal direction I need in order to use the integrator, but not the relative direction unless I use special care while placing the blocks.
It also does not help that the redstone integrators have no indicator at all about which direction "front" or "back" is. Once you place the integrator, if you forget which way it was placed you have to destroy and replace it.
It is not optimal.
Describe alternatives you've considered if you've any
No response
Additional context
No response
Linked Issues
No response

Alternatively adding some kind of front indicator to the texture would work too. Perhaps we could take me interface with its arrow indicating direction as example?

I will change the texture and add the ability to use cardinal and relative directions

Added in 0.7a
You can now use relative and cardinal directions


fix: honor variable tag to add custom tags

What does this PR do?
You cannot pass custom tags to the EKS cluster:
module "aws_eks" {
  tags = module.eks_tags.tags
}

module "eks_tags" {
  source      = "./modules/aws-resource-tags"
  tags        = local.tags
}

locals {
  tags = tomap({ "created-by" = var.terraform_version }) # reference to var.tags is missing here
}

Motivation
Fixing the issue.
More

[ ] Yes, I have tested the PR using my local account setup  (Provide any test evidence report under Additional Notes)
[ ] Yes, I have added a new example under examples to support my PR
[ ] Yes, I have created another PR for add-ons under add-ons repo (if applicable)
[ ] Yes, I have updated the docs for this feature
[ ] Yes, I ran pre-commit run -a with this PR

Note: Not all the PRs required examples and docs except a new pattern or add-on added.
For Moderators

[ ] E2E Test successfully complete before merge?

Additional Notes

Hey @schwichti This has been fixed in the new PR #355


add to group for daily energy

Checklist

[X] I have filled out the template to the best of my ability.
[X] This only contains 1 feature request (if you have multiple feature requests, open one feature request for each feature request).
[X] This issue is not a duplicate feature request of previous feature requests.

Is your feature request related to a problem? Please describe.
When creatin virtual power sensor in  the GUI there is an option to "add to group", but there is no sutch option for the other two.

Describe the solution you'd like
Add an option to "add to group" when creating daily energy in the GUI.
Describe alternatives you've considered
The only option now is to firsst create the sensor(s) and then configure the group and add them to it.
Additional context
Ther is a risk to forget to add a sensor to a group, especially when creating multiple sensors at once.

Implemented with #2246
Besides adding the option to daily energy dialog, I have also extended the functionality to directly create a completely new group. You can type the group name in the option selection, instead of selecting an existing one. Than it will automatically create the new group.
Will be in upcoming release.

Implemented with #2246 Besides adding the option to daily energy dialog, I have also extended the functionality to directly create a completely new group. You can type the group name in the option selection, instead of selecting an existing one. Than it will automatically create the new group.
Will be in upcoming release.


Is uploading a video supported?

I've tried several ways of uploading a small mp4 video. But I get the following error from twitter:
Twitter::Error::BadRequest: The validation of media ids failed.
I'm not sure if the gem supports chunked video uploading: https://dev.twitter.com/rest/public/uploading-media
I've tried using twurl, and it works with the same file, so I know it's not a size, length, width/height, aspect ratio problem.
The twurl command (after auth) is along the following:
twurl -H upload.twitter.com "/1.1/media/upload.json" -d "command=INIT&media_type=video/mp4&total_bytes=113004
twurl -H upload.twitter.com "/1.1/media/upload.json" -d "command=APPEND&media_id=707438900436930561&segment_index=0" --file filename.mp4 --file-field "media"
twurl -H upload.twitter.com "/1.1/media/upload.json" -d "command=FINALIZE&media_id=707438900436930561"
twurl "/1.1/statuses/update.json" -d "media_ids=707438900436930561&status=You get the point..."
Let me know if I'm missing something. Thanks!

Video upload support was added in #755. You need to be running master to get this though, it hasn't been back-ported to the stable branch.

@jonmast  Why only supports MP4 video file? There any way to send other formats?

@narlei Twitter requires the video to be AAC encoded: https://dev.twitter.com/rest/media/uploading-media#videorecs

fail trying to upload file with
file = open('http://domain.com/file.mp4')
client.upload(file,{status:'video upload'})

the same  happen to me when i first try to uploading video my account. however you’ll be prompted if the selected video is not in a supported format. Maximum file size is 512MB. and Maximum video length is 2 minutes and 20 seconds.) See here for more details about formats.) https://support.twitter.com/articles/20172128 and https://dev.twitter.com/rest/public/uploading-media
that may help !!

Does anyone have a working example of how to upload a video using the chunked method using this gem? I've seen other examples using Bash, PHP, other libraries, etc, but nothing using this gem.


[tests] remove Xamarin.Legacy.Sdk

Context: https://devdiv.visualstudio.com/DevDiv/_build/results?buildId=10234371&view=ms.vss-test-web.build-test-results-tab&runId=110872727&resultId=100056&paneView=debug
The Xamarin.Legacy.Sdk GitHub repo is archived, and no longer supported.
We still have a few tests using Xamarin.Legacy.Sdk that fail with:
error MSB4057: The target "_GetRestoreSettingsPerFramework" does not exist in the project.

It's probably related to Mono now longer installed on CI agents.
Let's remove usage of Xamarin.Legacy.Sdk from our tests.

There are some MSBuild perf failures like Build_AndroidAsset_Change, but going to merge as these are failing on other PRs.


Removed repeatation problem in query_list.txt

Updated server.js to remove the repeatation problem in query_list.txt
Now all query strings are added only once to query_list.txt
fixes #7

Thank you!


Support for Xiaomi Mijia Bluetooth Temperature

Hi,
Can you please add support for Xiaomi Mijia Temperature ? Or create a new " mitemp-mqtt-daemon " repository. Thanks a lot for your good job !
https://de.aliexpress.com/store/product/Neue-Original-Xiaomi-Mijia-Bluetooth-Temperatur-Luftfeuchtigkeit-Digitale-Thermometer-Feuchtigkeit-Meter-Sensor-Lcd-bildschirm-Smart-Mi/2953070_32844484376.html?spm=a2g0x.12010615.8148356.12.22227ed6B3WpL1

Please add it as a feature, my dear friend.

And how do we add this as a feature? I like this project for my Mi Floras and have 6 of this MiTemp devices in the house :-).

+1

+1 there is no mijia mqtt solution for the raspberry pi.

It's working, thank you @aqualx.

I am using the version by Aqualx, but after a few hours I get this error
xception in thread Thread-3:
Traceback (most recent call last):
File "/usr/local/lib/python3.5/dist-packages/btlewrap/bluepy.py", line 26, in _func_wrapper
return func(*args, **kwargs)
File "/usr/local/lib/python3.5/dist-packages/btlewrap/bluepy.py", line 55, in connect
self._peripheral = Peripheral(mac, iface=iface)
File "/usr/local/lib/python3.5/dist-packages/bluepy/btle.py", line 391, in init
self._connect(deviceAddr, addrType, iface)
File "/usr/local/lib/python3.5/dist-packages/bluepy/btle.py", line 439, in _connect
raise BTLEDisconnectError("Failed to connect to peripheral %s, addr type: %s" % (addr, addrType), rsp)
bluepy.btle.BTLEDisconnectError: Failed to connect to peripheral 4C:65:A8:D0:5E:CE, addr type: public
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/local/lib/python3.5/dist-packages/btlewrap/base.py", line 44, in enter
self._backend.connect(self._mac)
File "/usr/local/lib/python3.5/dist-packages/btlewrap/bluepy.py", line 32, in _func_wrapper
raise BluetoothBackendException() from last_error
btlewrap.base.BluetoothBackendException
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib/python3.5/threading.py", line 914, in _bootstrap_inner
self.run()
File "miflora-mqtt-daemon.py", line 508, in run
pool_sensors(self.sensor_type, self.sensors, self.sensor_parameters)
File "miflora-mqtt-daemon.py", line 207, in pool_sensors
sensor['poller'].fill_cache()
File "/usr/local/lib/python3.5/dist-packages/mithermometer/mithermometer_poller.py", line 67, in fill_cache
with self._bt_interface.connect(self._mac) as connection:
File "/usr/local/lib/python3.5/dist-packages/btlewrap/base.py", line 46, in enter
self._lock.release()
RuntimeError: release unlocked lock

There are some exceptions from calling libraries. In last commit there is a guard against them...
PS: Maybe this exceptions should be also addressed to owner. In this case mithermometer

"Release unlocked lock" seems is now fixed directly in blewrap library on this change

I tried to use latest miflora-mqtt-daemon for reading Xiaomi Mijia, but I got "seems to be in the wrong format" error. Is the change mentioned in this thread merged into the master already or where I can find it?

I tried to use latest miflora-mqtt-daemon for reading Xiaomi Mijia, but I got "seems to be in the wrong format" error. Is the change mentioned in this thread merged into the master already or where I can find it?

OK, I found it, it is in https://github.com/aqualx/miflora-mqtt-daemon.

Which MAC address has your sensor? You have sensor with screen or without? I have two of them and both start from "4C:65:A8:DB:XX:XX". In any case this is checked in miflora-mqtt-daemon.py line 136...
PS: section names in config.ini also changed. See example at config.ini.dist

I had the same problem, my temperature sensor mitempbt is like this:
Tempe1 = 58:2D:34:32:xx:xx
which is not accepted and gives an error every time. As a brute force solution I commented out the mac check in miflora-mqtt-daemon.py and now it works.

This seems to be an epidemic. I ordered the Mijia Temperature and Humidity sensor and the MAC address is 58:2d:34:31:4b:e4. I tried commenting the mac check in miflora-mqtt-daemon.py but it did not work for me. @Paul-B can you help? What all did you comment out?
Ideally, if @ThomDietrich or @aqualx can make the necessary changes to the code so that the mac address check is either removed completely or is modified to accept 58:2D series, would be the best solution.
Thanks in advance.

@aqualx Will this change be sufficient or do I need to do anything else?

Init sensors from configuration files
def init_sensors(sensor_type, sensors):
sensor_type_name = sensor_type_to_name(sensor_type)
if  sensor_type == sensor_type_miflora:
config_section = sensor_type_miflora
mac_regexp = "C4:7C:8D:[0-9A-F]{2}:[0-9A-F]{2}:[0-9A-F]{2}"
elif sensor_type == sensor_type_mitempbt:
config_section = sensor_type_mitempbt
mac_regexp = "4C:65:A8:[0-9A-F]{2}:[0-9A-F]{2}:[0-9A-F]{2}"
elif sensor_type == sensor_type_mitempbt:
config_section = sensor_type_mitempbt
mac_regexp = "58:2d:34:[0-9A-F]{2}:[0-9A-F]{2}:[0-9A-F]{2}"
else:
print_line('Unknown device type: {}'.format(sensor_type), error=True, sd_notify=True)
sys.exit(1)

Help will be appreciated!

@aqualx I tried making the above change but I still get
"[2019-07-21 05:28:56] The MAC address "58:2D:34:31:4B:E4" seems to be in the wrong format. Please check your configuration"
What would I need to do to get this to work? Help please!!

Done! I modified the miflora-mqtt-daemon.py file to include the 58:2D:34 series of MAC addresses.
The "ValueError: Publish topic cannot contain wildcards" was because I did not edit the config.ini file properly. Tweaked that and now it seems to be working. Now to get Home Assistant to use and populate the data.

@SumitBajoria Could you share the code? Thanks!

@jsponz Which code do you want me to share? Also, I managed to fix the miflora.service, albeit, in a very crude way.

@SumitBajoria you wrote: "I modified the miflora-mqtt-daemon.py ..."
Last available version of the file is 6 months old...

`# Init sensors from configuration files
def init_sensors(sensor_type, sensors):
sensor_type_name = sensor_type_to_name(sensor_type)
if  sensor_type == sensor_type_miflora:
config_section = sensor_type_miflora
mac_regexp = "C4:7C:8D:[0-9A-F]{2}:[0-9A-F]{2}:[0-9A-F]{2}"
elif sensor_type == sensor_type_mitempbt:
config_section = sensor_type_mitempbt
mac_regexp = "58:2D:34:[0-9A-F]{2}:[0-9A-F]{2}:[0-9A-F]{2}"
else:
print_line('Unknown device type: {}'.format(sensor_type), error=True, sd_notify=True)
sys.exit(1)
`

I enhanced the regexp and created a pull request.
https://github.com/aqualx/miflora-mqtt-daemon/pull/3

I am getting the following error:
Initial connection to Mi Flora sensor "TemHum" (58:2D:34:32:F3:3D) failed.
AND
Failed to retrieve data from Mi Flora sensor "TemHum" (58:2D:34:32:F3:3D), success rate: 0%
Any ideas how this can be solved please?

Hello,
I just have purchased the new version of  Xiaomi Temperature and humidity sensor

It is detectable over bluetooth its Mac start with A4:C1:38.
I have tried simple approach by changing the regex at aqualux fork but this does not seems to work.
If you could point me out to the right direction, or what kind of data should I provide to make this work that would be great.
Thanks you all who contribute to this great tool.
BR
Jarek

Hi Jarek,
issue is that this sensor is decrypted via a token. Binding the token to the miflora-mqtt-daemon is not supported by now.
BR
Andre