E zlog alita_function_report_manager.cpp 64: user kv not init

Hi~ Thanks for your great work!
I now encounter the following problems. When I enter a command to scan the QR code and confirm my login on my mobile phone, an error will be reported as follows:
E zlog alita_function_report_manager.cpp 64: user kv not init

How to solve this problem? Any help would be greatly appreciated

@zafirshi I was not able to reproduce your error.

How can I help you for reproducing the error? Actually I don't know what info should I provide

06-22 03:28:14.057 1/1/0 E zlog alita_user_manager.cpp 283: get login state error, username is empty.
06-22 03:28:14.057 1/1/0 V zlog alita_login_manager.cpp 308: GetLoginState:0
06-22 03:28:14.057 1/1/0 V zlog alita_nodejs_bridge_zidl.cpp 458: <-- GetLoginState +0
alita log:  0
06-22 03:28:14.057 1/1/0 V zlog alita_log_nodejs_bridge_zidl.cpp 75: --> Write
06-22 03:28:14.057 1/1/0 V zlog  0: 0
06-22 03:28:14.057 1/1/0 V zlog alita_log_nodejs_bridge_zidl.cpp 75: <-- Write +0
[1:0622/032814.068345:ERROR:gpu_process_host.cc(957)] GPU process exited unexpectedly: exit_code=1024
[1:0622/032814.068374:FATAL:gpu_data_manager_impl_private.cc(417)] GPU process isn't usable. Goodbye.
06-22 03:28:14.070 1/141/0 D mars::mmext longlink_with_mmtls.cc 88: -> OnConnected
06-22 03:28:14.070 1/141/0 D mars::mmext longlink_with_mmtls.cc 88: <- OnConnected +0,
06-22 03:28:14.070 1/141/0 I MMTLS mmtls_client_credential_storage.cpp 183: s_Instance = new ClientCredStorage()----------------------------
06-22 03:28:14.070 1/141/0 I MMTLS mmtls_client_credential_storage.cpp 45: new ClientCredStorage. key_dir_=/root/.config/weixin/wechat/network/mars/.
06-22 03:28:14.084 1/166/0 I mars::comm complexconnect.cc 595: index:0, @0x7FD3FDE72570, sock:119, (<IP_ADDRESS>:80), connected Rtt:29,
06-22 03:28:14.084 1/166/0 I mars::comm complexconnect.cc 627: index:0, sock:119, suc ConnectImpatient:<IP_ADDRESS>:80, RTT:(29, 29), @0x7FD3FDE72570
06-22 03:28:14.084 1/166/0 I mars::comm complexconnect.cc 663: retsocket:119, connrtt:29, conntotalrtt:29, totalcost:30, @0x7FD3FDE72570
06-22 03:28:14.084 1/166/0 I mars::stn shortlink.cc 349: task socket connect success sock:119, taskid:1, cgi:/cgi-bin/micromsg-bin/getcert, @0x2780162E000 host:extshort.weixin.qq.com, ip:<IP_ADDRESS>, port:80, local_ip:<IP_ADDRESS>, local_port:58132, iptype:NewDNSIP, net:no_ssid_wifi
06-22 03:28:14.084 1/128/0 D mars::stn shortlink_task_manager.cc 447: taskid:1, worker:0x2780162E000, nStartSendTime:10192
06-22 03:28:14.085 1/166/0 D mars::mmext shortlink_with_mmtls.cc 160: mmtls:@0x2780162e000, mmtls_rtt_index=1:req_url=/cgi-bin/micromsg-bin/getcert, req_host=extshort.weixin.qq.com
06-22 03:28:14.115 1/141/0 E MMTLS mmtls_client_credential_storage.cpp 283: open file failed, errno:(2, 没有那个文件或目录). path=/root/.config/weixin/wechat/network/mars/psk.key..
06-22 03:28:14.116 1/166/0 E MMTLS mmtls_client_credential_storage.cpp 81: serialized_acess_psk_ is empty.
06-22 03:28:14.116 1/166/0 E MMTLS mmtls_client_channel.cpp 389: get access psk fail, ret [-20198]
06-22 03:28:14.116 1/141/0 E MMTLS mmtls_client_credential_storage.cpp 81: serialized_acess_psk_ is empty.
06-22 03:28:14.116 1/141/0 E MMTLS mmtls_client_channel.cpp 389: get access psk fail, ret [-20198]
06-22 03:28:14.116 1/166/0 E MMTLS mmtls_client_credential_storage.cpp 88: serialized_refresh_psk_ is empty.
06-22 03:28:14.116 1/166/0 E MMTLS mmtls_client_channel.cpp 430: get refresh psk fail, ret [-20198]
06-22 03:28:14.116 1/141/0 E MMTLS mmtls_client_credential_storage.cpp 88: serialized_refresh_psk_ is empty.
06-22 03:28:14.116 1/141/0 E MMTLS mmtls_client_channel.cpp 430: get refresh psk fail, ret [-20198]

I have the same problem. Any update?

i also the same isuse.

i also have the same issuse .

same issue

Using Wine to install Wechat is better than nothing except for the messy font, file copying, document uploading...


Added shift_left && shift_right algorithms Issue #3706

Fixes #3706
Proposed Changes

Motive of this PR is to implement shift_right && shift_left algorithm.
A very basic Idea based on exemplar (sequential) implementation provided in same issue mentioned above.

Any background context you want to provide?
Please share suggestions, ideas, guidance regarding the same as I am intent ending to become a part of GSoC'21 for the same project.

Can one of the admins verify this patch?

@rainmaker6 thanks for working on this. In order to proceed, first of all please

(clang-)format the new files
add real tests for the functionalities implemented.

retest

