Permissions not set on ArcGIS Server config-store when updating service account

Community Note

Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request

Module Version

3.1.0

Affected Resource(s)

ArcGIS_Server

Configuration Files

Anonymous10_8_1Deployment.txt
Expected Behavior
Service account running the various services should be updated without any error and permissions to required folders should be set.
Actual Behavior
Apply configuration failed because ArcGIS Server config-store folder permissions are not updated
Steps to Reproduce

Install ArcGIS Enteprise 10.8.1 with a service account
Update the service account username and password
Run the configuration

Important Factoids
The following error appears:
Starting DSC Job:- ArcGISServer
VERBOSE: Time taken for configuration job to complete is 0.01 seconds
10-Aug-20 5:02:50 PM: [AGS01]: LCM:  [ Start  Set      ]
10-Aug-20 5:02:50 PM: [AGS01]: LCM:  [ Start  Resource ]  [[ArcGIS_xFirewall]Server_FirewallRules]
10-Aug-20 5:02:50 PM: [AGS01]: LCM:  [ Start  Test     ]  [[ArcGIS_xFirewall]Server_FirewallRules]
10-Aug-20 5:02:50 PM: [AGS01]: LCM:  [ End    Test     ]  [[ArcGIS_xFirewall]Server_FirewallRules]  in 1.4200 seconds.
10-Aug-20 5:02:50 PM: [AGS01]: LCM:  [ End    Resource ]  [[ArcGIS_xFirewall]Server_FirewallRules]
10-Aug-20 5:02:50 PM: [AGS01]: LCM:  [ Start  Resource ]  [[ArcGIS_WindowsService]ArcGIS_for_Server_Service]
10-Aug-20 5:02:50 PM: [AGS01]: LCM:  [ Start  Test     ]  [[ArcGIS_WindowsService]ArcGIS_for_Server_Service]
10-Aug-20 5:02:50 PM: [AGS01]: LCM:  [ End    Test     ]  [[ArcGIS_WindowsService]ArcGIS_for_Server_Service]  in 0.0510 seconds.
10-Aug-20 5:02:50 PM: [AGS01]: LCM:  [ End    Resource ]  [[ArcGIS_WindowsService]ArcGIS_for_Server_Service]
10-Aug-20 5:02:50 PM: [AGS01]: LCM:  [ Start  Resource ]  [[ArcGIS_Service_Account]Server_RunAs_Account]
10-Aug-20 5:02:50 PM: [AGS01]: LCM:  [ Start  Test     ]  [[ArcGIS_Service_Account]Server_RunAs_Account]
10-Aug-20 5:02:50 PM: [AGS01]: LCM:  [ End    Test     ]  [[ArcGIS_Service_Account]Server_RunAs_Account]  in 0.0420 seconds.
10-Aug-20 5:02:50 PM: [AGS01]: LCM:  [ End    Resource ]  [[ArcGIS_Service_Account]Server_RunAs_Account]
10-Aug-20 5:02:50 PM: [AGS01]: LCM:  [ Start  Resource ]  [[ArcGIS_Server]ServerAGS01]
10-Aug-20 5:02:50 PM: [AGS01]: LCM:  [ Start  Test     ]  [[ArcGIS_Server]ServerAGS01]
10-Aug-20 5:02:50 PM: [AGS01]: LCM:  [ End    Test     ]  [[ArcGIS_Server]ServerAGS01]  in 0.1450 seconds.
10-Aug-20 5:02:50 PM: [AGS01]: LCM:  [ Start  Set      ]  [[ArcGIS_Server]ServerAGS01]
10-Aug-20 5:02:50 PM: [AGS01]: LCM:  [ End    Set      ]  [[ArcGIS_Server]ServerAGS01]  in 0.2920 seconds.
10-Aug-20 5:02:50 PM: [AGS01]: LCM:  [ End    Set      ]
Trace-DSCJob : PowerShell DSC resource ArcGIS_Server  failed to execute Set-TargetResource functionality with error message: ERROR: ArcGISUtility.psm1 failed. Error saving the logSettings to
file Error saving the logSettings to file
At C:\Program Files\WindowsPowerShell\Modules\ArcGIS\ArcGIS.psm1:241 char:5
+     Trace-DSCJob -Job $Job -JobName $ConfigurationName -DebugMode $De ...
+     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Write-Error], WriteErrorException
    + FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,Trace-DSCJob

Trace-DSCJob : The SendConfigurationApply function did not succeed.
At C:\Program Files\WindowsPowerShell\Modules\ArcGIS\ArcGIS.psm1:241 char:5
+     Trace-DSCJob -Job $Job -JobName $ConfigurationName -DebugMode $De ...
+     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Write-Error], WriteErrorException
    + FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,Trace-DSCJob

Run again the configuration led to the same error again.
In the log verbose:
[AGS01]: LCM:  [ Start  Resource ]  [[ArcGIS_WindowsService]ArcGIS_for_Server_Service]
[AGS01]: LCM:  [ Start  Test     ]  [[ArcGIS_WindowsService]ArcGIS_for_Server_Service]
[AGS01]: LCM:  [ End    Test     ]  [[ArcGIS_WindowsService]ArcGIS_for_Server_Service]  in 0.0510 seconds.
[AGS01]: LCM:  [ Skip   Set      ]  [[ArcGIS_WindowsService]ArcGIS_for_Server_Service]
[AGS01]: LCM:  [ End    Resource ]  [[ArcGIS_WindowsService]ArcGIS_for_Server_Service]
[AGS01]: LCM:  [ Start  Resource ]  [[ArcGIS_Service_Account]Server_RunAs_Account]
[AGS01]: LCM:  [ Start  Test     ]  [[ArcGIS_Service_Account]Server_RunAs_Account]
[AGS01]:                            [[ArcGIS_Service_Account]Server_RunAs_Account] RunAsAccount Username:- COMPANY\serviceaccount
[AGS01]:                            [[ArcGIS_Service_Account]Server_RunAs_Account] Install Dir for ArcGIS Server is C:\Program Files\Arcgis\Server\
[AGS01]:                            [[ArcGIS_Service_Account]Server_RunAs_Account] Testing Permission for User COMPANY\serviceaccount on Directory C:\Program Files\Arcgis\Server\
[AGS01]:                            [[ArcGIS_Service_Account]Server_RunAs_Account] Checking Permissions on C:\arcgisserver\directories
[AGS01]:                            [[ArcGIS_Service_Account]Server_RunAs_Account] Testing Permission for User COMPANY\serviceaccount on Directory C:\arcgisserver\directories
[AGS01]:                            [[ArcGIS_Service_Account]Server_RunAs_Account] Checking Permissions on D:\arcgisserver\directories\arcgiscache
[AGS01]:                            [[ArcGIS_Service_Account]Server_RunAs_Account] Testing Permission for User COMPANY\serviceaccount on Directory D:\arcgisserver\directories\arcgiscache
[AGS01]:                            [[ArcGIS_Service_Account]Server_RunAs_Account] Checking Permissions on C:\arcgisserver\directories\arcgisjobs
[AGS01]:                            [[ArcGIS_Service_Account]Server_RunAs_Account] Testing Permission for User COMPANY\serviceaccount on Directory C:\arcgisserver\directories\arcgisjobs
[AGS01]:                            [[ArcGIS_Service_Account]Server_RunAs_Account] Checking Permissions on C:\arcgisserver\directories\arcgisoutput
[AGS01]:                            [[ArcGIS_Service_Account]Server_RunAs_Account] Testing Permission for User COMPANY\serviceaccount on Directory C:\arcgisserver\directories\arcgisoutput
[AGS01]:                            [[ArcGIS_Service_Account]Server_RunAs_Account] Checking Permissions on C:\arcgisserver\directories\arcgissystem
[AGS01]:                            [[ArcGIS_Service_Account]Server_RunAs_Account] Testing Permission for User COMPANY\serviceaccount on Directory C:\arcgisserver\directories\arcgissystem
[AGS01]:                            [[ArcGIS_Service_Account]Server_RunAs_Account] Checking Permissions on C:\arcgisserver\logs
[AGS01]:                            [[ArcGIS_Service_Account]Server_RunAs_Account] Testing Permission for User COMPANY\serviceaccount on Directory C:\arcgisserver\logs
[AGS01]:                            [[ArcGIS_Service_Account]Server_RunAs_Account] Checking Permissions on C:\arcgisserver\local
[AGS01]:                            [[ArcGIS_Service_Account]Server_RunAs_Account] Testing Permission for User COMPANY\serviceaccount on Directory C:\arcgisserver\local
[AGS01]: LCM:  [ End    Test     ]  [[ArcGIS_Service_Account]Server_RunAs_Account]  in 0.0420 seconds.
[AGS01]: LCM:  [ Skip   Set      ]  [[ArcGIS_Service_Account]Server_RunAs_Account]
[AGS01]: LCM:  [ End    Resource ]  [[ArcGIS_Service_Account]Server_RunAs_Account]
[AGS01]: LCM:  [ Start  Resource ]  [[ArcGIS_Server]ServerAGS01]
[AGS01]: LCM:  [ Start  Test     ]  [[ArcGIS_Server]ServerAGS01]
[AGS01]:                            [[ArcGIS_Server]ServerAGS01] Fully Qualified Domain Name :- AGS01.company.com
[AGS01]:                            [[ArcGIS_Server]ServerAGS01] Checking for site on 'https://AGS01.company.com:6443'
[AGS01]:                            [[ArcGIS_Server]ServerAGS01] Site Exists. Was able to retrieve token for PSA
[AGS01]:                            [[ArcGIS_Server]ServerAGS01] Response from GetLogSettings:-
[AGS01]:                            [[ArcGIS_Server]ServerAGS01] Current Log Level WARNING
[AGS01]:                            [[ArcGIS_Server]ServerAGS01] Current Server Log Directory C:\arcgisserver\logs\ not set to 'C:\arcgisserver\logs'
[AGS01]: LCM:  [ End    Test     ]  [[ArcGIS_Server]ServerAGS01]  in 0.1450 seconds.
[AGS01]: LCM:  [ Start  Set      ]  [[ArcGIS_Server]ServerAGS01]
[AGS01]:                            [[ArcGIS_Server]ServerAGS01] Site Administrator UserName:- user
[AGS01]:                            [[ArcGIS_Server]ServerAGS01] Fully Qualified Domain Name :- AGS01.company.com
[AGS01]:                            [[ArcGIS_Server]ServerAGS01] Waiting for Server 'https://AGS01.company.com:6443/arcgis/admin' to initialize
[AGS01]:                            [[ArcGIS_Server]ServerAGS01] Skipping hostname configuration
[AGS01]:                            [[ArcGIS_Server]ServerAGS01] https://github.com/Esri/arcgis-powershell-dsc/issues/132
[AGS01]:                            [[ArcGIS_Server]ServerAGS01] Version of ArcGIS Server is 10.8.14362
[AGS01]:                            [[ArcGIS_Server]ServerAGS01] Version of ArcGIS Server does not require removal of EC2 Listener from NodeAgent xml file
[AGS01]:                            [[ArcGIS_Server]ServerAGS01] Checking for site on 'https://AGS01.company.com:6443'
[AGS01]:                            [[ArcGIS_Server]ServerAGS01] Waiting for Server 'https://AGS01.company.com:6443/arcgis/admin' to initialize
[AGS01]:                            [[ArcGIS_Server]ServerAGS01] Waiting for Url https://AGS01.company.com:6443/arcgis/admin
[AGS01]:                            [[ArcGIS_Server]ServerAGS01] Url is OK
[AGS01]:                            [[ArcGIS_Server]ServerAGS01] Get Single Cluster Mode Setting
[AGS01]:                            [[ArcGIS_Server]ServerAGS01] Current Single Cluster Mode @{singleClusterMode=True}
[AGS01]:                            [[ArcGIS_Server]ServerAGS01] Waiting for Server 'https://AGS01.company.com:6443/arcgis/admin' to initialize
[AGS01]:                            [[ArcGIS_Server]ServerAGS01] Ensuring Log Level WARNING
[AGS01]:                            [[ArcGIS_Server]ServerAGS01] Response from GetLogSettings:-
[AGS01]:                            [[ArcGIS_Server]ServerAGS01] Current Log Level:- WARNING
[AGS01]:                            [[ArcGIS_Server]ServerAGS01] Updating log level to WARNING, log dir to C:\arcgisserver\logs and usageMeteringEnabled to False
[AGS01]: LCM:  [ End    Set      ]  [[ArcGIS_Server]ServerAGS01]  in 0.2920 seconds.
[AGS01]: LCM:  [ End    Set      ]
Operation 'Invoke CimMethod' complete.

