Release partial build too

I noticed that the library can have partial builds too, and you make an example of 4 different partial builds: would it be possible for you to distribute them too?
If I wanted them I would need to fork the project and run npm, instead having them already available would avoid these steps for other developers interested in these partial builds
Thanks
Regards

The thing about partial builds is that they allow you to use only what you need, but there are so many possible different partial builds that I don't think it would makes sense for us to publish them all.

In fact I'm suggesting to release partial build only for the 4 given examples: more often than not I use only the methods of the combination collection + manipulation + traversal, it would be useless for me to have the full library

I don't think it's a good idea, but if you wanted to you can publish those yourself once and then import them in your projcets.

The problem is that I should compile these myself each time you release a new version
I'm not going to insist more than this, but publishing the Partial Builds of the examples would even allow the users to see if the declared sizes in the table are correct or not

There is no need to publish these partial builds on CloudFlare or jsDelivr, it is enough to have them in the dist folder of your repository

Sorry I don't think it's worth the effort on our side. If bundle is is a concern you should be making your own partial build which doesn't include anything more than you need.


Generation of proxy classes fails if they are prefixed with a namespace alias in metadata file.

Using the attached metadata file from a Microsoft Dynamics CRM instance where the namespace alias is mscrm. If a class is appended with this alias it will not be populated into the schemainfo m_class_vec container which will ultimately trigger an Access Violation exception when attempting to generate the proxy code.
To reproduce the error and get the actual exception location run the code gen tool from VS with the attached metadata file.
ODataV4Metadata.zip

Aliases are not supported by the master. I have however implemented Aliases in my fork, maybe you want to try that? You can clone it from here:
https://github.com/PBRCW/odatacpp-client

Aliases are not supported by the master. I have however implemented Aliases in my fork, maybe you want to try that? You can clone it from here:
https://github.com/PBRCW/odatacpp-client


cross-systems usage with colmena & --build-on-host

Hello,
Thanks for this interesting project & and your general work in the Nix ecosystem!
I am deploying from aarch64-darwin to x86_64-linux with colmena and forceRekeyOnSystem = "aarch64-darwin", and ran into the problem that --build-on-target stops working as colmena wouldn't copy rekeyed secret.
Curios if others here found better workarounds than me?
It works if I either use a remote-builder and leave out ´--build-on-targetor if I copy the secrets manually vianix copy. While doing so, I found that it's hard to know which derivation belongs to which host in the output of nix run .#rekey -- --show-out-paths`. Would a PR for that be welcome?

[...] and ran into the problem that --build-on-target stops working as colmena wouldn't copy rekeyed secret.

Oh good point, I haven't actually run into this myself since I usually build on my local machine.

Curios if others here found better workarounds than me?

Copying all secret derivations to your own substituter would also work, but that may or may not be desirable depending on your infrastructure setup.

While doing so, I found that it's hard to know which derivation belongs to which host in the output of nix run .#rekey -- --show-out-paths`. Would a PR for that be welcome?

Certainly, contributions are always welcome! :D
I can think of either extending the .#rekey CLI to be able to output hostnames, or maybe even better by exposing the rekey derivation in the module directly as a readOnly option age.rekey.drv or something similar to that. How would your desired interface look like?

I think I'm running into a similar issue when deploying from x86_64-linux to aarch64-linux with building on the remote.
Is there a workaround for this? I'm not really sure on how to fix that problem

@NyCodeGHG Your issue is probably the following: Your local system must build the derivation containing the rekeyed secrets for your target host, since it's the only system that has access to your secret key. But initiating the true build process on the remote means that the remote doesn't know about your local system at all, so naturally it cannot fetch the rekeyed secrets in any way.
There are several workarounds/solutions to this:

Don't build on the remote directly, but configure your aarch64-linux as a remote builder. You will then build the whole system on your local machine, which uses the configured remote builder to build aarch64-linux stuff. Afterwards the closure is copied to your target.
Similar to (1), you can achieve the same behavior by setting boot.binfmt.emulatedSystems = ["aarch64-linux"]; on your local system and prevent building on the aarch64 machine in the first place. This may actually be faster than letting the remote do the building if the remote is very slow (e.g. RaspberryPi 2/3)
Explicitly copy the secrets before initiating the build. If you make sure that the derivation is already available on the remote before starting the build, it will never try to build it since it's already there. You can run nix copy .#nixosConfigurations.yourHost.config.age.rekey.derivation ssh://yourHost whenever necessary.
Configure your local machine as a substituter on the target machine, so when the target tries to build the derivation it will instead find the existing derivation on your local machine and copy it automatically.

There may also exist other solutions that I haven't thought about yet.
Also please beware that manual copying can lead to caveats when a rekeyed derivation is rebuild without changing it's hash. This may happen if you choose to use a dummy secret value and later rekeying again to use the true secrets. In that case any existing derivations must be replaced in the store, which agenix-rekey does automatically for your local machine but it can't do that for your target machine since it doesn't know about them. This means in certain rare situations you might need to delete and re-copy the derivation to your remote.
I seem to mostly stick to options 1/2 on my local infrastructure. I'll build locally what I can, and if I need more build power I add the remotes as builders to my local machine.

@phaer @NyCodeGHG There's been a development in this regard, I've introduced a new local storage mode for rekeyed secrets. When using this new local storage mode, all rekeyed secrets will be stored locally in your flake's repository which removes the requirement to build a derivation at all, meaning there should be no more shenanigans with remote builders or CI/CD. You can refer to the Storage Modes in the readme if you want to try this :)

I'm not using colmena but I have been doing remote build for some time now with success, and rekeyed secrets seem to Just Work™.  I came into agenix-rekey after local storage was introduced, so local storage is all I've known.  For reference, this is the script I use: https://github.com/loganbarnett/dotfiles/blob/master/nix/derivations/proton-deploy.sh
That probably means this is safe to close. :)


[WIP] use generated (swagger) api resources

How about a separate repo/gem? k8s-client-models or something? It could then even have tagged versions that follow kube api versions, users could then do something like:
gem 'k8s-client'
gem 'k8s-client-models', '1.12.5'

Outdated by #147


API-endpoint (/employee/search)

This Endpoint is not working properly, I'm still working on it
ANY HELP WOULD BE APPRECIATED

`export const searchEmployee = async(req,res,next)=> {
try{
    let findEmployee = await Employee.findOne({
        name:req.body.name},
        {email:req.body.email},
        {position:req.body.position},
        {phoneNumber:req.body.phoneNumber});

    if(!findEmployee) return res.status(404).send('Employee with the given credentials was not found');

}
catch(ex){
    next(ex)
}

}`

This Endpoint is not working properly, I'm still working on it
ANY HELP WOULD BE APPRECIATED

keep going mwana


Log message for timeout error when loading model artefacts

Earth2Studio Pull Request
Description
Added log message with hint to timeout env variable for timeouts that happens during loading model artefacts. It will help new users to solve timeout problems that happen frequently with large models such as SFNO.
Checklist

[x] I am familiar with the Contributing Guidelines.
[ ] New or existing tests cover these changes.
[x] The documentation is up to date with these changes.
[ ] The CHANGELOG.md is up to date with these changes.
[ ] An issue is linked to this pull request.

Dependencies

/blossom-ci

/blossom-ci

Closing, added in https://github.com/NVIDIA/earth2studio/pull/155
Thanks!


feat: support Google Cloud Build

Please set the environment variable GOOGLE_CLOUD_BUILD.
GOOGLE_CLOUD_BUILD=true

And please set the following environment variables using substitutions.

COMMIT_SHA
BUILD_ID
PROJECT_ID
_PR_NUMBER
_REGION

Please specify the repository owner and name in github-comment.yaml.
e.g.
github-comment.yaml
base:
  org: suzuki-shunsuke
  repo: github-comment

https://github.com/suzuki-shunsuke/github-comment/releases/tag/v4.3.0-2

https://github.com/suzuki-shunsuke/github-comment/tree/v4.4.0-0


endpoint is deprecated and pending removal

Heya,
I'm following this guide: https://clerk.com/docs/references/ruby/rack-rails
I'm setting the Authorization header in my frontend (@clerk/remix) and it's all passed through correctly. In my controller I can call clerk_user and clerk_user_signed_in?. But following the guide when I call clerk_session I get the error that the endpoint is deprecated:
Clerk::Errors::Fatal: {"errors"=>[{"message"=>"endpoint is deprecated and pending removal", "long_message"=>"This endpoint is deprecated and will be removed in future versions. We strongly recommend switching to networkless verification using short-lived session tokens, which is implemented transparently in all recent SDK versions (e.g. NodeJS SDK https://clerk.com/docs/backend-requests/handling/nodejs#clerk-express-require-auth). For more details on how networkless verification works, refer to our Session Tokens documentation https://clerk.com/docs/backend-requests/resources/session-tokens.", "code"=>"operation_deprecated"}], "clerk_trace_id"=>"b8da8d078aaae67646be5cc80fc40492", "status"=>410}

Any help appreciated!

@tonydaly Did the above suggestion resolve your issue?

Closing this issue as it's been stale for a long time. Feel free to re-open!