@rainmaker6 could you please use the .clang-format file that is located in the root of our repository (here: https://github.com/STEllAR-GROUP/hpx/blob/master/.clang-format)?

retest

@rainmaker6 this is still a draft, do you plan to move this forward?

@rainmaker6 this is still a draft, do you plan to move this forward?

Sir,
I would like to bring to your kind notice that this is the project I've submitted GSoC proposal for this year.
I would like to know from you that-is it possible to continue on the same project this week(was unwell), as more than 40% of work is already completed by me.
I'll change it from draft to final if approved by you.
Regards
Shikhar Vashistha

retest

@shikharvashistha do you still plan to work on this?

@shikharvashistha do you still plan to work on this?

I think we can close this PR here. @Jedi18 is currently working on implementing the algorithms.


allow logging in raw format, without the json encoding, and the added attributes

Do we need version bumps and namespace info for private npm?

if this is internal only, you should probably bump version and turn this into a private repo


Deep dive reports for bugs and enhancements

Deep dive reports for bugs and enhancements
Reports available under /bugs and /enhancements endpoints
Example for bugs:

{
  created:search(query: "repo:quarkusio/quarkus label:kind/bug is:issue created:2020-09-01..2020-09-30", type: ISSUE, first: 1) {
    issueCount
  }
  createdAndStilOpen:search(query: "repo:quarkusio/quarkus label:kind/bug is:issue is:open created:2020-09-01..2020-09-30", type: ISSUE, first: 1) {
    issueCount
  }
  createdAndClosedNow:search(query: "repo:quarkusio/quarkus label:kind/bug is:issue is:closed created:2020-09-01..2020-09-30", type: ISSUE, first: 1) {
    issueCount
  }
  closed:search(query: "repo:quarkusio/quarkus label:kind/bug is:issue is:closed closed:2020-09-01..2020-09-30", type: ISSUE, first: 1) {
    issueCount
  }
  createdAndClosed:search(query: "repo:quarkusio/quarkus label:kind/bug is:issue is:closed created:2020-09-01..2020-09-30 closed:2020-09-01..2020-09-30", type: ISSUE, first: 1) {
    issueCount
  }
  rateLimit {
    limit
    cost
    remaining
    resetAt
  }
}

returns "cost": 1,.
https://docs.github.com/en/free-pro-team@latest/graphql/overview/resource-limitations#rate-limit says The GraphQL API v4 rate limit is 5,000 points per hour. So we don't need to be concerned about hitting this limit.
cost: update twice a hour, 22 months, asking for bugs and enhancements => 2 * 22 * 2 = 88
In 3 years time-frame the cost will be 2 * 36 * 2 = 144

Interesting!
A couple of small details:

could the closed issues be green in the first graph?
I would have the legend say "Issues created per month" / Closed | Still open
I don't understand right away what the second graph is about?
. Maybe Activity per month
. Opened during month | Closed during month | Both opened and closed during month
. Opened should be red, Closed should be green, the last one can stay blue (but I think I would use the darker one)

UI design is the biggest pain 🤣

@gsmet PR updated, here is screenshot of current version:

OK, let's get this in, we can adjust the nav later if need be.

Thanks!

Thanks for merging, any ETA when it will be deployed?

It's deployed.


README suggestion

I was looking through the README file and saw that under the Dashboard section, the instructions say to "{ip}:{port} (e.g., http://<IP_ADDRESS>:3000/)." While this is one way to go about doing it, some beginners may find it a bit confusing, thinking that you need to get their own IP address.
Another way of doing this (which I think is much easier) is typing http://localhost:{port} in the browser instead of going through the extra steps to find the IP address.

README Dashboard section using localhost instead of ip:
🌧 Dashboard Setup
To access the dashboard, which can be found at localhost:{port} (e.g., http://localhost2:3010), you will need to login. If you are unable to see the dashboard, ensure that the NodeJS web server is up and running. Additionally, verify that your IP address has been granted API access. If required, confirm that the wildcard (*) has been applied to API_ACCESS to allow access from all addresses.
Username: root
Password: root

Ensuring the security of your webserver is of importance. It's vital to promptly change this default password. To do so, simply navigate back to the login screen and select the "Change password?" option. It's worth noting that access to AtmosphericX's API and streaming functionalities remains open to all users, even those without login credentials, unless specific address configurations have been applied to the API_ACCESS setting in the environment file.

Will do. Thanks


Integrated security - manual kerberos negotiation

I would like to be able to manually do the kerberos negotiation with something like: https://github.com/SteveSyfuhs/Kerberos.NET
Then include the security token in the connection string for SqlClient and use that to connect to databases. Is something like this possible?

Hi @aaomidi
Have you tried using accessToken connection property?

I have not! I'll try to use that :)
Is there documentation available explaining what that token does?

I came across this "patch" for SqlClient, https://github.com/macsux/sql-server-kerberos-poc/blob/master/SqlClientPlay/Program.cs I'm guessing it would accomplish the same thing?

This accessToken will be passed instead of credentials to perform authentication, you can try using it as:
string ConnectionString =@"Data Source={serverName}; Initial Catalog={db};"
SqlConnection conn = new SqlConnection(ConnectionString);
conn.AccessToken = "Your access token"
conn.Open();

@charlienilsson I was curious what is "AccessToken" - like where would this come from? What is the value that's expected there?

I came across this "patch" for SqlClient, https://github.com/macsux/sql-server-kerberos-poc/blob/master/SqlClientPlay/Program.cs I'm guessing it would accomplish the same thing?

This is using reflection with driver's SNI and passing GSS Credentials to acquire ticket, which is a hack, I wouldn't recommend as a permanent solution.

Yeah I was curious if this AccessToken is basically looking for, say the kerberos negotiated client token.

AccessToken is a JWT/OAuth2 token which is acquired from authorizing parties that SQL Server recognizes. It's mostly talked about in terms of Azure DB authentication. Docs
For Kerberos, I haven't tested myself but thought maybe you got something similar to experiment with, if not then that's not going to be possible.

Ah no I was mostly talking about trying to use kerberos tickets directly with Sql connections. This would enable different authentication models without using stuff like kinit on Linux/mac systems.

That's not supported unfortunately.

So I guess this issue has turned into a feature request :D

You can take a look at this article here which details everything: https://www.codeproject.com/Articles/1272546/Authenticate-NET-Core-Client-of-SQL-Server-with-In
Calling kinit to generate tickets is always managed by user, and not by client drivers. That's the whole point of client credential security that Kerberos offers. In Kerberos flow, users always generate a ticket at their end with their credentials, which domain controllers authorize for SQL Server when requested by client drivers. The user running client application is authorized for available Kerberos ticket.

I understand the current workarounds for this issue. What this current system does has its own big limitations.

I need to create a file under /etc, which usually requires extra permissions that the user may not have.
The file under /etc is shared by all users, further complicating the process.
In my use case I want to create a kerberos-based account management solution where the user can enter their username and password, pick the realm and service, and be authenticated to that realm and service.

kinit is specific to the Kerberos MIT library anyway - and theres other libraries that re-implement the MIT library without following exactly what that design entailed:

https://github.com/SteveSyfuhs/Kerberos.NET
https://github.com/jcmturner/gokrb5

Essentially I want to be able to provide users with a cleaner user experience without forcing them to have to deal with files in /etc.
My request here is let me manually pass in the token that's used in integrated security.

SqlClient only communicates to SQL Server, not to Domain Manager. We cannot pass your ticket to Domain Manager, you need to place it in local ticket cache. Location of Kerberos Ticket Cache is controlled by Environment variable, and it can be any location specified by you.
In this scenario, if you want to accept Domain user/pass from users and authenticate application to connect to SQL Server, your application needs to generate ticket and put it in Kerberos Ticket Cache from where the domain manager will fetch and authenticate.
Also to clarify, Kerberos Ticket is not a token, it's not same as Access Token sent to SQL Server to authenticate user. If you were authenticating to Azure DB, you could easily generate a Access token with user credentials and pass that to Azure DB, as I mentioned above.

@aaomidi I know that ADS customers had this ask of being able to specify the domain username and password to authenticate to SQL Server instead of getting the credentials from the environment. Is this ask for specify kerberos token related to that particular user scenario or are you trying to alleviate the non-admin setup problem that the customer may have while installing and configuring kinit to get the ticket?
This may be a good ask, though I dont think we should add another property on the connection. We should extend the SqlClient Auth Provider model to be able to take a token for Integrated Security authentication, the provider will be added by the SqlToolsService and will take care of passing in the token to the client.
AccessToken is only applicable while doing AAD auth and for integrated security, we need to use the token to overwrite the SSPI token during Login and AccessToken will not help there.

@saurabh500 That's essentially the ask I was working on. The reason I brought kerberos up was that I can make the SqlClient do less work - I can do the authentication myself with a Kerberos library - and if there was a way for me to pass the ticket/token onto the SqlClient to use instead of just getting it from the environment it would enable a lot of new scenarios.
If we can extend the auth provider model, that would essentially solve our problems.

@saurabh500 Do you know if this ask will be worked on for future releases of SqlClient?

Well I was only commenting on the path forward. @David-Engel  and @cheenamalhotra  to prioritize.
@aaomidi do you want to take a stab at the change

Hi @saurabh500
Does SQL Server support accepting any token for Kerberos Auth from client driver via TDS?

Yes, we send the SSPI token to the server for validating the user. So this is feasible.

So that would mean @aaomidi 's client app would provide an SSPI Auth equivalent token and not a Kerberos ticket to put it right, or are they essentially same?

Yes, the application with provide the ticket or the sspi information and that information will be sent to the server instead of the client trying to get that information from the operating system.
The problem is that the client expects some environment setup on Unix for Kerberos to work which is more involved compared to Windows.
If the app can manage the ticket on Unix then it alleviates the client from figuring out how to get the ticket and allows the app to manage the ticket.

I would like to try to make this possible, but my knowledge of C# is quite basic at the moment.
What @saurabh500 also says makes it possible to essentially emulate and authentication on any OS which opens up quite a few interesting use cases.

@cheenamalhotra when will we be able to get this feature in SqlClient and do you know if it meanwhile is possible to use the Krb5TicketCache in https://github.com/dotnet/Kerberos.NET to write a cache file referred to in the KRB5CCNAME variable that the underlying driver can and would read?

@jakauppila
I wonder would something similar to below meet your need?

@srdan-bozovic-msft I'm not familiar with Kerberos.NET myself but looking at the docs that seems like it would accomplish what we're looking for.
Once you feel your PR is ready to test, we could give it a try.

@srdan-bozovic-msft, your proposal looks workable.
One item I'd like to point out is that in many cases, we use libraries that abstract away the management of the SQL Connection, and we simply provide the connection string to the library.  For example, NHibernate (and I'm thinking Entity Framework may work similarly).  In those cases, we'd have to find a way to plug into the library and take over the connection creation process so that we could provide the Kerberos ticket to the connection.
Just wanted to point out that this isn't as seamless as the option provided by the JDBC driver where one can simply provide the username and password as part of the connection string.

@jakauppila I wonder would something similar to below meet your need?

You would then be able to use something like Kerberos.NET to retrieve the ticket.

i need something similar in my case need to get NTLM based token. How can i get a token for a set of AD username - password

So what's the status as per today? According to this https://github.com/dotnet/SqlClient/pull/1411 Kerberos should work on Linux (Docker/k8s). I'm in a situation where Quartz.net manages to access the database using a Kerberos Ticket (kinit et.al.), but when NHibernate tries the application fails. For us to even be able to move to k8s with SqlServer as the db-backend the Microsoft.Data.SqlClient just got to work. Perhaps a sidecar is necessary for renewing the tickets, but the basic functionality must be there anyhow.

@norgie Kerberos authentication with integrated security should be working on Linux. What are the issues you are facing? PR #1411fixes the issue with net 6. Some apps were using fine on net5 or other netcoreapp application, but when they migrated to net6 it stopped working. The issue is on dotnet runtime and the fix we added here is to cover that untill next patch of net6 is released. How is the application flow?

@JRahnama  The flow is as follows. When the application starts it calls into Quartz.net (v.3.3.3) which then accesses the database with whatever means it deems necessary. Then the application issues a series of queries using NHibernate 5.3.3 (with FluentNHibernate 3.1.0). When I first started dabbling with kerberos on Linux (Docker) the application would fail when Quartz tried to connect to the database. After modifying the krb5.conf file the Quartz-job can access the database but the NHibernate side of things still fails producing the following error:
 Cannot authenticate using Kerberos. Ensure Kerberos has been initialized on the client with 'kinit' and a Service Principal Name has been registered for the SQL Server to allow Kerberos authentication.
ErrorCode=InternalError, Exception=Interop+NetSecurityNative+GssApiException: GSSAPI operation failed with error - Unspecified GSS failure.  Minor code may provide more information (Server not found in Kerberos database).
   at System.Net.Security.NegotiateStreamPal.GssInitSecurityContext(SafeGssContextHandle& context, SafeGssCredHandle credential, Boolean isNtlm, ChannelBinding channelBinding, SafeGssNameHandle targetName, GssFlags inFlags, Byte[] buffer, Byte[]& outputBuffer, UInt32& outFlags, Boolean& isNtlmUsed)
   at System.Net.Security.NegotiateStreamPal.EstablishSecurityContext(SafeFreeNegoCredentials credential, SafeDeleteContext& context, ChannelBinding channelBinding, String targetName, ContextFlagsPal inFlags, Byte[] incomingBlob, Byte[]& resultBuffer, ContextFlagsPal& outFlags)
   at System.Data.SqlClient.SNI.SNIProxy.GenSspiClientContext(SspiClientContextStatus sspiClientContextStatus, Byte[] receivedBuff, Byte[]& sendBuff, Byte[] serverName)
   at System.Data.SqlClient.SNI.TdsParserStateObjectManaged.GenerateSspiClientContext(Byte[] receivedBuff, UInt32 receivedLength, Byte[]& sendBuff, UInt32& sendLength, Byte[] _sniSpnBuffer)
   at System.Data.SqlClient.TdsParser.SNISSPIData(Byte[] receivedBuff, UInt32 receivedLength, Byte[]& sendBuff, UInt32& sendLength)

I'm using a shell scritp to start the application and in that shell script I've got the following:
kinit someuser -k -t ./ktbs/someuser.keytab
dotnet ./NOA.Server.dll

I've also tried with both SSPI and true as the values for Integrated Security in the connection string. Encrypt is set to false in said connection string.

@JRahnama This is the article I've followed to configure my image for kerberos: https://www.codeproject.com/Articles/1272546/Authenticate-Net-Core-client-of-SQL-Server-with-In
(only difference is that I don't include the keytab file in the image)

The NHibernate issue has been solved. Turns out that when configuring NHibernate one can specify which "driver" NHibernate should use. E.g. using FluentNhibernate this would look something like
Fluently.Configure()
        .Database(MsSqlConfiguration.MsSql2012
                                    .Driver<MicrosoftDataSqlClientDriver>()
                                    .ConnectionString(connectionString)
                 )

The important bit being .Driver<MicrosoftDataSqlClientDriver>() . Now the application happily connects to its database issuing queries and receiving the expected results from the database.
Just for the record, my assumption regarding Quartz.net working was wrong so I guess there's more investigation to be done on my part.

I'm quite interested in this PR -- my use case is as follows.

I've got a Blazor server side application I want to deploy to a Linux container which connects to a SQL Server using integrated authentication.
I'd like to use Kerberos, and it does work inside of the container when following the guide specified here (https://www.codeproject.com/Articles/1272546/Authenticate-Net-Core-client-of-SQL-Server-with-In)
I'd like users to be able to authenticate (either by Kerberos or username/password login), validate it against the domain controller, and log them in using integrated authentication
There doesn't seem to be a way to do this without writing code store a keytab for each user to run kinit<EMAIL_ADDRESS>for each user and store that in the keytab file

I'd like to just be able to grab the authentication token via Kerberos.net and pass it through to SQLClient to perform the authentication loop, relying on a middleware built on Kerberos.net
If there is a better way to do this, I'm totally open -- but just wanted to register my use case on this issue and see if this PR will ever be merged.
Thanks!

@cmoski what PR are we talking about #1411 or some other PR?

@JRahnama #1379

Is there any news on this issue? How are people handling this in 2023?

Is there any news on this issue? How are people handling this in 2023?

For our traditionally deployed applications, we created a systemd service using k5start that is responsible for keeping the ticket renewed for the application.
For our containerized use-cases we built and run a Kerberos renewal sidecar based off of the AWS example here: https://github.com/aws-samples/amazon-ecs-windows-authentication-blog

For our containerized use-cases we built and run a Kerberos renewal sidecar based off of the AWS example here: https://github.com/aws-samples/amazon-ecs-windows-authentication-blog

Same here. Great complexity compared to how it's handled in the Java Sql driver though.

FYI - I've got a plan and PRs slowly getting merged in to enable this. Please see the https://github.com/dotnet/SqlClient/issues/2253 for details. The general idea is to add a hook at the right point to handle the sspi blobs.
I have a project at https://github.com/twsouthwick/Swick.SqlClient.Sspi that I'll release when it's merged in to enable some easy providers for it. Initially I have one that enables NTLM that I currently need for another project, but wanted to share it in case others have use of it.

@twsouthwick thank you for your efforts on this. Our DBA's will be happy to no longer have to maintain separate SQL auth accounts for our container deployments when this goes through (it was not feasible for us to generate keytabs + deploy sidecars to maintain an active kerberos ticket for each application in our environment).
I tested your Swick client and updated it to support kerberos package in a docker image and it worked for our use case.. Is there plans to add some connectionstring syntax sugar like "Integrated Security = SSPI/kerberos;User Id= ..." or similar?
Otherwise there's going to be a lot of variations of the following in the wild just to have SqlClient not look to the OS for the integrated security creds
internal class NegotiateAuthenticationSSPIContextProvider : SSPIContextProvider
{
    private NegotiateAuthentication? _negotiateAuth = null;

    protected override void GenerateSspiClientContext(ReadOnlySpan<byte> incomingBlob, IBufferWriter<byte> outgoingBlobWriter)
    {
        _negotiateAuth ??= new(new NegotiateAuthenticationClientOptions
        {
            Package = "Kerberos",
            TargetName = AuthenticationParameters.ServerName,
            Credential = new NetworkCredential(AuthenticationParameters.UserId, AuthenticationParameters.Password)
        });

        var sendBuff = _negotiateAuth.GetOutgoingBlob(incomingBlob, out NegotiateAuthenticationStatusCode statusCode)!;

        if (statusCode is not NegotiateAuthenticationStatusCode.Completed and not NegotiateAuthenticationStatusCode.ContinueNeeded)
        {
            throw new InvalidOperationException($"Negotiate error: {statusCode}");
        }

        outgoingBlobWriter.Write(sendBuff);
    }
}

@twsouthwick do you expect this feature will make it into 6.0 ?


compilation error with mingw

I'm trying to compile a project which uses sol on Windows with the latest version of mingw (G++ version = 5.3.0) and I get an error. So far as I can tell, the definition of std::isblank in localefwd.h expects an additional const locale& as a second argument:
#if __cplusplus >= 201103L
    template<typename _CharT>
    bool
    isblank(_CharT, const locale&);
#endif

Here is the output from the compiler, in case it's useful:
...
In file included from C:\Development\dolmen\core\string.cpp:31:0:
C:/Development/dolmen/third_party/sol.hpp: In function 'std::__cxx11::string sol::detail::ctti_get_type_name()':
C:/Development/dolmen/third_party/sol.hpp:4657:53: error: no matching function for call to 'isblank(__gnu_cxx::__alloc_traits<std::allocator<char> >::value_type&)'
    while (!name.empty() && std::isblank(name.front())) name.erase(name.begin());
                                                     ^
In file included from c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\string:43:0,
                 from C:\Development\dolmen\core\string.hpp:37,
                 from C:\Development\dolmen\core\string.cpp:30:
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\bits\localefwd.h:113:5: note: candidate: template<class _CharT> bool std::isblank(_CharT, const std::locale&)
     isblank(_CharT, const locale&);
     ^
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\bits\localefwd.h:113:5: note:   template argument deduction/substitution failed:
In file included from C:\Development\dolmen\core\string.cpp:31:0:
C:/Development/dolmen/third_party/sol.hpp:4657:53: note:   candidate expects 2 arguments, 1 provided
    while (!name.empty() && std::isblank(name.front())) name.erase(name.begin());
                                                     ^
C:/Development/dolmen/third_party/sol.hpp:4658:52: error: no matching function for call to 'isblank(__gnu_cxx::__alloc_traits<std::allocator<char> >::value_type&)'
    while (!name.empty() && std::isblank(name.back())) name.pop_back();
                                                    ^
In file included from c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\string:43:0,
                 from C:\Development\dolmen\core\string.hpp:37,
                 from C:\Development\dolmen\core\string.cpp:30:
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\bits\localefwd.h:113:5: note: candidate: template<class _CharT> bool std::isblank(_CharT, const std::locale&)
     isblank(_CharT, const locale&);
     ^
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\bits\localefwd.h:113:5: note:   template argument deduction/substitution failed:
In file included from C:\Development\dolmen\core\string.cpp:31:0:
C:/Development/dolmen/third_party/sol.hpp:4658:52: note:   candidate expects 2 arguments, 1 provided
    while (!name.empty() && std::isblank(name.back())) name.pop_back();
                                                    ^
In file included from C:\Development\dolmen\core\string_traits.hpp:9:0,
                 from C:\Development\dolmen\core\regex.cpp:2:
C:/Development/dolmen/third_party/sol.hpp: In function 'std::__cxx11::string sol::detail::ctti_get_type_name()':
C:/Development/dolmen/third_party/sol.hpp:4657:53: error: no matching function for call to 'isblank(__gnu_cxx::__alloc_traits<std::allocator<char> >::value_type&)'
    while (!name.empty() && std::isblank(name.front())) name.erase(name.begin());
                                                     ^
In file included from c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\string:43:0,
                 from c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\stdexcept:39,
                 from C:\Development\dolmen\core\regex.hpp:4,
                 from C:\Development\dolmen\core\regex.cpp:1:
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\bits\localefwd.h:113:5: note: candidate: template<class _CharT> bool std::isblank(_CharT, const std::locale&)
     isblank(_CharT, const locale&);
     ^
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\bits\localefwd.h:113:5: note:   template argument deduction/substitution failed:
In file included from C:\Development\dolmen\core\string_traits.hpp:9:0,
                 from C:\Development\dolmen\core\regex.cpp:2:
C:/Development/dolmen/third_party/sol.hpp:4657:53: note:   candidate expects 2 arguments, 1 provided
    while (!name.empty() && std::isblank(name.front())) name.erase(name.begin());
                                                     ^
C:/Development/dolmen/third_party/sol.hpp:4658:52: error: no matching function for call to 'isblank(__gnu_cxx::__alloc_traits<std::allocator<char> >::value_type&)'
    while (!name.empty() && std::isblank(name.back())) name.pop_back();
                                                    ^
In file included from c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\string:43:0,
                 from c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\stdexcept:39,
                 from C:\Development\dolmen\core\regex.hpp:4,
                 from C:\Development\dolmen\core\regex.cpp:1:
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\bits\localefwd.h:113:5: note: candidate: template<class _CharT> bool std::isblank(_CharT, const std::locale&)
     isblank(_CharT, const locale&);
     ^
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\bits\localefwd.h:113:5: note:   template argument deduction/substitution failed:
In file included from C:\Development\dolmen\core\string_traits.hpp:9:0,
                 from C:\Development\dolmen\core\regex.cpp:2:
C:/Development/dolmen/third_party/sol.hpp:4658:52: note:   candidate expects 2 arguments, 1 provided
    while (!name.empty() && std::isblank(name.back())) name.pop_back();
                                                    ^
In file included from C:\Development\dolmen\core\helpers.cpp:8:0:
C:/Development/dolmen/third_party/sol.hpp: In function 'std::__cxx11::string sol::detail::ctti_get_type_name()':
C:/Development/dolmen/third_party/sol.hpp:4657:53: error: no matching function for call to 'isblank(__gnu_cxx::__alloc_traits<std::allocator<char> >::value_type&)'
    while (!name.empty() && std::isblank(name.front())) name.erase(name.begin());
                                                     ^
In file included from c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\string:43:0,
                 from c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\random:40,
                 from C:\Development\dolmen\core\helpers.cpp:6:
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\bits\localefwd.h:113:5: note: candidate: template<class _CharT> bool std::isblank(_CharT, const std::locale&)
     isblank(_CharT, const locale&);
     ^
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\bits\localefwd.h:113:5: note:   template argument deduction/substitution failed:
In file included from C:\Development\dolmen\core\helpers.cpp:8:0:
C:/Development/dolmen/third_party/sol.hpp:4657:53: note:   candidate expects 2 arguments, 1 provided
    while (!name.empty() && std::isblank(name.front())) name.erase(name.begin());
                                                     ^
C:/Development/dolmen/third_party/sol.hpp:4658:52: error: no matching function for call to 'isblank(__gnu_cxx::__alloc_traits<std::allocator<char> >::value_type&)'
    while (!name.empty() && std::isblank(name.back())) name.pop_back();
                                                    ^
In file included from c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\string:43:0,
                 from c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\random:40,
                 from C:\Development\dolmen\core\helpers.cpp:6:
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\bits\localefwd.h:113:5: note: candidate: template<class _CharT> bool std::isblank(_CharT, const std::locale&)
     isblank(_CharT, const locale&);
     ^
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\bits\localefwd.h:113:5: note:   template argument deduction/substitution failed:
In file included from C:\Development\dolmen\core\helpers.cpp:8:0:
C:/Development/dolmen/third_party/sol.hpp:4658:52: note:   candidate expects 2 arguments, 1 provided
    while (!name.empty() && std::isblank(name.back())) name.pop_back();
                                                    ^
C:\Development\dolmen\core\regex.cpp: In constructor 'regex::regex(const string&, int)':
C:\Development\dolmen\core\regex.cpp:19:9: error: 'snprintf' is not a member of 'std'
         std::snprintf(msg, ERROR_BUFFER_SIZE, "PCRE compilation failed at expression offset %lu: %s\n",
         ^
C:\Development\dolmen\core\regex.cpp:19:9: note: suggested alternative:
In file included from C:/Development/dolmen/third_party/lua/lauxlib.h:13:0,
                 from C:\Development\dolmen\core\string.hpp:42,
                 from C:\Development\dolmen\core\regex.hpp:6,
                 from C:\Development\dolmen\core\regex.cpp:1:
c:\mingw\include\stdio.h:453:30: note:   'snprintf'
 __cdecl __MINGW_NOTHROW  int snprintf (char *, size_t, const char *, ...);
                              ^
CMakeFiles\dolmen_core.dir\build.make:62: recipe for target 'CMakeFiles/dolmen_core.dir/core/helpers.cpp.obj' failed
[ 13%] Building CXX object CMakeFiles/dolmen_core.dir/third_party/lua/lapi.cpp.obj
mingw32-make.exe[3]: *** [CMakeFiles/dolmen_core.dir/core/helpers.cpp.obj] Error 1
mingw32-make.exe[3]: *** Waiting for unfinished jobs....
mingw32-make.exe[3]: *** [CMakeFiles/dolmen_core.dir/core/regex.cpp.obj] Error 1
CMakeFiles\dolmen_core.dir\build.make:87: recipe for target 'CMakeFiles/dolmen_core.dir/core/regex.cpp.obj' failed
CMakeFiles\dolmen_core.dir\build.make:112: recipe for target 'CMakeFiles/dolmen_core.dir/core/string.cpp.obj' failed
mingw32-make.exe[3]: *** [CMakeFiles/dolmen_core.dir/core/string.cpp.obj] Error 1
CMakeFiles\Makefile2:66: recipe for target 'CMakeFiles/dolmen_core.dir/all' failed
mingw32-make.exe[2]: *** [CMakeFiles/dolmen_core.dir/all] Error 2
mingw32-make.exe[1]: *** [CMakeFiles/dolmen.dir/rule] Error 2
CMakeFiles\Makefile2:115: recipe for target 'CMakeFiles/dolmen.dir/rule' failed
mingw32-make.exe: *** [dolmen] Error 2
Makefile:130: recipe for target 'dolmen' failed

This might be because I've included the wrong header: the one-argument version requires <cctype>, while the other requires <locale>. It might be picking up the wrong one... lemme check the code.

Alright, I include cctype properly. There's no reason MinGW should be missing the function...

Thanks for looking into it. The same code compiles with G++ on linux though. I'll try to look into it further...

Ok, ctype.h has the following macros:
#if __cplusplus >= 201103L

#ifdef _GLIBCXX_USE_C99_CTYPE_TR1

#undef isblank

namespace std
{
using ::isblank;
} // namespace std

#endif // _GLIBCXX_USE_C99_CTYPE_TR1

#endif // C++11

#endif

If I define _GLIBCXX_USE_C99_CTYPE_TR1, the code works as expected.


Upload register of Institution

We upload txt file that register institution

Register of institution

@ialisorg Please provide us with:

the school official website URL
the school street address, including city and country
an URL of a page on the official website where the school offers an IT-related long-term (>1 year) course.

@ialisorg You might miss my previous comment. Please react.

@ialisorg I am sorry, this request remains unanswered for a while. I have to close it without merging. Please reopen and comment if you have an update regarding the aforementioned issue. Thank you for your understanding!


A new post is by default scheduled in the future if user is ahead of UTC

Bug Description
When you create a new post, it is by default scheduled in the future (at least if you're in the US).
It seems to be scheduled 4 hours in the future when in EST, which corresponds to UTC.
Expected Behaviour
The initial timestamp for a new post should be created and/or interpreted in the correct timezone.
Steps to Reproduce

Change your timezone on your computer to be ahead of UTC (e.g. EST at UTC-04)
Create a new post
See that the "publish" button is actually labelled "schedule".
Go to the document panel
See that the publish date is set to 4 hours ahead of now.

Screenshots

Do not alter or remove anything below. The following sections will be managed by moderators only.
Acceptance Criteria
QA Instructions

After creating a new story in wordpress, getStoryById is used to load the unpublished story from wordpress.
getStoryById returns the story in wordpress format, which includes the 'date' field which is in the server timezone without a timezone qualifier, eg "2020-04-21T07:02:43":
https://developer.wordpress.org/rest-api/reference/posts#schema-date
To fix, the 'date_gmt' field that can be used instead:
const getStoryById = useCallback(
(storyId) => {
const path = addQueryArgs(${stories}/${storyId}, { context: edit });
return apiFetch({ path }).then((data) => {
data.date = data.date_gmt + 'Z'; // in getStoryById, or somewhere else that makes sense
delete data.date_gmt;
return data;
});
},
[stories]
);
or where getStoryById is called from:
  getStoryById(storyId).then((post) => {
    const {
      :
      date_gmt,
      :
    } = post;
    const date = `${date_gmt}Z`;


catt crashes when trying to cast youtube

pizzadude@pizzadude-thinkpad ~ $ catt cast https://www.youtube.com/watch?v=1sTHTdLaSjM
[youtube] 1sTHTdLaSjM: Downloading webpage
[youtube] 1sTHTdLaSjM: Downloading video info webpage
[youtube] 1sTHTdLaSjM: Extracting video information
[youtube] 1sTHTdLaSjM: Downloading MPD manifest
Traceback (most recent call last):
  File "/usr/local/bin/catt", line 9, in <module>
    load_entry_point('catt==0.2.0', 'console_scripts', 'catt')()
  File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 716, in __call__
    return self.main(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 696, in main
    rv = self.invoke(ctx)
  File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 1060, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 889, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 534, in invoke
    return callback(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/catt/cli.py", line 19, in cast
    stream_info = get_stream_info(video_url)
  File "/usr/local/lib/python2.7/dist-packages/catt/controllers.py", line 15, in get_stream_info
    best_format = list(format_selector(info["formats"]))[0]
  File "/usr/local/lib/python2.7/dist-packages/youtube_dl/YoutubeDL.py", line 1057, in selector_function
    for format in f(ctx):
  File "/usr/local/lib/python2.7/dist-packages/youtube_dl/YoutubeDL.py", line 1075, in selector_function
    formats = list(ctx['formats'])
TypeError: list indices must be integers, not unicode

This is on Linux Mint 18 (Ubuntu 16.04)

Does it crash for all videos? That URL works fine for me...

Does it crash for all videos? That URL works fine for me...

Yes, it does.

Hmm, what version are you running? It looks like ctx there is a list, rather than a dict, which is weird.

0.2.0 installed using pip install catt

Hmm, that's the latest version. Unfortunately, I can't reproduce it, so I don't know how to fix it :/ That video works perfectly for me. Do you have more than one chromecasts, maybe?

Something changed with youtube-dl's inner-workings as of version 2016.07.16, which I think is causing this. This is probably the culprit:  https://github.com/rg3/youtube-dl/commit/317f7ab634174666e458807fa309a2e7ba459267
@pizzadude
A temporary fix would be to revert to youtube-dl version 2016.07.13

Ah, good call, I didn't try updating my dependencies. Let me do that and revert if necessary.

A temporary fix would be to revert to youtube-dl version 2016.07.13

That fixed it. (for now) Thanks!

I can reproduce, thank you for the info, @theychx.


Add GlobalGPT support and update environment variables

GlobalGPT Service Integration Update
Update Overview
We are pleased to inform you that the OpenAI Conversion Proxy project has successfully integrated a new AI service provider, GlobalGPT. The addition of GlobalGPT brings to our users a new option of using a completely free GPT-3.5 model, ideal for practice projects or any budget-sensitive applications.
Key Update Features

GlobalGPT Integration: Provides access to GlobalGPT's completely free GPT-3.5 model.
Model Optionality: Users can now opt to use the claude3 model, including claude3-opus and claude3-sonnet, offering new flexibility with the use of the OpenAI format.

Getting Started with GlobalGPT
You can start using GlobalGPT's services by following these simple steps:

Register with GlobalGPT: Please visit GlobalGPT Registration to create your account. (https://www.glbgpt.com)
Obtain Your API Key: After registration and logging in, find your API key in the cookies section within the browser's developer console on the GlobalGPT website. This key will be needed to configure the OpenAI Conversion Proxy client for using GlobalGPT's services.

Configuration Guide
After obtaining your GlobalGPT API key, add it to the relevant section of the OpenAI Conversion Proxy client. This will enable you to immediately start leveraging the AI services provided by GlobalGPT.
wrangler.toml

GLOBALGPT_API_KEY= "xxxxxx"

Pricing and Model Considerations
While the GPT-3.5 model offered by GlobalGPT is entirely free, we would like to remind you that using the GPT-4 model may incur costs. Before deciding to use the GPT-4 model, please make sure to understand GlobalGPT's pricing policy to avoid any unexpected expenses. Currently, the price of GPT-4 is slightly higher than that of OpenAI, so please make a wise choice based on your needs and budget.

We hope this update will provide you with more choices and flexibility to meet your AI needs. We deeply appreciate your ongoing support and look forward to you benefiting from this new integration.

Test
GPT4

GPT3.5 Turbo

Claude3 Opus

Claude3 Sonnet


As a selector, I would like to review the non-Reserves CDL items so I can decide whether or not to reshelve them

Since having an item on CDL makes it unavailable for checkout or in-Library use, selectors would like to be able to decide whether to reshelve items. For reserves items, we already have a process for doing that at the end of the semester, but for non-Reserves items, they will remain on CDL indefinitely unless we have a mechanism to review and reshelve items.

That's true I forgot they are added to the CDL collection. But that isn't kept in sync with their voyager status. Something could be checked-in from the CDL user in voyager and still be in figgy's CDL collection.

Is this still a useful feature given our current use of CDL? Check with resource sharing staff.


Add configuration_template column to resource actions

https://www.pivotaltracker.com/story/show/137305047
Add polymorphic configure_template column to ResourceAction. This is needed to support the Ansible Insight project. Each entry point (Provisioning/Retirement/Reconfigurate) may have different playbook, so the playbook should tie to each ResourceAction.
We make it polymorphic so that the action is not limit to playbook, but other types such as container template or orchestration template.

@gmcculloug please review

ping @Fryguy

ping @Fryguy please review

LGTM... @gmcculloug Please merge when ready.


Getting error in the script: Conversion from JSON failed with error: Unexpected character encountered while parsing value: <. Path '', line 0, position 0.

Hello team,
I run the deployment script with the PolicySet for AADP2.
the script ran correctly and created the groups and the conditional access policies.
however, I got some errors in the deployment that I would like to highlight for your review:

For the rest, it worked correctly:

Just so you know, can you detect the errors' root cause when running the script?
best regards,

hey, @sergioandreslq. Thanks for report this.
first error is somethink i see on multiple system. it has some dependencies on the relates modules that are installed and preview version of MSGraph Module.  i try to find a solution for this in the future.
the secound error:  did you change something on the json files? pls check if one policy is not deployed.  could be that all others are deployed but one has a error


Error in creating new todo

Error in saving Todo: cannot access local variable 'new_todo_start_date_datetime_obj' where it is not associated with a value


[freetype] Build error

Host Environment

OS: Windows 10 Pro
Compiler: revision

To Reproduce
Steps to reproduce the behavior:
./vcpkg install osgearth:x64-windows
Failure logs

Cut and paste the appropriate build messages from the console output.
Call Stack (most recent call first):
scripts/cmake/vcpkg_download_distfile.cmake:273 (z_vcpkg_download_distfile_show_proxy_and_fail)
scripts/cmake/vcpkg_from_sourceforge.cmake:83 (vcpkg_download_distfile)
ports/freetype/portfile.cmake:3 (vcpkg_from_sourceforge)
scripts/ports.cmake:147 (include)

error: building freetype:x64-windows failed with: BUILD_FAILED
error: Please ensure you're using the latest port files with git pull and vcpkg update.
Then check for known issues at:
https://github.com/microsoft/vcpkg/issues?q=is%3Aissue+is%3Aopen+in%3Atitle+freetype
You can submit a new issue at:
https://github.com/microsoft/vcpkg/issues/new?template=report-package-build-failure.md&title=[freetype]+Build+error
Include '[freetype] Build error' in your bug report title, the following version information in your bug description, and attach any relevant failure logs from above.
vcpkg-tool version: 2023-01-24-8a88d63f241d391772fbde69af9cab96c3c64c75
vcpkg-scripts version: a7c0f2b2b 2023-02-03 (25 minutes ago)

Attach every failure log file mentioned in the console output.
issue_body.md

Additional context
Add any other context about the problem here, such as what you have already tried to resolve the issue.

Please make sure your network is smooth and the proxy is available.
This link has been verified locally as valid.
Downloading https://sourceforge.net/projects/freetype/files/freetype2/2.12.1/freetype-2.12.1.tar.xz/download
warning: Download failed -- retrying after 1000ms
warning: Download failed -- retrying after 2000ms
warning: Download failed -- retrying after 4000ms

We hope your question was answered to your satisfaction; if it wasn't, you can reopen with more info.


Starting Container

When I start the container I get the error listed below:
/mnt/server/cs2/game/cs2.sh: No such file or directory
here is my compose file
`version: "3.7"

services:
  cs2:
    image: soren90/cs2:latest
    container_name: cs2-ds

    environment:
      SERVER_HOSTNAME: "XXXXX"
      RCON_PASSWORD: "XXXXXX"
      IP: <IP_ADDRESS>
      PORT: 27015
      GAME_TYPE: 0
      GAME_MODE: 1
      MAP: de_inferno
      MAXPLAYERS: 12
      MAPGROUP: mg_active
      GSLT: XXXXXXXXXXXXXXXXXXXXX
      EXTRAARG: #Extra Launch options

    volumes:
      - /var/lib/docker/volumes/cstrike2:/mnt/server

    network_mode: "host"

    restart: unless-stopped
    stdin_open: true
    tty: true
  rconpanel:
    image: soren90/rcon-panel
    ports:
      - "3000:3000"
    restart: unless-stopped`

I would appreciate any suggestions.

this was opened in error


Adding vite plugins with CJS build only will result in errors

Adding vite plugins following this guide :
https://react-server.dev/guide/framework/configuration
// react-server.config.ts
import Inspect from 'vite-plugin-inspect'

export default {
  plugins: [
    Inspect(),
  ]
}

Will create what appears like a bundle (react-server.config.ts.39a5aafe.mjs) in /.react-server using react-server.config.ts as an entrypoint.
which will create an error if any plugin is or has deps with a CJS only build
Error: Dynamic require of "fs" is not supported
    at file:///C:/PROG/_experiments/_tmp/my-first-application/.react-server/react-server.config.ts.39a5aafe.mjs:1:382
    at file:///C:/PROG/_experiments/_tmp/my-first-application/.react-server/react-server.config.ts.39a5aafe.mjs:1:12396
    at file:///C:/PROG/_experiments/_tmp/my-first-application/.react-server/react-server.config.ts.39a5aafe.mjs:1:494
    at file:///C:/PROG/_experiments/_tmp/my-first-application/.react-server/react-server.config.ts.39a5aafe.mjs:12:6150
    at ModuleJob.run (node:internal/modules/esm/module_job:262:25)
    at async onImport.tracePromise.__proto__ (node:internal/modules/esm/loader:485:26)
    at async loadConfig (file:///C:/PROG/_experiments/_tmp/my-first-application/node_modules/.pnpm/@lazarv+react-server@0.0.0-experimental-1ebed9f-20240709-604f6b67_@types+node@20.14.10_react-_6c2sbkclap3cav5wojpnsvlz5i/node_modules/@lazarv/react-server/config/index.mjs:59:11)
    at async Module.dev (file:///C:/PROG/_experiments/_tmp/my-first-application/node_modules/.pnpm/@lazarv+react-server@0.0.0-experimental-1ebed9f-20240709-604f6b67_@types+node@20.14.10_react-_6c2sbkclap3cav5wojpnsvlz5i/node_modules/@lazarv/react-server/lib/dev/action.mjs:23:20)
    at async file:///C:/PROG/_experiments/_tmp/my-first-application/node_modules/.pnpm/@lazarv+react-server@0.0.0-experimental-1ebed9f-20240709-604f6b67_@types+node@20.14.10_react-_6c2sbkclap3cav5wojpnsvlz5i/node_modules/@lazarv/react-server/bin/cli.mjs:76:3

Similarly to https://github.com/IndexXuan/vite-plugin-env-compatible/issues/13

Hi @lionelhorn! First of all thank you for reporting this issue and also providing all the details!
The temporary file react-server.config.ts.39a5aafe.mjs is created in the .react-server directory because you use TypeScript in your config file and the framework needs to pre-compile it.
I quickly tested using vite-plugin-inspect in react-server.config.mjs without TypeScript and while it only inspects client components, it works on http://localhost:3000/__inspect (not on port 5173 as the default port for the framework is different)!
The plugin also works when using it from vite.config.ts, so this is clearly a TypeScript config compilation issue. I will investigate it further and fix it probably quickly.
As this framework uses the new Vite Environment API, the vite-plugin-inspect Vite plugin also needs to handle all environments and needs to be updated to provide insights in all environments, including RSC and SSR.

@lionelhorn a new version is available now on npm which should resolve this issue. To correct my statement above, vite-plugin-inspect do show some changes in it's SSR mode, but that's actually the RSC environment. There's PR in the works which will be much better for this framework, but it has breaking changes at https://github.com/antfu-collective/vite-plugin-inspect/pull/113.
For Vite specific configuration like adding plugins I would rather use vite.config.ts and I would only use react-server.config.ts/json for framework specific entries. But both should work and the choice is yours.

@lazarv Thanks for the quick fix and the PR link.
As a DX note, as we start the dev server via react-server, the usual console message indicating that Inspect is not displayed.
Vs standard vite display
  VITE v5.3.3  ready in 398 ms
  ➜  Local:   http://<IP_ADDRESS>:5174/
  ➜  Inspect: http://<IP_ADDRESS>:5174/__inspect/

It's understandable that it was not clear if it's worked or not. The framework is using Vite in middleware mode and Vite is not capable on it's own to print URLs where the server is listening on in this mode. vite-plugin-inspect is using Vite's internal  printUrls function to show where the developer can access the inspect UI. With the latest change the framework is now communicating the available URLs to Vite and calling the same printUrls function, so vite-plugin-inspect and all other plugins patching Vite's printUrls function should work properly. So please update to the latest version.
Even when you have a vite.config.ts you need to use the react-server CLI to start your application.


Follow link is not working with Memo [[Links]]

Memo: v0.3.17
VS Code Details
Version: 1.63.2
Commit: 899d46d82c4c95423fb7e10e68eba52050e30ba3
Date: 2021-12-15T09:37:28.172Z
Electron: 13.5.2
Chromium: 91.0.4472.164
Node.js: 14.16.0
V8: 9.1.269.39-electron.0
OS: Darwin x64 19.6.0
To recreate
Start a simple markdown document and try and create text with [[links]] or [[links.md]]; The text in the brackets turns blue and a "Click to create" dialog appears on mouse hover but "Cmd-click" doesn't do anything. Also, expected autocompletion isn't working.

hi, I can't reproduce this problem, does it happen with all other extensions disabled?

Hi @svsool,
I'm also having this problem in Ubuntu 20.04, with no other extensions enabled.
Best regards

That's how it goes for me on macOS with VS Code 1.63.2.

I think I've been able to determine the key factor -- the issue seems to be whether the working file (e.g. test.md) is in a  folder (i.e. ?workspace -- I'm not quite sure I've got the VS Code terminology usage correct here) or created in a non-folder situation.

If I drag an empty folder to VS Code, create a test.md document and follow the steps that @svsool does above than I'm able to create the new link.md document as show in the animation

However, if I fire up VS Code instance, create and save an empty file named test.md, and then add [[links]] I get the dialog on mouse over but I can't click to create link.md

So something about being in a folder/workspace seems to be the key to this bug.

Memo works only inside folders and workspaces, so please ensure to have one for your knowledge base.

I found another reason why this might not work in some contexts.
If you have the multiCursorModifier set to ctrlCmd in your settings it will not work:
"editor.multiCursorModifier": "ctrlCmd"

By changing this setting to alt it allows VSCode to trigger the next setting for the Ctrl+Click keybinding, which is goToDefinition, so the previous setting should look like this:
"editor.multiCursorModifier": "alt"

You also need to have this setting enabled Editor: Links

And now it works.

Another solution for Ubuntu/Unity is to change to window drag/resize keybinding from <Alt> to something else (I chose <Super>) and now the alt key works for links without changing the editor.multiCursorModifier (keeping it at ctrlCmd).
Source: https://askubuntu.com/a/521444


Error handling / future OS versions

Hi, great job on the plugin!
We're considering using it in an app on Apple/Google app stores, but we need to assess the risk of the plugin breaking with future releases of iOS/Android.
What parts of the process can produce non-recoverable errors? If the app reverts to using the default www folder after a plugin failure, that wouldn't be a big problem, but we need to carefully consider the points where the app may close or freeze.
I would look into it myself, but unfortunately I have no experience with native coding for these platforms - any insight on this matter would be much appreciated! Thanks!

Hi, thanks :)
Regarding future OS versions:
It's really hard to say. I mean, it should work properly, since the amount of the used API is not that large: only networking and working with file system. And Apple/Google not releasing breaking changes stuff: they mark old components as deprecated, but you can still use it. Otherwise, with every new release all apps could just die, which will make all users really angry. And Apple/Google doesn't want that. So I'd say - it should work with new OS versions.
But you should always test your app before new OS is out. You can always download pre-release versions of OS and check, if your app is working. That's a standard practice, I think.
Regarding error handling in the plugin:
In worst case scenario - it will revert to bundled www web content. Freezes and crashes... theoretically, if device is out of memory or free space - it can lead to crash, when plugin is copying/downloading files. If that happens - user will clean his device anyway, and it will start working properly. Network stuff should not crash the app.

Good thorough overview, thanks a lot!


Button text

This is a fantastic package! Thank you for it!!
There are 3 buttons on the right of the top bar: a lightening bolt, a trash can and a close. I'm not entirely sure what they are for, and the tooltip often doesn't show up somehow. Also is there a button to abort the build? The close button seems to only close the pane?
Thank you!

The buttons are

Lightning bolt run the active build target. Same as ctrl/cmd-alt-b.
Trash can clear the output. Any new output will be appended to the now empty build panel.
Cross close the build window. This will not terminate the process that's running. The build window can be shown again with ctrl/cmd-alt-v.

You can press escape to abort the build (by default, SIGINT will be sent. Pressing escape a second time will send SIGTERM, and a third time will send SIGKILL which guarantees process termination. Read more in the README about killSignals.

Hi @noseglid thanks for the reply! I know what they mean and I know that there are shortcuts. However, I'm hoping for some more clarity directly from the buttons so that it's a more intuitive UI. Do you think that makes sense?

I see. Perhaps some better icons or a tooltip. Added button for stopping the build would also make sense. I accept PRs.


Architecture Documentation Phase 1

Updated tickets. Review needed by the service team leads for closing out above issues.


Train test set

Codecov Report

Merging #8 (16bcbfc) into master (6f7213d) will decrease coverage by 2.55%.
The diff coverage is 15.50%.

@@            Coverage Diff             @@
##           master       #8      +/-   ##
==========================================
- Coverage   56.29%   53.73%   -2.56%
==========================================
  Files          16       16
  Lines        1144     1230      +86
==========================================
+ Hits          644      661      +17
- Misses        500      569      +69

Impacted Files
Coverage Δ

bcselector/tests/hyperparameter_selection_test.py
11.11% <0.00%> (-0.32%)
:arrow_down:

...or/tests/variable_selection_generated_data_test.py
8.21% <1.81%> (-12.62%)
:arrow_down:

bcselector/variable_selection.py
2.10% <2.50%> (-0.20%)
:arrow_down:

bcselector/tests/variable_selection_test.py
3.61% <8.69%> (+0.58%)
:arrow_up:

...lector/filter_methods/cost_based_filter_methods.py
100.00% <100.00%> (ø)

bcselector/tests/cost_based_filter_methods_test.py
99.52% <100.00%> (+0.03%)
:arrow_up:

Continue to review full report at Codecov.

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


Save/Load Game:

Do you want to have the enhancement of existing game ? 😀 Describe yourself..
Implement functionality to save and load game progress, allowing players to continue their gameplay across sessions.[Enhancement]:  I want to work on it assign me
Describe the solution you'd like
Solution steps
Select program in which you are contributing
No response
Code of Conduct

[X] I follow CONTRIBUTING GUIDELINE of this project.

@hasmithagunda123 If you have any doubt you can directly send message on our discord (https://discord.gg/rZb46cCMmK), we have created separate channals for all projects...
Thank you :)


total_visits field is being incremented on each request to /api/stats

This is a bit embarrassing, I would like to expect the immutability of this field, because this is not even the frontend interface of the application, but only an API through which I can get data received from the frontend (if we take into account only total_visits)

Caused by https://github.com/technically-functional/heartbeat/blob/1ef3b693338e19b433aa0d060abc1a7121df880b/handlers.go#L39

I think its caused by discord fetching the embed rather than the client sending a beat to the server

its not related to discord at all

I guess, the problem is caused by:
https://github.com/technically-functional/heartbeat/blob/1ef3b693338e19b433aa0d060abc1a7121df880b/api.go#L45
The != operator should be replaced with == :trollface:

This behavior is intentional. If you're using the stats to display your last seen on your GitHub profile, it counts as a visit.

I guess, the problem is caused by:
https://github.com/technically-functional/heartbeat/blob/1ef3b693338e19b433aa0d060abc1a7121df880b/api.go#L45
The != operator should be replaced with == (probably :trollface:)

No, the if statement there is to prevent self-api ticking.

Though, I do admit that my choice of the value name was probably not the most clear.

This behavior is intentional. If you're using the stats to display your last seen on your GitHub profile, it counts as a visit.

Makes sense, but stupid anyway, is it possible to add the query parameter check for it?
https://heartbeat.example.com/api/stats?countVisit=true

That is quite literally what the current query parameter is for. Sorry that the name was not clear.

Oh, I got it now.


Issues while referencing .Net 4.5.1 class libraries

I was trying out to refer class libraries .net framework 4.5.1 in Core 1.0 latest 2016 release.
in the project.json "imports": [ "dnxcore50", "net451" ,"net452"] is been taken care and the following gets added as dependencies in project.json
"Core.Framework.Testing": { "target": "project" },
I see no errors in the references but in the class file , I cant access the namespace like using Core.Framework.Testing in the class files in the same core project.
is there something which I am missing here,
Could you help me on this
Naren

Using "imports" lets you specify that something is compatible, even when it's not. And this is exactly what happens: net451 is not compatible with .Net Core, you can't use a .Net Framework 4.5.1 library from a .Net Core application.

@svick's explanation is correct. imports is used mostly for restore-time compatibility, not for build and/or run time compat.
With this, I will close this issue. @narenkv if you believe this is in error, please open a new issue on dotnet/cli repo. Thanks!

i happen to see a thread , https://github.com/dotnet/cli/issues/3199#issue-156249706
They claim that you can refer a .Net 4.5.1 from a Core Application, Could you please throw some light here please
/Naren

@narenkv That question is using ASP.NET Core and .Net Core CLI (the dotnet command), but the application is targeting .Net Framework, not .Net Core. You can use .Net Framework libraries from such application. (Yes, it's confusing.)

Hope some one posts a sample soon in github


[N03] Named return variables

Fixes

Updates Option.sol by removing named variables, declaring them locally, and returning them.
Updates Redeem.sol, TraderLib.sol, and Trader.sol in the same way.

In Option.sol, getParameters returns named variables. This is so we can keep the returned variables explicit, since there is 6 items that are returned.


Is project still active?

Hi
i just looking for django eshop, and this project look promisely
is it still active?
i am asking because of dependency django<3.1
from django 3.x only 3.2 is still alive and also it is LTS
are you planning to add support for django 3.2?
or is there any fork which continues in this project?
thanks for reply

I've been using it for quite a while. Code gets bulky and unreadable after a while, and there are no updates for the latest Django. Would recommend using Medusa or Saleor instead

Currently I am replacing django-angular against django-formset (a library which has no dependencies to any JavaScript framework). If that library is ready, I probably will replace the rendering part against HTMX.
In order to keep that project alive, it would be a really good idea to hire me as a contractor in order to build an e-commerce site using django-SHOP. This helps

to fund the project
motivate me to work on something used by others
to understand what clients really need


Update default styles for HTML tags (like h1...h6, p)

For now we have to force text-transform, because default is "uppercase". Here we can also define defaults for e.g. links.

@JuliaMiip @everPrax @manuelportela @phollome
I initially defined three standard shadows for the MVP:
DEFAULT: "0 2px 16px 0 rgba(0, 0, 0, 0.17)",
for boxes like the events feed on the landing page and the contact boxes on projects
md: "0 2px 16px 0 rgba(0, 0, 0, 0.37)",
for images like in the mint vernetzt page
lg: "0 7px 38px -4px rgba(0, 0, 0, 0.2)",
for the EventNavigation


Added Travis CI config

Had to prevent some tests that require a display from running as Travis
CI runs the build headless

Late comment. Is there any solution for using travis for display tests instead of just plain ignoring them?

I never really tried it, in my code I stub out display things (so the Image and Graphics class and such). That only works so much (but often enough).
if you really want to give it a try, you could perhaps find some clues:
here: https://docs.travis-ci.com/user/gui-and-headless-browsers/#Using-xvfb-to-Run-Tests-That-Require-a-GUI
and here: https://github.com/travis-ci/travis-ci/issues/5645
especially in the latter, there is a link to a travis.yml file which might hold some clues how to get this display thing working (opengl should work). @nguillaumin do you remember why the display tests did not work?

xfvb doesn't seem to work. I tried out a lot of things but to no avail. It seems that only LWJGL 3+ works with travis as I've read multiple people reporting this but since Slick2D doesn't support that version of LWJGL I think there is no solution. Thought I'd ask anyways.

too bad @Jasper-ketelaar - although, if you are in the mood you could help out with #21 (and that will fix your problem! ;-))

Ha! I wish I had the time for that, would be fun.

Sorry I don't remember the specifics (should have put more details in the commit message!), but I remember also trying a lot of things like @Jasper-ketelaar without succeeding...


Ignore inaccessible class child nodes

Based on the idea that was voiced in https://github.com/szepeviktor/phpstan-wordpress/issues/99#issuecomment-1112996660
It should be safe to not include private constants/properties/methods of classes. And if the class is final, protected ones can be ignored too IMO.
Fyi this only makes the wordpress-stubs around 0.1M smaller, so it won't change much in regard to parsing performance there.
What do you think?

What do you think?

I think this could be resolved in PHPStan.
The current maintenance effort is over my personal max.

the performance problems should be fixed in phpstan for sure. this PR was meant to just clean up the stubs a bit further which is not really related and makes sense anyways IMO. it could also be made configurable with a "include_inaccessible_class_nodes" config (a couple of lines more I already prepared).
but it's also fine to keep it as it is of course, this is your stubs generator :) but maybe you also want to remove the "PR welcome" message from the README then.

Martin! We were forced to for this project as we had problems.

Stubs could be modified here: https://github.com/php-stubs/wordpress-stubs/blob/master/visitor.php#L37

I'll merge this as any other person is complaining about private methods.
Okay?

To be honest I don not know what will happen by this PR.
Thousands use WP core stubs!

Actually this generator is a highly unstable project.
I do not dare to touch it!!! I'm not a businessman, I sit here at home and think.
You must be brave enough to touch daily work of thousands.

@herndlm Have you seen the actual diff?

164 insertions(+), 2959 deletions(-)

Removes lines are private methods.
Added lines are SimplePie_Core and SimplePie_Credit - How could that be?

I briefly scrolled through it, yeah. Was looking fine to me. But please let's not argue over this, if it's too risky then it shall not be touched and over :) or, as you suggested, work can be continued if more people want/need this.

I would be in favour of removing these inaccessible nodes by default. Perhaps with a config flag to not exclude them in cases where they are needed?

If it breaks anybody's code then they can ask Viktor for a refund.

with a config flag

Let's do this.

rebased on master and added the config change I had apparently lying around since May :D

Thank you!
Does --help talks about include_inaccessible_class_nodes?

I realized that what I pushed was not ready yet, now it is, including the help adaption.

but let me add a test case for that, sorry :)

Thank you.

Released as https://github.com/php-stubs/generator/releases/tag/v0.8.3

Nice one


making some changes to understand the problem

Try to fix the TS linting error on CI

I'm having a hard time trying to run cypress 11 or 10.
I think the issue is related to not loading webpack / babel loaders .
If we want to test on those cypress versions we will probably need to add some other packages for that case.
Right now I comment cypress 11 and 10 but we are all good for 12 and 13


change bot avatar dynamically.

I have created a bothandoff using https://github.com/tompaana/intermediator-bot-sample.
i am using a customized webchat  using directline. after handoff to agent i want to display the agent image.
how i can change the   botAvatarImage dynamically.

i am able to fix it.


Update Contract API docs on GitBook

https://app.gitbook.com/o/-MF3hZL1GyoSVMU3vT_P/s/XpteHgdlBmeE9YJzupcl/smart-contracts/api

The changes are in https://app.gitbook.com/o/-MF3hZL1GyoSVMU3vT_P/s/XpteHgdlBmeE9YJzupcl/~/changes/134/smart-contracts/api/vault

This has been merged


Update method on Autofac builder is obsolete

Autofac documentation says:

While Autofac provides an Update() method to update registrations in an existing container, for the most part it’s there for backwards-compatibility with Autofac 2.x. Where at all possible, you should avoid updating a container and instead register everything up front before building the container.

http://docs.autofac.org/en/latest/best-practices/index.html#consider-a-container-as-immutable
And they make Update obsolete:

Containers should generally be considered immutable. Register all of your dependencies before building/resolving. If you need to change the contents of a container, you technically should rebuild the container. This method may be removed in a future major release.

This leads to major modifications in this bootstrapper.

Yes. The current design was based around the assumption that the containers could be modified after the initial registrations. This has also caused trouble with containers like SimpleInjector, which simply doesn't allow you to do this.
We've been prototyping a bootstrapper design which doesn't have these assumptions and hopefully we'll be able to get that rolled into Nancy at some point in the future.

As I've said before though, that prototype doesn't cover all the use cases we cover. There's a key difference between something being immutable, and its API not allowing you to "change" it. Strings are immutable in .net, but that doesn't ,mean you can't do "mystring = mystring + otherstring", it just returns a new string instance - this is exactly how I'd expect containers to work that require internal immutability for performance.

@grumpydev Are you trying to say that we can't cover these use cases by having an immutable container?

@khellang

Hopefully we'll be able to get that rolled into Nancy at some point in the future.

 New year, new bootstrapper :grin:

Is this project dead?


x/tools/gopls: error loading workspace when working in the go project (go/src)

I opened vscode from go/src directory with the experimentalWorkspaceModule feature enabled , and got this work progress notification:
Error loading workspace: err: exit status 1: stderr: go build std/runtime/cgo: package using cgo has Go assembly file asm_amd64.s go build std/runtime/cgo: package using cgo has Go assembly file asm_amd64.s : packages.Load error

go version devel go1.17-8e91458b19 Fri Apr 30 20:00:36 2021 +0000 darwin/amd64

gopls's version
devel go1.17-8e91458b19 Fri Apr 30 20:00:36 2021 +0000
        path    golang.org/x/tools/gopls
        mod     golang.org/x/tools/gopls        v0.6.10 h1:8Ebz8PymS2umcuCFhoz67unyJfWsipjTIrkBUF9kypg=
        dep     github.com/BurntSushi/toml      v0.3.1  h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ=
        dep     github.com/google/go-cmp        v0.5.4  h1:L8R9j+yAqZuZjsqh/z+F1NCffTKKLShY6zXTItVIZ8M=
        dep     github.com/sergi/go-diff        v1.1.0  h1:we8PVUC3FE2uYfodKH/nBHMSetSfHDR6scGdBi+erh0=
        dep     golang.org/x/mod        v0.4.1  h1:Kvvh58BN8Y9/lBi7hTekvtMpm07eUZ0ck5pRHpsMWrY=
        dep     golang.org/x/sync       v0.0.0-20201020160332-67f06af15bc9      h1:SQFwaSi55rU7vdNs9Yr0Z324VNlrF+0wMqRXT4St8ck=
        dep     golang.org/x/sys        v0.0.0-20210124154548-22da62e12c0c      h1:VwygUrnw9jn88c4u8GD3rZQbqrP/tgas88tPUbBxQrk=
        dep     golang.org/x/tools      v0.1.1-0.20210408155258-593413344da1    h1:B+9Jhwu5uM+kDMAkoQH6IUoIoS48VbRqwLyceNdpRK8=
        dep     golang.org/x/xerrors    v0.0.0-20200804184101-5ec99f83aff1      h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE=
        dep     honnef.co/go/tools      v0.1.3  h1:qTakTkI6ni6LFD5sBwwsdSO+AQqbSIxOauHTTQKZ/7o=
        dep     mvdan.cc/gofumpt        v0.1.1  h1:bi/1aS/5W00E2ny5q65w9SnKpWEF/UIOqDYBILpo9rA=
        dep     mvdan.cc/xurls/v2       v2.2.0  h1:NSZPykBXJFCetGZykLAxaL6SIpvbVy/UFEniIfHAa8A=

gopls log
[Trace - 17:15:10.498 PM] Sending request 'initialize - (0)'.
Params: {"processId":51867,"clientInfo":{"name":"Visual Studio Code - Insiders","version":"1.56.0-insider"},"locale":"en-us","rootPath":"/Users/hakim/go_tip/go/src","rootUri":"file:///Users/hakim/go_tip/go/src","capabilities":{"workspace":{"applyEdit":true,"workspaceEdit":{"documentChanges":true,"resourceOperations":["create","rename","delete"],"failureHandling":"textOnlyTransactional","normalizesLineEndings":true,"changeAnnotationSupport":{"groupsOnLabel":true}},"didChangeConfiguration":{"dynamicRegistration":true},"didChangeWatchedFiles":{"dynamicRegistration":true},"symbol":{"dynamicRegistration":true,"symbolKind":{"valueSet":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26]},"tagSupport":{"valueSet":[1]}},"codeLens":{"refreshSupport":true},"executeCommand":{"dynamicRegistration":true},"configuration":true,"workspaceFolders":true,"semanticTokens":{"refreshSupport":true},"fileOperations":{"dynamicRegistration":true,"didCreate":true,"didRename":true,"didDelete":true,"willCreate":true,"willRename":true,"willDelete":true}},"textDocument":{"publishDiagnostics":{"relatedInformation":true,"versionSupport":false,"tagSupport":{"valueSet":[1,2]},"codeDescriptionSupport":true,"dataSupport":true},"synchronization":{"dynamicRegistration":true,"willSave":true,"willSaveWaitUntil":true,"didSave":true},"completion":{"dynamicRegistration":true,"contextSupport":true,"completionItem":{"snippetSupport":true,"commitCharactersSupport":true,"documentationFormat":["markdown","plaintext"],"deprecatedSupport":true,"preselectSupport":true,"tagSupport":{"valueSet":[1]},"insertReplaceSupport":true,"resolveSupport":{"properties":["documentation","detail","additionalTextEdits"]},"insertTextModeSupport":{"valueSet":[1,2]}},"completionItemKind":{"valueSet":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25]}},"hover":{"dynamicRegistration":true,"contentFormat":["markdown","plaintext"]},"signatureHelp":{"dynamicRegistration":true,"signatureInformation":{"documentationFormat":["markdown","plaintext"],"parameterInformation":{"labelOffsetSupport":true},"activeParameterSupport":true},"contextSupport":true},"definition":{"dynamicRegistration":true,"linkSupport":true},"references":{"dynamicRegistration":true},"documentHighlight":{"dynamicRegistration":true},"documentSymbol":{"dynamicRegistration":true,"symbolKind":{"valueSet":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26]},"hierarchicalDocumentSymbolSupport":true,"tagSupport":{"valueSet":[1]},"labelSupport":true},"codeAction":{"dynamicRegistration":true,"isPreferredSupport":true,"disabledSupport":true,"dataSupport":true,"resolveSupport":{"properties":["edit"]},"codeActionLiteralSupport":{"codeActionKind":{"valueSet":["","quickfix","refactor","refactor.extract","refactor.inline","refactor.rewrite","source","source.organizeImports"]}},"honorsChangeAnnotations":false},"codeLens":{"dynamicRegistration":true},"formatting":{"dynamicRegistration":true},"rangeFormatting":{"dynamicRegistration":true},"onTypeFormatting":{"dynamicRegistration":true},"rename":{"dynamicRegistration":true,"prepareSupport":true,"prepareSupportDefaultBehavior":1,"honorsChangeAnnotations":true},"documentLink":{"dynamicRegistration":true,"tooltipSupport":true},"typeDefinition":{"dynamicRegistration":true,"linkSupport":true},"implementation":{"dynamicRegistration":true,"linkSupport":true},"colorProvider":{"dynamicRegistration":true},"foldingRange":{"dynamicRegistration":true,"rangeLimit":5000,"lineFoldingOnly":true},"declaration":{"dynamicRegistration":true,"linkSupport":true},"selectionRange":{"dynamicRegistration":true},"callHierarchy":{"dynamicRegistration":true},"semanticTokens":{"dynamicRegistration":true,"tokenTypes":["namespace","type","class","enum","interface","struct","typeParameter","parameter","variable","property","enumMember","event","function","method","macro","keyword","modifier","comment","string","number","regexp","operator"],"tokenModifiers":["declaration","definition","readonly","static","deprecated","abstract","async","modification","documentation","defaultLibrary"],"formats":["relative"],"requests":{"range":true,"full":{"delta":true}},"multilineTokenSupport":false,"overlappingTokenSupport":false},"linkedEditingRange":{"dynamicRegistration":true}},"window":{"showMessage":{"messageActionItem":{"additionalPropertiesSupport":true}},"showDocument":{"support":true},"workDoneProgress":true},"general":{"regularExpressions":{"engine":"ECMAScript","version":"ES2020"},"markdown":{"parser":"marked","version":"1.1.0"}}},"initializationOptions":{"build.experimentalWorkspaceModule":true,"ui.diagnostic.staticcheck":true,"ui.semanticTokens":true,"ui.completion.experimentalPostfixCompletions":true,"allExperiments":true},"trace":"verbose","workspaceFolders":[{"uri":"file:///Users/hakim/go_tip/go/src","name":"src"}]}
[Trace - 17:15:10.500 PM] Received response 'initialize - (0)' in 1ms.
Result: {"capabilities":{"textDocumentSync":{"openClose":true,"change":2,"save":{}},"completionProvider":{"triggerCharacters":["."]},"hoverProvider":true,"signatureHelpProvider":{"triggerCharacters":["(",","]},"definitionProvider":true,"typeDefinitionProvider":true,"implementationProvider":true,"referencesProvider":true,"documentHighlightProvider":true,"documentSymbolProvider":true,"codeActionProvider":{"codeActionKinds":["quickfix","refactor.extract","refactor.rewrite","source.fixAll","source.organizeImports"]},"codeLensProvider":{},"documentLinkProvider":{},"workspaceSymbolProvider":true,"documentFormattingProvider":true,"documentOnTypeFormattingProvider":{"firstTriggerCharacter":""},"renameProvider":{"prepareProvider":true},"foldingRangeProvider":true,"executeCommandProvider":{"commands":["gopls.add_dependency","gopls.add_import","gopls.apply_fix","gopls.check_upgrades","gopls.gc_details","gopls.generate","gopls.generate_gopls_mod","gopls.go_get_package","gopls.list_known_packages","gopls.regenerate_cgo","gopls.remove_dependency","gopls.run_tests","gopls.test","gopls.tidy","gopls.toggle_gc_details","gopls.update_go_sum","gopls.upgrade_dependency","gopls.vendor","gopls.workspace_metadata"]},"callHierarchyProvider":true,"workspace":{"workspaceFolders":{"supported":true,"changeNotifications":"workspace/didChangeWorkspaceFolders"}}},"serverInfo":{"name":"gopls","version":"{"path":"golang.org/x/tools/gopls","version":"v0.6.10","sum":"h1:8Ebz8PymS2umcuCFhoz67unyJfWsipjTIrkBUF9kypg=","deps":[{"path":"github.com/BurntSushi/toml","version":"v0.3.1","sum":"h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ="},{"path":"github.com/google/go-cmp","version":"v0.5.4","sum":"h1:L8R9j+yAqZuZjsqh/z+F1NCffTKKLShY6zXTItVIZ8M="},{"path":"github.com/sergi/go-diff","version":"v1.1.0","sum":"h1:we8PVUC3FE2uYfodKH/nBHMSetSfHDR6scGdBi+erh0="},{"path":"golang.org/x/mod","version":"v0.4.1","sum":"h1:Kvvh58BN8Y9/lBi7hTekvtMpm07eUZ0ck5pRHpsMWrY="},{"path":"golang.org/x/sync","version":"v0.0.0-20201020160332-67f06af15bc9","sum":"h1:SQFwaSi55rU7vdNs9Yr0Z324VNlrF+0wMqRXT4St8ck="},{"path":"golang.org/x/sys","version":"v0.0.0-20210124154548-22da62e12c0c","sum":"h1:VwygUrnw9jn88c4u8GD3rZQbqrP/tgas88tPUbBxQrk="},{"path":"golang.org/x/tools","version":"v0.1.1-0.20210408155258-593413344da1","sum":"h1:B+9Jhwu5uM+kDMAkoQH6IUoIoS48VbRqwLyceNdpRK8="},{"path":"golang.org/x/xerrors","version":"v0.0.0-20200804184101-5ec99f83aff1","sum":"h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE="},{"path":"honnef.co/go/tools","version":"v0.1.3","sum":"h1:qTakTkI6ni6LFD5sBwwsdSO+AQqbSIxOauHTTQKZ/7o="},{"path":"mvdan.cc/gofumpt","version":"v0.1.1","sum":"h1:bi/1aS/5W00E2ny5q65w9SnKpWEF/UIOqDYBILpo9rA="},{"path":"mvdan.cc/xurls/v2","version":"v2.2.0","sum":"h1:NSZPykBXJFCetGZykLAxaL6SIpvbVy/UFEniIfHAa8A="}]}"}}
[Trace - 17:15:10.571 PM] Sending notification 'initialized'.
Params: {}
[Trace - 17:15:10.571 PM] Received request 'window/workDoneProgress/create - (1)'.
Params: {"token":"5577006791947779410"}
[Trace - 17:15:10.576 PM] Sending response 'window/workDoneProgress/create - (1)' in 4ms.
Result:
[Trace - 17:15:10.576 PM] Received notification '$/progress'.
Params: {"token":"5577006791947779410","value":{"kind":"begin","title":"Setting up workspace","message":"Loading packages..."}}
[Trace - 17:15:10.576 PM] Received request 'workspace/configuration - (2)'.
Params: {"items":[{"scopeUri":"file:///Users/hakim/go_tip/go/src","section":"gopls"}]}
[Trace - 17:15:10.592 PM] Sending response 'workspace/configuration - (2)' in 15ms.
Result: [{"build.experimentalWorkspaceModule":true,"ui.diagnostic.staticcheck":true,"ui.semanticTokens":true,"ui.completion.experimentalPostfixCompletions":true,"allExperiments":true}]
[Trace - 17:15:10.761 PM] Received notification 'window/logMessage'.
Params: {"type":3,"message":"2021/04/30 17:15:10 go env for /Users/hakim/go_tip/go/src\n(root /Users/hakim/go_tip/go/src)\n(go version go version devel go1.17-8e91458b19 Fri Apr 30 20:00:36 2021 +0000 darwin/amd64)\n(valid build configuration = true)\n(build flags: [])\nGOINSECURE=\nGOSUMDB=sum.golang.org\nGOMODCACHE=/Users/hakim/go/pkg/mod\nGONOPROXY=\nGOCACHE=/Users/hakim/Library/Caches/go-build\nGOPROXY=https://proxy.golang.org,direct\nGOROOT=/Users/hakim/go_tip/go\nGO111MODULE=\nGOFLAGS=\nGOMOD=/Users/hakim/go_tip/go/src/go.mod\nGOPATH=/Users/hakim/go\nGOPRIVATE=\nGONOSUMDB=\n\n"}
[Info  - 5:15:10 PM] 2021/04/30 17:15:10 go env for /Users/hakim/go_tip/go/src
(root /Users/hakim/go_tip/go/src)
(go version go version devel go1.17-8e91458b19 Fri Apr 30 20:00:36 2021 +0000 darwin/amd64)
(valid build configuration = true)
(build flags: [])
GOINSECURE=
GOSUMDB=sum.golang.org
GOMODCACHE=/Users/hakim/go/pkg/mod
GONOPROXY=
GOCACHE=/Users/hakim/Library/Caches/go-build
GOPROXY=https://proxy.golang.org,direct
GOROOT=/Users/hakim/go_tip/go
GO111MODULE=
GOFLAGS=
GOMOD=/Users/hakim/go_tip/go/src/go.mod
GOPATH=/Users/hakim/go
GOPRIVATE=
GONOSUMDB=
[Trace - 17:15:13.684 PM] Received notification 'window/logMessage'.

Params: {"token":"5577006791947779410","value":{"kind":"end","message":"Finished loading packages."}}
[Trace - 17:15:13.685 PM] Received request 'client/registerCapability - (3)'.
Params: {"registrations":[{"id":"workspace/didChangeWatchedFiles-0","method":"workspace/didChangeWatchedFiles","registerOptions":{"watchers":[{"globPattern":"**/*.{go,mod,sum}","kind":7},{"globPattern":"{/Users/hakim/go_tip/go/src/cmd}","kind":7}]}}]}
[Trace - 17:15:13.685 PM] Received notification 'window/logMessage'.

Result:
[Trace - 17:15:13.691 PM] Sending response 'window/workDoneProgress/create - (4)' in 5ms.
Result:
[Trace - 17:15:13.692 PM] Received request 'client/registerCapability - (5)'.
Params: {"registrations":[{"id":"workspace/didChangeConfiguration","method":"workspace/didChangeConfiguration"},{"id":"workspace/didChangeWorkspaceFolders","method":"workspace/didChangeWorkspaceFolders"},{"id":"textDocument/semanticTokens","method":"textDocument/semanticTokens","registerOptions":{"legend":{"tokenTypes":["namespace","type","class","enum","interface","struct","typeParameter","parameter","variable","property","enumMember","event","function","member","macro","keyword","modifier","comment","string","number","regexp","operator"],"tokenModifiers":["declaration","definition","readonly","static","deprecated","abstract","async","modification","documentation","defaultLibrary"]},"range":true,"full":true}}]}
[Trace - 17:15:13.692 PM] Received notification '$/progress'.

Result:

You're in experimental workspace module mode. I don't think we've ever tested it with the standard library, and clearly it doesn't work. In retrospect, that's not surprising: it's not remotely possible to write replace std /path in a go.mod and get anything reasonable.
Perhaps we can easily special-case the standard library; it is valid to run go list std cmd (not std/... cmd/...) and get results that should work with the workspace module code.

Thanks for taking a look, @heschi!
The go project repo contains multiple modules. It will be helpful if go project contributors who work on multiple modules (std, cmd..) at once can utilize multi-module repo support when using gopls. Since go command already does something special about the modules there, I think it makes sense to special case the go project.
cc @matloob to see if this is something worth discussing in his go.work proposal.

It's possible to workaround this issue by running:
go clean -cache

It also seems possible to reproduce it on a smaller scale with just:
go build std/runtime/cgo

For the go project, we recommend using the new go.work mechanism instead of experimental workspace module.
With gopls v0.8.0-pre.2 or newer,
$ cd src
$ go work init . ./cmd

As part of https://github.com/golang/go/issues/51206 effort, we will add the instruction for the Go project contributors.


This GfxDevice does not support asynchronous readback

My guess is that this is because I'm using Linux Unity, but on Play my game window does not show the ocean being rendered and I get this in the debugger.
This GfxDevice does not support asynchronous readback UnityEngine.Rendering.AsyncGPUReadback:Request(Texture, Int32, Action1) Crest.GPUReadbackBase1:EnqueueReadbackRequest(RenderTexture, RenderData, Single) (at Assets/Crest/Scripts/GPUReadback/GPUReadbackBase.cs:200) Crest.GPUReadbackBase1:ProcessRequestsInternal(Boolean) (at Assets/Crest/Scripts/GPUReadback/GPUReadbackBase.cs:168) Crest.GPUReadbackBase1:Update() (at Assets/Crest/Scripts/GPUReadback/GPUReadbackBase.cs:86)
I am however able to see the ocean in the scene window when in game mode.
Was just curious if anyone has had this issue an know if theres a fix/workaround to see the ocean in the game window.
Thanks!

Oh interested. Which GPU are you using?
You could try creating an asset of type Crest/Animated Wave Settings by right clicking in the project view, set the collision source to None or CPU, assign this asset to the OceanRenderer script to apply it. This should stop it trying to do GPU readback. The downside is this will either disable physics if you set it to None, or if you use CPU it will be limited to open ocean waves (collision wont work properly in shallow water).

I just gave this a try too.  I got the same error (I'm using a Vega 64), but it's fine if I switch the editor to Vulkan instead of OpenGL.
I do get this in Vulkan, though:
SetTextures: missing texture ID 755
UnityEngine.Graphics:ExecuteCommandBuffer()
Crest.BuildCommandBuffer:LateUpdate() (at Assets/Crest/Scripts/BuildCommandBuffer.cs:74)

7 of those errors (I assume one for each LOD?).  Everything looks like it's working, though.

Thanks @Midda-C . That 755 i guess is the parameter ID for one of the textures. This is generated at runtime. Could I please get a the log from a run with a Debug.log statement added to LodTransform.cs shown below:
public static void CreateParamIDs(ref int[] ids, string prefix)
{
    int count = 2;
    ids = new int[count];
    for (int i = 0; i < count; i++)
    {
        ids[i] = Shader.PropertyToID(string.Format("{0}{1}", prefix, i));
        Debug.Log("Texture ID: " + string.Format("{0}{1}", prefix, i) + " = " + ids[i]);
    }
}

I'm using a GTX 1050. I'll switch to CPU and see if I can use it in limited capacity. I tried switching player settings explicitly to both OpenGLCore and Vulkan but had the issue with both. Maybe I changed the settings wrong. Thanks for the tips and looking into it!
On Sun, Mar 17, 2019, 7:39 AM Huw Bowles <notifications<EMAIL_ADDRESS>wrote:
Thanks @Midda-Chttps://github.com/Midda-C . That 755 i guess is the parameter ID for one of the textures. This is generated at runtime. Could I please get a the log from a run with a Debug.log statement added to LodTransform.cs shown below:
public static void CreateParamIDs(ref int[] ids, string prefix)
{
int count = 2;
ids = new int[count];
for (int i = 0; i < count; i++)
{
ids[i] = Shader.PropertyToID(string.Format("{0}{1}", prefix, i));
Debug.Log("Texture ID: " + string.Format("{0}{1}", prefix, i) + " = " + ids[i]);
}
}
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/huwb/crest-oceanrender/issues/199#issuecomment-473671774, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ABFPQWAL-fCIhx8fpl-0TW-jZZy5gOj1ks5vXlOMgaJpZM4b4OKc.

No worries, here's my editor log.  Took me a moment to find where it hides on Linux. :P
Editor.log

I could also get the errors running with Vulkan enabled on windows.
I seem to have narrowed it down to where it does the foam update. It seems to generate errors when it samples the previous frame's foam values.
It seems to only generate the errors once. Everything renders fine and if i look at a renderdoc everything looks ok. Those texture IDs that it reports have numbers larger than any of my texture samplers. There errors seem to get generated precisely once and theres no errors in renderdoc.
I found a way to interrogate what some of these names are - by calling Material.GetTexture() with the IDs. I get nonsense results when i call this on the foam update material:
619: LoResAO2
621: HiResAO
1736:
1781:
This doesnt really make it clearer. I would however expect that low texture ID's in the 600s would be engine textures (the crest texture IDs start from 800-900).
I don't really get what any of this means tbh - its tempting to say its a bug in the vulkan backend where stuff wasnt initialised properly, but it all goes away if i knock out the foam sim...
It would be interesting to know if enabling the foam sim after startup also makes the error. Right now its not posssible to turn the foam sim on halfway through but that would be a desirable feature that i could potentially add. Besides that i'll think about other ideas.

Hi, I got this error when executing code in webgl
This GfxDevice does not support asynchronous readback

(Filename: ./Runtime/GfxDevice/GfxDevice.cpp Line: 1625)

It should works with WebGL or not ?
I tried the answer of @huwb with an new Crest/Animated Wave Settings asset, choosing CPU or None but i got the same error.

I succeed creating an SimSettingsFlow  and disable "Readback Data"
But when I compile for desktop all is ok
When I compile for WebGL there are no waves :(

Hi sorry i've not replied before now. Could you please file a new issue. The issue tempalte will ask for version and screenshot and log and all that jazz. One more thing - I pushed changes in the last week or two that change how the rendering works a bit, could you get latest if you don't already have it. Thanks!

For the record, I now have everything working fine on Linux using Vulkan (except shadows), which is now my primary development platform (which should help prevent things from regressing).
This is as-of Unity 2018.4.

We're no longer supporting OpenGL. Its possible/probable that crest can work on opengl with a few fixes, but we are deprioritising supporting this platform.

#280 makes Vulkan the default API on Linux.

Thanks All! Y'all are awesome


[DEV] split Helm values file into multiple files to support multiple Kubernetes environments

Currently there is a single values.yaml file for the Helm charts that deploy OCHAMI services. Those values expect a Google Kubernetes Engine (GKE) environment, and have annotations targeting that environment which, in any other Kubernetes environment will, at best, be ignored, and at worst, break the deployment.
Helm supports specifying values files with the -f flag to helm install, and multiple values files can be specified in a single invocation. So let's split the existing values file into one for GKE and one for CSM, which is somewhat closer to a "plain" Kubernetes environment than GKE.
I don't have access to a completely unmodified Kubernetes environment so I am not sure how to write a values file targeting that environment. But hopefully some combination of the GKE and CSM values files will get pretty close.

I don't have access to a completely unmodified Kubernetes environment

https://kind.sigs.k8s.io/ generally works well enough for this--there's not really any true "vanilla" Kubernetes, but KiND doesn't have any cloud provider. I usually use it via my previous job's test instance builder, primarily to set up metallb.
We don't currently have much that's GKE-specific other than the default GatewayClass, but there no provider-agnostic option there. There was a request to add support for indicating a default GatewayClass at the cluster level. It's currently not planned, but may reopen.

We do probably want to move Gateway configuration into a separate key, and reserve the GKE key for only resources that are GKE-specific. Gateway isn't provider-specific, it's bound to some provider-specific GatewayClass outside the chart.
Do we indeed want separate Gateways for different services? We currently spawn separate Gateway (effectively, separate LoadBalancer Services) resources for krakend and lighttpd, but both use the single gke.gateway key.
If we don't need separate Gateways (for network-level isolation, different TLS parameters, or avoiding TCP/UDP listener port collisions) and can multiplex by HTTP hostname, I'd say create gateway key that spawns a single resource. If we do want those separate, we'd want separate lighttpd.gateway and krakend.gateway keys.

KTF looks great!  Do you have examples of using it as part of an integration test flow with GitHub actions?

Not sure why my KinD deploys earlier didn't catch it, but the storageClassName setting in postgres and lighttpd can cause issues.
I don't see any always available class in the docs other than unspecified, which uses whatever the cluster marks as the default.
The current value is the default on some GKE clusters. It is not available in KinD.
We can probably just remove it, but it needs to be exposed in values.yaml and defaulted to empty if we keep it.