In the log error:
PowerShell DSC resource ArcGIS_Server  failed to execute Set-TargetResource functionality with error message: ERROR: ArcGISUtility.psm1 failed. Error saving the logSettings to file Error saving the logSettings to file
The SendConfigurationApply function did not succeed.

Looking at the log, I saw that permissions were not applied on C:\arcgisserver\config-store.
So I added manually the permissions to service account, run the configuration: it worked.
References

@Biboba could you elaborate a bit more on how step 2 (Update the service account username and password) was performed?
For example, was Configure ArcGIS Server Account utility  used to update it, or manual configuration in serverices.msc? The reason I ask is, it's recommended to use the utility:
"Use this utility instead of trying to manually change the ArcGIS Server account with your operating system tools. The utility is designed to apply permissions to all necessary directories"
https://enterprise.arcgis.com/en/server/latest/install/windows/the-arcgis-server-account.htm#ESRI_SECTION1_0F6C4F96AA1D4121872A381B0B59A4C8
There is also an enhancement request to add the ability to update the service account within the module:
https://github.com/Esri/arcgis-powershell-dsc/issues/249

Thanks for your quick reply @cameronkroeker.
What I meant by "update the service account username and password" is changing the username and password value of the service account in the configuration file.
"Credentials": {
            "ServiceAccount": {
                "Password": "newpassowrd",
                "UserName": "COMPANY\\newserviceaccount",
                "IsDomainAccount": true
            }
        }

No other operation has been performed.
On a side note, I noticed that permission on Python27 folder is not set as well contrary to what is stated in the documentation:
https://enterprise.arcgis.com/en/server/latest/administer/windows/the-arcgis-server-account.htm#ESRI_SECTION1_453BDC7A97964BEBB2FF92B1995F0539

Thanks for your quick reply @cameronkroeker.
What I meant by "update the service account username and password" is changing the username and password values of the service account in the configuration file.
"Credentials": {
            "ServiceAccount": {
                "Password": "newpassword",
                "UserName": "COMPANY\\newserviceaccount",
                "IsDomainAccount": true
            }
        }

No other operation has been performed.
In #249, I only mentioned the password update. In the current issue, I am updating the user service account and as a consequence its password as well. It does work well on Portal for ArcGIS and data store. The only missing piece for ArcGIS Server is the permissions on the config-store not being updated.
On a side note, I noticed that permission on Python27 folder is not set as well contrary to what is stated in the documentation:
https://enterprise.arcgis.com/en/server/latest/administer/windows/the-arcgis-server-account.htm#ESRI_SECTION1_453BDC7A97964BEBB2FF92B1995F0539

Thanks for the clarification. Currently the module doesn't support this. Currently, the run-as account gets updated after installation, but prior to create site so once the site has been created changing the service account may require additional or different logic. However, I think this can be included in the existing enhancement request, which is still being evaluated. For now I recommend using the portal/server/ds configure account utilities to change/update the service account.
And as for the side note about Python27 directory, are you saying the permissions aren't set during the original dsc run or are you only referring to when the account is changed the permissions aren't being updated on Python27?

Thanks for the clarification.
Good to know that it is not supported. I will run portal/server/ds configure account utilities.
Regarding Python27, I was only referring to when the account is changed.
Thanks. I will close this issue and slightly update #249.


Add UpdateKey method

Pull Request
What does this PR do?
Fixes #218
PR checklist
Please check if your PR fulfills the following requirements:

[X] Does this PR fix an existing issue?
[X] Have you read the contributing guidelines?
[X] Have you made sure that the title is accurate and descriptive of the changes?

Thank you so much for contributing to Meilisearch!

According to the documentation on updating a key :

Update the description, permissions, or expiration date of an API key. To learn more about the variables sent in the body of the request, see the create key endpoint.

Updates to keys are partial. This means you should provide only the fields you intend to update, as any fields not present in the payload will remain unchanged.

We have to be careful with strongly typed language and the expiry date of a key.
The JsonSerializerOptions removes null values which is fine for all fields except the ExpiresAt. Setting this field to null has a real meaning (not expiring).
Right now I have modified the Key object like this :
public class Key
{
    /// <summary>
    /// Create a key whith an expiry date. Pass null if it's not expiring.
    /// </summary>
    /// <param name="expiresAt">Expiry date.</param>
    public Key(DateTime? expiresAt)
    {
        ExpiresAt = expiresAt;
    }

    /// <summary>
    /// Gets or sets the date when the API key expires.
    /// </summary>
    [JsonIgnore(Condition = JsonIgnoreCondition.Never)]
    public DateTime? ExpiresAt { get; private set; }

    /// <summary>
    /// Update the key expiry date to a new one. Pass null if you want it to never expires.
    /// </summary>
    /// <param name="expiresAt">New expiry date.</param>
    public void SetExpiresAt(DateTime? expiresAt)
    {
        ExpiresAt = expiresAt;
    }
}

I added a new constructor where you have to pass the ExpiryDate
I decorated the ExpiresAt field with  [JsonIgnore(Condition = JsonIgnoreCondition.Never)] in order to tell the serializer to always send this value even if it's null.
I added the method public void SetExpiresAt(DateTime? expiresAt) to make sure that if a user want to change the expiry date he understands what he is going to do.
Do you think the developer experience will be good or do you have a better idea ?

I think it'd be good to seperate the API actions, nullable expires at and updateKey into seperate PR's if possible :) Nice and clean and revertable. Otherwise it looks good to me I think!

I think it'd be good to seperate the API actions, nullable expires at and updateKey into seperate PR's if possible :) Nice and clean and revertable. Otherwise it looks good to me I think!

This is an option, I'm not sure this is the way to go.
@curquiza @brunoocasali according to Meiliseach documentation, if a key has a null value for ExpiresAt, it means that it will never expires.
Why not having an ExpirysAt value far in the future for this instead of a null values ? JsonSerializer can be tricky for other clients with strongly typed languages.
Forcing a value to be defined on the server would make it clear for everyone on when the key will expire. (Azure portal manage keys like that)

I had a nice discussion with @gmourier about this issue.
I'll close it for now and recreate one when the last arbitrages will be made.


fix(sql): handle commit/rollback error when tracing transcation

Now, sql plugin will close a span when commit/rollback returns error, it may call span.End() repeatly and cause a panic, we want return the database/sql errors to the upper instead of get a panic.
Add defer function to handle the return error and will not call span.End() when error is not nil
fix #38

How about add the error message to the span and close it even the commit failed, to avoid unexpected panic, this may need add a method like span.IsEnd() to check if the  transcation span is closed. If we don't call span.End() when commit failed, the previous related span in this transcation period may not be reported.

Now, sql plugin will close a span when commit/rollback returns error, it may call span.End() repeatly and cause a panic, we want return the database/sql errors to the upper instead of get a panic.
Add defer function to handle the return error and will not call span.End() when error is not nil

I think we should consider separating the span, because as you mentioned in the codes, if there is connection leak(commit error, but no rollback called) or rollback fails, the span wouldn't be closed as expected, which is unexpected.
The tracing system is designed to tell the truth, rather than not working as well as original codes.
You could check the SkyWalking Java agent's JDBC plugin, commit and rollback have there own spans, then no panic and always presents the complete trace.

Please hold this PR, we consider using separate Begin/Commit/Rollback span instead of the Tx span, in addition, there are two considerations may need to discuss:

After using the separate span, the trace will not show the entire execution process for each transcation directly, for example, understanding one transcation cost time will become difficult
Span validity check is also needed in this PR, even in septarate tx span, we need to ensure the parent span is still valid when start a new span to avoid panic, I can improve this in another PR

After using the separate span, the trace will not show the entire execution process for each transcation directly, for example, understanding one transcation cost time will become difficult

You could calculate the whole time by using tag or log in the span, such as commit or rollback. Also, the backend provides the logic endpoint concept(logic name + duration in tags) for you to measure things like this.

Span validity check is also needed in this PR, even in septarate tx span, we need to ensure the parent span is still valid when start a new span to avoid panic, I can improve this in another PR

You could make the choice whether in this PR or through another one.


Fetching data

can 'you specify in which js page we can have the DB call for fetching the menu data?

@Armaan23 WTF?

Nothing related to this library ...


Can we release a new version without HIGH/CRITICAL CVEs?

https://github.com/zilliztech/attu/pull/515/files, this PR fixes the CVEs of axios packages, can we release a new version without CVEs?

I will release one in two days.

Thanks for your great help.

new version released.  https://github.com/zilliztech/attu/releases/tag/v2.4.7

So could you help build into helm?


Allow multiple docker engines/mesos slaves in the mesos tests

:balloon: :balloon: :balloon: :balloon: :balloon:

ping @aluzzardi @abronan

ping @tnachen

LGTM

LGTM :facepunch:

Minor comments
Otherwise, LGTM

@vieux this should be ready right?

@tnachen yes, it was depending on another PR that I just merged.


Fixing few things

Hi @raunakpandya, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!

It looks like you're working at Microsoft (raunakp). If you're full-time, we DON'T require a contribution license agreement.

If you are a vendor, DO please sign the electronic contribution license agreement. It will take 2 minutes and there's no faxing! https://cla.azure.com.

TTYL, AZPRBOT;

@raunakpandya : Thanks for your contribution to the Azure documentation! The author, @seanmck, has been notified to review your proposed change.

I'm fixing these in a separate PR. You can close.


Add forums to the site

Let's use Vanilla Forums: http://vanillaforums.org/. Break this issue into smaller ones if applicable.
Forums will link from the Documentation navigation section of DEVELOP. (Will attach screenshots.)

The forums are up on forums.singly.com; #691 has details for linking to there from the new develop section navigation.


Extend Response of the API

How can I extend the response of the api
for eg: Add User Data in it

Can you describe your needs in a more detailed manner? What exactly do you need? Please use images for better describing your needs.

Hi @futurbotconsolidated,
Can you be more descriptive here, please?

@wagnerdelima As now, We are getting only 4 data attributes which are access_token,Refresh_token, Expiry and one more. But extend to this, while we login, It would be better if could get user data like username,firstname, profile_picture or any other data we require in the response. Since now we are sending another API request for the particular data after recieving the token. It would be better if we get everything from a single request.

@futurbotconsolidated, I liked your idea: "Returning the same token if not expired or present". I will investigate the extension of the data response.
Happy xmas mate.

@futurbotconsolidated
I found where the tokens are being recreated. However, it's not created by drf_social_oauth2. It's created by django_social_auth. AccessTokens are created here: https://github.com/jazzband/django-oauth-toolkit/blob/461061687b59acfa5837cda092b60c5ed85f385e/oauth2_provider/oauth2_validators.py#L605.
RefreshTokens are created here: https://github.com/jazzband/django-oauth-toolkit/blob/461061687b59acfa5837cda092b60c5ed85f385e/oauth2_provider/oauth2_validators.py#L635.
I will submit a pull request on django_social_auth to solve this issue. In case it's not accepted I will have to tackle it at drf_social_oauth2 level. Thing is, if drf tackled it, we would have to make multiple queries at database level, which I want to aoiv, obviously.
Thanks for your suggestion.