Hello folks. Im' curious why this is not in the documentation somewhere?
https://clerk.com/docs/references/ruby/rack-rails


Add VCS metrics from Github receiver

Fixes #1372
Changes
This PR adds the VCS metrics from the GitHub Receiver to Semantic Conventions.
These metrics are based on https://github.com/adrielp/opentelemetry-collector-contrib/blob/903eec5382352e4d663fadd2dc7f1cc1e37f62fd/receiver/githubreceiver/documentation.md
Merge requirement checklist

[x] CONTRIBUTING.md guidelines followed.

[ ] Sign CLA

[x] Change log entry added, according to the guidelines in When to add a changelog entry.

If your PR does not need a change log, start the PR title with [chore]

[x] schema-next.yaml updated with changes to existing conventions.

TODO

[x] Update docs/cicd/cicd-metrics.md after receiving changes from https://github.com/open-telemetry/semantic-conventions/pull/1411

❌ - login: @christophe-kamphaus-jemmic / name: Christophe Kamphaus . The commit (44a1c81, 4d8e3a9, 592483f, ef91dfa, 238c764, 9bd4a95, 8c2e8a7, f712312, 700412a) is not authorized under a signed CLA. Please click here to be authorized. For further assistance with EasyCLA, please submit a support request ticket.

@christophe-kamphaus-jemmic - please sign the CLA if you haven't already.

@lmolkova @christophe-kamphaus-jemmic @adrielp - Regarding events vs. metrics a few thoughts:
Overall: I think they can be complementary.  We can define both, we should ensure metrics can be derived from events.

How do we get "initial state" if we only capture lifecycle events?  We either need to define a snapshot, or we can use these metrics as that initial state.
I'm not as familiar with GH APIs now, but how does event capture work?  It could be implementation wise, it's cheaper to report metrics and poll for chagnes/update metrics in a single stateful system.  Haven't looked at the implementation in the collector.

Overall - I think Liudmilla is right about scale and flexiblity if we can fire events.  I don't see this as a blocker, but I'd like to understand possibilities better.

SemConv meeting notes:
Review statistics provided by Github (Pulse / Insights).
Is there overlap with the metrics defined here?
What is the minimum set of recommended metrics / attributes that gives good observability for vcs?

Review statistics provided by Github (Pulse / Insights).
Is there overlap with the metrics defined here?

Metrics provided by Github (screenshots)

Correspondance between Github statistics and Otel SemConv VCS metric defined in this PR.

Github statistic
Otel SemConv VCS metric
Notes

Number of forks

Number of stars

Number of open issues

Number of open PRs
vcs.repository.change.count

Commit activity over time

on main branch

Number of closed issues

Number of merged PRs
vcs.repository.change.count

Number of unresolved conversations

# of commits by contributor

to main branch

Commit activity over time by contributor

on main branch

Lines added by contributor

to main branch

Lines removed by contributor

from main branch

Lines added over time

on main branch

Lines removed over time

on main branch

Commits ahead for branch vs main
vcs.repository.ref.revisions_ahead

Commits behind for branch vs main
vcs.repository.ref.revisions_behind

Should we adapt the defined VCS metrics to cover some of these Github statistics and/or add additional metrics?

I'm a bit concerned about the inclusion of metrics using PII, which would allow organizations to track performance of individuals.
While organizations can easily implement such tracking tools, (GH itself offers them to some extent) i believe we shouldn't make it easy (or encourage that behavior) in this context.
What if we remove # of commits by contributor, Commit activity over time by contributor, Lines added by contributor and Lines removed by contributor in this stage? I believe this is a very sensitive topic and we should have a dedicated and focused conversation around this topic.

Re:

Review statistics provided by Github (Pulse / Insights).
Is there overlap with the metrics defined here?
....

I'm not a huge fan of GitHub's insights, and most folks I've talked to aren't either. They don't get much, if any, value out of those insights as they don't give enough information to ask questions and analyse. Additionally, I have concerns about including PII (contributor emails) in the metrics. Time after time I've seen companies misuse this type of data to incorrectly pass judgement against engineers. I feel so strongly about this that I wrote an observing human systems RFC 2119 specification.
My take is that we should approach these metrics (and I think we are already) from the perspective of what can come from a VCS, not from what comes from GitHub only. I think the metrics we have closely align with dora.dev's capabilities. Additionally, I think these metrics could be considered as foundational to aggregation style metrics in other series CHAOSS.

I have tried to summarize the discussion we had last Monday in the Semantic Convention SIG as best I can here below:
Summary of Semantic Convention SIG meeting 2024-10-14
https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/data-model.md
Histograms aggregate multiple events as they occur. For each reporting time they return the aggregated distribution.
In this PR we do not do that:
If we reported the metrics in question as histogram we would sample all data points (ie. PR counts and duration per change state) at each reporting time and the counts could decrease (ie if a PR moves from one state to another).
We would sample the entire distribution for each reporting time.
Cumulative counts would be incorrect since we would consider all PRs as new events for each reporting.
Gauges best correspond to the data model of the metrics. It accurately represents the data (with no aggregation).
A drawback is that the number of gauges scales with the number of PRs instead of having a single histogram aggregating that data.
Ie we have N gauges instead of 1 gauge histogram.
There might also be an usability issue to transform multiple gauges into a histogram (eg in Prometheus / Grafana).
For histograms Prometheus has several functions available (eg. percentiles, 99th percentile, 50th percentile, averages, counts, sums). We can do heatmaps for histograms.
For N gauges we don't get the usability of having a histogram.
Let's consider usability (eg existing dashboard, recordings of demo) @adrielp.
Conclusion by @jsuereth : stick with gauges for now and sort out the gauge histogram data model later -> create SemConv CICD issue, link to existing gauge histogram issues in spec.
@lmolkova : Add comment somewhere in the Markdown or Yaml, saying that instrument type might change, and this will be a prerequisite to stability, but for now it's good.

Dashboard by @adrielp using gauge data: https://grafana.com/grafana/dashboards/20976-engineering-effectiveness-metrics/

I have tried to summarize the discussion we had last Monday in the Semantic Convention SIG as best I can here below:
Summary of Semantic Convention SIG meeting 2024-10-14
https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/data-model.md Histograms aggregate multiple events as they occur. For each reporting time they return the aggregated distribution.
In this PR we do not do that: If we reported the metrics in question as histogram we would sample all data points (ie. PR counts and duration per change state) at each reporting time and the counts could decrease (ie if a PR moves from one state to another). We would sample the entire distribution for each reporting time. Cumulative counts would be incorrect since we would consider all PRs as new events for each reporting.
Gauges best correspond to the data model of the metrics. It accurately represents the data (with no aggregation). A drawback is that the number of gauges scales with the number of PRs instead of having a single histogram aggregating that data. Ie we have N gauges instead of 1 gauge histogram. There might also be an usability issue to transform multiple gauges into a histogram (eg in Prometheus / Grafana). For histograms Prometheus has several functions available (eg. percentiles, 99th percentile, 50th percentile, averages, counts, sums). We can do heatmaps for histograms. For N gauges we don't get the usability of having a histogram.
Let's consider usability (eg existing dashboard, recordings of demo) @adrielp.
Conclusion by @jsuereth : stick with gauges for now and sort out the gauge histogram data model later -> create SemConv CICD issue, link to existing gauge histogram issues in spec. @lmolkova : Add comment somewhere in the Markdown or Yaml, saying that instrument type might change, and this will be a prerequisite to stability, but for now it's good.

I've wrote a quick document that discusses the historical context of these metrics, how to query them on the frontend, the dashboard, and how to make the histograms from the aggregations. I'll open the document for comments & feedback. Right now it's a google doc because that was the easiest place for me to collect my thoughts & I wasn't feeling opening yet another issue 🤣
Here's the google doc.
There's also an older zoom recording (starts at 5:35 of me demoing these metrics (and DORA) in the OTel Demo SIG meeting. Lot's of iterations have been had since then, so you'll certainly see differences in the dashboards. But hopefully that'll provide additional information.

This looks awesome! 🚀


[Das_Schwarze_Auge_4-1] Fix: Rolls on scripts not working

Submission Checklist
Required

[x] The pull request title clearly contains the name of the sheet I am editing.
[x] The pull request title clearly states the type of change I am submitting (New Sheet/New Feature/Bugfix/etc.).
[x] The pull request makes changes to files in only one sub-folder.
[x] The pull request does not contain changes to any json files in the translations folder (translation.json is permitted)

Changes / Description
Fixes

Fix: Rolls on scripts not working (6fbad4d745d08b7f8393b547140628adedd39eec)

Miscellaneous

Bump version number (8e4f86d7abd409b7bc2ae09e855e58186a032f26)
Add info on latest version (47985d05b5f00a012aaa0b5f40dad14e2b2407ff)
Regenerate sheet files (22e489d5093b3ef46d50f154caeb641151684eea)

Character Sheet Info Roll20 Internal Use only.

Funnily, nobody noticed and told me for the past ~6 weeks (well, except my group yesterday), probably because checks on scripts are only rarely employed.


Add Abort?