@wagnerdelima Yeah, I have checked it too. I read most of the code of drf and social auth Also I have suggested this because google token system works this way too.
Also, I would like to add here if the developers could get more easy access to login and signup class. So they could edit the request and response accordingly.
For example, if we take a case, There are 2 types of users- 1. Men users  2. Female Users
and we want to give the login access to anyone of them only. Let's say only male users
Then when we login, we should be able to check the gender type and return the suitable response. But in here, It is all inside the library quite difficult to moderate. So it would be better if we allow developers to write their own view class.
I will be forking drf-social-oauth 2 in the next coming days and will try to implement some of my suggestions.
Thanks for this amazing rep. Cheeers!

@futurbotconsolidated thank you for the compliment.
We could discuss here some business logic to add. If we entangled drf-social-oauth2 with too much of yours or my own business, it kinda of stops being a generic lib and becomes someones personal repo.
I am very curious about your changes though. Please send them over.

@futurbotconsolidated I have a question for you.
Did you find integrating this framework too difficult?
A few people are opening issues with vary vague questions, such as: what is google code?, etc.

@wagnerdelima No, It's very easy to implement until you don't have to make major changes. Trust me it took me only 5 mins to set up everything.
I think people who are asking questions like these are not much familiar with django framework because you don't have to study other libraries if you have basic needs. This framework contains all.
I feel these people don't study the concepts, they just believe in watching the tutorial and copy pasting the code. That is why they just ask vague questions and expect author to answer.

Thanks for your feedback @futurbotconsolidated.

@futurbotconsolidated, the same token issue is resolved. Thanks for the suggestion.

@SukiCZ I made a comment to the other issue regarding github login. Let's get this sorted first then we can talk about reverting the changes from feat/remove-token-duplication.

@futurbotconsolidated I am closing this issue. This seemed like a good idea at first. I have been thinking about this for a while now but I think it would be unfeasible to extend api response. Every social backend has it's own response type, this way, it would be almost impossible to make this work without constant interruptions and changes.
I am happy to review any PR you may raise on this topic.


Bump k8s-openapi to 0.15 for kubernetes v1_24

Via 0.15.0 release.
Almost automatic to do this now;
cargo upgrade --workspace k8s-openapi
# manually fix README versions of k8s-openapi
just bump-k8s

This pulls in an MSRV bump, which we were planning to do anyway. Will do that separately first.

Codecov Report

Merging #916 (5cdfda5) into master (e5300c0) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #916   +/-   ##
=======================================
  Coverage   70.57%   70.57%
=======================================
  Files          64       64
  Lines        4337     4337
=======================================
  Hits         3061     3061
  Misses       1276     1276


Fix testing section of README

I recently added tests for axlsx partials in one of my projects and had to do the following change in order to make it work since the call() method needs an instance. Figured I should update the README as well ;)

I've just used this and validated this. I'm working on a fix for the travis, so this (and other PRs) could be green :)

thanks @gdimitris  and @timdiggins


fix: check that thread exists before waiting on it

Simple fix to hopefully let the shutdown process finish. The ruby-kafka client seems to get stuck here, during a shutdown presumably.
We've seen an issue where the client isn't able to reconnect to a broker that does rolling restart, the client is using SASL/PLAIN with SSL. We didn't see this issue before, when we didn't use SASL/PLAIN with SSL
Here is a sequence of events:

Error committing offsets: Kafka::NotCoordinatorForGroup
Error sending heartbeat: Kafka::RebalanceInProgress.
Failed to fetch from events/1: Kafka::NotLeaderForPartition
Error committing offsets: Kafka::NotCoordinatorForGroup
Error committing offsets: Connection error EOFError: end of file reached
ruby-kafka-1.4.0/lib/kafka/ssl_socket_with_timeout.rb:69:in connect_nonblock': SSL_connect SYSCALL returned=5 errno=0 state=SSLv3/TLS write client hello (OpenSSL::SSL::SSLError)

(the ruby consumer must have attempted to shutdown after some retries)

undefined method join' for nil:NilClass ...

FYI I've seen this happen many, many times. The "undefined method join for NilClass" hides the real error that happens in our consumers and is very frustrating.

yeah.. i guess i'm only hoping that this at least moves shutdown procedure a little further (ideally shuts down all the way).
it does seem like it might push the error to some other place with a nil object later down the shutdown line. i'm not too familiar what assumptions are made during shutdown; or, if we can make an attempt to shut-things-down in this manner here.


Cannot access to pods which is not on the GW node.

Backgroud

I have two clusters:

cluster1: service CIDR - <IP_ADDRESS>/16, pod CIDR - <IP_ADDRESS>/16
cluster2: service CIDR - <IP_ADDRESS>/16, pod CIDR - <IP_ADDRESS>/16

CNI: Calico VxLAN

Submariner Cable Driver: VXLAN

What happened
I successfully setup submariner between two clusters with single worker node.
So It works fine when pods are located at the same node with the gateway.
The problem occurs after I scaled out my worker node.
Here's some examples I'm facing on.

pod-A@gw-node@cluster1 -> pod-b@none-gw-node@cluster2 via service domain: works fine.
pod-A@gw-node@cluster1 -> pod-b@none-gw-node@cluster2 via pod IP: Connection timeout.
pod-A@none-gw-node@cluster1 -> pod-b@gw-node&none-gw-node@cluster2 via service domain & pod IP: Connection timeout.

It's very weird that I'm able to access to none-gw-pods only when I'm calling service domain(service discovery) from gw-pods.
What you expected to happen
Connections should succeed between all pods, regardless of whether I use a service domain or pod IP.
Anything else we need to know?
I have trouble-shooted as much as I could.

Rejoined cluster with subctl
Deleted submariner-routeagent pods
Checked vxlan-tunnel
Captured packets

It seems pod-A@gw-node@cluster1 -> vxlan-tunnel -> cluster2 is OK. But after that, I have no idea what went wrong.
Also pod-A@none-gw-node@cluster1 -> gw-node -> vxlan-tunnel is NOT OK. Cannot detect any packets that pass through vxlan-tunnel.

So I'm suspecting that the traffic between none-gw-pod and the actual gateway is not working well.
Environment

Diagnose information (use subctl diagnose all):
Cluster "cluster1"
✓ Checking Submariner support for the Kubernetes version
✓ Kubernetes version "v1.29.3" is supported

✓ Non-Globalnet deployment detected - checking that cluster CIDRs do not overlap
✓ Checking DaemonSet "submariner-gateway"
✓ Checking DaemonSet "submariner-routeagent"
✓ Checking DaemonSet "submariner-metrics-proxy"
✓ Checking Deployment "submariner-lighthouse-agent"
✓ Checking Deployment "submariner-lighthouse-coredns"
✓ Checking the status of all Submariner pods
✓ Checking that gateway metrics are accessible from non-gateway nodes

✓ Checking Submariner support for the CNI network plugin
✓ The detected CNI network plugin ("calico") is supported
✓ Calico CNI detected, checking if the Submariner IPPool pre-requisites are configured
✓ Checking gateway connections
✓ Checking Submariner support for the kube-proxy mode
✓ The kube-proxy mode is supported
✓ Checking that firewall configuration allows intra-cluster VXLAN traffic

✓ Checking that services have been exported properly

 Cluster "cluster2"
✓ Checking Submariner support for the Kubernetes version
✓ Kubernetes version "v1.29.3" is supported

✓ Non-Globalnet deployment detected - checking that cluster CIDRs do not overlap
✓ Checking DaemonSet "submariner-gateway"
✓ Checking DaemonSet "submariner-routeagent"
✓ Checking DaemonSet "submariner-metrics-proxy"
✓ Checking Deployment "submariner-lighthouse-agent"
✓ Checking Deployment "submariner-lighthouse-coredns"
✓ Checking the status of all Submariner pods
✓ Checking that gateway metrics are accessible from non-gateway nodes

✓ Checking Submariner support for the CNI network plugin
✓ The detected CNI network plugin ("calico") is supported
✓ Calico CNI detected, checking if the Submariner IPPool pre-requisites are configured
✓ Checking gateway connections
✓ Checking Submariner support for the kube-proxy mode
✓ The kube-proxy mode is supported
✓ Checking that firewall configuration allows intra-cluster VXLAN traffic

✓ Checking that services have been exported properly

Gather information (use subctl gather):
cluster1.zip
cluster2.zip

Firewall Check
 ✓ Checking if tunnels can be setup on the gateway node of cluster "cluster1"
 ✓ Tunnels can be established on the gateway node of cluster "cluster1"

subctl verify --context cluster1 --tocontext cluster2 --only service-discovery,connectivity --verbose
Summarizing 8 Failures:
[FAIL] Basic TCP connectivity tests across clusters without discovery when a pod connects via TCP to a remote pod when the pod is not on a gateway and the remote pod is not on a gateway [It] should have sent the expected data from the pod to the other pod [dataplane, basic]
github.com/submariner-io/shipyard@v0.18.0/test/e2e/framework/network_pods.go:196
[FAIL] Basic TCP connectivity tests across clusters without discovery when a pod connects via TCP to a remote pod when the pod is not on a gateway and the remote pod is on a gateway [It] should have sent the expected data from the pod to the other pod [dataplane]
github.com/submariner-io/shipyard@v0.18.0/test/e2e/framework/network_pods.go:196
[FAIL] Basic TCP connectivity tests across clusters without discovery when a pod connects via TCP to a remote pod when the pod is on a gateway and the remote pod is not on a gateway [It] should have sent the expected data from the pod to the other pod [dataplane]
github.com/submariner-io/shipyard@v0.18.0/test/e2e/framework/network_pods.go:196
[FAIL] Basic TCP connectivity tests across clusters without discovery when a pod connects via TCP to a remote service when the pod is not on a gateway and the remote service is not on a gateway [It] should have sent the expected data from the pod to the other pod [dataplane, basic]
github.com/submariner-io/shipyard@v0.18.0/test/e2e/framework/network_pods.go:196
[FAIL] Basic TCP connectivity tests across clusters without discovery when a pod connects via TCP to a remote service when the pod is not on a gateway and the remote service is on a gateway [It] should have sent the expected data from the pod to the other pod [dataplane]
github.com/submariner-io/shipyard@v0.18.0/test/e2e/framework/network_pods.go:196
[FAIL] Basic TCP connectivity tests across clusters without discovery when a pod with HostNetworking connects via TCP to a remote pod when the pod is not on a gateway and the remote pod is not on a gateway [It] should have sent the expected data from the pod to the other pod [dataplane]
github.com/submariner-io/shipyard@v0.18.0/test/e2e/framework/network_pods.go:196
[FAIL] Basic TCP connectivity tests across clusters without discovery when a pod with HostNetworking connects via TCP to a remote pod when the pod is on a gateway and the remote pod is not on a gateway [It] should have sent the expected data from the pod to the other pod [dataplane]
github.com/submariner-io/shipyard@v0.18.0/test/e2e/framework/network_pods.go:196
[FAIL] Basic TCP connectivity tests across clusters without discovery when a pod connects via TCP to a remote pod in reverse direction when the pod is not on a gateway and the remote pod is not on a gateway [It] should have sent the expected data from the pod to the other pod [dataplane]
github.com/submariner-io/shipyard@v0.18.0/test/e2e/framework/network_pods.go:196

Ran 26 of 47 Specs in 1722.440 seconds
FAIL! -- 18 Passed | 8 Failed | 0 Pending | 21 Skipped

Cloud provider or hardware configuration:

NHN Cloud(OpenStack based)

Install tools:

subctl (subctl join --kubeconfig ./cluster1_kubeconfig.yaml broker-info.subm --clusterid cluster1 --cable-driver vxlan)

Others:

There is no issue with any physical connections between clusters and nodes. I have opened all TCP, UDP between them.

Thanks for contacting @YHJ94 ,
I checked the logs and found no errors, it looks like a data path issue that needs further investigation.

It seems pod-A@gw-node@cluster1 -> vxlan-tunnel -> cluster2 is OK. But after that, I have no idea what went wrong.
Also pod-A@none-gw-node@cluster1 -> gw-node -> vxlan-tunnel is NOT OK. Cannot detect any packets that pass through vxlan-tunnel.

We seem to have two different segments to troubleshoot

Egress from pod-A@none-gw-node@cluster1 -> gw-node -> vxlan-tunnel
Ingress from gw_node@clusterX to pod@non_gw_node@clusterX

For '1' the packet
a. VxLAN encaspualtes via vx-submariner interface (udp port 4800) to reach the GW node
b. VxLAN decapsulates via vx-submariner
c. VxLAN encaspualtes via vxlan-tunnel interface (udp port 4500) to reach the GW node in  remote cluster
Tcpdumping vx-submariner and vxlan-tunnel can help us understand the root cause here
for '2' packets
A. VxLAN decapsulates via  vxlan-tunnel (udp port 4500)
B. Calico should forward the packet to pod@non_gw_node
Also here tcpdumping the traffic on GW node can point us to the root cause
Do you have any security group in your Infra/Openstack cloud that might block inter-cluster traffic or submariner intra-cluster traffic (port 4800)?
Do you have network policy defined in your clusters?

Thanks for your support @yboaron .
First, there's no network policies in my cluster and my security group already has UDP 4500, 4800 bidirectional rule.
(Actually I allowed all TCP, UDP traffics between two clusters.)
And I tcpdumped as much as I can, here's what I got.
Test Enviornment

cluster1
kc get nodes -o wide --context cluster1

NAME                             STATUS   ROLES    AGE     VERSION   INTERNAL-IP     EXTERNAL-IP
cluster1-default-worker-node-0   Ready    <none>   4d16h   v1.29.3   <IP_ADDRESS>     <none>
cluster1-default-worker-node-1   Ready    <none>   3d15h   v1.29.3   <IP_ADDRESS>    <none>

kc get pods -o wide --context cluster1

NAME                           READY   STATUS    RESTARTS   AGE     IP              NODE
curl-pod                       1/1     Running   0          3d22h   <IP_ADDRESS>   cluster1-default-worker-node-0  # Simple busybox pod that request 'curl'
curl-pod2                      1/1     Running   0          3d12h   <IP_ADDRESS>    cluster1-default-worker-node-1

cluster2
kc get nodes -o wide --context cluster2

NAME                             STATUS   ROLES    AGE     VERSION   INTERNAL-IP     EXTERNAL-IP
cluster2-default-worker-node-0   Ready    <none>   4d16h   v1.29.3   <IP_ADDRESS>     <none>
cluster2-default-worker-node-1   Ready    <none>   3d15h   v1.29.3   <IP_ADDRESS>   <none>

kc get svc,pod -o wide --context cluster2

NAME                  TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)
service/hello-world   ClusterIP   <IP_ADDRESS>   <none>        9090/TCP # Service port 9090 -> container port 8080

NAME                               READY   STATUS    RESTARTS   AGE   IP              NODE
pod/hello-world-66c79b8cf7-dpgcp   1/1     Running   0          99m   <IP_ADDRESS>   cluster2-default-worker-node-1 # Simple 'hello world' pod that response some texts.
pod/hello-world-66c79b8cf7-lsxbq   1/1     Running   0          99m   <IP_ADDRESS>    cluster2-default-worker-node-0

Scenario #1

curl-pod@none-gw-node@cluster1 --> hello-world-service(<IP_ADDRESS>:9090)

Results: Timeout

tcpdump

a. VxLAN encaspualtes via vx-submariner interface (udp port 4800) to reach the GW node

sudo tcpdump -i vx-submariner port 9090

# cluster1-default-worker-node-1(none-gw-node)

09:52:55.884832 IP cluster1-default-worker-node-1.60587 > <IP_ADDRESS>.9090: Flags [S], seq<PHONE_NUMBER>, win 65280, options [mss 1360,sackOK,TS val 673371372 ecr 0,nop,wscale 7], length 0
09:52:56.907027 IP cluster1-default-worker-node-1.60587 > <IP_ADDRESS>.9090: Flags [S], seq<PHONE_NUMBER>, win 65280, options [mss 1360,sackOK,TS val 673372395 ecr 0,nop,wscale 7], length 0
09:52:58.922983 IP cluster1-default-worker-node-1.60587 > <IP_ADDRESS>.9090: Flags [S], seq<PHONE_NUMBER>, win 65280, options [mss 1360,sackOK,TS val 673374411 ecr 0,nop,wscale 7], length 0

# cluster1-default-worker-node-0(gw-node)

09:52:55.886489 IP <IP_ADDRESS>.60587 > <IP_ADDRESS>.9090: Flags [S], seq<PHONE_NUMBER>, win 65280, options [mss 1360,sackOK,TS val 673371372 ecr 0,nop,wscale 7], length 0
09:52:56.908019 IP <IP_ADDRESS>.60587 > <IP_ADDRESS>.9090: Flags [S], seq<PHONE_NUMBER>, win 65280, options [mss 1360,sackOK,TS val 673372395 ecr 0,nop,wscale 7], length 0
09:52:58.924002 IP <IP_ADDRESS>.60587 > <IP_ADDRESS>.9090: Flags [S], seq<PHONE_NUMBER>, win 65280, options [mss 1360,sackOK,TS val 673374411 ecr 0,nop,wscale 7], length 0

sudo tcpdump -i any udp port 4800

# cluster1-default-worker-node-1(none-gw-node)

10:15:00.544936 eth0  Out IP cluster1-default-worker-node-1.41404 > <IP_ADDRESS>.4800: UDP, length 82

# cluster1-default-worker-node-0(gw-node)

10:15:00.547087 eth0  In  IP <IP_ADDRESS>.41404 > cluster1-default-worker-node-0.4800: UDP, length 82

I assume this step is working properly.

b. VxLAN decapsulates via vx-submariner
c. VxLAN encaspualtes via vxlan-tunnel interface (udp port 4500) to reach the GW node in remote cluster

sudo tcpdump -i vxlan-tunnel port 9090

# cluster1-default-worker-node-0(gw-node)

0 packets captured
0 packets received by filter
0 packets dropped by kernel

sudo tcpdump -i any udp port 4500

10:19:41.560211 eth0  In  IP <IP_ADDRESS>.33681 > cluster1-default-worker-node-0.ipsec-nat-t: UDP-encap: ESP(spi=0x08000000,seq=0x3e800), length 74
10:19:41.560331 eth0  Out IP cluster1-default-worker-node-0.49365 > <IP_ADDRESS>.ipsec-nat-t: UDP-encap: ESP(spi=0x08000000,seq=0x3e800), length 74
...
...

There is no actual packets for a requested port.
When I dump for udp 4500, I get bunch of these 'ipsec-nat-t' encapsulated packets. But I don't think they mean anything.
No packets pass through via vxlan-tunnel. Thus, there is no ingress on cluster2.

Scenario #2

curl-pod@gw-node@cluster1 --> hello-world-service(<IP_ADDRESS>:9090)

Results: OK

tcpdump

A. VxLAN decapsulates via vxlan-tunnel (udp port 4500)

sudo tcpdump -i vxlan-tunnel port 9090

#  cluster1-default-worker-node-0(gw-node)

10:32:16.666199 IP cluster1-default-worker-node-0.54890 > <IP_ADDRESS>.9090: Flags [S], seq<PHONE_NUMBER>, win 65280, options [mss 1360,sackOK,TS val<PHONE_NUMBER> ecr 0,nop,wscale 7], length 0
10:32:16.666961 IP <IP_ADDRESS>.9090 > cluster1-default-worker-node-0.54890: Flags [S.], seq<PHONE_NUMBER>, ack<PHONE_NUMBER>, win 64704, options [mss 1360,sackOK,TS val<PHONE_NUMBER> ecr<PHONE_NUMBER>,nop,wscale 7], length 0

# cluster2-default-worker-node-0(gw-node)

10:32:16.666243 IP <IP_ADDRESS>.54890 > <IP_ADDRESS>.9090: Flags [S], seq<PHONE_NUMBER>, win 65280, options [mss 1360,sackOK,TS val<PHONE_NUMBER> ecr 0,nop,wscale 7], length 0
10:32:16.666551 IP <IP_ADDRESS>.9090 > <IP_ADDRESS>.54890: Flags [S.], seq<PHONE_NUMBER>, ack<PHONE_NUMBER>, win 64704, options [mss 1360,sackOK,TS val<PHONE_NUMBER> ecr<PHONE_NUMBER>,nop,wscale 7], length 0

sudo tcpdump -i any udp port 4500

# cluster1-default-worker-node-0(gw-node)

10:37:16.915030 eth0  In  IP <IP_ADDRESS>.41008 > cluster1-default-worker-node-0.ipsec-nat-t: UDP-encap: ESP(spi=0x08000000,seq=0x3e800), length 259

# cluster2-default-worker-node-0(gw-node)

10:37:16.914657 eth0  Out IP cluster2-default-worker-node-0.41008 > <IP_ADDRESS>.ipsec-nat-t: UDP-encap: ESP(spi=0x08000000,seq=0x3e800), length 259

The encapsulated packet contains requested data payload. So I think this step works fine.

B. Calico should forward the packet to pod@non_gw_node

# cluster2-default-worker-node-0(gw-node)

sudo tcpdump -i any host <IP_ADDRESS>

10:44:26.606851 eth0  Out IP cluster2-default-worker-node-0.37899 > <IP_ADDRESS>.4789: VXLAN, flags [I] (0x08), vni 4096
IP cluster2-default-worker-node-0.65474 > <IP_ADDRESS>.http-alt: Flags [P.], seq 1:83, ack 1, win 510, options [nop,nop,TS val<PHONE_NUMBER> ecr 769177139], length 82: HTTP: GET / HTTP/1.1

#  cluster2-default-worker-node-1(none-gw-node)

sudo tcpdump -i any host <IP_ADDRESS>

10:44:26.606735 eth0  In  IP <IP_ADDRESS>.37899 > cluster2-default-worker-node-1.4789: VXLAN, flags [I] (0x08), vni 4096
IP <IP_ADDRESS>.65474 > <IP_ADDRESS>.http-alt: Flags [.], ack 1, win 510, options [nop,nop,TS val<PHONE_NUMBER> ecr 769177139], length 0

Packet forwarding via calico vxlan is working properly.

Sorry for the late response,
Can you please try setting the cable driver to libreswan and see if that helps?
You can add below flags [1] to subctl join command to set the cable driver to libreswan
[1]
--cable-driver libreswan --force-udp-encaps

@YHJ94 , Any update on this issue ?

@yboaron , So sorry.
I was not able to test it due to my current situation.
I will try it out and let you know as soon as possible.
Thanks.

@YHJ94 - closing this issue for now. Feel free to reopen if you still need any help


Clarify if Seamless SSO is ever used for Windows 10

I understand the recommendations but could we maybe clarify in this doc if Seamless SSO is EVER used on Window 10 or only Windows 7/8? For example if you have domain-joined Windows 10 but don't use Azure AD Registered nor Hybrid Azure AD Joined for whatever reason, does it use Seamless SSO then or is this feature for Windows 7/8 ONLY?

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

ID: 2010f5ac-1080-addd-1fb3-5b05db26c1f6
Version Independent ID: 1aa18d6a-5846-7989-b844-fc8ad027921b
Content: Azure AD Connect: Seamless Single Sign-On
Content Source: articles/active-directory/hybrid/how-to-connect-sso.md
Service: active-directory
Sub-service: hybrid
GitHub Login: @billmath
Microsoft Alias: billmath

@JonesMikael
Thanks for your feedback! I've assigned this issue to the author who will investigate and update as appropriate.

Thank you for submitting this issue.  Unfortunately, due to high volumes I was unable to respond to this in a timely manner.  At this point, I am going to close this due to it's age and the possibility that it may have been addressed.  If this is still a problem, please consider submitting a new issue.  Thank you.
#please-close


Unable to open /root/test.log