For when a message is unable to be handled for whatever reason. Kinda like NAck in other queues.

I'll add it if needed.


Fix namespaces and server dependencies

that is strange - ref to client proj definitely does not belong - it was added 2 months ago - probably typo

@nbiada could you add in back the client reference that you removed and update this PR. will merge other changes.

Ok, I'll do it this evening


[QUESTION] Adding cookies to requests no longer working?

I'm trying to also get tweets with potentially sensitive content by using my account cookies.
The solution to add the cookies to the headers like described in issues #543 and #560 doesn't seem to work anymore.
The code changed and there are now three lines containing "RequestUrl":
https://github.com/twintproject/twint/blob/a45a8ac719d5710e7da92f77d9801b351e505c1f/twint/run.py#L62
https://github.com/twintproject/twint/blob/a45a8ac719d5710e7da92f77d9801b351e505c1f/twint/run.py#L66
https://github.com/twintproject/twint/blob/a45a8ac719d5710e7da92f77d9801b351e505c1f/twint/run.py#L79-L80
I added my account cookies and edited the lines above like described in issue #560 so all three lines look like this:
response = await get.RequestUrl(self.config, self.init, headers = [("User-Agent", self.user_agent), ("Cookies",cookies)])
Now when I run twint I get this error:
TypeError: RequestUrl() got an unexpected keyword argument 'headers'
Is there another way to do this?

Hi aybli
I also encountered this problem, have you found a solution?

Hi aybli
I also encountered this problem, have you found a solution?

Hi Mr-Weihuawei, I have tried to do fix it myself but I just ended up running into more problems.
I'm hoping someone knowledgable about these new changes can provide some information.

Hi,
I apologise for the issue you are currently facing.
It's because when I ported the twint for newer twitter endpoints after older endpoints were depricated I had to change a lot of code.
Thats the reason a lot of twint functionality is broken right now.
Moreover the development of twint is way to slow right now, PR doesn't seem to get merged for a long time, so I am really reluctnat to put up new PRs.
If I am not too busy in the upcoming month, I'll try to fix as many things as I can.


Add quick-lint-js version 2.4.1

[x] Have you signed the Contributor License Agreement?
[x] Have you checked that there aren't other open pull requests for the same manifest update/change?

[x] Does your manifest conform to the 1.0 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

Hello @strager, The package manager bot determined there was an issue with installing the application correctly. Please check the application installs correctly. Once repaired, please push an update to your pull request.

I don't see what the issue is. Here is the raw log from the failing job:

3/26/2022 12:53:44 AM

****************************************************************************************
Installation Verification
****************************************************************************************
Status: Started
==============================================================================
Task         : Installation Validation
Description  : Invoke an Azure Function
Version      : 1.198.0
Author       : Microsoft Corporation
Help URL     : https://docs.microsoft.com/azure/devops/pipelines/tasks/utility/azure-function
==============================================================================
2022-03-26T00:53:46.1732738Z POST ***?code=***&
Request body: {
  "operationId": "WinGetSvc-Validation-213-55794-20220326-2",
  "BuildId": "296620",
  "PlanUrl": "https://dev.azure.com/ms/",
  "HubName": "build",
  "ProjectId": "ed6a5dfa-6e7f-413b-842c-8305dd9e89e6",
  "PlanId": "7609bccd-b454-468f-ab55-87bffa98f576",
  "JobId": "871b4eed-22de-5cb6-c1c8-82f190de633f",
  "TimelineId": "7609bccd-b454-468f-ab55-87bffa98f576",
  "TaskInstanceId": "58bdf892-4e45-5ba7-4782-31912f95e167",
  "AuthToken": ***
}
				Response Code: OK
				Response:

3/26/2022 12:55:22 AM

****************************************************************************************
Installation Verification
****************************************************************************************

-----------------------------------------------------
Failed
-----------------------------------------------------
Status: Completed

there's two things that's compulsory in MSIX:

Self-signed (Authenticode) certificates cannot be used.
(Authenticode) certificate must be from a reputable company (i.e. Comodo is one example) where the company's root certificate is in the OS Trust Store.

Does winget require code signatures? It looks like some installers in winget are not Authenticode-signed, such as JanDeDobbeleer.OhMyPosh (but I might be wrong):
https://github.com/microsoft/winget-pkgs/blob/8252a7427bac01bfb90b11452b765add3a6c6cf8/manifests/j/JanDeDobbeleer/OhMyPosh/7.49.0/JanDeDobbeleer.OhMyPosh.installer.yaml#L17

Does winget require code signatures?

WinGet follows whatever App Installer wants.
The MSIX specifications require you to purchase a Code Signing Certificate and get it cross-signed with a CA such as Comodo or

It looks like some installers in winget are not Authenticode-signed, such as JanDeDobbeleer.OhMyPosh

That is correct but signing is only applicable and required for APPX and MSIX installers.
It doesn't affect EXE / MSI / ZIP or other installer types.
If you don't want to purchase a CSC you can wait until WinGet supports .zip installer type or make an EXE or MSI installer.

I would also like to add that the SignatureSha256 should be included as well as the Yaml schema headers. I ran it through YamlCreate and got this.
Testing in the sandbox while using the manifests I got from YamlCreate gave this output, which confirms that even though the package is signed, it is not signed using a certificate from a provider that Microsoft trusts.
--> Installing WinGet
Tip: you can type 'Update-EnvironmentVariables' to update your environment variables, such as after installing a new software.

--> Configuring Winget
Admin setting enabled.

--> Installing the Manifest 2.3.1

Found quick-lint-js [quick-lint.quick-lint-js] Version 2.3.1
This application is licensed to you by its owner.
Microsoft is not responsible for, nor does it grant any licenses to, third-party packages.
Successfully verified installer hash
Starting package install...
Installer failed with exit code: 0x800b0109 : A certificate chain processed, but terminated in a root certificate which is not trusted by the trust provider.

This is correct but authenticode signing is only required for APPX / MSIX installers. This doesn't affect EXE / MSI or other installer types because it's not compulsory.

Ah, okay. That makes sense.
I'll look into getting the MSIX certificate signed by a Microsoft-trusted authority.

@wingetbot run

The MSIX installer is now signed with a Microsoft-trusted chain.

@wingetbot waivers Add Validation-Executable-Error


chore(main): release 1.0.2

:robot: I have created a release beep boop
1.0.2 (2024-08-07)
Bug Fixes