Attempting to use this plugin fails because it tries to open /root/test.log, which is inaccessible to most users. Removing the following lines appears to resolve the issue:
https://github.com/xiaoyun94/gcov7-viewer/blob/4c6aced1e76b99ad69de65662adac31a745732eb/gcov7-json.py#L52-L55

you are right, this is a bad habit, and it is only tested via root user

version release 0.05 solves.


bugfixes and more tests

closes #357 closes #355

github actions is bugging out heavily, tests passing locally and images look correct so merging.


[BEAM-114] Add src distribution

Be sure to do all of the following to help us incorporate your contribution
quickly and easily:

[X] Make sure the PR title is formatted like:
[BEAM-<Jira issue #>] Description of pull request
[X] Make sure tests pass via mvn clean verify. (Even better, enable
Travis-CI on your fork and ensure the whole test matrix passes).
[X] Replace "<Jira issue #>" in the title with the actual Jira issue
number, if there is one.
[X] If this contribution is large, please file an Apache
Individual Contributor License Agreement.

R: @davorbonaci

Nice -- I didn't know this can be done so cleanly.
Left a few comments -- 2 FYI-only, 2 with minor action.

Rebase and update according to @davorbonaci comments.

LGTM


#887: change default migration to 'safe'

Fixes #887.
Depends on balderdashy/waterline-adapter-tests#50 or the integration tests will be broken.

:heavy_check_mark: looks good!

The tests are already broken in balderdashy/waterline-adapter-tests#50. Should I merge that anyway?

Looks like you've merged already... @tjwebb, the waterline-adapter-tests always fail because of issues in sails-postgresql (balderdashy/waterline-sequel#43), sails-mongo (balderdashy/sails-mongo#260), sails-mysql (https://github.com/balderdashy/waterline/issues/887#issuecomment-95210555) and sails-redis (this one will take more than 1 issue to fix).
The reason for not merging before balderdashy/waterline-adapter-tests#50 is that this is going to break (additional) integration tests on schemaful adapters.

Just for posterity we need to look into sails and see if it relies on the default being alter. We should set it in sails so that it doesn't matter what the default here is but I'm not sure that's being done.
Either way lets be safe in get this in 0.11. Thanks everyone!


Merge release-2.3 back to master

One of the tests failed, but it's only merging back the release and in line with our moratorium so LGTM.


Update README to use openssl from brew in macOS

Fixes ed25519 keys generation in neon_local to work on macOS.
Originally reported here https://github.com/neondatabase/neon/pull/3812#discussion_r1135379052

Requesting review from people with macs to test this locally.

Format seems different, but maybe it's possible to make to work.
ssh-keygen gives:
-----BEGIN OPENSSH PRIVATE KEY-----
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW
QyNTUxOQAAACBQYVKsjiGp54j2zaEpOp4jlARwGK1B5DsFAc1a1niWqgAAAKgIoYAqCKGA
KgAAAAtzc2gtZWQyNTUxOQAAACBQYVKsjiGp54j2zaEpOp4jlARwGK1B5DsFAc1a1niWqg
AAAEDAqXvY7eTGmsNZu5adKpUGfqHoTuQJx+xC7UEzSQEce1BhUqyOIanniPbNoSk6niOU
BHAYrUHkOwUBzVrWeJaqAAAAIGFydGh1ckBBcnRodXJzLU1hY0Jvb2stUHJvLmxvY2FsAQ
IDBAU=
-----END OPENSSH PRIVATE KEY-----

openssl creates:
-----BEGIN PRIVATE KEY-----
MC4CAQAwBQYDK2VwBCIEIDsk3VSj/lNsMIgJFYGSGkBAaCgLY7smjwcbD7Hkvwsh
-----END PRIVATE KEY-----


upgrade-zulip-from-git errors out with permission denied in node_modules

Firstly--I ended up finding a solution here.  I'm just reporting this because I figure if I got into this state, someone else probably did too.
This first appeared when trying to upgrade an instance from git master to git 4.x.  I wasn't taking notes during, but I'll try to put it in context.  I recently moved this instance from a vanilla Ubuntu 20.04 VM under ESXi to a Digital Ocean droplet (their Ubuntu 20.04 image, which I guess is vanilla minimal?).  I moved data via the manage.py backup workflow.  It's a fairly small server, with ~15 users, a few months of zulip history + a few years of imported Discord history.  The Discord import was my own work, but I piggybacked the Mattermost import scripts by mangling a Discord export to look like a Mattermost export.  That data has seemed fine, but FYI this isn't a Zulip instance that was only ever Zulip-only messages.
As root, I did:
/home/zulip/deployments/current/scripts/upgrade-zulip-from-git 4.x
Which failed in the webpack step.  Ah, this droplet only has 4GB of memory, and the VM it was on earlier had 8GB.  Looks like this is expected.
So then I did:
supervisorctl stop all; /home/zulip/deployments/current/scripts/upgrade-zulip-from-git 4.x
Which threw a different error?  The paste below is an error from a upgrade-zulip-from-git master command I tried later, because I did see some recent commits about permissions (although I think around postgresql database init).  The error was the same though.
Using cached Python venv from /srv/zulip-venv-cache/9d0f5ac272f4e644b222ed65b0b5a996616a215f/zulip-py3-venv
+ ln -nsf /srv/zulip-venv-cache/9d0f5ac272f4e644b222ed65b0b5a996616a215f/zulip-py3-venv /home/zulip/deployments/2021-05-20-00-26-43/zulip-py3-venv
Node version 14.16.1 and yarn version 1.22.10 are already installed.
generate_secrets: No new secrets to generate.
2021-05-20 00:27:12,481 upgrade-zulip-stage-2: Building static assets...
Using cached node modules from /srv/zulip-npm-cache/fb8c154795ceb2c863c70c1bb09f8758f4b2e0a2/node_modules
+ ./tools/setup/emoji/build_emoji
Dumping emojis ...
Copying individual image files...
Copying individual image files...
Copying individual image files...
build_emoji: Using cached emojis from /srv/zulip-emoji-cache/6b1c0aff5d7a20084dc50f56491b07237b1ac5ec/emoji
+ ./scripts/setup/inline_email_css.py
+ ./tools/setup/generate_zulip_bots_static_files.py
+ ./tools/setup/build_pygments_data
+ ./tools/setup/build_timezone_values
+ ./tools/webpack --quiet
[webpack-cli] [Error: EACCES: permission denied, rename '/home/zulip/deployments/2021-05-20-00-26-43/node_modules/.cache/css-minimizer-webpack-plugin/tmp/d657b652' -> '/home/zulip/deployments/2021-05-20-00-26-43/node_modules/.cache/css-minimizer-webpack-plugin/content-v2/sha512/e5/d9/f1347c366053795a55752b431229558cc2377ca5147b35020084e144479857a67b1db8c0accd938ef740abde33ec2c93a7d732e7615214a1fcb904b39f7d'] {
  errno: -13,
  code: 'EACCES',
  syscall: 'rename',
  path: '/home/zulip/deployments/2021-05-20-00-26-43/node_modules/.cache/css-minimizer-webpack-plugin/tmp/d657b652',
  dest: '/home/zulip/deployments/2021-05-20-00-26-43/node_modules/.cache/css-minimizer-webpack-plugin/content-v2/sha512/e5/d9/f1347c366053795a55752b431229558cc2377ca5147b35020084e144479857a67b1db8c0accd938ef740abde33ec2c93a7d732e7615214a1fcb904b39f7d'
}

Error running a subcommand of ./tools/update-prod-static: ./tools/webpack --quiet
Actual error output for the subcommand is just above this.

Traceback (most recent call last):
  File "/home/zulip/deployments/2021-05-20-00-26-43/scripts/lib/upgrade-zulip-stage-2", line 222, in <module>
    subprocess.check_call(["./tools/update-prod-static"], preexec_fn=su_to_zulip)
  File "/usr/lib/python3.8/subprocess.py", line 364, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['./tools/update-prod-static']' returned non-zero exit status 1.

Initially, I was pretty confused by this.  I'm running this upgrade command as root, so whatever root/zulip user permissions are appearing in the filesystem should be completely under the Zulip tooling's control.  This VM only runs Zulip, too; it isn't doing anything else, and I haven't put anything else on it.
I'm not at all familiar with the install scripts, but my understanding is that the deployments/ folder contents are created once per upgrade/attempt for clean rollbacks, so they should be fresh?
Digging around some, it turns out the node_modules folder is a symlink to elsewhere:
lrwxrwxrwx  1 zulip zulip     74 May 20 00:27 node_modules -> /srv/zulip-npm-cache/fb8c154795ceb2c863c70c1bb09f8758f4b2e0a2/node_modules
And yeah, the directory in the error message was owned by root, while the other contents in zulip-npm-cache were owned by the zulip user.
I did a lazy chown zulip:zulip -R /srv/zulip-npm-cache and the next upgrade attempt worked.
Maybe the failed webpack upgrade attempt left permissions in a weird state?  Or something with how I migrated the instance?  I don't know.

I think the only natural way that /srv/zulip-npm-cache could get things in it is via tools/update-prod-static, and I don't see how that could be run as root (we su to zulip before running it).  I think we can do #18568 to be doubly-sure of this going forward, which can't hurt, but I can't think of any way we could have ended up in that situation without it having been hand-run as root.
When you say:

And yeah, the directory in the error message was owned by root, while the other contents in zulip-npm-cache were owned by the zulip user.

Was it just one directory?  Which one?

Closing this for lack of information that would allow us to debug why the permissions for that directory were wrong (which could be user error at some point in the past).


Problem reading columns within a group's dataset

I'm trying to read a dataset from a group. This dataset is composed by 47033 rows x 2 columns. Using the read() functions I just get a 94066 array. How can I get the right object? Thanks.

Extracting an array of arrays would be inefficient, especially for higher-dimensional data. What you need to do is array[col + row * 2] for accessing column col and row row. You could also use a matrix class like the one in Upsurge


Fabric 1.19.2 portals appear/animate but don't teleport

Using

minecraft (server) 1.19.2
fabric-api-0.64.0+1.19.2
datapackportals-1.2.1-1.19
Multiworld-1.6 (self compiled, owner has not provided a 1.6 build)
fantasy-0.4.7+1.19.2 (for multiworld)

Portals (seem to) link to the material frame, appear and shimmer when you stand in them, and you hear sound, but teleport never happens. Shimmer colour appears to work as well (though the portals all appear grey/black).
The world was created with multiworld using /mw create guild:test2 NORMAL and I can teleport into it using the /mw tp as well as command /execute etc.
guildportal.json:
{
    "block": "minecraft:stone",
    "dim": "guild:test2",
    "r": 0,
    "g": 200,
    "b": 0,
    "ignitionType": "BLOCK",
    "ignitionSource": "minecraft:fire",
    "returnDim": "minecraft:overworld"
}

The logs do not indicate any trouble (no messages at all standing in portals).
Happy to do assist with more information.

Can you try adding this jar and see if this fixes it?
(This is an update to CPA, the library under the hood of datapack portals, unzip it first)
customportalapi-0.0.1-beta57-1.19.zip

Yup that fixes the portals! Thanks! Need me to do any further testing or shall I close?

Datapackportals 1.2.2 includes this version of CPA


API for validating dict fields

Currently there is explicit support for having fields whose values are dicts. But that only validates that the field is a dict. It doesn't make any assertion about the contents of that dict.
There are libraries for this so maybe just link in docs.

Hasn't been requested by users, closing. Reopen if you do want this.


Possible to increase the font size of the codeglance?

I'm at 21:9 monitor so would like to have this portion bigger and readable. Is there a way to increase the font size? Would be a nice option.

There is a pixels per line option in the codeglance settings, the range is from 1-4.  That might suffice.


--failonany option?

I noticed there are --failoninfo --failonwarning and --failonerror but they cannot be used together.
--failoninfo also doesn't seem to include warnings or errors (it's not an error level selector, which would make sense to some extent). The help documentation also seems to have a copy-paste issue as error and info have the same help text.
--failonerror               Fails if at least one error is found
--failonwarning             Fails if at least one warning is found
--failoninfo                Fails if at least one error is found
Is there a way to configure this to return 1 if the report is not 100% clean. It's not clear from the help how that can be accomplished.
Tested with
npm-groovy-lint version 5.1.1
Embeds:

CodeNarc version 1.5
Groovy version 3.0.3 (superlite)

This was indeed messy :)
About to replace by a failon option :)

Published in v5.3.0 :)


Req: Add Fluent/Blur style transparency options.

I've personally always found straight up 100% transparent to look slightly odd when you've got windows maximized. Having the option to set it as 'Fluent' or smilar would be neat.

Allright, i have added them ;)
Acrylic / Fluent need some tuning though... (it can flicker a little sometimes)

@ChrisAnd1998 Hi, the Acrylic style doesn't seem to be working for me.

@QkeleQ10 Well, yes it's not a very stable style. It sometimes works and sometimes doesn't. I'm still doing research to apply styles to the taskbar in a different approach than how it's done now like every other taskbar styling tool does.
So i basically can't do anything about it right now but, i may find a better way to do it in the future.

Okay, I completely understand.
Quinten Althues	[dobdl]
Met vriendelijke groet,
Quinten Althues
On February 14, 2020 at 11:17 GMT, Chris Andriessen<EMAIL_ADDRESS>wrote:
@QkeleQ10 Well, yes it's not a very stable style. It sometimes works and sometimes doesn't. I'm still doing research to apply styles to the taskbar in a different approach than how it's done now like every other taskbar styling tool does.
So i basically can't do anything about it right now but, i may find a better way to do it in the future.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.


Clone: "detected dubious ownership in repository"

Not sure if this is the right place but I am getting the following error during cloning after a fresh install of NEXT in a kubernetes environment.
The reason is most likely that the cloning user does not match the the user owning the repo files. Yet I haven't found any report so far about this one in woodpecker and I've also not facing it in Drone. I also can't see how I can manually call the workaround before the cloning kicks in. But I must be clearly have done a mistake in my agent configuration?
As it can be seen it's just a dummy repo with a "Hello world" YAML, nothing fancy.
+ git init -b main
Initialized empty Git repository in /woodpecker/src/<HOST>/patrick/test2/.git/
+ git remote add origin https://<HOST>/patrick/test2.git
fatal: detected dubious ownership in repository at '/woodpecker/src/<HOST>/patrick/test2'
To add an exception for this directory, call:

	git config --global --add safe.directory /woodpecker/src/<HOST>/patrick/test2
exit status 128

I can see that the containers runs with user root and the checkout is probably happening with another user (or expecting another one).
I wonder though that I am the first/only reporting this as I guess that multiple people use the k8s backend with next already?
Debugging further I see that even when adding a safe.directory call, running bin/plugin-git afterwards is not picking it up
+ whoami
root
+ id root
uid=0(root) gid=0(root) groups=0(root),0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel),11(floppy),20(dialout),26(tape),27(video)
+ tail /etc/passwd
at:x:25:25:at:/var/spool/cron/atjobs:/sbin/nologin
squid:x:31:31:Squid:/var/cache/squid:/sbin/nologin
xfs:x:33:33:X Font Server:/etc/X11/fs:/sbin/nologin
games:x:35:35:games:/usr/games:/sbin/nologin
cyrus:x:85:12::/usr/cyrus:/sbin/nologin
vpopmail:x:89:89::/var/vpopmail:/sbin/nologin
ntp:x:123:123:NTP:/var/empty:/sbin/nologin
smmsp:x:209:209:smmsp:/var/spool/mqueue:/sbin/nologin
guest:x:405:100:guest:/dev/null:/sbin/nologin
nobody:x:65534:65534:nobody:/:/sbin/nologin
+ git --version
git version 2.39.0
+ git config --global --add safe.directory '*'
+ git init -b main
Initialized empty Git repository in /woodpecker/src/<HOST>/patrick/test2/.git/
+ git remote add origin https://<HOST>/patrick/test2.git
+ git config --global --add safe.directory '*'
+ /bin/plugin-git
+ git fetch --no-tags --depth=1 --filter=tree:0 origin +refs/heads/main:
fatal: detected dubious ownership in repository at '/woodpecker/src/<HOST>/patrick/test2'
To add an exception for this directory, call:

	git config --global --add safe.directory /woodpecker/src/<HOST>/patrick/test2
exit status 128

Here are my values for the agent:
image:
  registry: docker.io
  repository: woodpeckerci/woodpecker-agent
  pullPolicy: Always
  tag: "next-alpine"

env:
  WOODPECKER_SERVER: woodpecker-server.woodpecker-server.svc.cluster.local:9000
  WOODPECKER_BACKEND_K8S_NAMESPACE: woodpecker-agent
  WOODPECKER_BACKEND_K8S_STORAGE_CLASS: efs-sc-woodpecker
  WOODPECKER_BACKEND: kubernetes
  WOODPECKER_BACKEND_K8S_STORAGE_RWX: true
  WOODPECKER_USERNAME: x-oauth-basic

  WOODPECKER_MAX_WORKFLOWS: 2
  WOODPECKER_DEBUG_PRETTY: true

@pat-s FYI, I worked around this by forking the plugin and adding the git workaround to the plugin-git binary.  Clearly a work-around to a work-around, so hopefully the underlying issue can be addressed.


Cannot use replaceState in Route.onEnter hook

Example here: https://github.com/quicksnap/react-redux-universal-hot-example/commit/6328600e9880c272c2416eb01dfd20c2f93a8815
I've tried experiments to get this working, but it fails on my app pretty hard. One of the problems is that match in universalRouter is not passed renderProps, and the component is null.
The use case for using onEnter is that it provides a true redirect, such that the server will provide a redirect code. It also prevents the flicker of an un-renderable page.
I am trying to get this working so we can use a proper RequrieLogin similar to the canonical example: https://github.com/rackt/react-router/blob/15b05b4f2ca8b4ade5f7378ed1839b752a62babc/examples/auth-flow/app.js
Of course, their example does not client-side match, nor does it use RoutingContext directly.
I've been pulling my hair out on this for a bit!

Also, when you navigate directly to /foo in my example, it WILL redirect you to /login, no problem. Fixing it on the client would be super cool!

I've had some luck by recursively calling match on the client, updating location with redirectLocation. It will render the correct route, but the location will remain at /foo.

Made more progress with this by changing the render call to be within history.listen instead of history.listenBefore. This allows us to call history.replaceState without triggering a "Transition in progress" error.

It works! Here's the changes compared against master: https://github.com/erikras/react-redux-universal-hot-example/compare/master...quicksnap:onEnterExample
Changes:

use listen instead of listenBefore
resolve router promise with redirect only on server
otherwise, recursively call match with redirectLocation

@quicksnap Isn't this the same trade-off with the location bar now being updated before the transition?

@quicksnap, could you whip up a PR for this?

@erikras I'll get a PR in the next few hours.
@stevoland I've all but given up on having the location conditionally not update. However, if you pass a have a callback argument for the third parameter of onEnter, it will block the transition. I forget if it prevents the URL pushState or not.
Seeing how something like GitHub works, I can personally accept having the URL update before data is fetched. I still think having that control has valid use cases.

Also, it may be good to consider migrating RequireLogin to an onEnter hook. If I can carve out the time I'll see if it's worthwhile.


Support for kolab

Add Support for integrating kolab groupware, see http://www.kolab.org/

the kolab suite now only works with ldap authentication...  i installed the kolab suite but only the rc part with database backend.. and then oc plguin, and works... so then the rc oc plugin, and rc kolab web frondend per see works with normal documentation of the wiki
i cannot test with complete kolab suite due the need of ldap..


Local install Error on first run

Hi there, I just got following Error after npm install on my local machine (OSX12.01):
This dependency was not found:
* @/config/app.config in ./src/router.js, ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/TheFooter.vue?vue&type=script&lang=js& and 4 others
To install it, you can run: npm install --save @/config/app.config

Tried on node 10 & 14. When I run the suggested command to install the missing dependency, I got this message:
error code ENOLOCAL
error Could not install from<EMAIL_ADDRESS>as it does not contain a package.json file.

Do you have any suggestions?
Thank you! Chris

Did you clone & then tried to npm install?
Can you upload a screenshot of your config folder?

My Bad! I didn't edit the example-files  :roll_eyes:
However, perhaps a good thing to mention it in the readme?
Thank you!!!!

interesting node: v14.17.3
@vue/cli 4.5.13
ERROR  Failed to compile with 6 errors                                                                 6:20:21 AM

This dependency was not found:

* @/config/app.config in ./src/router.js, ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/TheFooter.vue?vue&type=script&lang=js& and 4 others

To install it, you can run: npm install --save @/config/app.config

@KarelVendla any idea?


Disable swipe back gesture without disabling all gestures

Version
Tell us which versions you are using:

react-native-router-flux v3.35.0
react-native v0.34.0

Is it possible to disable the default swipe back gesture without disabling all gestures? I tried panHandlers={null} in the scene, but I can no longer open a drawer component.

+1

panHandlers	object		optional, provide null to disable swipe back gesture
Setting panHandlers={null} worked for me.

+1

+1


use bitshifts for int to int in convert_dtype

[--- convert_dtype int -> int (down) @ torchvision==0.15.0a0+d5da6e4 ---]
                                        |        v1       |       v2
1 threads: --------------------------------------------------------------
      (3, 512, 512) / int32 / cpu       |   1074 (+-  5)  |  100 (+-  0)
      (3, 512, 512) / int32 / cuda      |    42 (+-  1)   |   41 (+-  0)
      (16, 3, 512, 512) / int32 / cpu   |  21319 (+-291)  |  7362 (+-211)
      (16, 3, 512, 512) / int32 / cuda  |   644 (+-  1)   |  644 (+-  2)
6 threads: --------------------------------------------------------------
      (3, 512, 512) / int32 / cpu       |   208 (+-  1)   |   33 (+-  0)
      (16, 3, 512, 512) / int32 / cpu   |   5545 (+- 75)  |  4820 (+-112)

Times are in microseconds (us).

Aggregated performance change of v2 vs. v1: +37.5% (improvement)

[---- convert_dtype int -> int (up) @ torchvision==0.15.0a0+d5da6e4 ----]
                                        |        v1       |       v2
1 threads: --------------------------------------------------------------
      (3, 512, 512) / uint8 / cpu       |   123 (+-  1)   |   90 (+-  1)
      (3, 512, 512) / uint8 / cuda      |    46 (+-  1)   |   43 (+-  1)
      (16, 3, 512, 512) / uint8 / cpu   |  10211 (+-169)  |  5897 (+-125)
      (16, 3, 512, 512) / uint8 / cuda  |   659 (+-  8)   |  658 (+- 19)
6 threads: --------------------------------------------------------------
      (3, 512, 512) / uint8 / cpu       |    43 (+-  0)   |   30 (+-  0)
      (16, 3, 512, 512) / uint8 / cpu   |   8715 (+-303)  |  2152 (+-107)

Times are in microseconds (us).

Aggregated performance change of v2 vs. v1: +19.7% (improvement)

Last time we measured this was in https://github.com/pytorch/vision/pull/6795#pullrequestreview-1148744830. In this PR the label main is equivalent to v1 above, since it that time, we just aliased the v1 kernel. These are the relevant lines for comparison:
                             |  main  |   PR
1 threads: ---------------------------------
        int to   int (down)  |  1100  |  402
        int to   int (up)    |   127  |   92

Times are in microseconds (us).

For converting down, i.e. int32 to uint8, this PR doesn't change anything. Still, this branch benefits from the bitshift vectorization:

previously: 1100 us -> 402 us: 63.5%
now: 1074 us -> 100 us: 90.7%

For converting up, i.e. uint8 to int32, we replace an inplace multiplication with an inplace bitwise_left_shift_. However, the result is underwhelming

previously: 127 us -> 92 us: 27.6%
now: 123 us -> 90 us: 26.8%