limit gen (#6) (6a1a258)

This PR was generated with Release Please. See documentation.

:robot: Created releases:

v1.0.2
:sunflower:


Short solution needed: "Commit transaction in PHP PDO" (php-pdo)

Please help us write most modern and shortest code solution for this issue:
Commit transaction in PHP PDO (technology: php-pdo)
Fast way
Just write the code solution in the comments.
Prefered way

Create pull request with a new code file inside inbox folder.
Don't forget to use comments to make solution explained.
Link to this issue in comments of pull request.

Commit transaction in PHP PDO


[state-sync] Adding metrics for state sync

Motivation
We want to set up a dashboard for state synchronizer that tracks various metrics such as success/failures, timeouts, number of requests made, versions, targets, etc. This diff is a first try at setting up some basic metrics that will be synced to prometheus later.
[still WIP]

:umbrella: The latest upstream changes (presumably 9f51aa4bc3126e3a4b1cdacaaa3de5788ba38619) made this pull request unmergeable. Please resolve the merge conflicts.

:umbrella: The latest upstream changes (presumably 361c54ec1591af0c7fc87907cbc97148f72e6ec0) made this pull request unmergeable. Please resolve the merge conflicts.

@bors-libra r+

:pushpin: Commit 5952caa has been approved by sunmilee

:hourglass: Testing commit 5952caafca943dc5ad70a86a2738aac044048888 with merge dfcbbe7283cf5e40de1e9cad61740da012296867...

:sunny: Test successful - checks-circle_commit_workflow
Approved by: sunmilee
Pushing dfcbbe7283cf5e40de1e9cad61740da012296867 to master...


FSR 2

FSR 2.0 is not released yet and seems like it will support DirectX 12 only which makes it impossible to add to gta 5


[FIX] Corrected Sophos XG filter

I have read the Code of Conduct and I hereby accept the Terms

I have read the Code of Conduct and I hereby accept the Terms

recheck


Fetch Refactor: Replace rest-hooks: OrgSettingsBaseResource

Problem statement
As a report stream developer I want to replace all instances of usage of rest-hooks with react query based hooks.
Dependent on https://app.zenhub.com/workspaces/experience-607d9d5e68b95200150fec37/issues/cdcgov/prime-reportstream/6528 and https://app.zenhub.com/workspaces/experience-607d9d5e68b95200150fec37/issues/cdcgov/prime-reportstream/6531
This ticket accomplishes replacement for files downsteam of OrgSettingsBaseResource:

OrgSettingsBaseResource

DisplayMeta

What you need to know
[Links to documents, workflows, or list of key people and contact info]

Document 1
Document 2
...

Acceptance criteria

[ ] usage of rest-hooks on all mentioned downstream files is replaced with new react query based functionality
[ ] all resource files mentioned are deleted

To do

[ ] ...

@jpandersen87 @stephenkao Is this issue still valid as written?
It seems a little old and sparse, so checking to see if it is ready for team refinement this week.

Closing because we have replaced all of the remaining Fetch Refactor tickets with updated "Create/Replace Hooks" tickets divided by API area.


Uptime Kuma reporting fake downtimes.

⚠ Please verify that this bug has NOT been raised before.

[X] I checked and didn't find similar issue

🛡 Security Policy

[X] I agree to have read this project Security Policy

📝 Describe your problem
Idk exactly why my Uptime Kuma Install (latest version) it is reporting fake downtimes, the donwtime lasts 1min and then service is back up. I'm using a TCP port monitor that should check every 1 min.
I'm monitoring 2 different ports on same IP and the issue goes from one to another monitor.
🐻 Uptime-Kuma Version
1.13.2
💻 Operating System and Arch
Ubuntu 20.04
🌐 Browser
Safari
🐋 Docker Version
No response
🟩 NodeJS Version
No response

I recommend that you might check your network environment first. Sometimes, TCP connection can be failed because of the network or local environment, even if the service is online.

What is your retry count set to?

I recommend that you might check your network environment first. Sometimes, TCP connection can be failed because of the network or local environment, even if the service is online.

But what exactly should I check ? I assume something related to NAT

What is your retry count set to?

It is set to 1

But what exactly should I check ? I assume something related to NAT

I wouldn't have though that the issue would be related to NAT if other outgoing connections are working. It could be to do with a poor network connection. I would try increasing the retry count a bit and decreasing the retry interval to somewhere between 10 and 30 seconds (something less than the heartbeat interval to allow for all retrys to complete before then next heartbeat).

Hi not sure if this is related but I've got a weird issue where a downtime for the last 24 hours is 0.2% but, in the graph, and event's no downtime is registered. My usual config is to check every 20 seconds and have 2 retries before the service is marked as down. Also, just to be clear, my server (VPS) is plenty powerful for this application to run well so I can rule this one out.


WIP: Enable CA1822 for types with internal visibility

Non-breaking change as fixes are only for types with an effective visibility of internal.
https://docs.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1822
Follow-up to: #13897.

D:\a\1\s\src\Microsoft.PowerShell.Commands.Diagnostics\PdhHelper.cs(1019,21): error CA1822: Member 'LookupPerfNameByIndex' does not access instance data and can be marked as static [D:\a\1\s\src\Microsoft.PowerShell.Commands.Diagnostics\Microsoft.PowerShell.Commands.Diagnostics.csproj]
D:\a\1\s\src\Microsoft.PowerShell.Commands.Diagnostics\PdhHelper.cs(1136,23): error CA1822: Member 'GetCounterSetHelp' does not access instance data and can be marked as static [D:\a\1\s\src\Microsoft.PowerShell.Commands.Diagnostics\Microsoft.PowerShell.Commands.Diagnostics.csproj]

I thought src\Microsoft.PowerShell.Commands.Diagnostics\PdhHelper.cs was not compiled (https://github.com/PowerShell/PowerShell/pull/14491#issuecomment-827944838), yet we have a code quality diagnostic being reported?

I thought src\Microsoft.PowerShell.Commands.Diagnostics\PdhHelper.cs was not compiled (#14491 (comment)), yet we have a code quality diagnostic being reported?

No, please exclude non-compliling code and frozen code too.

I thought src\Microsoft.PowerShell.Commands.Diagnostics\PdhHelper.cs was not compiled (#14491 (comment)), yet we have a code quality diagnostic being reported?

No, please exclude non-compliling code and frozen code too.
Also 68 files are too many for review. Please split the PR on some parts.

PdhHelper.cs is compiled, but only on Windows:
https://github.com/PowerShell/PowerShell/blob/0f2f23f67a2c3ec53cf82c8d1a67b479f62934e4/src/Microsoft.PowerShell.Commands.Diagnostics/Microsoft.PowerShell.Commands.Diagnostics.csproj#L24-L28

Stop sending me these messages i will report you'll
Sent from Yahoo Mail on Android
On Wed, Nov 24, 2021 at 5:53 AM, @.***> wrote:
Reopened #15838.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.


Feat: Return the server port on starting the server

Closes #633

Codecov Report

Merging #682 (231db89) into main (0d108b5) will increase coverage by 0.05%.
The diff coverage is 75.00%.

@@            Coverage Diff             @@
##             main     #682      +/-   ##
==========================================
+ Coverage   56.23%   56.28%   +0.05%
==========================================
  Files          63       63
  Lines        1700     1702       +2
  Branches       41       40       -1
==========================================
+ Hits          956      958       +2
  Misses        744      744

Impacted Files
Coverage Δ

zio-http/src/main/scala/zhttp/service/Server.scala
53.19% <75.00%> (+2.08%)
:arrow_up:

Continue to review full report at Codecov.

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

🚀🚀🚀 Benchmark Results
Concurrency: 256
Requests/sec: 436423.14

🚀🚀🚀 Benchmark Results
Concurrency: 256
Requests/sec: 426759.21

🚀🚀🚀 Benchmark Results
Concurrency: 256
Requests/sec: 436891.79

Ran it by @tusharmath, we need to cover tests for server start as well. It will be covered in another PR


Add new JSON generation example in file formats docs

Issue: #346

Codecov Report

Merging #354 (2ef2ed2) into main (03ceb70) will decrease coverage by 0.05%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##               main     #354      +/-   ##
============================================
- Coverage     94.85%   94.80%   -0.06%
+ Complexity     1935     1934       -1
============================================
  Files           203      203
  Lines          3869     3869
  Branches        385      385
============================================
- Hits           3670     3668       -2
- Misses          101      102       +1
- Partials         98       99       +1

Impacted Files
Coverage Δ

...ker/idnumbers/pt/br/IdNumberGeneratorPtBrUtil.java
92.59% <0.00%> (-3.71%)
:arrow_down:

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

Since it is example of simple JSON generation I think it would make sense to place it  at the very beginning of JSON section and then more complex examples


Add hover to make it attractive

What happened?

I would like add hover effects to this section. Please assign it to me under gssoc'23
Add screenshots

What browsers are you seeing the problem on?
No response
Record

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

@akanksha984 yes, we can do this. Just add small amount of shadow when hovering

@priyankarpal  https://github.com/priyankarpal/ProjectsHut/pull/1775 please check this


Add Puppet 8 support

Probably going to have to redo the parameters of k8s::server::etcd to get full Puppet 8 support, since using pick won't help with strict variables - and that particular class is supposed to support being applied completely separately from the rest of the k8s module as well

passes now


Test that flutter run doesn't introduce new debug spew

I think I'm right in saying that https://github.com/flutter/flutter/issues/110948 was able to emerge undetected in stable because we don't have a test that verifies flutter run does not spew out an unexpected error.
Can we add such a test? Here is the failing condition:
[C:\src\wintext] flutter run -d windows
Launching lib\main.dart on Windows in debug mode...
Building Windows application...
[ERROR:flutter/shell/platform/windows/direct_manipulation.cc(137)] CoCreateInstance(CLSID_DirectManipulationManager, nullptr, CLSCTX_INPROC_SERVER, IID_IDirectManipulationManager, &manager_) failed
[INFO:embedder.cc(136)] populate_existing_damage was not defined, disabling partial repaint. If you wish to enable partial repaint, please define this callback.
Syncing files to device Windows...                                  58ms

We should have been able to pick this up with CI by identifying unexpected text between the Build command and the Sync command. I suspect a test like this might pick up a whole category of potential failures that might only otherwise be detected with manual testing.
/cc @loic-sharma for thoughts.

This sort of test is going to fail a lot, because some of the output flutter run includes is not from the flutter tool or engine, but from the other platform tools that we depend on, like Gradle and the Android SDK. These can have messaging the slightly differs accross versions, and updates out of band with the Flutter SDK.

We recently added a test to the engine to ensure it doesn't have unexpected output:
https://github.com/flutter/engine/blob/2d62ba3e1b92beb6bbe90aabcbff2578ed551a11/shell/platform/windows/flutter_windows_unittests.cc#L43-L67
Ideally once https://github.com/flutter/flutter/issues/110948 is fixed we'd add a similar test to the Flutter tool.

This sort of test is going to fail a lot, because some of the output flutter run includes text that is not from the flutter tool or engine, but from the other platform tools that we depend on, like Gradle and the Android SDK.

This is a good point. Perhaps the test should check there aren't obvious errors? I'll give this some more thought

Its possible we could specifically grep for the engine prefixes for debug logs too

Added in https://github.com/flutter/flutter/pull/116798


The session entry is added again in the inbound(oauth and saml) to add the cookie values to session.

Describe the issue:
As a fix for https://github.com/wso2/product-is/issues/10419, we are adding the again complete session entry in the OAuth and saml components with the cookie value(obps and samlssotoken ) after the framework completes the authentication. This call has to be removed. We should have a way to add this cookie value to the session object before the session is created in the framework.

The approach for this fix, there will be a listener in the authentication framework before the session creation and update. Inbound components can register list the inbound components can add any properties.
With this listener approach, the OAuth and saml components can resolve the cookie value before the session is created in the framework in the listener implementation and insert it as a property.


vulnerable to dns rebinding

Doesn't fit my threat model. Very difficult to implement adequately and client-side mitigations exist.


Add option to display a user's last scrobble instead of what is "now scrobbling"

Certain Scrobblers don't have the option to push a "now scrobbling" message to Last.fm. Displaying the most recently scrobbled song can alleviate this problem in Descent.

It's a fair request, but I don't really have the time/resources to do feature work on Descent anymore, and not sure when that will change. I'll leave the issue open in case someone wants to submit a PR for it.


Add DRF 3.14 to Compatibility Matrix

https://github.com/encode/django-rest-framework/releases/tag/3.14.0

Codecov Report

Merging #179 (4ebff58) into master (70e00b6) will not change coverage.
The diff coverage is n/a.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@           Coverage Diff           @@
##           master     #179   +/-   ##
=======================================
  Coverage   90.26%   90.26%
=======================================
  Files          11       11
  Lines         267      267
=======================================
  Hits          241      241
  Misses         26       26

Thanks for the change!


Resizeable BARs test

i guess it depends on changes from #23 , so i will wait with review until #23 is merged

@miczyg1

@Mixss any test report I can see from this code?
I guess you mean test logs: https://cloud.3mdeb.com/index.php/s/DDJEYArjXTTtDje


Redacted Read me file

Hello!  I am a student of a programming course.  I now have the discipline to learn GitHub.  My teacher gave me the task of finding an open source project and modifying it.  I chose your project as a training project.  I don't know what further tasks will be from my teacher, so maybe this is not the last action with your project.  I apologize for the inconvenience.

I am happy to assist you with your tasks but for that you need to do a valid pr
So do one thing clone the repo to your system run the html code and check if you can add some features or check for some bugs. Raise the issue first I will assign it to you and you can modify it and raise the pr. This may help you more.

Okay, thank you


ArgumentException: Two path items have the same signature.  But they do have different paths

Hello, I am using the global tool yaos.OpenAPI.Diff.CLI.  I hope you don't mind me creating the issue on this repo, I couldn't find the CLI repo to create the issue there.  I am using the tool in a custom github action of mine, however, I started running into the following issue.    System.ArgumentException: Two path items have the same signature: /Products/{}
I am getting this argument exception because I have the following two routes in my controller
[HttpGet("{searchTerm}"] - this is an old deprecated endpoint that we are replacing
[HttpGet] - this is the new one that uses a query string
The paths seem to be different so I believe this argument exception is being thrown incorrectly.
The generated specs are as follows:
"/Products/{searchTerm}": {
      "get": {
        "tags": [
          "Products"
        ],
        "operationId": "GetProductOldAsync",
        "parameters": [
          {
            "name": "searchText",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "nullable": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        },
        "deprecated": true
      }
    },
"/Products": {
      "get": {
        "tags": [
          "Products"
        ],
        "operationId": "GetProductsAsync",
        "parameters": [
          {
            "name": "query",
            "in": "query",
            "schema": {
              "type": "string",
              "nullable": true
            }
          },
          {
            "name": "productId",
            "in": "query",
            "schema": {
              "type": "string",
              "nullable": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      },

Any help would be greatly appreciated.  On a side note, I am not able to use this github action (although I would love to!) because we have a custom private nuget feed that would prevent the projects from restoring for build going through this action, which is why I am using your cli version, and my own custom action.

hi @qmarsala-cricut
sorry for the late reply, did not see this issue.
could you send me the whole spec file so I can have a look at it?

@fabich Hey, thanks for the reply!  I will get that for you as soon as I can.  I am a bit busy today, we have just disabled our github action for now, and have not yet found a replacement so your help here will be fantastic!

hi @qmarsala-cricut
we are currently working on a new release.
could you send me your spec file so we can include a potential bug fix in this version?

@fabich, I will get that to you today, thanks again

@fabich Good news!  I don't think you have a bug... I found the conflicting route in our api, we did actually have another router with a path param causing a conflict.  It was just like 5000 lines away from these two so I didn't see it :/  Thanks for taking a look, i'll re open a new issue if I find anything else again.

@qmarsala-cricut fyi we open-sourced the underling code here:
https://github.com/LimeFlight/openapi-diff


AI Undresser Free Undress AI App - Just Upload Image and Get Result in 3 Sec of 2025

AI Undresser with AI creates deepnude images online for free. Generate realistic image with precision and ease!
Click to use for free AI Undresser App - 👉 DeepNude
Click to use for free AI Undresser App - 👉 DeepNude
Click to use for free AI Undresser App - 👉 DeepNude


vlang: 0.1.21 -> <IP_ADDRESS>

Motivation for this change
https://github.com/vlang/v/releases/tag/<IP_ADDRESS>
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Notify maintainers
cc @Chiiruno

This change is

The latest version is 0.1.24, could this PR be updated to that?

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/making-a-lib-available-to-compiler-without-using-nix-shell-p/6128/5


Update DeveloperGuide.md

Coverage increased (+0.05%) to 84.387% when pulling e6c8395301b4fa168d9308c9202baec035447d6d on Li-Shicheng:master into 1869e2e7522e7d40a1ebf1939c44a610eef76568 on CS2103JUN2017-T4:master.


The system cannot find the file specified

While Building the Docker container and listing the docker images

@AsavariAkshekar09 thank you for filing this issue. Can you provide more details around the issue you're seeing and what steps you took?


Added release drafter

@pansen Agreed on merging this PR, see what is still missing (if any) and do that in a next PR.


How to define types in Node and Disable drag and drop for certain types

I Want to have following kind of tree structure for one of my module:

Order1

Formulation1
- Task-1
- Task-2
- Task-3
- Task-3-1
- Task-3-2
- Task-3-2-1
-  Task-3-2-1-1

Task4

Formulation2

Formulation3
-  Task-1
- Task-2
          - Task-2-1

Order2

Formulation1

    Task-1

    Task-2

    Task-3

        Task-3-1

        Task-3-2

My problem is i want to have three types of Nodes:
Order- will be always a root node - ### Should not allowed to drag and drop
Formulation - it always be a immediate child of a Branch - ### Should not allowed to drag and drop
Task- Always a child of Formulation or Task not a Order type  - ### Should  allowed to drag and drop under same Order not to outside of Order
I also have another question:
how shall i create new node with type, currently i tried to use Context menu option but it does not tell the type.
So when i'm creating a node:
It should based on from which level i'm creating it:
If i'm creating it from Order level- it should be Formulation
If i'm creating it from Formulation level - it should be task
if i'm creating it from task level - it should be task
Kindly suggest me any way to achieve this.
Your help will be appreciated, Thanks in Advance.

My Code for reference:
HTML

Model
public class TreeModel
{
public string id { get; set; }
public string parent { get; set; }
public string text { get; set; }
public bool children { get; set; } // if node has sub-nodes set true or not set false
}
Controller:
This code is only for creating branch and item but i dont have way to create a type of node.
public JsonResult GetRoot()
{
List items = GetTree();
        return new JsonResult { Data = items, JsonRequestBehavior = JsonRequestBehavior.AllowGet };
    }

    public JsonResult GetChildren(string id)
    {
        List<TreeModel> items = GetTree(id);

        return new JsonResult { Data = items, JsonRequestBehavior = JsonRequestBehavior.AllowGet };
    }

    public List<TreeModel> GetTree()
    {
        var Orders = db.tblOrders;
        var items = new List<TreeModel>();
        foreach (var d in Orders)
        {
            // create a new node
            TreeModel t = new TreeModel();
            t.id = d.OrderID.ToString();
            t.parent = "#";
            t.text = d.OrderName;
            t.children = true;
            items.Add(t); // add the node to the "master" node
        }
        return items;
    }

    static List<TreeModel> GetTree(string id)
    {
        Orders objOrder = new Orders();
        var Orders = objOrder.Get_TreeFormulation(Convert.ToInt32(id));
        var items = new List<TreeModel>();
        foreach (var d in Orders)
        {
            // create a new node
            TreeModel t = new TreeModel();
            t.id = d.FormulationID.ToString();
            t.parent = id;
            t.text = d.FormulationNumber;
            t.children = true;
            items.Add(t); // add the node to the "master" node
        }
        // set items in here
        return items;

    }

Hi,

Take a look at the dnd.is_draggable calback to prevent drags where not desired.

As for the contextmenu - either call set_type in a create_node.jstree event handler (easier), or override the contextmenu.items create function.

Best regards,
Ivan


Issue regarding e2e waiting for a locator

Hi,
I'm facing the issue regarding the wait for a locator using browser.driver.findElement(by.id('abc').click();
The actual problem is, the the element is present in the DOM and it will get the click also, but it doesn't works properly. That is it shows an error 'Unalbe to locate the element'. How can I resolve this ? I doesn't need to wait for a particular amount of time but need to wait until the element get invoked ? Anybody please help ?

Hi, @gijop ! One of possible solutions is to create custom wait based on DOM using pure JS.

Hey, @gijop! i faced that same issuea couples days ago, but looking on the web, i found this snippe that works for me:
browser.sleep(300).then(function () {
browser.actions().sendKeys(protractor.Key.ENTER).perform();
callback();
});
try it and tell me if work for you too!

Hey, @flucena89 , the browser.sleep(300) option will definitely work with no doubt. But it is not a good way to wait upto the time expires, instead we need to wait until the element or anything we need get happens.
So that was my issue ? Any way thank you for your suggestion ?

Hey, @IgorSasovets , How it works ?

@gijop, you can use offsetParent property of DOM element. It returns null if element is not visible on the page and object in another case. To check this, navigate to ESPN, open console and type these commands:
document.querySelector('.contentCollection.mobile-tablet-only').offsetParent
document.querySelector('.contentItem.contentItem--hero').offsetParent

As you'll see, in first case you receive null, because element presented in DOM but not visible. So, after visibility check add, for example browser.sleep(1000). You will have something like this:
return browser.executeScript('return document.querySelector(arguments[0]).offsetParent').then(res => {
     if (res === null)
        return browser.sleep(<some_amount_of_time>)
})

Don't forget that element should be presented in the DOM. Otherwise, you'll get Javascript error. To avoid this, you can add additional check to your script. Also, you can use async await to do if more flexible and get possibility to execute this code in for or while loop.

There are also functions provided by protractor which work most of the time (eg. NOT when you have css opacity transitions, you need browser.sleep() then).
// this is in our utilityPO page object class
public async waitClickable(elem: ElementFinder): Promise<void> {
  const maxWaitTime: number = 10000;
  const until: ProtractorExpectedConditions = protractor.ExpectedConditions;
  await browser.wait(until.elementToBeClickable(elem), maxWaitTime, 'Element taking too long to appear in the DOM');
}

Be aware, also your test needs to be async then..
it('click that button', async() => {
    const selectedBtn: ElementFinder = element(by.css('#mybutton'));
    await this.utilityPO.waitClickable(selectedBtn);
    selectedBtn.click();

@maxmarkus Thank you so much for the suggestion, but here the problem is Iam using with mixed of angular page and non-angular page. So it wont work correctly. Thats why ?

@IgorSasovets  Thank you ?

@gijop This should work also for non-angular stuff, as it is chrome driver stuff as far as I understood. Unfortunately exactly there is currently a bug, which renders this function unusable in certain use cases. From 4-5 protractor ways that I tried, none worked also for me (modal with css opacity transition was clicking backdrop until it was fully transitioned) .. I did it with a browser.sleep for sake of simplicity.
Another approach could be a setInterval every 100ms with click() inside a try/catch and as soon as the try resolves, it cancelles the setInterval. Super ugly, but might do the job until the bug is solved.

The ExpectedConditions should work in your case. For non-angular page, you can just disable waiting for angular (https://github.com/angular/protractor/blob/master/docs/timeouts.md#how-to-disable-waiting-for-angular)
I believe this problem should be asked in stackoverflow, since github issue should only track bug or new feature request. Close it now.


[cherry-pick][api] rewrite code generate,fix bit shift

cherry-pick #6914

Codecov Report

:exclamation: No coverage uploaded for pull request base (2.0.0-release@9a5b8ed). Click here to learn what that means.
The diff coverage is n/a.

@@               Coverage Diff                @@
##             2.0.0-release    #6937   +/-   ##
================================================
  Coverage                 ?   37.60%
  Complexity               ?     3207
================================================
  Files                    ?      648
  Lines                    ?    26380
  Branches                 ?     2855
================================================
  Hits                     ?     9919
  Misses                   ?    15544
  Partials                 ?      917

Continue to review full report at Codecov.

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


[Feature Request]: Adding missing solutions for Leetcode problems 228 and 231.

Is there an existing issue for this?

[X] I have searched the existing issues

Feature Description
I propose adding documented solutions for the following LeetCode problems to the project repository:
Problem 228: Summary Ranges
Problem 231: Power of Two
This involves providing clear, commented code solutions along with explanations of the approaches used for each problem.
Use Case
Use Case for Problem 228 (Summary Ranges):
Summarizing a list of sorted integers into a concise format that represents continuous ranges.
Enhancing data interpretation and visualization by consolidating consecutive numbers into summary ranges.
Use Case for Problem 231 (Power of Two):
Checking if a given number is a power of two, which is useful in various computer science and engineering applications.
Implementing algorithms that require optimization or validation based on powers of two.
Benefits
Practical Solutions: Provides practical implementations for summarizing ranges and checking powers of two.
Educational Resource: Enhances project documentation with detailed examples of interval manipulation, string formatting, and bitwise operations.
Community Engagement: Encourages collaborative learning and contributions, fostering a stronger developer community around algorithmic problem-solving.
Add ScreenShots
No response
Priority
High
Record

[X] I have read the Contributing Guidelines
[X] I'm a GSSOC'24 contributor
[X] I have starred the repository

@Ajay-Dhangar Sir please me these under Gssoc 2024 contributuion.


Add flag to enable moving resource to cluster-azure

Towards https://github.com/giantswarm/roadmap/issues/3462
This PR adds a Helm boolean value that, when enabled, will create post-delete hook where all resources will have their meta.helm.sh/release-name annotation updated to cluster name, which means that Helm will see those resources as they are deployed by cluster-aws, and then cluster-aws can continue updating them.
Cluster migration steps are:

Update cluster to the latest version of default-apps-azure (with this change). Nothing should change as the .Values.deleteOptions.moveAppsHelmOwnershipToClusterAzure is disabled by default.
Update .Values.deleteOptions.moveAppsHelmOwnershipToClusterAzure to true. Verify that all App resources and ConfigMaps from default-apps-azure have helm.sh/resource-policy: keep annotation set.
Delete <cluster name>-default-apps App. Verify that all resources from default-apps-azurehave their meta.helm.sh/release-name annotation updated to <cluster name>.
Update cluster to the latest version of cluster-azure (new TBA release with this change https://github.com/giantswarm/cluster-azure/pull/290).

Similar to: https://github.com/giantswarm/default-apps-aws/pull/463

Checklist

[x] Update changelog in CHANGELOG.md.
[x] Make sure values.yaml and values.schema.json are valid.

Trigger e2e tests

/run cluster-test-suites

/run cluster-test-suite


support for directly connecting to a specific server

I would like to use openvpn (as I have in the past) and I have IP tables set so that only traffic on the tunnel adapter or udp port 1197 is allowed out or in. This worked fine before when I used a specific openvpn conf file. However, for some reason I now get TLS timeouts with that method, which is why I'm switching to these new recommended scripts.
It is not clear to me, how I can cover my use case using the scripts. My understanding is that I would need to run get region to get a token every 24h (if my connection goes down). This would require me to alter my iptables which I would rather leave as is. Is there any (supported) way to connect directly to a specific server using only port 1197?

@dom11990 There are multiple ways to obtain the IP:

getting it with grep "remote " /opt/piavpn-manual/pia.ovpn
getting it when you get the region
getting it from the OpenVPN script as it will not start without having the server IP in $OVPN_SERVER_IP

Hardcoding one IP can cause some random behavior because the server might go down due to hardware issues, or we might have to remove the IP from the fleet due to vendor issues. It's a lot better to adapt your setup based on the dynamic configuration that happens when the scripts get the best server.
You can however still hardcode this. Just let the scripts run, and modify /opt/piavpn-manual/credentials with your normal PIA username&password, and never run the script again so that it doesn't get overwritten. After that, OpenVPN will always connect to the IP on the last line in /opt/piavpn-manual/pia.ovpn, when you run this config.
We didn't eliminate the traditional authentication with the NextGen network, we just created new automation and new authentication systems that will offer better service quality and improved security. The serverlist will always give you the best IPs for that specific region and the new tokens offer faster authentication and improved security. However you can still use the service as you used to.

@dom11990 Also if you needed a token for some other reason, you could get an up-to-date meta server by hardcoding the ip for the serverlist url, like I did: ( var PIA_SERVERLIST_HOST_IP -- link and link )
Admittedly you'd still have to somewhat alter your firewall config, but it might be possible in a secure way. I suppose you could dynamically add ips to the firewall, or perhaps have a special user which can get through the firewall (iptables can allow based on uid). This user could have these scripts and their own copy of things like curl.
@g00nix would there be any problem with hardcoding the serverlist host ip you think? ( serverlist.piaservers.net )

@g00nix would there be any problem with hardcoding the serverlist host ip you think? ( serverlist.piaservers.net )

We had to change the IPs behind that domain in order to improve performance and they will probably change in the future too.

Drat. Well, thanks for the info.

@dom11990 @iPherian Do you need any more information on this topic, or can this ticket be closed?

@goonix closing is good with me.

Unfortunately, I don't quite "get it" yet. How can these scripts be used to easily automate connecting to the VPN? It seems to me that there are numerous environment variables that need to be set and passed from one script to another to make it work. There is no over-arching script that handles all of this for you, correct? I've had to write scripts around these ones to make it work. Maybe I don't understand how the scripts work exactly (for example, what does run_setup actually do?), and of course I could dig into them, but it would be nice if the documentation was expanded a little bit to explain what the purpose of each is.
I think everything is here to cover my use case, but it would require a bit of work to set up a systemd service to manage all this. Mainly because I don't like using bash scripts directly and need to brush up on syntax. Perhaps including a sample service to handle this process would be helpful?
Say I went for this approach:

take the /opt/piavpn-manual/pia.ovpn file and link it to /etc/openvpn/pia.conf
replace the remote with one I got from get_region_and_token.sh UDP
reaplce the auth-user-pass entry in the pia.conf file with a file to my plaintext login credentials
use systemctl start openvpn@pia to connect

This all works, but now, how can I enable port forwarding?
Also, what is this excerpt referring to? "Call /bindPort every 15 minutes, or the port will be deleted!"

@dom11990 As far as I understand it, to port forward, you need to get a token from the meta server, and then...

Also, what is this excerpt referring to? "Call /bindPort every 15 minutes, or the port will be deleted!"

...a url called /bindPort must be retrieved every 15 minutes from the vpn endpoint to keep the port open. The vpn will close the port if more than that time goes by without such a request.
As you are already connected to the vpn, what would really be nice is a way to get a token as a separate independent script, and so here is a script: get_token.sh. And then you can run the following to get port forwarding:
(replace hostname in both places with real value and also user and pass)
token="$(PIA_SERVER_META_HOSTNAME=hostname \
  PIA_SERVER_META_IP=<IP_ADDRESS> \
  PIA_USER=p1234567 \
  PIA_PASS=xxxxxxx \
  ./get_token.sh)"
PIA_TOKEN=$token \
  PF_GATEWAY="$( cat /opt/piavpn-manual/route_info )" \
  PF_HOSTNAME="hostname" \
  ./port_forwarding.sh

You can get the hostname from the output of get_region_and_token.sh. It tends to look like "malta35" etc.

Make sure you're using the repo's openvpn_up.sh script because that puts the needed gateway into the file.

These all use vpn local ips so you shouldn't have to modify your iptables at all.

@dom11990 And this is a modified form of a systemd service i've been using myself, it's short cuz the defaults work well with these scripts.
To use:

put the commands mentioned above into a file called systemd_launcher.sh with this repo's files

change $INSTALL_LOCATION to where you put this repo

piavpn-manual.service
[Unit]
Description=PIA vpn
Requires=network-online.target<EMAIL_ADDRESS>After=network-online.target<EMAIL_ADDRESS>
[Service]
Type=simple
WorkingDirectory=$INSTALL_LOCATION
ExecStart=$INSTALL_LOCATION/systemd_launcher.sh
TimeoutStartSec=180
TimeoutStopSec=60

[Install]
WantedBy=multi-user.target

@dom11990

Maybe I don't understand how the scripts work exactly (for example, what does run_setup actually do?)

run_setup just asks the user for what settings they want1 (user, pass, protocol, etc) and then runs the actual behavior script of get_region_and_token.sh with the corresponding environment variables.

Well it also disables ipv6 but you can do that yourself

@g00nix can feel free to correct me of course

How can these scripts be used to easily automate connecting to the VPN?

In order to connect to the VPN, here is a one-liner that will allow you to start a VPN connection with WireGuard and Port Forwarding (if the closes region supports it):
PIA_PF=true PIA_AUTOCONNECT=wireguard PIA_USER=p0123456 PIA_PASS=xxxxxxxx ./get_region_and_token.sh

If you wish to fully automate this when your system boots, you will have to choose an init system, or start the scripts via a container service. This is a list of popular init systems:

OpenRC
runit
s6
SysVinit
systemd

Here is a list of init systemd rated an online voting system: https://www.slant.co/topics/4663/~linux-init-systems
Here is also a list of popular container managers that could be used to start a container at boot to modify your network settings:

docker
podman
LXC
LXD

The easiest way to move forward would be to use the init system that your favorite operating system uses to call ./get_region_and_token.sh with the setting you wish for your connection.

It seems to me that there are numerous environment variables that need to be set and passed from one script to another to make it work.

Considering people will want to use the scripts for different protocols, we need to provide a way for people to change the behavior of the scripts according to their preferences.
Environment variables are the current best practice for configuring scripts. You will see most micro-services, docker images and modern scripts change their behavior via environment variables. This is way all cloud platforms (ex: AWS, GCP, Azure) allow you to inject env vars into containers, VMs and functions in order to tailor the behavior to your requirement.
As a lot of people will use these scripts in different scenarios (different distributions, different operating systems, container environments etc), we need to provide a modern and generally accepted for people to choose between protocols. The only real alternative would be to load the settings from a file, and you can do that anyway by sourcing an env file with bash. Environment Variables are fully compatible with any automation the users will choose for their systems.

There is no over-arching script that handles all of this for you, correct? I've had to write scripts around these ones to make it work.

Because each user can configure his own machine the way he wants it to be configured, it's impossible to create one script that covers everything. We are currently working to expand this repository with support for multiple distributions and more scenarios. There already are a lot of 3rd party repositories that offer solutions for specific platforms.

Maybe I don't understand how the scripts work exactly (for example, what does run_setup actually do?), and of course I could dig into them, but it would be nice if the documentation was expanded a little bit to explain what the purpose of each is.

run_setup.sh will guide you through setting up a VPN connection. This script has been designed to offer a simple solution for people that do not have time to go through the scripts. run_setup.sh should work in most scenarios.
I am sorry if the README, the comments within the scripts and the log messages do not provide enough information regarding the behavior of the scripts. Please let us know which area of the scripts is not documented enough and we will do our best to improve the documentation.

I think everything is here to cover my use case, but it would require a bit of work to set up a systemd service to manage all this.

If your distribution uses systemd and you wish to start the scripts on boot, then creating a systemd unit would help in this direction. If you want to fully automate the setup, you should also test possibilities of setting up a KillSwitch for your network configuration.

Mainly because I don't like using bash scripts directly and need to brush up on syntax.

We have to make the scripts accessible for everybody, and bash is the most accessible way to provide support for most setups. We tried to add as many comments as possible and to keep the bash syntax as simple as possible so that the scripts are very easy to read. There are users that already implemented the same functionality with GoLang and Python, however moving officially into that direction to support manual setups would make the setup very difficult for the majority of users.
The easiest way to setup your system is by using the official PIA Desktop App, as it provides the following features:

can start on boot
has a kill switch
protects against leaks on every supported distribution
allows split tunneling
allows you to save your favorite region.

Providing all of these features is out of the scope of this repo.

Perhaps including a sample service to handle this process would be helpful?

This is a good idea, however we will have to add a disclaimer. People should not expect an init script to actually protect against leaks or to have a kill switch. Adding this level of automation might also create the expectation among users that the script will also offer full protection, which is impossible in the case of manual configuration, where the user can modify the behavior of his network. For full protection and easy setup, the best way to move forward is to use the official PIA App.

@dom11990 we can also talk on IRC (server: freenode; channel: #privateinternetaccess; nick: gunix) or on Telegram: https://t.me/gunix
Maybe we can figure the best setup for your system.

...a script: get_token.sh.
...
token="$(PIA_SERVER_META_HOSTNAME=hostname \
  PIA_SERVER_META_IP=<IP_ADDRESS> \
  PIA_USER=p1234567 \
  PIA_PASS=xxxxxxx \
  ./get_token.sh)"
PIA_TOKEN="$token" \
  PF_GATEWAY="$( cat /opt/piavpn-manual/route_info )" \
  PF_HOSTNAME="hostname" \
  ./port_forwarding.sh

@dom11990 Oh and I should mention:

this doesn't require any additional iptables config, as it uses internal VPN ips (does require already being connected though).

the get_token script should be compatible with most setups, as it is based on this repo's latest master and has only minimal changes to achieve it's purpose.

First off, thank you for your detailed responses. My solution had also been to extract the token request section of the scripts into a separate entity. While I like this concept, I would really like to see a PIA supported way of doing this, it seems like what @iPherian made will do the job, what about making a PR for this? Whenever you go off the main road (in this case the PIA app) it is important to at least stick to supported API so that things don't change behind the scenes without you knowing.

PIA_PF=true PIA_AUTOCONNECT=wireguard PIA_USER=p0123456 PIA_PASS=xxxxxxxx ./get_region_and_token.sh
This brings me back to my original question of how to connect to a specific server using only the provided scripts. I think now the answer to this is "not possible without modification".

@g00nix Yes, unfortunately, this doesn't work in my setup. I pasted my iptables below which I think will make it clear why. Before I establish a connection to the VPN, only traffic on port 1197 is allowed (also local). All other network traffic is dropped so the get_region_and_token.sh script times out.

This is a good idea, however we will have to add a disclaimer. People should not expect an init script to actually protect against leaks or to have a kill switch. Adding this level of automation might also create the expectation among users that the script will also offer full protection, which is impossible in the case of manual configuration, where the user can modify the behavior of his network. For full protection and easy setup, the best way to move forward is to use the official PIA App.

I agree that going the manual route opens you up for security flaws. It would be great if PIA could provide some knowledge base articles that explain the common causes of leaks, and maybe how to test / protect yourself from them. It seems the only articles you find on the internet are blog posts from random people. PIA can flaunt their expertise a bit here and educate their users :)

I am sorry if the README, the comments within the scripts and the log messages do not provide enough information regarding the behavior of the scripts. Please let us know which area of the scripts is not documented enough and we will do our best to improve the documentation.

I think the information about the environment variables is very helpful, though perhaps incomplete. What would also be nice is an explanation of what each script does so that the user has an immediate understanding of what elements of the scripts are volatile and which are not as well as which scripts can be called when. I, for example, thought I run run_setup once, and then can simply up and down the VPN and it would pull the configuration from what my execution of run_setup created. This is not the case however, because all run_setup does is configure some variables, it is therefore completely volatile (between shells). An explanation of the token would be nice too. Seems to only be needed for PF?
A quick example: If I call run_setup.sh, I can set if I want to use PIA_DNS, let's say I do. Then the script calls get_region_and_token.sh to retrieve the IPs and the token, and lastly it calls connect_to_openvpn_with_token. In this last script, the PIA_DNS variable alters the behavior of the script (which is not in the documentation as an optional environment variable btw). So if I run this script in isolation, I need to have this variable. I became somewhat unwary because now I don't know what else I need since this one wasn't mentioned in the documentation haha.
Now I know this is in early stages so I'm not expecting a tried and true solution. I don't mean to sound upset or entitled (as I am neither) I simply wish to convey my use case and see if you think it warrants expanding this repo to support it.
My idea would be as follows:

Split get_region and get_token into separate scripts.
Remove the need for a token when connecting to the VPN (it's not necessary as far as I can tell unless you need port forwarding)
run_setup calls get_region (instead of get_region_and_token) and at the end print the commands to connect to the vpn (it does this already, but perhaps double check to ensure all the environment vars are represented that are needed, eg. PIA_DNS)
connect_to_openvpn/wireguard only connects to the VPN, if PIA_PF is true it calls port_forwarding
port_forwarding gets it's own token to configure the port forward

I think this is a more intuitive encapsulation for the scripts and would cover a wider set of use cases. For example, I could use this out of the box with my iptable killswitch. What do you think?
On the topic of killswitches, would this not be a simple implementation?
dom:~ $ sudo iptables --list-rules
-P INPUT DROP
-P FORWARD DROP
-P OUTPUT DROP
-A INPUT -i lo -j ACCEPT
-A INPUT -s LOCALSUBNET/24 -j ACCEPT
-A INPUT -p udp -m udp --sport 1197 -j ACCEPT
-A INPUT -i tun+ -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
-A OUTPUT -d LOCALSUBNET/24 -j ACCEPT
-A OUTPUT -p udp -m udp --dport 1197 -j ACCEPT
-A OUTPUT -o tun+ -j ACCEPT

Thanks for the discussion!

@dom11990
(1) I very much agree that get_token should be a seperate script. I've seen many people have to extract that behavior in order to get their own particular setup running (the act of getting a token is so fundamental to using PIA services). It would be nice and I think in line with the purpose of this repo if those without bash experience could run all of the building blocks seperately, and in whatever order they wished. (while keeping the default sequence in get_region_and_token for those who don't care).
(3) I do however think that there is a value in having a seperate entry point script (right now get_region_and_token) from the user-friendly wizard script (run_setup). Perhaps get_region_and_token could itself call get_region and get_token and all the others.

side note: If indeed get_region_and_token is the entry point, perhaps it should be named differently. It's current name sounds more to me like a utility script than what it actually does right now: initiate the entire procedure.

@g00nix any thoughts? I could whip up a PR or two.

PR #38

Thank you for the recommendations and the very good ideas. Here is a quick update from my side on what has been discussed on this issue:

We will release v2.0.0 that will have support to get a specific region, and it will have different scripts for get_region and get_token. I also mentioned this in the PR.
Networking is a very complex specialization which usually takes decades to master. Networking on Linux is very well documented and the entire system is open source, so anybody can research and experiment. We do our best to provide the best security possible via the PIA Apps, however creating an extended documentation on Linux networking is better suited for other projects.
You should use tokens, not user/pass, as the new token mechanism provides improve security. OpenVPN allows authentication with user/pass only because forbidding it will break a lot of legacy setups that a lot of users are still running.

Please check https://github.com/pia-foss/manual-connections/pull/52

Closing this as a duplicate of https://github.com/pia-foss/manual-connections/issues/20 so that it's easier to keep track of the development that is ongoing.


Make hashing cacheable

as titled.
Details:
Before this patch, numba extracts the CPython hash-secret at runtime and reference to it from compiled code as constants.  Even though it could be cached, the behavior will be unexpected because the hash value will be different due to python's hashseed randomization.  The fix is the abstract the hashsecret into a runtime symbol that is updated by the running process.

This looks pretty straightforward.  I think this is ready to merge.


QueryBus returns null with FinalizeGuard plugin included

Test to reproduce the problem:
https://github.com/lezhnev74/prooph-query-test/blob/prooph-bare/tests/QueryTest.php
Results:

executing query with no guards - pass
executing query with RouteGuard - pass
executing query with FinalizeGuard - fail

promises are suppose to return something. each then() may change the passed payload.
therefore when I change the FinalizeGuard like the following, I get three green lights when running your tests.
$newPromise = $promise->then(function ($result) use ($actionEvent, $messageName) {
                        if (! $this->authorizationService->isGranted($messageName, $result)) {
                            $actionEvent->stopPropagation(true);

                            if (! $this->exposeEventMessageName) {
                                $messageName = '';
                            }

                            throw new UnauthorizedException($messageName);
                        }

                        return $result; // note this, but also the return type has changed
                    });

                    $actionEvent->setParam(QueryBus::EVENT_PARAM_PROMISE, $newPromise);

I don't understand why this would have worked so far. I'm using the same react/promise version.

https://blog.domenic.me/youre-missing-the-point-of-promises/

I don't deal with async stuff at my work. Is something I should make a PR for or what is the solution here?
@basz can you take a moment and analyze your code. If you will copy the same tests in your project - will they fail? If so hows your project working? :)


Get claims from token

Hi,
I am setting up a signalR authentication and i need to validated the token received from ids into  user claims so i can get the user for the request.
I will pass the token as querystring from signalR.
Is it possible to get claims from token within the project the ids is hosted?
Thanks

Any update on the issue? closing for now - feel free to re-open if it needs further discussion.


Flutter refresh map after come back from second screen

I have a Flutter app which in home screen I use google map. At the begin, I call Firebase to take the places which I have already input. Then the user can add a new place if double in the map this lead him to SecondScreen. The user input title, story, and photo. I have and another screen where the user can view info for existing marker where can also delete it. My problem is when user input or delete marker and come back to the home page, in the map, the places are not refreshed and I see that the Firebase is not called again. How can I solve this problem? The Firebase is called in MapsDemo class My code:
https://gist.github.com/spartakos87/f6d472aef0146e2bb7d42b3ddb982fa0?fbclid=IwAR3jBDyIVF6RwP12URO4B2kAR3sBxMeZzBb9qgi0GYyUsgfHVPWECwmef0Q

Please consider asking support questions in one of the other channels listed at http://flutter.io/support .


EV SOC not "live", but available after a refresh - however,...

Version of the custom_component
Version 1.6.0
Configuration
Mazda MX-30, Raspberry Pi 4, Home Assistant Supervisor with countless customizations
Describe the issue
My Mazda provides SOC, however, only after a request from the API of the MyMazda app. The SOC is provided by the API, which requests it from the car over cell network. That update has a couple issues:

it takes a while after the request
it is not exactly reliable all the time
it is rate limited
it wakes the car up, which costs charge of the 12V board battery every time (I learned the hard way)

So it should not be requested too many times in a row.
On the plus side, charging the car is pretty slow anyway (it only charges with a single phase, so max 7.5kW). So I guess it should suffice to update SOC once or max twice an hour or something, or request SOC once and assume a fixed rate of charge and a given max capacity of the battery. I think I can achieve that with a custom sensor built in Node RED or AppDaemon.
My point is, is ev_smart_charging able to handle such a situation?

I think it should be ok. The SOC doesn't need to be updated often. Especially if the target SOC is controlled by the car. It would be good to have a reasonable accurate SOC value before charging so that that the initial charging schedule become ok.


Could you provide Backstage image on DockerHub?

Expected Behavior
docker run -it -p 7000:7000 backstage for testing Backstage
Current Behavior
user need npm build and docker build, it very difficult

I understand this wish, and indeed I'd love to see the same! It might be possible long-term, but at the moment this would essentially just be the demo site.
The thing preventing this is customization - adding integrations and access tokens specific to your company, installing plugins, setting up backend services to have in your installation. This simply isn't possible to do within a pre-built Docker image the way Backstage is set up today. I can imagine it, but there's a lot of change needed to get there.
The value I see is having a quick way to get started and kick the tires, even if we expect that many adopters would eventually "eject" and have a need or desire to create a full application and deployment. Rest assured, having an easier road to try Backstage weighs heavily on our minds. I hope that you'll stick it through and give Backstage a try even without this convenience!