Meaning, this PR does nothing for performance. The cleanup is good, but I expected some gains here.
@alexsamardzic Did I misunderstand your PRs? Shouldn't bitwise_left_shift_ be quite a bit faster than mul_ on an int32 tensor and with Python scalars as inputs.
cc @vfdev-5 @datumbox @bjuncek

@pmeier Trying to understand the history around this. On your original comment (old PR), you have indicated that this approach is not faster due to the lack of vectorization on Core. But now you find it about 26% faster, which is not as fast as you expect. Is my understanding correct? Was there work around the specific op on Core that justifies the difference between the previous attempt and now?

I agree this is somewhat confusing, since I needed to mix two benchmarks above. Let me try to untangle it for you:

On your original comment (old PR), you have indicated that this approach is not faster due to the lack of vectorization on Core.

That was true at the time of writing it.

But now you find it about 26% faster, which is not as fast as you expect. Is my understanding correct?

I find it 26% faster than v1. This is the same as for the multiplication that we currently have in v2. Meaning,

v2 (main) vs. v1: +27%
v2 (this PR) vs. v1: +26%
v2 (this PR) vs v2 (main): approx 0%

Was there work around the specific op on Core that justifies the difference between the previous attempt and now?

Yes, the ops were vectorized in core by @alexsamardzic. We are discussing offline as we speak if my benchmark in this PR results are correct or not. Will update here if we reached a conclusion.
Due to these changes on core, you see this speedup in the other branch (int to int downscale) that uses bitshifts, but wasn't touched by this PR at all.

The shift operators were not vectorized previosly.  Recently merged PRs #88607, #88990 and #89284 implement vectorization of shift operators for all integer datatypes, and this is where the performance improvement in the above benchmarks comes from.  On the other side, multiplication operator was already vectorized for some datatypes, including int32.  An operator being vectorized means that it's executed through a single (in most cases) assembly instruction, that operates on several tensor(s) elements in parallel.  Corresponding assembly instructions for shifts and multiplications are typically close in number of processor cycles required (it depends on particular processor), and results of the last benchmark are as expected in that regards.


Replace libdc1394-22-dev with libdc1394-dev

libdc1394-22 has been removed, and is superseded by libdc1394. Ref. https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=963924
Note this script cannot be run on any modern distributions (that use APT) because of this

CLA signed, thanks!

I just realized the PR description wasn't worded super clear. I have reworded it to clarify that the script was previously nonfunctional, but works after this change

Seems like there's no interest in this, I'll close off the PR


Use endsWith to match modules to exclude from the snapshot

Requirements

Filling out the template is required. Any pull request that does not include enough information to be reviewed in a timely manner may be closed at the maintainers' discretion.
All new code requires tests to ensure against regressions

Description of the Change
There's a couple of common packages that need to be excluded from the snapshot.  Rather than listing each instance (since they may or may not be deduped), match using endsWith.
Alternate Designs
None.
Why Should This Be In Core?
Already is.
Benefits
Less code maintenance if a package is un-deduped or a new dependency of that package is added in a different module.  Also fixes an intermittent build issue for me where an additional fs-extra shows up in github/node_modules/nsfw/node_modules/fs-extra.
Possible Drawbacks
None.
Applicable Issues
None.
/cc @as-cii just wanted to make sure this is safe to do.

Looks good, thanks!


Remove two unused shaded modules

Motivation
There are a few shaded modules introduced when functions was introduced.
They are not needed anymore. We should remove them.
Modifications
Remote those unused modules.
Verifying this change
This change is a trivial rework / code cleanup without any test coverage.
Does this pull request potentially affect one of the following parts:
If yes was chosen, please highlight the changes

Dependencies (does it add or upgrade a dependency): (no)
The public API: (no)
The schema: (no)
The default values of configurations: (no)
The wire protocol: (no)
The rest endpoints: (no)
The admin cli options: (no)
Anything that affects deployment: (no)

Documentation

Does this pull request introduce a new feature? (no)
If yes, how is the feature documented? (not applicable)
If a feature is not applicable for documentation, explain why?
If a feature is not documented yet in this PR, please create a followup issue for adding the documentation

run java8 tests


Missing helpful informations in "Upgrading Istio" page

The page https://istio.io/docs/guides/upgrading-istio.html is not very helpful for the moment ;-).

AFAIK, we prefer to uninstall and reinstall istio from scratch. Be sure to restart your POD that have envoy attached. @geeknoid @ldemailly @ayj correct me if i'm wrong.

@jsenon it's not a practical solution for real installations. @yusuoh is working on upgrade path
(and we are starting to test backward compatibility too in CI, so does @costinm before each release)

We have a draft document describing the upgrade process. I will update the web page once it got approved.
https://docs.google.com/document/d/1oxrlCgL7R0b_r4aIIFyBne2IxN1Lof3edo9YPy6h2Yk/edit

Thanks guys 😉.
I've read the document @yusuoh, seems to be very complete ^^, just one typo i've found:
UPDATED_DEPLOTMENT_WITH_SIDECAR_YAML
->
UPDATED_DEPLOYMENT_WITH_SIDECAR_YAML
Thanks.

Thanks for pointing it out. Fixed the typo.

Here is the updated doc:
https://istio.io/docs/setup/kubernetes/upgrading-istio.html


Remove a few cases of underscore escaping

A start at removing the no longer needed underscore escaping from Phobos.
This was done partially by a script to get an initial set of replacements:
import std.experimental.all;
void main(string[] args)
{
    foreach (file; dirEntries(".", "*.d", SpanMode.depth))
    {
        auto text = file.readText;
        auto packageName = file.baseName.stripExtension;
        auto moduleName = file.dirName.baseName;
        foreach (rep; [packageName, moduleName])
            text = text.replace("_"~rep, rep);
        text.toFile(file);
    }
}

And then manually adding the replacements to the git index.
I might have missed a few instances (or skipped the ones which were a bit more complicated),
but we can easily find them later with the DDOC_AUTO_PSYMBOL_SUPPRESS macro).
See also:

https://github.com/dlang/dlang.org/pull/2307
https://dlang.org/changelog/2.079.0.html#fix18361

I was starting to look through all these, but there's too many! Luckily we have the doc preview, I can see only a few html files changed, and all the changes are fixes (removing unintentional underscores).


Routes should be enums/constants

Currently relative routes are just string literals which makes it prone to typos and makes refactoring difficult. The better option is to use enums/constants that can be changed from one place and used for typechecking.

Just an idea without knowing the specific context: would it be possible to use string literal types?


Added 3 LeetCode problems

Pull Request Template
What have you Changed(must)
Write here what you have changed in codebase
I added 3 problems from LeetCode for C++.
Pr will be close and marked as spam. If issue number not found or issue was assigned to someone else.
Marking as spam can block your account from HacktoberFest.
Self Check(Tick After Making pull Request)

[x] My file is in proper folder
[x] I am following clean code and Documentation.
[x] I have added title and what program will do first in the file

@DarkWarrior703 Thanks for these solutions. But please make an issue for adding these to the codebase. We'll have to close this PR for now. Just review the contribution guidelines.


Be runtime configurable

Be able to configure the site mappings dynamically without rebuilding the owin pipeline or restarting the host.

Did you get this working? I am trying to make a multi-tenant app that requires configuring subdomains differently per tenant dynamically and this would be perfect for it.

I didn't and I don't think I will. I think a better approach is to use wrapper middleware, such as this, to reconfigure this middleware.
I'm using this wrapper MW to reconfigure ThinkTecture's Identity Server to support runtime re-config of ws-fed middleware. See https://github.com/IdentityServer/IdentityServer3/issues/1439#issuecomment-127511093


Fix for dangling pointer in logging

Description
This PR addresses the issue 1091.
I changed the return value of toLog() from const char* to std::string.
[] It needs and includes Unit Tests
Changes in Client or Server public APIs
No changes

[] It includes documentation for these changes in /doc.

I understand your point - with 2 lines code can get messy pretty fast.
I came up with a possible solution, here there's an example.  You can run it with an online compiler (I don't know any fiddle equivalent for c++)
It's about passing strings as they are and using a templated helper to extract the c_str. Tell me if this can be a move in the right direction :)

Yep, that definitely looks like the best solution.
Do you anticipate any significant impact in performance? I don't particularly see any problem but just in case.

Shouldn't be any performance implication since the bulk of the logic is executed at compile time.

Got a working solution that doesn't need any change on the codebase. Log macros can now take std::string as inputs.
The nice things is that by further specializing LogElementForwarder, one can log any custom type with '%s'.

Yes, that is a good idea! LogElementForwarder should always be optimized away by the compiler, but it's better to have smarter code nonetheless


CatmullRomSpline incorrect collision point calculation

Describe the bug
The CatmullRomSpline member function getCollisionPointIn2D calculates wrong values.
This member function uses its component curves member function getCollisionPointIn2D here:
https://github.com/tier4/scenario_simulator_v2/blob/173a8c1d5e16b6e594de58d78cdb81a1d518ad82/common/math/geometry/src/spline/catmull_rom_spline.cpp#L383
and here:
https://github.com/tier4/scenario_simulator_v2/blob/173a8c1d5e16b6e594de58d78cdb81a1d518ad82/common/math/geometry/src/spline/catmull_rom_spline.cpp#L391
and simply adds the obtained value to the sum of the preceding curves. This produces an incorrect result, because HermiteCurve operates on normalized lengths, meaning the s value is from range <0; 1> like in the function below.
https://github.com/tier4/scenario_simulator_v2/blob/173a8c1d5e16b6e594de58d78cdb81a1d518ad82/common/math/geometry/src/spline/hermite_curve.cpp#L122-L181
And CatmullRomSpline operates on absolute lengths, so not normalized ones. This means that the normalized value is added to not normalized ones - which makes the incorrect result.
Many member functions in the HermiteCurve class offer a denormalize_s argument which - when set to true - converts normalized s to the absolute value of s, independent from the curvature length.
In my opinion, the best solution would be to call the HermiteCurve member function getCollisionPointIn2D with such argument denormalize_s set to true. However this member function does not offer such a functionality, so I suggest adding it the same way it is implemented here:
https://github.com/tier4/scenario_simulator_v2/blob/173a8c1d5e16b6e594de58d78cdb81a1d518ad82/common/math/geometry/src/spline/hermite_curve.cpp#L194-L197
Context:
I am adding unit tests for the geometry package and wanted to add tests for the getCollisionPointIn2D function, but it generates the wrong results.
To Reproduce
Steps to reproduce the behavior:

Edit any existing source code file or create a new one
Create a CatmullRomSpline from points spaced apart for more than 2 units (like (0, 0), (2, 0) and (4, 0) )
Call the getCollisionPointIn2D member function with two points creating a parallel line to the spline (e.g. (0.1, 1) and (0.1, -1)
Print the result to the console
Compile and execute
See the incorrect result

Expected behavior
The CatmullRomSpline member function getCollisionPointIn2D should return the correct result (in the example above 0.1, not 0.05).
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: [e.g. iOS]: Ubuntu
Browser [e.g. chrome, safari]: Firefox
Version [e.g. 22]: 22
ROS 2 version: Humble
DDS: CycloneDDS

Thanks, it is a bug.

#1139 was merged


update external table columns

Description & motivation
resolves: #263
Descriptions and policyTags on columns where not propagated to the table schema of an external table on BigQuery.
Checklist

[x] I have verified that these changes work locally
[x] I have updated the README.md (if applicable)
[x] I have added an integration test for my fix/feature (if applicable)

@jeremyyeo do you have any idea why CI fails on snowflake and redshift?

@jeremyyeo CI is broken see the PR I created without any changes:
https://github.com/dbt-labs/dbt-external-tables/pull/253

@dataders I saw you merge another pr, could you also take a look at this one?

@thomas-vl thinking about this again. Ultimately, this
there's two conditions by which I'd be comfortable accepting this PR.

this change should not affect non-BQ users
the update should happen inside the run_queue loop

only change BQ user behavior
I believe the way to do this is to make stage_external_sources() adapter-dispatchable move current behavior into defaul__stage_external_sources then introduce a modified bigquery__stage_external_sources
update happens within run_queue
I'm still not clear if update_external_table_columns() operates on a single external source at a time or all of them at once. If it's only for one source at at a time, then it should be within the run_queue loop right?


Edit Description and Website on the home page of this repo

for now it is Build cross platform desktop apps with web technologies http://electron.atom.io

Updated :smile:

Lovely :-)


Keep me logged in (connected to the server)

Every day I have to connect to the server again before using Wiki labels. It should memorize my connection for more days.

@halfak: is this a limitation of OAuth?

Good Q.  It doesn't need to be.  The way that wikilabels tracks your status is with it's own cookie.  I would suspect that this cookie is the limitation.  However, I've noticed that wikilabels does keep me logged in for more than a few days.


ERROR in Entry module not found: Error: Can't resolve 'babel'

Hi!
I just tried to start the react-cool-starter project, but I have some troubles.
I get the following message: webpack-isomorphic-tools (waiting for the first webpack build to finish) when I'm running npm start. So I runned npm run build to fix it. Then I've got this error: ERROR in Entry module not found: Error: Can't resolve 'babel' in '/PATH/react-cool-starter'.
Do you have any ideas?
Thanks for your time.

Hi @kiki-le-singe Thank you for your report the error has been fixed, please clone the latest commit repo :)

Hi @wellyshen Thank you, it works. I'll try it later :)


Flows with no connection references fail to activate

If a flow doesn't contain any connection references it will fail to activate and the pipeline fails. Check for empty $impoersonationCallerId in update-connection-references.yml and only attempt to use impersonation if not empty otherwise activate the flow using the SP connection.

This has been resolved as part of the migration to GitHub. Closing the issue


When in centered layout, show inline diff view also in centered layout

Version: 1.45.0-insider
Commit: d69a79b73808559a91206d73d7717ff5f798f23c
Date: 2020-05-06T08:25:01.764Z
Electron: 7.2.4
Chrome: 78.0.3904.130
Node.js: 12.8.1
V8: 7.8.279.23-electron.0
OS: Darwin x64 19.4.0

When in centered layout, opening a diff view in inline mode (as opposed to side-by-side mode) should not force the diff view into full editor width as it does for side-by-side diff views.
This is a follow-up from #94696 where we discussed this might be a bug. 🤔
Steps to Reproduce:

Toggle centered layout
Open a diff view in inline mode
Observe diff view now occupies full editor width (as if centered layout was not enabled)

Demo:

Does this issue occur when all extensions are disabled?: Yes

@rebornix how to check if diff is in inline view?
@robertrossmann would you like to submit a PR to fix this?
Code pointer https://github.com/microsoft/vscode/blob/193483676699fcbde88f7a7748b189cb2bda7efe/src/vs/workbench/browser/layout.ts#L1209

@isidorn I'm afraid this is too much for me at this moment. The centerEditorLayout() method is not fired when I switch from inline to side-by-side diff view and I could not figure out how to query the SideBySideEditorInput instance for the current display mode. Both of these events would need to be handled so that we can keep the centered layout when an inline diff is opened and we should switch to full-width layout when the diff editor's layout is switched from inline to side-by-side.

@robertrossmann no worries, thanks for trying. Peng might give some good tips, and I might also look into this in the future.

Apologies for not mentioning that I was working on this, but I implemented a fix for this in  #97311

I was playing around with this and managed to fix it, so I created. My browser did not update so I didn't see your message, sorry for duplicate PR  :sweat_smile:

I was playing around with this too and managed to fix it, so I created a PR. My browser did not update so I didn't see your message, sorry for the duplicate PR

No problem! haha both our bads I guess :rofl:


Slowdown again with pascal cards.

I couldn't reopen my original issue so I hope its fine if I open another bug.
The pascal fix is broken again, at least for me.
The following check does not work:
q4_matmul.cu:

if defined(CUDA_ARCH) && CUDA_ARCH < 700
const float alpha = 1.0f;
const float beta = no_zero ? 1.0f : 0.0f;
cublasSgemmEx(handle, CUBLAS_OP_N, CUBLAS_OP_N, width, height, dim, &alpha, buffers->temp_dq, CUDA_R_16F, width,
              x_mapped, CUDA_R_16F, dim, &beta, out, CUDA_R_16F, width);

else
const half alpha = __float2half(1.0f);
const half beta = no_zero ? __float2half(1.0f) : __float2half(0.0f);
cublasHgemm(handle, CUBLAS_OP_N, CUBLAS_OP_N, width, height, dim, &alpha, buffers->temp_dq, width, x_mapped, dim, &beta, out, width);

endif

Taking out the if and just set SgemmEx works.
This is on dual gpu 1080ti + 1080.

This sounds like CUDA_ARCH is either undefined or defined incorrectly. Could you try changing the first line to just:
#if CUDA_ARCH < 700

That should fail to compile if the symbol is missing. If it compiles it means you've got it incorrectly defined, somehow. Which I guess would suggest a (very strange) driver issue...?

Hmm, you are correct.
Putting a

if (CUDA_ARCH < 700)
{

}

Gives me an error.

/media/w/PhoenixSSD/oobabooga/miniconda/envs/textgen/include/python3.10 -D_GLIBCXX_USE_CXX11_ABI=0 -D__CUDA_NO_HALF_OPERATORS -D__CUDA_NO_HALF_CONVERSIONS -D__CUDA_NO_BFLOAT16_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ --expt-relaxed-constexpr -gencode=arch=compute_61,code=compute_61 -gencode=arch=compute_61,code=sm_61 --compiler-options ‘-fPIC’ -lineinfo -std=c++17 -c /media/w/PhoenixSSD/oobabooga/text-generation-webui/repositories/exllama/exllama_ext/cuda_func/q4_matmul.cu -o q4_matmul.cuda.o /media/w/PhoenixSSD/oobabooga/text-generation-webui/repositories/exllama/exllama_ext/cuda_func/q4_matmul.cu(247): error: identifier “CUDA_ARCH” is undefined

I'm on ubuntu and really don't want to mess too much with the nvidia drivers.
Very much possible that its something on my end.

Your driver is probably fine. It's the venv. I too have cuda 12 on the system and then cuda 11.8 in the venv. I had to download all the cuda toolkit stuff again for that. Conda was actually useful.

I think you are right, I played around a couple of hours trying to uninstall the old version.
I reinstalled venv cuda toolkit 11.8 but that didn't fix anything.
I can't seem to be able to properly remove the toolkit drivers from my system before installing another version.
I suppose I need to install 11.8 like in the venv but all my attempts to clean up and purge the current version failed. So I'm giving up, this is the only area thats causing problems for me anyway.

This is why I like conda. A fresh environment with new cu118 torch and reqs usually fixes things. Although I've yet to mess up a single conda env or venv, knock on wood.


Moving forward constantly

When we prone we move forward or whatever button we press for the direction. We cannot stop to stay still

ugh, this is so inconsistant and weird.

can you please try the latest commit? it may or may not have fixed stuff

assuming this is fixed now


File corrupt in dkrom zip

There is a problem reading this specific file from the zip, it seems to be correct in the repository
require(bioRad)
#> Loading required package: bioRad
#> Welcome to bioRad version <IP_ADDRESS>44
#> Docker daemon running, Docker functionality enabled (vol2bird version 0.5.0)
download.file('https://lw-enram.s3-eu-west-1.amazonaws.com/dk/rom/2019/03/05/05/dkrom_vp_20190305T050500Z_0xf00207.h5','asdf.h5')
read_vpfiles('asdf.h5')
#>                Vertical profile (class vp)
#>
#>        radar:  dkrom
#>       source:  NOD:dkrom,WMO:06096,RAD:DN42,PLC:Rømø
#> nominal time:  2019-03-05 05:05:00
#> generated by:  vol2bird 0.3.20
download.file('https://lw-enram.s3-eu-west-1.amazonaws.com/dk/rom/2019/dkrom201903.zip', 'asdf.zip')
unzip('asdf.zip','15/05/dkrom_vp_20190315T050500Z_0xf00207.h5')
read_vpfiles('15/05/dkrom_vp_20190315T050500Z_0xf00207.h5')
#> Warning in is.odimfile(file): 15/05/dkrom_vp_20190315T050500Z_0xf00207.h5 is not
#> a HDF5 file
#> Warning in get_odim_object_type(file): 15/05/
#> dkrom_vp_20190315T050500Z_0xf00207.h5 is not a ODIM HDF5 file
#> Warning in read_vp(files): 15/05/dkrom_vp_20190315T050500Z_0xf00207.h5 is not a
#> vertical profile
#> NULL

Created on 2020-05-01 by the reprex package (v0.3.0)

This file also seems corrupt in in the zip: czska/2019/03/15/05/czska_vp_20190315T051000Z_0x7.h5 I have not checked the original file

In this case the file itself seems to be corrupt as it it only 0.1 kb: http://enram.github.io/data-repository/?prefix=cz/ska/2019/03/15/05/

Similair issues in bewid on that day: http://enram.github.io/data-repository/?prefix=be/wid/2019/03/15/05/

frlep has the same issue on that day http://enram.github.io/data-repository/?prefix=fr/lep/2019/03/15/05/
maybe branch it to a separate issue?


Remove conditional-evaluation-order warning

The warning
MSB4130: The condition "{0}" may have been evaluated incorrectly in an earlier version of MSBuild. Please verify that the order of the AND and OR clauses is written as intended. To avoid this warning, add parentheses to make the evaluation order explicit.

is emitted whenever a condition has an and and an or in parallel, for example X and Y or Z.
Looking through ancient history, it appears to have been introduced in MSBuild 3.5 in 2007, because a bug in MSBuild 2.0 that caused unexpected evaluation order was fixed then.
It feels wrong to emit an informational-only warning about a behavior change that happened 10 years ago.
Eliminating the check for this warning would allow pruning a tree of methods that exist only to provide it. They're currently in the code in REMOVE_COMPAT_WARNING regions. I propose to do just what that implies.

cc @onovotny who pointed this out offline.

So I guess I should tell people to those warnings, document them as a known issue and point to this issue?

@onovotny Since you're writing "library" code I'd recommend (over-)parenthesizing to make the warning go away for everyone. It's hard to predict a timeline on when this change might be made.

Thanks -- I'll take another stab based on your offline reply and try to fix it. Might ping you again for more help as I'm getting lost in all of those parens 😁

It was a real pain figuring out what was going on, even in a debugger.
I think I've got the hang of it now though: set a breakpoint on the warning, and when it breaks in, walk the node object to find a unique string from the condition. Don't be fooled like I was and look at expression--that always has the whole expression, not the sub-part that's causing the warning.
(Just in case someone wanders into this bug with a similar issue and a gnarly expression.)

There's a debugger for this?

No, debugging MSBuild.exe.

Yeah, wishful thinking. A debugger for the targets themselves would be great!

I agree we should remove this, I haven't heard a single customer mentoin it in 10 years. Or notice the problem before we had the warning.

@onovotny for debugger, feel free to +1 my suggestion here https://github.com/Microsoft/msbuild/issues/291.


test: add an integration test for correctness

This adds an integration test for root calculation consistency when building and subsequently
deconstructing a trie.
Annoyingly, RocksDB doesn't seem to work with a temp dir on my machine. We will address that when
other tests are added.

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#99  👈
#98
master

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

Join @rphmeier and the rest of your teammates on  Graphite

Merge activity

Apr 10, 1:41 AM EDT: @pepyakin started a stack merge that includes this pull request via Graphite.


fix(docs): update usage examples

Related to #59

Released: v0.6.0 🎉
This has been released in v0.6.0!

📄 Release notes
📦 npm package

Make sure to always update to the latest version (npm i @ossjs/release@latest) to get the newest features and bug fixes.

Predictable release automation by @ossjs/release.