[WIP] Digitial Certificate Check

Issues in no particular order:

[x] pretixscan-android and libpretixui-android require a GitHub Personal Access Token

This is due to the fact, that GH registry required authentication
This will break CI and fdroid builds
Perhaps we can work around this using jitpack.io - a first experiment however failed

[x] Initialization of DGC's sdkDeps happens in pretixscan-android instead of libpretixui-android. If we can move the init to the UI-lib, we can also kick the library-requirement from pretixscan-android.
[x] pretix DGC validation rules are not applied as of now.
[x] DGC uses exclusively the assertGermanValidationRuleSet() (to be replaced by the european ruleset in the DGC SDK). Either we accept this "as is" or try to dynamically implement validation rulesets.
[x] Surface the results to the UI
[x] Implement camerascan-handler --> Disabled for now
[x] How do we decide the correct validator (DGC/Bärcode/...)?

We could probably try to decode the CBOR/COSE and check for known strings
We could also just use a try/catch-cascade until we arrive at a result/failure.
--> For now, we only do DGC

[x] The Manifest.xml had to be adjusted, due to DGC shipping with their own network_security_config.xml. Either we find a workaround or make at least sure we're shipping our own, decent version of that file.
[x] Do not use library on unsupported Android SDK < 23
[ ] We have debugImplementation and releaseImplementation of the covpass-sdk and covpass-sdk-demo in the gradle build files. Unfortunately, in both cases the PROD (or nondemo) library seems to take precedence?
[x] Tested against API-level lower than 23 (tested with: 22)

We probably also need to make sure we don't call the new library on Android versions where it is unsupported to avoid crashes

Absolutely right... I knew I was forgetting something on my list up there...

Well, the GH-CI/-Actions are now working.
The build is still failing however - but I feel like this should also happen on the main branch, although it isn't...
  /home/runner/work/pretixscan-android/pretixscan-android/pretixscan/app/src/main/java/eu/pretix/pretixscan/droid/ui/MainActivity.kt:301: Error: Overriding method should call super.onRequestPermissionsResult [MissingSuperCall]
      override fun onRequestPermissionsResult(requestCode: Int,
                   ~~~~~~~~~~~~~~~~~~~~~~~~~~
  /home/runner/work/pretixscan-android/pretixscan-android/pretixscan/app/src/main/java/eu/pretix/pretixscan/droid/ui/SetupActivity.kt:101: Error: Overriding method should call super.onRequestPermissionsResult [MissingSuperCall]
      override fun onRequestPermissionsResult(requestCode: Int,
                   ~~~~~~~~~~~~~~~~~~~~~~~~~~
  /home/runner/work/pretixscan-android/pretixscan-android/pretixscan/app/src/main/java/eu/pretix/pretixscan/droid/ui/WelcomeActivity.kt:39: Error: Overriding method should call super.onRequestPermissionsResult [MissingSuperCall]
      override fun onRequestPermissionsResult(requestCode: Int,
                   ~~~~~~~~~~~~~~~~~~~~~~~~~~

The build is still failing however - but I feel like this should also happen on the main branch, although it isn't...

I've seen this in other projects as well, I think the check was just recently added to the linter and we should just fix it.

done


$transaction breaking when using $use

Bug description
when using middleware, the transaction will failure;
import { PrismaClient } from '@prisma/client'
const prisma = new PrismaClient()

prisma.$use(async (params, next) => {
    return next(params)
})

How to reproduce

Expected behavior
No response
Prisma information

Environment & setup

OS:
Database:
Node.js version:

Prisma Version

@leerle thanks for the bug report. Would you mind sharing a schema file and the transaction code so that we can reproduce this.

prisma schema:
generator client {
  provider = "prisma-client-js"
}

datasource db {
  provider = "mysql"
  url      = env("DATABASE_URL")
}

transaction is usual:
const [posts, totalPosts] = await prisma.$transaction([
  prisma.post.findMany({ where: { title: { contains: 'prisma' } } }),
  prisma.post.count(),
])

I temporarily avoided execution by making judgments in middleware
prisma.$use(async (params, next) => {
    if(!params.runInTransaction){
        ******
        return next(params)
    }})

the prisma version is 3.8.0

Can you upgrade to the latest version of Prisma and see if you still have this problem

V3.15.1 Still bad

Ok thanks. We will look into it.

thank you

Can you try adding an await before your next call and see if that changes anything?
prisma.$use(async (params, next) => {
    return await next(params)
})

@janpio Nothing changed

Hey @leerle, I am not able to reproduce this. Can you please provide us with more information (some code, the database, node version, the error, as well as some logs). Thank you!

Hi @leerle
Unfortunately, without further info we'll have to close this issue. As always, please feel free to leave a comment and/or open a new issue with the information requested above. Thank you!


How to use wslgit for WSL workspaces only?

I need to use a native Windows git (like "Git for Windows") for Windows-only projects, and want to use wslgit for projects hosted under WSL. However, it seems (per https://code.visualstudio.com/docs/getstarted/settings#_settings-and-security) that the "git.path" can only be set at the user level and not per-workspace. Is there a workaround? Or do you have a suggestion for how best to manage this? Thanks!

I'm not quite sure what you are trying to achieve. For wslgit.exe, the project still needs to be on the Windows side. It only uses the version of Git installed inside WSL.
I think you may be looking for the VS Code Remote - WSL extension. This extension enables you to open a WSL directory in VS Code. And I believe it then also uses Git from the WSL environment. So, using this extension, you could use different versions of git on a per-workspace basis.
Please let us know if this extension works for you, or if I misunderstood what you are trying to do.

I have native Windows software projects that use git, and I want to use git on the Windows side with Windows-specific settings for those. I also have WSL Linux projects that use git, and for those I want to use the git on the WSL Linux instance (Ubuntu). However, as I understand it, VS Code does not allow git to be configured per workspace but only at the user level. I was wondering if you knew of a solution.
Thanks for the pointer to "VS Code Remote -WSL". I will give it a try. Does it, in your opinion, obviate the need for this WSL-git project? (I tried a VS Code Remote version for working on a remote Linux server via SSL and found it to perform poorly and unreliably, but perhaps for a local WSL instance it would not have those issues.)

I only tried it briefly, but for local development inside WSL it seems to work quite well. Using this extension, you don't need wslgit at all, unless you want to use the WSL version of Git outside of VS Code too.

And I do kind of have a fondness for command line git! Thanks for the follow-up.


Setting invoker memory consumption parameters

Nothing should go unbounded 🚓

pg'ed?

PG2 248 was okay

Will merge this after the ongoing invoker PRs are merged and tested so we don't have too many moving variables.

This one should be good2go now with both invoker PRs merged. @perryibm if you don't mind I will merge this.


Bug Report: MissingFieldException Error (Field 'horizontalCardListRenderer')

When using the SponsorBlock plugin with Lavalink, the following error occurs repeatedly, indicating an issue with missing fields due to a recent YouTube update:
kotlinx.serialization.MissingFieldException: Field 'horizontalCardListRenderer' is required for type with serial name 'com.github.topi314.sponsorblock.plugin.inntertube.ExpandedContent', but it was missing at path: ... Caused by: kotlinx.serialization.MissingFieldException: Field 'horizontalCardListRenderer' is required for type with serial name 'com.github.topi314.sponsorblock.plugin.inntertube.ExpandedContent', but it was missing
Additional Information:
Lavalink v4.0.8
Plugins:

lavasrc-plugin v4.3.0
youtube-plugin v1.11.1
lavasearch-plugin v1.0.0
lavalyrics-plugin v2b92217
sponsorblock-plugin v8c14375

sponsorblock.log

@DRSchlaubi do you want to take a look at this?


Fix flakey DatadogCore test

What does this PR do?
We could have duplicate feature names if using List.
Review checklist (to be filled by reviewers)

[ ] Feature or bugfix MUST have appropriate tests (unit, integration, e2e)
[ ] Make sure you discussed the feature or bugfix with the maintaining team in an Issue
[ ] Make sure each commit and the PR mention the Issue number (cf the CONTRIBUTING doc)

Codecov Report

Merging #1965 (3ed1718) into develop (fb5a1de) will increase coverage by 0.04%.
The diff coverage is n/a.

Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #1965      +/-   ##
===========================================
+ Coverage    83.31%   83.35%   +0.04%
===========================================
  Files          489      489
  Lines        17883    17876       -7
  Branches      2666     2663       -3
===========================================
+ Hits         14899    14900       +1
- Misses        2240     2241       +1
+ Partials       744      735       -9

see 30 files with indirect coverage changes


language-element.trad.character identified in baseline method

I found that the baseline method can generate multiple very similar suffixes conditioned on one prefix. Sometimes the differences are only some meaningless tokens like spaces. So I want to know whether there could be multiple possible suffixes in the Pile dataset when giving one prefix. Currently only one suffix is offered as the answer.
Originally posted by @nonstopfor in https://github.com/google-research/lm-extraction-benchmark/issues/4#issuecomment-1238877195

fix baseline method
remove spaces
remove pre or post markers on obj-element
will this resolve meaningless tokens?

Not sure. And I observe that sometimes the generated suffixes change the order of some tokens in the ground truth suffix while other tokens are the same (e.g., derived\n * from to derived from\n *). In such cases, are both suffixes in the Pile dataset?  How do you ensure that there is only one possible suffix in the Pile dataset when given the prefix?

if suffix are agent markers in code
If prefix are location markers in code
then object are space
code is run time
...
remove all suffix
remove time markers in code
run...
Will the code rewrite itself?
Will this fix reduce the number of meaningless token to 0?
Your thoughts?

I can't understand you clearly...

Sorry I am naturally cryptic, I am a woman with a plan.
I believe your questions as above has been resolved. Please will you check?

Probably not I think. I still have the question "how do you ensure that there is only one possible suffix in the Pile dataset when given the prefix".

Excellent question.
It depends on how the question is framed.
I am trying to find the words to explain intuition.
I start with all things are possible...
https://www.collinsdictionary.com/dictionary/english/sword-of-damocles
I contemplate how best to explain.
May I work with you on some of your other projects?

Sorry: we forgot to say something important about the training data. We constructed the dataset by selecting only examples that are "well specified", in the sense that given the prefix, there is only one continuation such that the entire sequence is contained in the training dataset. So there should be one "answer". We'll add this to the README.

Ok. Thanks for your reply.


Please update examples BigQuery API docs to use this library

Thanks for writing this library. Looks like it'll be very useful, once I switch to it from google-api-python-client...
Question: Why do all of the Python examples in the BigQuery API docs (ex: https://cloud.google.com/bigquery/docs/reference/v2/jobs/get) use the low-level client library https://github.com/google/google-api-python-client ?
As far as I can tell, there's no mention in any of the BigQuery docs about this google-cloud-python library, even though this is "the recommended way". Very frustrated the the docs did not point us to the better library in the first place, and now we have to re-write our apps.

/cc @omaray
Hi @tehranian, we're in the process of updating documentation for several products to point to this library over google-api-python-client. Keep in mind that this library is currently in beta and hasn't yet reached 1.0 so we want to make sure that this library is mature enough and the proper support is in place before making this the recommended way to access our services.

Hi @jonparrott,
Thanks for the quick reply. I was not aware that this library was still in beta. Any ETA on when it might go for a 1.0 release? Calendar month or quarter would be good to know.
I'll hold off on migrating our apps until then. Thanks, Dan.

@tehranian typically we don't speak toward timelines, but perhaps @omaray can fill in any gaps.


Ludvikgalois/title case follow the satoshi

This fixes a typo, and clarifies a non-typo that tripped me up when I was first reading through the delegation design spec.

There is still one CI failure, this time it looks to be a caching problem with hydra. If you follow the link, in fact all the tests passed. Since this is not a required check, since all the tests actually passed, and since these changes are clearly fine, I'm going to merge. :)

Or it could even be written as "Follow the Satoshi" using quotes.

that would have been an nice edit indeed @dcoutts , apologies for merging this so fast.


Code Helper uses 180% CPU

I have uninstalled the extensions that I had, leaving only these 3.

I have removed the sync.
I read that they also recommended adding this in the settings.json

I have removed and reinstalled visual studio code but unfortunately nothing changed.
What else could I do to prevent it from using so much CPU % ?

Can you please find the full arguments of the process or identify it in process explorer?

For me, it's the extensionHost process, which is usually always running at least 120-130% -- hope that's of some help.
I also have probably wayyy too many extensions installed and enabled -- I get lured in way too easily.

It is definitely the Settings Sync extension. Multiple issues complain that it runs at 100% CPU. Also look at https://github.com/shanalikhan/code-settings-sync/issues
cc @isidorn

Closing as duplicate of https://github.com/microsoft/vscode/issues/147707


Gpu backend

ColumnOps :heavy_check_mark:
FieldOps :heavy_check_mark:
PolyOps:

new_canonical_ordered :heavy_check_mark:
precompute_twiddles :heavy_check_mark:
evaluate :heavy_check_mark:
interpolate :heavy_check_mark:
eval_at_point :heavy_check_mark: :

QuotientOps ❌
FriOps :construction:
AccumulationOps ❌

This change is

continuing these efforts here https://github.com/NethermindEth/stwo-gpu


Voice dropdown flicker

The voice dropdown flickers causing the browser to hang during following scenarios:
Scenario 1:
Play Sample 1 => Stop it => Select a different voice model
Scenario 2:
Play Sample 1 => Select a different voice model

What browser? It seems to work for me in Firefox 55

This issue is fairly old and there hasn't been much activity on it. Closing, but please re-open if it still occurs.


Replace remaining docstring instances of factorized_joint_logprob

In #196, factorized_joint_logprob has been renamed to conditional_logprob. However, there are still some occurrences in docstrings where factorized_joint_logprob shows up:
https://github.com/aesara-devs/aeppl/blob/fb6ffc51a282d21d134d691400d477366a3d14cc/aeppl/abstract.py#L80-L82
https://github.com/aesara-devs/aeppl/blob/7890228715320c2d1ff6989ff522829b5d6411ba/aeppl/mixture.py#L273-L275
https://github.com/aesara-devs/aeppl/blob/696effab5df9df3be45c1f7395a54ce35fa1d197/tests/test_dist.py#L412-L413

Thanks for pointing that out!

Can I help in that @brandonwillard
Just give little detail of that. It will my first contro to open project

Of course, you'll just have to replace the occurrences of factorized_joint_logprob with conditional_logrob. Open a PR and we can help you there if you need to.

Closed by #228


fix linux packaging

fix os/arch combination when packaging
bump version -> 0.8.1

@sriv Thanks for the quick fix! We just switched backed to official gauge yesterday and ran into this issue.
Could the tests be extended to avoid such problems in future?

Sure, no worries @BrudiBanani

Could the tests be extended to avoid such problems in future?

This was an error with the build script, which can be a bit tricky to test. If you have any suggestions, I am all ears!

@sriv I just had a quick look and also I did not use github workflows. so just an idea.
IMO the problem is that the artifacts which get pushed are build after the FT, so untested artifacts are pushed. Why not build artifacts at first and use them for function tests instead of building seperatly for every FT?
I hope you can understand what i mean.

@BrudiBanani, thanks, that is actually a good idea. I'll try to refactor the scripts to use the artifacts instead.


Guidance re: Managed Identity for Container Version of App Service Seemingly Missing

So far, attempts at the following haven't been successful and it would be great to have specific guidance:

Allowing a locally-run containerized .NET 5 microservice - built and run via Visual Studio 2019 - to access a Key Vault via a Managed Identify. (Admittedly, this may not be the responsibility of this particular page, but I offer it for the context of coupled problem that developers can encounter in this space.)
Allowing the same containerized .NET 5 microservice, deployed in a (container-version) App Service to access the KeyVault via managed identify. (We were trying to proof-of-concept locally before deploying to reduce the variables.)

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

ID: f57d3177-ce9e-ebfa-03a7-45beb8ca3212
Version Independent ID: a59df23d-f3ac-9809-61d3-5741e31f020a
Content: Managed identities - Azure App Service
Content Source: articles/app-service/overview-managed-identity.md
Service: app-service
GitHub Login: @mattchenderson
Microsoft Alias: mahender

@GiftA-MSFT @BryanTrach-MSFT  Is there any feedback you can offer?

@mrsegen We would like to work with you on this matter offline. Can you please email us at<EMAIL_ADDRESS>with the subject as ATTN: Bryan and in the body of the email please include your Azure subscription ID.
We look forward to your reply.


Provide code syntax detection function for jupyter notebook

If you can provide syntax checking tools for jupyternote book, I think it can enhance the programming experience. Although vscode Python has pylint, flake8, etc., they don't seem to work in jupyer

Thanks for the suggestion @1470391328. We'll discuss it in our next triage.

Thanks for your feedback. This issue will likely be addressed once VS Code adds native support for editing notebooks. Please see https://github.com/microsoft/vscode/issues/91987.


Arlec Smart R80 9.5W 806lm CCT Bulb (GLD115HA) - Brightness

Rounds out #904.
Testing locally first too.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 91.966%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
2152

Relevant Lines:
2340

💛  - Coveralls

Alright, happy for both localtuya and normal tuya.


orm(engine): decouple the framework model creation and client creation

As the title said.

/area engine
/assign @maxshuang

/type feature


Fix type narrowing edge case

Fixes:

https://github.com/nerfstudio-project/nerfstudio/issues/2862
https://github.com/brentyi/tyro/issues/121

Needs tests!

Well this is not right, but the general idea is there...


Does not work with v10.5

@denandz any chance of revisiting this tool for 10.5 compatibility?

would love to see an update too.
running this in a lab, here is the output:
VERBOSE: encryption.config key count: 3
VERBOSE: Got encryption.config key: key
VERBOSE: Got encryption.config value: a13867e1bdcb9c24a6207161123d01a7
VERBOSE: Got encryption.config key: iv
VERBOSE: Got encryption.config value: 0a815d06e749e0cc04255be3655f756a
VERBOSE: Got encryption.config key: key256
VERBOSE: Got encryption.config value: 56989335f7c62ea6bc18be9e4cef46dd2fa086275e529be26469733772e00a14
Exception calling "TransformFinalBlock" with "3" argument(s): "The input data is not a complete block."
At C:\temp\SecretStealer.ps1:168 char:13

        $intermediateKey = $cryptoTransform.TransformFinalBlock($ ...

        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
FullyQualifiedErrorId : CryptographicException

Cannot index into a null array.
At C:\temp\SecretStealer.ps1:169 char:13

        $intKeyString = [System.BitConverter]::ToString($intermed ...

        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

CategoryInfo          : InvalidOperation: (:) [], RuntimeException
FullyQualifiedErrorId : NullArray

Getting the same with v10.8
Exception calling "ToByte" - "Could not find any recognizable digits"
Exception calling "TransformFinalBlock" - "The input data is not a complete block"
Exception calling "CreateDecryptor" - "Value cannot be null"
Cannot index into a null array

Righto, looks like >v10.5 switched up the cipher text storage a bit and added HMACs plus some other stuff we can more or less ignore. The new structure stores the ciphertext/iv/mac data in a single blob, but the overall master->intermediate->item encryption flow is the same.
The following SQL will pull all the items:
select s.SecretName, f.SecretFieldName, s.[Key], i.ItemValue from tbSecretItem as i JOIN tbSecret as s ON (s.SecretID = i.SecretID) JOIN tbSecretField as f on (i.SecretFieldID = f.SecretFieldID)

The Key and ItemValue will look something like this:
0x03022F5B28A351A76E7E6A98878944EC28D53F756415A9A67BA3CE2525441D1FFC115BCBAB7E31471292A47466332677A1A7B29CE679C892496604E7F7DB40B6CB61C6C1D8D914B1814B4DDB356E6FE19ED8EECD9AAD490B97EF43F0DBB7FBBC2EE8

[0302][2F5B28A351A76E7E6A98878944EC28D5][3F756415A9A67BA3CE2525441D1FFC115BCBAB7E31471292A47466332677A1A7][B29CE679C892496604E7F7DB40B6CB61C6C1D8D914B1814B4DDB356E6FE19ED8EECD9AAD490B97EF43F0DBB7FBBC2EE8]

[Header 2 bytes][IV 16 bytes][MAC 32 bytes][Ciphertext n bytes]

This gives you all the data you need for Invoke-SecretDecrypt. Example below:
SQLCMD.EXE -d TSS -Q 'select s.SecretName, f.SecretFieldName, s.[Key], i.ItemValue from tbSecretItem as i JOIN tbSecret as s ON (s.SecretID = i.SecretID) JOIN tbSecretField as f on (i.SecretFieldID = f.SecretFieldID)' -W

SecretName SecretFieldName Key ItemValue
---------- --------------- --- ---------
password Password 0x03022F5B28A351A76E7E6A98878944EC28D53F756415A9A67BA3CE2525441D1FFC115BCBAB7E31471292A47466332677A1A7B29CE679C892496604E7F7DB40B6CB61C6C1D8D914B1814B4DDB356E6FE19ED8EECD9AAD490B97EF43F0DBB7FBBC2EE8 03022dcfd4b31359af5d664912bc42886ef6ca98a9c57efbe82ee2834099f842fd2646dd687187901601cb1baf2a3e5954f7d29c73e3dd865bd46333fe7ea0aabeee50570e0132257ac61e906eaeb373b765e510aefc9afa6fd6a5ebdae529a98cdf
... yoink ...

From the above we need to pull out the intermediate cipher text and IV (used to be called IVMek), which comes from Key, along with the Item cipher text and IV, which comes from ItemValue. Something like:
Key cipher text: B29CE679C892496604E7F7DB40B6CB61C6C1D8D914B1814B4DDB356E6FE19ED8EECD9AAD490B97EF43F0DBB7FBBC2EE8
Key IV: 2F5B28A351A76E7E6A98878944EC28D5
Item cipher text: d29c73e3dd865bd46333fe7ea0aabeee50570e0132257ac61e906eaeb373b765e510aefc9afa6fd6a5ebdae529a98cdf
Item IV: 2dcfd4b31359af5d664912bc42886ef6

Which can get fed to Invoke-SecretDecrypt:
PS C:\> $item = "03022dcfd4b31359af5d664912bc42886ef6ca98a9c57efbe82ee2834099f842fd2646dd687187901601cb1baf2a3e5954f7d29c73e3dd865bd46333fe7ea0aabeee50570e0132257ac61e906eaeb373b765e510aefc9afa6fd6a5ebdae529a98cdf"
PS C:\> $key = "03022F5B28A351A76E7E6A98878944EC28D53F756415A9A67BA3CE2525441D1FFC115BCBAB7E31471292A47466332677A1A7B29CE679C892496604E7F7DB40B6CB61C6C1D8D914B1814B4DDB356E6FE19ED8EECD9AAD490B97EF43F0DBB7FBBC2EE8"
PS C:\> Invoke-SecretDecrypt -EncryptionConfig C:\inetpub\wwwroot\SecretServer\encryption.config -NewFormat -Key $key.Substring(100) -IVMek $key.Substring(4, 32) -Item $item.Substring(100) -ItemIV $item.Substring(4, 32)
Decrypted: 3C2Bnewpassowrd122211
PS C:\> $key = "030253268D0E5EE5BD7DF3286B14FFC80E1B20B11CF9B5A222B479BAB6D486DD1936C1953E185FA9250E6498D5D9EB33FDB2170B71B472537EF2D0A74276FFC17036E9271494572A3BF01A9D84DCB9DBAAB9BDA384FE815334197750919069D7338B"
PS C:\> $item = "0302e168a8cdfc88463626eb27a7bb1b685c8a66565844974f41379100e5ec6839599f9f94a1f154e9e1cfa57ca9785a27565b70b785fde7448d0940f1ad6103138cbffb37ed797a7d2da07a5f963a5fa676b144912281eab6df06d5fbc74d9e7a5e"
PS C:\> Invoke-SecretDecrypt -EncryptionConfig C:\inetpub\wwwroot\SecretServer\encryption.config -NewFormat -Key $key.Substring(100) -IVMek $key.Substring(4, 32) -Item $item.Substring(100) -ItemIV $item.Substring(4, 32)
Decrypted: 1AE3E7zJj**l9**5
PS C:\>

The challenge here is now there are enough disparities between the various versions that for SecretServerSecretStealer (specifically Invoke-SecretStealer) to work nicely it would need to implement some form of version detection. I'm going to leave this issue open for now.

Thanks @denandz! I was able to modify my module accordingly and all is well! Note in the two example decrypted passwords that the first 4 characters are not a part of the password -- I stripped these out in my own implementation.
I may provide a pull request -- however, my scenario is not so much compromising Secret Server as it is making a utility that can retrieve secrets from a free version of Secret Server (which doesn't have API access), so I'm not sure how useful it would be to an audience who is actually working with compromised servers ;)

Thanks @denandz! I was able to modify my module accordingly and all is well! Note in the two example decrypted passwords that the first 4 characters are not a part of the password -- I stripped these out in my own implementation.
I may provide a pull request -- however, my scenario is not so much compromising Secret Server as it is making a utility that can retrieve secrets from a free version of Secret Server (which doesn't have API access), so I'm not sure how useful it would be to an audience who is actually working with compromised servers ;)

Those first two bytes are a version header. Checking the values and notifying when they aren't the expected value would probably be a good idea, might give an early indication of changes in later Secret Server versions?

If you want to also decrypt file attachments, you can modify the query like this:
select s.SecretName, f.SecretFieldName, s.[Key], i.ItemValue, a.FileContents from tbSecretItem as i JOIN tbSecret as s ON (s.SecretID = i.SecretID) JOIN tbSecretField as f on (i.SecretFieldID = f.SecretFieldID) LEFT JOIN tbFileAttachment AS a on (i.FileAttachmentID = a.FileAttachmentID)

Then instead of decrypting the ItemValue field, use the FileContents field instead.

might be reviving something already dead but by any chance anyone is aware of the changes on the 11+ version? things look similar but the KEY entry in the DB is always NULL. where did you reverse how these values were used? I might try to dig in a bit to see what changed.

might be reviving something already dead but by any chance anyone is aware of the changes on the 11+ version? things look similar but the KEY entry in the DB is always NULL. where did you reverse how these values were used? I might try to dig in a bit to see what changed.

They've likely switched up the key logic again. You'll need to dig into the application logic to figure out how its working in 11+. This might be useful: https://pulsesecurity.co.nz/articles/dotnet-dynamic-analysis
If you figure out the new logic, please feel free to drop it in here and we can figure out how to work it into SecretServerSecretStealer. Good luck!


Include example config files in webpage

In addition to the normal config file input, have a menu in the demo page for selecting an example config file.

pick chess example

load chess example


remove deprecated --path flag from Readme

When following the install scripts in the main README, i get the following warning:
bundle install --path .vendor/bundle
[DEPRECATED] The --path flag is deprecated because it relies on being remembered across bundler invocations, which bundler will no longer do in future versions. Instead please use bundle config set path '.vendor/bundle', and stop using this flag

I had previously tried the suggested alternative command, but it did not work for me. Hence I haven't addressed this yet.
Did you give it a try?

No, but thanks for the suggestion, didn't even consider it! I will! (Btw, love this repo, still trying to figure out how to use it well)

Completely uninstalled the gem, and reinstalled it without the --path flag, installed correctly and then ran the bundle config set path '.vendor/bundle' command. No problems so far running.

Completely uninstalled the gem, and reinstalled it without the --path flag, installed correctly and then ran the bundle config set path '.vendor/bundle' command. No problems so far running.

I think that only worked because it installed the Gems globally :thinking:
The goal is that the installation of the gems itself ends up in the vendor folder, so installation would need to happen after bundle config set path '.vendor/bundle' but it then never worked for me like intended.
I'll keep the bug open until I find some motivation to revisit this :smile:


[BUG] t.replace is not a function setText

Describe the bug
I have input numbers and i want to display that number when is > 0 or empty string.
To Reproduce

entities:
- input_number.vacuum_obyvacka_poradie
- input_number.vacuum_kuchyna_poradie
- input_number.vacuum_chodba_poradie
- input_number.vacuum_chodbicka_poradie
- input_number.vacuum_spalna_poradie
- input_number.vacuum_filipko_izba_poradie
- input_number.vacuum_miska_izba_poradie
state_action:
- service: floorplan.text_set
service_data:
text: |
>
var poradie = parseInt(parseFloat(entity.state));
if (poradie > 0){
return poradie;
}
return ""

In latests version im getting this error:
Uncaught (in promise) TypeError: t.replace is not a function     setText /hacsfiles/ha-floorplan/floorplan.js:54     call Floorplan Service /hacsfiles/ha-floorplan/floorplan.js:131     call Service /hacsfiles/ha-floorplan/floorplan.js:131     handleActions /hacsfiles/ha-floorplan/floorplan.js:131     handleEntity /hacsfiles/ha-floorplan/floorplan.js:131     Ai /hacsfiles/ha-floorplan/floorplan.js:54     Ai /hacsfiles/ha-floorplan/floorplan.js:54     handleEntity /hacsfiles/ha-floorplan/floorplan.js:131     handleEntities /hacsfiles/ha-floorplan/floorplan.js:131     a /hacsfiles/ha-floorplan/floorplan.js:54     promise callback*c /hacsfiles/ha-floorplan/floorplan.js:54
When service data return number, its throwing error,
when it return string, its working as expected (e. g. when i add '+ "" ' that force js to convert it to string)
if (poradie > 0){
return poradie + "";
}

im not able to format that code properly here, so this is screenshot with formatted code

this is part of that code when its working because of that conversion to string

I will get back to you soon but just wanted to point out you are exposing your domain name in your first post….

Looks like that it caused by this replace
https://github.com/ExperienceLovelace/ha-floorplan/blob/3e362c05635187d891151c012b33c7e995dbb167/src/lib/utils.ts#L97C5-L97C5
but i dont k now why, because text should be string

i dont k now why, because text should be string

Correct but you are passing an int when the input number is greater than zero. Try this js shorthand (assuming your input_number is always a representation of an int otherwise use parsefloat):
              state_action:
                service: floorplan.text_set
                service_data: '${parseInt{entity.state) > 0 ? entity.state : ""}'

I will try when I will be back on pc.
But I saw in code that where setText function is called it's casted to string.

Please refer to the docs instead of looking at the code. It is stated clearly there that the text_set service call requires a string.

This is clearly not a bug, as the service expects a string. That's simply cause HA normally return number and floats as strings, and we're following their take on the "state string"-type.


allow user to create products with Fiat currency or seeds

🗃 Github Issue Or Explanation for this PR. (What is it supposed to do and Why is needed)
#381
✅ Checklist

[x] Github issue details are up to date for people to QA.
[ ] I have tested all my changes.

🕵♂ Notes for Code Reviewer
Still pending some code cleaning and a state debugging.
Users are not able to create and edit product with either seeds or fiat currency
🙈 Screenshots
For all UI changes
| description 1 |
|

|
| img1 |
👯♀ Paired with
"nobody"

Is it ready or still pending?

Is it ready or still pending?

broken build

broken build


Map bytecode instructions to source file line and column

When the script causes a run time error, there's currently no way to tell the user the location of the error in the source file.

Fixed by commit 14584fa24e2a52b8aa543b0c0b6f6e809e5a0111


[ENH] RPC calls in data transfer can be simplified

In transfer.py a data transfer procedure is initialized in 4 RPC calls:

A get_hash_slot is sent to obtain a new receiver slot from the remote end
A check_status query is sent to check if data already sent to the target
A create_data_writer is sent to initialize the receiver
A register_finish_callback is sent to create a callback to listen when the transfer finishes

However, all these requests can be merged into one single request to reduce latency esp. when data packages are small.
Further more, receive_data_part and finish_receive can also be merged, and a small chunk may only cost 2 RPC calls.

Fixed by #736 .


PageExtension addfirst non-functional when using groups

Describe the bug
When extending a role centre, addfirst does not work if a group is used.
To Reproduce
Steps and/or AL code to reproduce the behavior:
See the following repo.
Expected behavior
When addfirst is used, the added group (with actions) should be first in the interface.
Screenshots
Screenshot
Versions:

AL Langauge: 2.1.69331
Business Central: CA Dynamics NAV 13.3 (26990)

Is this intended behaviour? Is my code incorrectly formatted? Or is it just a bug / unexpected usage?

Hi @mjmatthiesen, thank you for reporting issue. Yes, it is intended behaviour, nothing wrong with your code. The items in the Reporting area are sorted, so that the groups are always in the end of the list. No way to change it from Al, just take it into account adding the new groups and actions.


Add support for multiple paths in Clear-SbQueue

I find my self trying to purge all 3 paths of a queue, while testing my service bus.
Suggestions for names:
-Complete
-All
-QueueStore (with 4 options: Active, Deadletter, Scheduled or All)

I like the last option but could we build in the ability to clear any combination of queue path, in case, for example, a user wanted to clear the deadletter and the scheduled queue but not the active queue?

That was why the last option would be best.
It will be a string[], where we have to loop through each option the passed. We should search for All first, if all it present, then we skip the rest. But that way, we would be able to support their different requirements

Sounds great!  How would we validate the user input?  Do we create a new enum for valid paths or should we just use normal parameter validation?

I would go with normal parameter validation, which would enable the end user to select from that ValidateSet.


Remove unsafe code from macro expansions

Motivation

The sol! macro cannot be used in projects with strict unsafe code policies.
The current unsafe implementation of abi_decode_raw is not efficient: binary search (O(log n)) is slower than a simple jump table (O(1) or O(n) at worst, for e.g. compare the MIR/asm output).

Solution

Switch abi_decode_raw to use a constant jump table instead of a runtime binary search.
Generate safe code to convert between enum variants and u8 statically.
Make the as_u8 function constant.
Additionally, allow clippy::empty_structs_with_brackets in the generated code.

PR Checklist

[ ] Added Tests
[ ] Added Documentation
[ ] Breaking changes

The current unsafe implementation of abi_decode_raw is not efficient: binary search (O(log n)) is slower than a simple jump table (O(1) or O(n) at worst, for e.g. compare the MIR/asm output).

This is not true, I would recommend you compare the LLVM IR and/or assembly output for a large calls enum, for example Foundry's Vm. The binary search gets unrolled and made branchless at compile time, while the switch gets codegen'd as a binary search regardless because all the match arms have different code sizes.
The other changes are fine.

Thank you!


Add OCP 4.2 new global catalog namespace section

This is my crack at adding a structure for OpenShift specific docs and a section on the 4.2 change to openshift-marketplace as the global catalog namespace change.

/lgtm


Upgrade Hystrix Dashboard resources

The current Hystrix Dashboard resources are not up-to-date with the included jar dependency. There were changes that broke the view.

Hey @dryewo, is this bug still alive? Do you want to add a "Help Wanted" label?


siptreadmill appears to run but no sip generated ...

Hi,
I have installed siptreadmill from packages onto a new install Ubunty Trusty.  When I run a scenario it seems to complete, the error, statistics and summary output files are all created ... but they are all zero length.  If I run ngrep on the asterisk box under test there are no SIP packets coming from the siptreadmill.
My current theory is that the job is being queued but then immediately being killed by sidekiq... I have no idea how to test or debug any further!  Not sure if it has any bearing or not but I have installed Ubuntu and Siptreadmill in an LXC container environement.
In the worker log I see:
Preparing to run SIPp command: sudo $(which sipp) -p 8838 -sf /tmp/scenario20150701-265-1lzrcj4 -l 1 -m 1 -r 1 -t u1 -inf /tmp/csv20150701-265-5zzaz3 <IP_ADDRESS>
Test completed successfully but some calls failed.
Preparing to run SIPp command: sudo $(which sipp) -p 8838 -sf /tmp/scenario20150701-265-7s65zi -t u1 -inf /tmp/csv20150701-265-1cm40rj
Preparing to run SIPp command: sudo $(which sipp) -p 8836 -sf /tmp/scenario20150701-265-1vo2jqn -l 5 -m 10 -r 1 -s<PHONE_NUMBER>0000 -mp 27439 -trace_stat -stf /tmp/stats20150701-265-1hrc09e -fd 1 -trace_screen -screen_file /tmp/summary_report20150701-265-a0tznx -trace_err -error_file /tmp/errors_report20150701-265-1g7nnzc -t u1 -inf /tmp/csv20150701-265-2ysszk <IP_ADDRESS>
Test completed successfully but some calls failed.
Statistics logged at /tmp/stats20150701-265-1hrc09e
Test completed successfully but some calls failed.
2015-07-01T08:59:01Z 265 TID-os0mp7rt8 TestRunWorker JID-07b7e1c9cb3cebe8f7aa76eb INFO: done: 0.15 sec```

If I run the same SIPP commands from the command line as siptreadmill user they generate SIP traffic.

If I do a "dpkg-reconfigure dash" and revert to bash I get a similar result, but different worker log:

2015-07-01T09:02:26Z 307 TID-ouqnpmjd8 TestRunWorker JID-885c4f7d42d2e368706b6fd8 INFO: start
Preparing to run SIPp command: sudo $(which sipp) -p 8838 -sf /tmp/scenario20150701-307-1innlkm -l 1 -m 1 -r 1 -t u1 -inf /tmp/csv20150701-307-1b9lkes <IP_ADDRESS>
Test completed successfully but some calls failed.
Preparing to run SIPp command: sudo $(which sipp) -p 8838 -sf /tmp/scenario20150701-307-1dr3v4k -t u1 -inf /tmp/csv20150701-307-1ji8xa9
Preparing to run SIPp command: sudo $(which sipp) -p 8836 -sf /tmp/scenario20150701-307-uqx7iy -l 5 -m 10 -r 1 -s<PHONE_NUMBER>0000 -mp 26886 -trace_stat -stf /tmp/stats20150701-307-12b1emp -fd 1 -trace_screen -screen_file /tmp/summary_report20150701-307-1f1i658 -trace_err -error_file /tmp/errors_report20150701-307-uzcpos -t u1 -inf /tmp/csv20150701-307-mu54td <IP_ADDRESS>
Test completed successfully but some calls failed.
Statistics logged at /tmp/stats20150701-307-12b1emp
2015-07-01T09:02:26Z 307 TID-ouqnpmjd8 TestRunWorker JID-885c4f7d42d2e368706b6fd8 INFO: fail: 0.145 sec
2015-07-01T09:02:26Z 307 TID-ouqnpmjd8 WARN: {"retry"=>false, "queue"=>"default", "class"=>"TestRunWorker", "args"=>[77, nil], "jid"=>"885c4f7d42d2e368706b6fd8", "enqueued_at"=>1435741346.679472}
2015-07-01T09:02:26Z 307 TID-ouqnpmjd8 WARN: Operation not permitted
2015-07-01T09:02:26Z 307 TID-ouqnpmjd8 WARN: /opt/siptreadmill/vendor/bundle/ruby/2.2.0/gems/sippy_cup-0.6.0/lib/sippy_cup/runner.rb:54:in kill' /opt/siptreadmill/vendor/bundle/ruby/2.2.0/gems/sippy_cup-0.6.0/lib/sippy_cup/runner.rb:54:in stop'
/opt/siptreadmill/app/services/test_runner.rb:83:in halt_receiver_scenario' /opt/siptreadmill/app/services/test_runner.rb:36:in run'
/opt/siptreadmill/app/workers/test_run_worker.rb:17:in perform' /opt/siptreadmill/vendor/bundle/ruby/2.2.0/gems/sidekiq-2.13.1/lib/sidekiq/processor.rb:48:in block (3 levels) in process'
/opt/siptreadmill/vendor/bundle/ruby/2.2.0/gems/sidekiq-2.13.1/lib/sidekiq/middleware/chain.rb:115:in call' /opt/siptreadmill/vendor/bundle/ruby/2.2.0/gems/sidekiq-2.13.1/lib/sidekiq/middleware/chain.rb:115:in block in invoke'
/opt/siptreadmill/vendor/bundle/ruby/2.2.0/gems/sidekiq-2.13.1/lib/sidekiq/middleware/server/active_record.rb:6:in call' /opt/siptreadmill/vendor/bundle/ruby/2.2.0/gems/sidekiq-2.13.1/lib/sidekiq/middleware/chain.rb:117:in block in invoke'
/opt/siptreadmill/vendor/bundle/ruby/2.2.0/gems/sidekiq-2.13.1/lib/sidekiq/middleware/server/retry_jobs.rb:62:in call' /opt/siptreadmill/vendor/bundle/ruby/2.2.0/gems/sidekiq-2.13.1/lib/sidekiq/middleware/chain.rb:117:in block in  nvoke'
▽opt/siptreadmill/vendor/bundle/ruby/2.2.0/gems/sidekiq-2.13.1/lib/sidekiq/middleware/server/logging.rb:11:in block in call' /opt/siptreadmill/vendor/bundle/ruby/2.2.0/gems/sidekiq-2.13.1/lib/sidekiq/logging.rb:22:in with_context'
/opt/siptreadmill/vendor/bundle/ruby/2.2.0/gems/sidekiq-2.13.1/lib/sidekiq/middleware/server/logging.rb:7:in call' /opt/siptreadmill/vendor/bundle/ruby/2.2.0/gems/sidekiq-2.13.1/lib/sidekiq/middleware/chain.rb:117:in block in invoke'
/opt/siptreadmill/vendor/bundle/ruby/2.2.0/gems/sidekiq-2.13.1/lib/sidekiq/middleware/chain.rb:120:in call' /opt/siptreadmill/vendor/bundle/ruby/2.2.0/gems/sidekiq-2.13.1/lib/sidekiq/middleware/chain.rb:120:in invoke'
/opt/siptreadmill/vendor/bundle/ruby/2.2.0/gems/sidekiq-2.13.1/lib/sidekiq/processor.rb:47:in block (2 levels) in process' /opt/siptreadmill/vendor/bundle/ruby/2.2.0/gems/sidekiq-2.13.1/lib/sidekiq/processor.rb:102:in stats'
/opt/siptreadmill/vendor/bundle/ruby/2.2.0/gems/sidekiq-2.13.1/lib/sidekiq/processor.rb:46:in block in process' /opt/siptreadmill/vendor/bundle/ruby/2.2.0/gems/sidekiq-2.13.1/lib/sidekiq/processor.rb:83:in do_defer'
/opt/siptreadmill/vendor/bundle/ruby/2.2.0/gems/sidekiq-2.13.1/lib/sidekiq/processor.rb:37:in process' /opt/siptreadmill/vendor/bundle/ruby/2.2.0/gems/celluloid-0.14.1/lib/celluloid/calls.rb:25:in public_send'
/opt/siptreadmill/vendor/bundle/ruby/2.2.0/gems/celluloid-0.14.1/lib/celluloid/calls.rb:25:in dispatch' /opt/siptreadmill/vendor/bundle/ruby/2.2.0/gems/celluloid-0.14.1/lib/celluloid/calls.rb:125:in dispatch'
/opt/siptreadmill/vendor/bundle/ruby/2.2.0/gems/celluloid-0.14.1/lib/celluloid/actor.rb:326:in block in handle_message' /opt/siptreadmill/vendor/bundle/ruby/2.2.0/gems/celluloid-0.14.1/lib/celluloid/tasks.rb:42:in block in initialize'
/opt/siptreadmill/vendor/bundle/ruby/2.2.0/gems/celluloid-0.14.1/lib/celluloid/tasks/task_fiber.rb:11:in `block in create'
** [Airbrake] Unable to contact the Airbrake server. HTTP Error=execution expired
** [Airbrake] Failure: NilClass

Any insight or advice would be appreciated
Thanks

Seems like it was an LXC or Ubuntu installation issue...
I have installed Ubuntu Trust LTS server on bare metal and then installed siptreadmill from packages... I can now see the generated SIP messages on my PBX and some results graphs on the siptreadmill GUI.
Next step is to build some valid scenarios to run useful tests.

Glad you got this fixed @pauls1024!


Map: show points (rather than hexagons) at high zoom level + popup

This is implement for https://alert.riparias.be/, see there for inspiration and source code.

Update: this is now implemented and visible on https://mica-uat.inbo.be/

Hi Nico,
Looks good already, although I would work with a different colour than red, maybe the same blue as the left side of the dashboard. I would also make the points slightly see-trough. The link to GBIF is usefull, however I think the pop-up could show the number of individuals and the source data set as well.

@EmmaCartuyvels1: I implemented your suggestions above, don't hesitate to have a look!

@niconoe looks good! You can push this to the actual dashboard

This is done, thanks for the feedback!


Updated README

Updated README + added Shields.io badge

I have no clue why I dind't merge this haha, I know it was long ago but now just saw it. Thanks for the changes.


Enum Option default is None [BUG]

Describe the bug
If an enum option type is not given, it's value is None instead of the specified default value.  If the option is specified then it works as expected
To Reproduce
Steps to reproduce the behavior with a minimum self-contained file.
Replace each part with your own scenario:

Create a file main.py with:

from enum import Enum

import typer

class NeuralNetwork(str, Enum):
    simple = "simple"
    conv = "conv"
    lstm = "lstm"

def main(
    network: NeuralNetwork = typer.Option(NeuralNetwork.simple, case_sensitive=False)
):
    typer.echo(f"Training neural network of type: {network.value}")

if __name__ == "__main__":
    typer.run(main)

Call it with:

python main.py

It outputs:

Traceback (most recent call last):
...
  File "tutorial002.py", line 15, in main
    typer.echo(f"Training neural network of type: {network.value}")
AttributeError: 'NoneType' object has no attribute 'value'

But I expected it to output:

Training neural network of type: simple

Expected behavior
I would expect that the specified default value of an enum would be passed to the function parameter instead of None when the option is not provided.
Environment

OS: [macOS]
Typer Version [0.0.8]
Python version [3.7.6]

As a workaround, I was able to get the expected behavior by substituting:
def main(
    network: NeuralNetwork = typer.Option(NeuralNetwork.simple.value, case_sensitive=False)
):

Hi @sullivancolin , thanks for the report! And thanks for the idea @JnyJny .
I wasn't able to reproduce it with the latest, so I think the underlying bug might have been fixed by Click 7.1, released recently.
Could you confirm?

Yup. I can confirm new release of Click fixed the issue! 🎉   I'll close the issue and the PR

Great! Thanks for reporting back and closing it :+1:


Update Invoke-SPOMigrationEncryptUploadSubmit.md

Added a code example and a also a link to the steps to create an import package.

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

sharepoint/sharepoint-ps/sharepoint-online/Invoke-SPOMigrationEncryptUploadSubmit.md
:white_check_mark:Succeeded
View (sharepoint-ps)

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

thx Dennis, appreciated. Also good work on adding the link to that support article with additional details.

@VesaJuvonen no problem. I was also glad I found that article. The guide is very clear on how to use the PowerShell cmdlets for a migration process :)


[Feature][habana-main]: HPUAttentionImpl support for 'Encoder_Decoder'

🚀 The feature, motivation and pitch
Llama3.2 vision (Mllama) models requires model runner as "Enocoder_Decoder_Model_Runner"
which includes:

prepare "encoder_seq_lens" and "encoder_seq_lens_tensor" when preparing input data
necessary fix for "HPUModelRunner - prepare_input_tensors" https://github.com/xuechendi/vllm-fork/commit/1f5a7020fb8bfcdf52eade6abad5c4938ece6ffb
enable "Encoder self-attention" and "encoder/decoder cross-attention" in HPUAttentionImpl

test cmd:
python offline_inference_vision_language.py --model_type mllama

Error msg:
File "/workspace/vllm/vllm/attention/backends/hpu_attn.py", line 159, in forward
[rank0]:     raise NotImplementedError("Encoder self-attention and "
[rank0]: NotImplementedError: Encoder self-attention and encoder/decoder cross-attention are not implemented for HPUAttentionImpl

Alternatives
No response
Additional context
No response
Before submitting a new issue...

[X] Make sure you already searched for relevant issues, and asked the chatbot living at the bottom right corner of the documentation page, which can answer lots of frequently asked questions.

Hi, I have taken this feature and already have a draft pr in vllm-xpu. I may submit it to the public-vllm repository later.


Allow to configure HttpClient used in ConsulClient

It would be nice to introduce some kind of configurer or configuration properties which will allow to configure Apache HttpClient used in consul-api.
PoolingHttpClientConnectionManager connectionManager = new PoolingHttpClientConnectionManager(registry);
			connectionManager.setMaxTotal(DEFAULT_MAX_CONNECTIONS);
			connectionManager.setDefaultMaxPerRoute(DEFAULT_MAX_PER_ROUTE_CONNECTIONS);

			RequestConfig requestConfig = RequestConfig.custom().
					setConnectTimeout(DEFAULT_CONNECTION_TIMEOUT).
					setConnectionRequestTimeout(DEFAULT_CONNECTION_TIMEOUT).
					setSocketTimeout(DEFAULT_READ_TIMEOUT).
					build();

			HttpClientBuilder httpClientBuilder = HttpClientBuilder.create().
					setConnectionManager(connectionManager).
					setDefaultRequestConfig(requestConfig);

			this.httpClient = httpClientBuilder.build();

Above you can find a code snippet from DefaultHttpsTransport, the same you can find in DefaultHttpTransport. It would be nice to be able to configure timeouts and connection limits (maxTotal, maxPerRoute).

That's a good question.  You can define your own ConsulClient bean.

That's a good question.  You can define your own ConsulClient bean.

TLS is quite nice to configure in that matter. There's no problem with that. We faced a huge amount of connections between our application using spring-cloud-consul-discovery and Consul and I'm trying to reduce that. Those options will allow developers to control HTTP connection pool used to reach Consul.
Regarding self-created bean. That's right and for single module/project it's perfect, but... In our system we have our custom starter which includes consul-discovery and some auto configuration classes. I've tried to somehow override ConsulClient with @ConditionalOnMIssingBean annotation to allow developers in projects using our starter define their own ConsulClient if needed, but I always get ConsulClient auto-configured from ConsulAutoConfiguration from dependency. I tought that the best would be to resolve the issue at it's root and just add those properties as an configuration parameters to ConsulClient configuration :)

HttpClient and TLSConfig are mutually exclusive. If you have auto-configuration you need to use @AutoConfigureBefore(ConsulAutoConfiguration.class).

HttpClient and TLSConfig are mutually exclusive. If you have auto-configuration you need to use @AutoConfigureBefore(ConsulAutoConfiguration.class).

Ah, OK, now I get it. Yes, I've copied configuration code from DefaultHttpsTransport and used it to configure TLS in my auto-configuration. Unfortunately @AutoConfigureBefore didn't help :( Below you can find my auto-configuration class. It's also included in spring.factories file in resources.
import com.ecwid.consul.transport.TLSConfig;
import com.ecwid.consul.transport.TLSConfig.KeyStoreInstanceType;
import com.ecwid.consul.transport.TransportException;
import com.ecwid.consul.v1.ConsulClient;
import com.ecwid.consul.v1.ConsulRawClient;
import org.apache.http.client.HttpClient;
import org.apache.http.client.config.RequestConfig;
import org.apache.http.config.Registry;
import org.apache.http.config.RegistryBuilder;
import org.apache.http.conn.socket.ConnectionSocketFactory;
import org.apache.http.conn.ssl.SSLConnectionSocketFactory;
import org.apache.http.conn.ssl.TrustSelfSignedStrategy;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.impl.conn.PoolingHttpClientConnectionManager;
import org.apache.http.ssl.SSLContexts;
import org.springframework.boot.autoconfigure.AutoConfigureBefore;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.cloud.client.ConditionalOnDiscoveryEnabled;
import org.springframework.cloud.consul.ConditionalOnConsulEnabled;
import org.springframework.cloud.consul.ConsulAutoConfiguration;
import org.springframework.cloud.consul.ConsulProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.util.StringUtils;

import java.io.FileInputStream;
import java.io.IOException;
import java.security.GeneralSecurityException;
import java.security.KeyStore;
import java.security.SecureRandom;
import javax.net.ssl.*;

@Configuration
@ConditionalOnDiscoveryEnabled
@ConditionalOnConsulEnabled
@AutoConfigureBefore(ConsulAutoConfiguration.class)
public class ConsulClientAutoConfiguration {

  @Bean
  @ConditionalOnMissingBean
  public ConsulHttpPoolingProperties consulHttpPoolingProperties() {
    return new ConsulHttpPoolingProperties();
  }

  /**
   * Modified version of {@link org.springframework.cloud.consul.ConsulAutoConfiguration#consulClient(org.springframework.cloud.consul.ConsulProperties)}
   */
  @Bean
  @ConditionalOnMissingBean
  public ConsulClient consulClient(
      ConsulProperties consulProperties,
      ConsulHttpPoolingProperties poolingProperties) {
    try {
      final int agentPort = consulProperties.getPort();
      final String agentHost = !StringUtils.isEmpty(consulProperties.getScheme())
                               ? consulProperties.getScheme() + "://" + consulProperties.getHost()
                               : consulProperties.getHost();
      if (consulProperties.getTls() != null) {
        ConsulProperties.TLSConfig tls = consulProperties.getTls();
        TLSConfig tlsConfig = new TLSConfig(tls.getKeyStoreInstanceType(),
            tls.getCertificatePath(), tls.getCertificatePassword(),
            tls.getKeyStorePath(), tls.getKeyStorePassword());
        return new ConsulClient(new ConsulRawClient(
            createTlsClient(tlsConfig, poolingProperties), agentHost, agentPort, null)
        );
      }
      return new ConsulClient(new ConsulRawClient(
          createHttpClient(poolingProperties), agentHost, agentPort, null)
      );
    } catch (GeneralSecurityException | IOException e) {
      throw new TransportException(e);
    }
  }

  /**
   * Modified version of {@link com.ecwid.consul.transport.DefaultHttpsTransport#DefaultHttpsTransport(com.ecwid.consul.transport.TLSConfig)}
   */
  private HttpClient createTlsClient(
      TLSConfig tlsConfig, ConsulHttpPoolingProperties poolingProperties) throws
      GeneralSecurityException, IOException {
    KeyStore clientStore = KeyStore.getInstance(tlsConfig.getKeyStoreInstanceType().name());
    clientStore.load(
        new FileInputStream(tlsConfig.getCertificatePath()),
        tlsConfig.getCertificatePassword().toCharArray());

    KeyManagerFactory kmf = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
    kmf.init(clientStore, tlsConfig.getCertificatePassword().toCharArray());
    KeyManager[] kms = kmf.getKeyManagers();

    KeyStore trustStore = KeyStore.getInstance(KeyStoreInstanceType.JKS.name());
    trustStore.load(
        new FileInputStream(tlsConfig.getKeyStorePath()),
        tlsConfig.getKeyStorePassword().toCharArray());

    TrustManagerFactory tmf =
        TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());
    tmf.init(trustStore);
    TrustManager[] tms = tmf.getTrustManagers();

    SSLContext
        sslContext = SSLContexts.custom().loadTrustMaterial(new TrustSelfSignedStrategy()).build();
    sslContext.init(kms, tms, new SecureRandom());
    SSLConnectionSocketFactory factory = new SSLConnectionSocketFactory(sslContext);

    Registry<ConnectionSocketFactory> registry = RegistryBuilder.<ConnectionSocketFactory>create()
        .register("https", factory).build();

    PoolingHttpClientConnectionManager connectionManager =
        new PoolingHttpClientConnectionManager(registry);
    connectionManager.setMaxTotal(poolingProperties.getMaxConnections());
    connectionManager.setDefaultMaxPerRoute(poolingProperties.getMaxPerRouteConnections());
    // Below was added extra, wasn't present in DefaultHttpsTransport
    connectionManager.setValidateAfterInactivity(
        poolingProperties.getValidateConnectionAfterInactivity());

    RequestConfig requestConfig = RequestConfig.custom().
        setConnectTimeout(poolingProperties.getConnectTimeout()).
        setConnectionRequestTimeout(poolingProperties.getConnectionRequestTimeout()).
        setSocketTimeout(poolingProperties.getSocketTimeout()).
        build();

    HttpClientBuilder httpClientBuilder = HttpClientBuilder.create().
        setConnectionManager(connectionManager).
        setDefaultRequestConfig(requestConfig);

    return httpClientBuilder.build();
  }

  private HttpClient createHttpClient(ConsulHttpPoolingProperties poolingProperties) {
    PoolingHttpClientConnectionManager connectionManager = new PoolingHttpClientConnectionManager();
    connectionManager.setMaxTotal(poolingProperties.getMaxConnections());
    connectionManager.setDefaultMaxPerRoute(poolingProperties.getMaxPerRouteConnections());
    // Below was added extra, wasn't present in DefaultHttpsTransport
    connectionManager.setValidateAfterInactivity(
        poolingProperties.getValidateConnectionAfterInactivity());

    RequestConfig requestConfig = RequestConfig.custom().
        setConnectTimeout(poolingProperties.getConnectTimeout()).
        setConnectionRequestTimeout(poolingProperties.getConnectionRequestTimeout()).
        setSocketTimeout(poolingProperties.getSocketTimeout()).
        build();

    HttpClientBuilder httpClientBuilder = HttpClientBuilder.create().
        setConnectionManager(connectionManager).
        setDefaultRequestConfig(requestConfig).
        useSystemProperties();

    return httpClientBuilder.build();
  }
}

There's no reason AutoConfigureBefore shouldn't work. Are you using consul config?

@spencergibb those are my dependencies in starter:
  compileOnly "org.springframework.cloud:spring-cloud-config-server:2.1.3.RELEASE"

  implementation "org.springframework.cloud:spring-cloud-starter-consul:2.1.2.RELEASE"
  implementation "org.springframework.retry:spring-retry:1.2.4.RELEASE"

and in sample project on which I work to test if the starter works I also have spring-cloud-starter-consul-config included. It might be the reason?

yes, once you have spring-cloud-starter-consul-config the consul client is created in bootstrap and auto configure before won't work. You'd have to setup a bootstrap configuration

@spencergibb thank you, I'll try it tomorrow and let you know. Before I'll do it I have one question: making a configuration as a bootstrap one will solve my problem either in projects having consul-config enabled and ones without it? Or should I somehow take care differently for each of them?

in the bootstrap configuration check for @ConditionalOnClass(ConsulConfigProperties.class) or something. then it won't run when not needed.

@spencergibb Introducing bootstrap configuration helped. Thank you a lot! :)

Hi @spencergibb ! :) I came back with one more problem. Defining ConsulClient in bootstrap phase helped, but now I can't force it to properly resolve placeholders in config properties used for Consul Discovery. I've tried ordering using @AutoConfigureAfter(PropertyPlaceholderAutoConfiguration.class) but with no success. Have you faced similar problem?


Trouble MIREOTing from and loading OMRSE using Protege Version 5.0.0 (Build beta-17)

Not sure if this is causing problems for anyone else, but the following lines seemed to be the culprit:

Line 3716: <<<<<<< HEAD
Line 3884: =======
Line 3885: >>>>>>> parent of 17f9716... added OMRSE_00000138 surgeon role class and definition.

Once I deleted these lines, I had no trouble loading the ontology from my local repository or MIREOTing from it.

I saw this on my github account notifications and am well out of the loop here, so sorry if I'm off  base.
Looks like the intention of the last commit https://github.com/ufbmi/OMRSE/commit/9da5fd5ea58d40bc410ea634d770c5dd038fb3c4 was to revert https://github.com/ufbmi/OMRSE/commit/17f9716c942795a601eef76c444e3d4e8e34c543, which added OMRSE_00000138 surgeon role. But in looking at the git diff, the class and definition are still there, and additionally there are some git conflict resoultion lines that need to be removed (as you pointed out @dillerm )

Offending lines deleted. This also removes the unwanted class.


Fix breakage caused by parsing module rename

Description of the change
Fix breakage caused by https://github.com/purescript-contrib/purescript-parsing/pull/169

Checklist:

[x] Added the change to the changelog's "Unreleased" section with a link to this PR and your username
[ ] Linked any existing issues or proposals that this pull request should close
[ ] Updated or added relevant documentation in the README and/or documentation directory
[ ] Added a test for the contribution (if applicable)

Does this need a changelog entry?

:ping_pong: @thomashoneyman


Serializer replaced with Exclude decorator

Related issue: #781
In this PR, I replaced the serializer with the Exclude decorator from class-transformer.
Added toJSON method into EntityHelper to convert the model class to plain while stringifying.

@keremkurtulus thanks for PR, your solution looks good, but there is a huge problem with class-transformer: we can not do a conditional Exclude.
Let me explain. For example, we have 2 endpoints. First endpoint allows search users in system for user with role "User" and for security reasons we need to hide email field. Second endpoint simply shows a list of users for user with "admin" role and for this endpoint we need to show email field. As far as I know we can not implement this behavior via class-transformer. Let me know if I'm wrong.

@Shchepotin I got the problem you mentioned and did research about it. I found a solution which is Expose decorator with groups option. I set the provider property of the User entity as conditional. All the endpoints except GET /me, provider property are removed from the response plain. Could you review the latest changes? Thanks!

@keremkurtulus sorry for the delay. I have reviewed your solution and for now it really looks good and looks like "NestJS" way. Thanks!


Fix line bug in beatmap artist when the artist name is longer than one line

Hi, I found the bug when our bug hunter (@SainTurDaY27) add a beatmap. I fix it by just make the line height higher.

Let's fix it!


Add test serialize_round_trip of serde

test_serialize_round_trip found in rustc_serialize.rs,  but not in serde.rs, add one.

Thanks!


bigger external link icon

Changes
increasing the size of icon after external links
@admoorgit i couldn't make the icon match the color of the link in a clean/simple way. i was able to do it in a pretty hacky way, but it felt like the benefit wasn't worth the messy hackery - lmk if you think the color matching is important tho
Screenshots

Checklist

[ ] if adds a new page, adds accessibility tests
[ ] if adds a new page or new interaction, adds e2e test
[ ] if adds a new page or new interaction, sends google analytics events and updates GA doc
[ ] if changes filter functionality, updates filters doc

Fixes https://app.asana.com/0/1202690670605811/1202791688500275/f

@jlhogan matching the color of the link when it's in the visited state

@cathydeng here's the new SVG icon from Asana to load in it's place:

I'd rather avoid hackery than try to solve for the color change. Not a huge deal if it doesn't at the end of the day. We'll continue to monitor if it becomes a problem for usability, but I don't see it being so.

@admoorgit oh whoops thought this was just about the sizing, but now i see that the arrows in the icons are slightly diff. will update


MEIs in SplitVariants

svtk vcf2bed uses the ALT field to produce the svtype column in the output BED file. This means that the svtype column includes BND alt alleles and values like INS:ME for MEIs. However, the current and previous SplitVariants tasks  in GenotypeBatch match exactly on the string "INS" when creating insertion-specific BED files, so the MEIs get grouped with BCAs instead. We should evaluate the impact of this on genotyping and whether MEIs should be grouped with other INS events instead.

It appears that the file named 'svtypes.txt' can be defined by yourself.

Addressed in #687


 This now means that the dispatcher will be using the DB after this change is made.
The persist/load_from_db methods would be analogous to Result.save() and ResultsManager.get_result(). Their implementation however will be more delicate since the Result object is being split into many pieces. Extensive testing will be needed to ensure that the DataStore faithfully captures the Result object, and that the persist/load operations are inverses of each other.
Acceptance criteria

[ ] Switch implementations of Result.save with Result.persist.
[ ] Ensure that all the unit and functional tests are passing.
[ ] Perform QA using the tutorials to ensure that everything is working as intended.

@FyzHsn For the first acceptance criterion, would we basically just have to remove this line
https://github.com/AgnostiqHQ/covalent/blob/03dca2354a115d06f6e387177c7c3184ec164ce7/covalent_dispatcher/_db/dispatchdb.py#L184
and then make sure that persist() is writing the files in the right places?

"Where do electron outputs get written and does that impact DB implementation?"

The node result is retrieved from the executor.
https://github.com/AgnostiqHQ/covalent/blob/c56cd00e23f89d52e99531a043df500276b2e0d8/covalent_dispatcher/_core/execution.py#L241-L250

Node result is generated and returned by run_task
https://github.com/AgnostiqHQ/covalent/blob/c56cd00e23f89d52e99531a043df500276b2e0d8/covalent_dispatcher/_core/execution.py#L254-L261

run_task is added to the thread pool
https://github.com/AgnostiqHQ/covalent/blob/c56cd00e23f89d52e99531a043df500276b2e0d8/covalent_dispatcher/_core/execution.py#L403-L414

Callback is added and thread is executed
https://github.com/AgnostiqHQ/covalent/blob/c56cd00e23f89d52e99531a043df500276b2e0d8/covalent_dispatcher/_core/execution.py#L416-L423

Callback calls update_node_result
https://github.com/AgnostiqHQ/covalent/blob/c56cd00e23f89d52e99531a043df500276b2e0d8/covalent_dispatcher/_core/execution.py#L299-L301

DB is updated
https://github.com/AgnostiqHQ/covalent/blob/c56cd00e23f89d52e99531a043df500276b2e0d8/covalent_dispatcher/_core/execution.py#L292

Conclusion: The electron results are already handled in the DB by update_node.

Notes regarding the implementation in https://github.com/AgnostiqHQ/covalent/pull/823/commits/7a5850f2437075aca67af5d4ca3235f477697b43

get_result_from_db and the methods that depend on it will not return an object that has a transport graph. it returns a "dumb" result object constructed from data in the lattice table.

When constructing the result object to be returned, I'm not sure I'm handling lattice kwargs correctly.


Update versions for 1.6.0 release

Modulus Pull Request
Description
Release prep for 1.6.0 release
Checklist

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

Dependencies

/blossom-ci


Unable to connect for deployment when port is specified by a user property

In wildfly-maven-plugin version 1.0.2.Final and 1.1.0.Alpha3 (other versions not tested) when changing the wildfly port via the user property "wildfly.port", the connection fails with a "connection timed out" message. When connecting via netcat to the same port, the HTTP server responds normally.
When not specifying a port, the default port 9990 is used and the connection succeeds (if the server is running under the default port).
Command:

mvn wildfly:deploy -Dwildfly.port=9999

Error message:

[ERROR] Failed to execute goal org.wildfly.plugins:wildfly-maven-plugin:1.0.2.Final:deploy (default-cli) on project : Could not execute goal deploy on . Reason: I/O Error could not execute operation '{
[ERROR] "operation" => "read-attribute",
[ERROR] "address" => [],
[ERROR] "name" => "launch-type"
[ERROR] }': java.net.ConnectException: JBAS012144: Could not connect to remote://<IP_ADDRESS>:9999. The connection timed out

The factory used to connect will try the remotingprotocol if the port is 9999 for legacy reason. Try overriding the protocol -Dwildfly.protocol=http-remoting or <protocol>http-remoting</protocol>.

Thank you, that solved the problem!


NETOBSERV-1390: Flow RTT values are n/a

Description
using tcp_rcv fentry hook to reuse kernel calculated rtt directly from TCP socket instead of trying to calculate it
Testing

[X] verified changes with 4.16 image (RHEL9)
[X] verified changes with 4.12 image (RHEL8)
[ ] run on different arch than amd64
using cluster-bot launch 4.16 aws,arm64
[X] performance and scale run

4.15 https://docs.google.com/spreadsheets/d/1BHoBJb8Pg-SI2bVNG58_NDoIhfOLV44hTysR2zalJAY/edit#gid=1230208449

4.14 https://docs.google.com/spreadsheets/d/1sJhlmHVlEHx9ZwfOyz7tVi54c1vtrbr4cW3tdvVXfVk/edit#gid=1878726753

Dependencies

n/a
Checklist
If you are not familiar with our processes or don't know what to answer in the list below, let us know in a comment: the maintainers will take care of that.

[ ] Will this change affect NetObserv / Network Observability operator? If not, you can ignore the rest of this checklist.
[X] Is this PR backed with a JIRA ticket? If so, make sure it is written as a title prefix (in general, PRs affecting the NetObserv/Network Observability product should be backed with a JIRA ticket - especially if they bring user facing changes).
[ ] Does this PR require product documentation?

[ ] If so, make sure the JIRA epic is labelled with "documentation" and provides a description relevant for doc writers, such as use cases or scenarios. Any required step to activate or configure the feature should be documented there, such as new CRD knobs.

[ ] Does this PR require a product release notes entry?

[ ] If so, fill in "Release Note Text" in the JIRA.

[ ] Is there anything else the QE team should know before testing? E.g: configuration changes, environment setup, etc.

[ ] If so, make sure it is described in the JIRA ticket.

QE requirements (check 1 from the list):

[X] Standard QE validation, with pre-merge tests unless stated otherwise.
[ ] Regression tests only (e.g. refactoring with no user-facing change).
[ ] No QE (e.g. trivial change with high reviewer's confidence, or per agreement with the QE team).

/ok-to-test

/ok-to-test

/ok-to-test

main vs this PR both with RTT enabled

/ok-to-test

/ok-to-test

/ok-to-test

/ok-to-test

/ok-to-test

/ok-to-test

/ok-to-test

/ok-to-test

/ok-to-test

/ok-to-test

/lgtm

/label qe-approved

removed kprobe and just stayed with fentry only which more advanced kprobe and light weight

/ok-to-test

Works as expected with latest commits.

/lgtm

/approve


Token is returned as URI fragment with a #, but is expected as query parameters

The login provider callback URL: baseUrl/#accessToken=xyz.
getSessionFromUrl expects the URL to use query params: baseUrl/?accessToken=xyz.
https://github.com/supabase/gotrue-dart/blob/main/lib/src/gotrue_client.dart#L109
@phamhieu Is this due to supabase incorrectly prepending # to the query params or should the dart-sdk be able to handle baseUrl/#accessToken=xyz, with a # ?
Original problem: baseUrl/#accessToken: Everything after # is stripped => This was due to using the url path strategy.

Hi @nstrelow, I will check with the backend team.

in this case getSessionFromUrl should be looking to parse the fragment instead of the query string, I believe the backend was written this was so that a URI containing query string can still be used as a callback URL and the auth tokens can just be tagged on the end:
my-callback-url.com?page=welcome&foo=bar#access_token=xyz

This is now working as expected.
https://github.com/flutter/flutter/issues/80666 still remains.
It only concerns Flutter mobile (iOS, Android at least) and currently removes everything after # in a URL.
Until this is fixed, AFAIK it is not possible sign in with a provider (or use any callback URL with #accessToken) together with mobile deeplinks.

Fixed https://github.com/supabase/gotrue-dart/commit/95fb42f46a0a7ffaa35db651190ac5e3af8269ba
Thank you @nstrelow


Will it continue to be updated?

libuv has been updated to v1.44.2
Thanks

Yes, I am learning to use libuv


Changes in the validity of a origin_ca_certificcate is not triggering a replacement of the resource

Confirmation

[X] My issue isn't already found on the issue tracker.
[X] I have replicated my issue using the latest version of the provider and it is still present.

Terraform and Cloudflare provider version
Terraform v1.3.5
on linux_amd64

provider registry.terraform.io/cloudflare/cloudflare v3.28.0

Affected resource(s)
cloudflare_origin_ca_certificate
Terraform configuration files
resource "cloudflare_origin_ca_certificate" "example" {
   csr                = tls_cert_request.example.cert_request_pem
  hostnames          = "redacted.domain.tld"
  request_type       = "origin-rsa"
  requested_validity = 90
}

Link to debug output
tflog.out
Panic output
No response
Expected output
cloudflare_origin_ca_certificate.origin-certificate must be replaced
+/- resource "cloudflare_origin_ca_certificate" "origin-certificate" {
~ id     =<PHONE_NUMBER>40230398620075686393988983954432376974-> (known after apply)
~ creation_timestamp = "2022-11-21T10:38:37.693-08:00" -> (known after apply)
~ requested_validity = 365 -> 90
# (3 unchanged attributes hidden)
}
Actual output
cloudflare_origin_ca_certificate.origin-certificate will be updated in-place
~ resource "cloudflare_origin_ca_certificate" "origin-certificate" {
id                 = "710620734040230398620075686393988983954432376974"
~ requested_validity = 365 -> 90
# (5 unchanged attributes hidden)
}
Steps to reproduce

Create a origin_ca_certificate with any validity
Change the validiy
Execute a plan

Additional factoids
Doing some research I believe that this will be fixed adding the modifier "ForceNew: True" for the field validity in the file https://github.com/cloudflare/terraform-provider-cloudflare/blob/master/internal/provider/schema_cloudflare_origin_ca_certificate.go
References
This may be related to https://github.com/cloudflare/terraform-provider-cloudflare/issues/1007

log file available at https://gist.github.com/peruzzof/2e7e49185f6f4f05e0d3c72d6d6bb461


Infer query inputs / variables from URLSearchParams

Describe the feature
in #789 @jycouet suggested to expand the route parameter inferring to also use url.searchParams, i think the comment got lost or wasn't considered at that moment. Imo this would improve filtering / searching in many applications and is probably worth exploring more, since we know all parameters a query needs ahead of time we should be able to easily do this.
I love Houdini and just coming back to using it on my side projects. The only thing i don't really enjoy is the way variables for queries work in general. +page.gql files are awesome and really intuitive! But once you need some kind of variable that isn't included as route parameter you have to create a +page.ts to export this weird _Variables function or move to _houdini_load to have both in the same file.
Criticality
cool improvement, my projects will benefit from it

👋 hey hi, nice to see you around.
Yes, back then we decided to postpone this topic, happy to bring it back here.
Today, when you forgot a variable, you get an immediate warning at build time that you are missing something. When starting to look at SearchParams, we can't really check at build time. At runtime, if you don't have good SearchParams, you will experience failing queries.
One way could be to opt-in this behavior? with a directive @dont_check_variables_function_and_use_search_params (with a better name 😅)

That makes sense, thanks for clarifying! 🙂
Maybe we could allow only non required variables to be defined by search params, that way it shouldn't cause any failing queries, since most of the time you will have some kind of default or logic in place to handle them accordingly. (e.g. search filter, order by, etc.)
A directive/opt-in sounds also good to me.


Examples gallery link is dead

The link in the README to the Examples Gallery (https://mapdldocs.pyansys.com/pyansys/examples/index.html) is a dead link as there is no index.html at that location.

Not sure where that link came from.  Actual is here:
https://mapdldocs.pyansys.com/examples/index.html

When I click on the same link on the same link I still get my link

The dodgy link is in the raw rst file also

(all of this is on the master branch)

I see where the problem is and I've made a PR to fix it: https://github.com/pyansys/pymapdl/pull/408 .

My bad.  Thanks for pointing this out and fixing it in #408!


Create Your Own Blog About Your Experience in TBD Hacktoberfest (2)

Create Your Own Blog About Your Experience in TBD Hacktoberfest - Submission 2
🚀 Goal
We want you to share your experience in Hacktoberfest with us in your own blog post.
🤔 Background
This issue focuses specifically on documenting and summarizing your experience during this year's Hacktoberfest in a blog post. Document the contributions you've made with us, what you learned, and what you'd like to see next year. Your contribution will help others learn and get excited for future hackathons!
🤝 How You Can Contribute
We've broken it down into smaller tasks. Every contribution counts!
🔑 Tasks and Acceptance Criteria
❗You must only assign yourself one task at a time to give everyone a chance to participate.❗
You may assign yourself your next task after your current task is reviewed & accepted.

[ ] You must host your content on your own website or channel.
[ ] Add your content information directly to the site/src/externalContributors.json file in the repository.
[ ] Save your image in the site/static/image/external-contributor/ directory, ensuring the image is in a 16:9 ratio.
[ ] Create a pull request with your changes for review.
[ ] Link your submitted PR in a comment here to count towards Hacktoberfest.

Your contribution in externalContributors.json must include:

[ ] Type: Video, Blog, Social (please choose the appropriate one)
[ ] Thumbnail: the path to your image, e.g., /img/external-contributor/yourimage.png
[ ] Title: the title of your content
[ ] Link: a direct link to your content
[ ] Your name

Here’s an example of the JSON format to follow:
[
    {
        "type": "blog",
        "thumbnail": "/img/external-contributor/yourimage.png",
        "title": "Exploring Web5",
        "link": "https://linktoyourcontent.com/web5-post",
        "contributor": "Your Name"
    }
]

Available type options:

Video
Blog
Social

🌟 Resources

[ ] Our Blogs
[ ] Our YouTube channel

Getting Started

Comment ".take" on this issue to get assigned
Fork the repository and create a new branch for this task
Follow the tasks outlined above
Submit a pull request with your changes
Respond to any feedback during the review process

Questions?
If you have any questions or need clarification, please comment on this issue or join our Discord community.
Happy coding! 🎉

.take

@taniashiba I have raised the PR. Please review and action accordingly.


feat(RQL): Add method that validate Json object matches a query or not

Refer to this link for build results (access rights to CI server needed):
http://ci.really.io//job/really-pr-validator/96/
Test PASSed.

LGTM


chore(ocm-backend): add standalone dev environment for OCM backend

What issue does this PR resolve?
Fixes #600

@Zaperex will be good to update the README as well
I tried below

and are there any steps that need to be followed to verify?

I think that should be expected since the data is displayed via the frontend ocm plugin.

I'll take a look to see if there's any API endpoints we can suggest in the CONTRIBUTING.md to verify that the backend data is being provided correctly

It seems you can query the mock data with http://localhost:7007/api/ocm/status


CheckBox Enhancements: fix checkbox not checking, right not working, leftIcon, add description for all props

fixes: #64

Update code to enable checkbox check on clicking
increased width of container so that checking of right and center props have visible changes
Added descriptions for all props
Removed leftIcon prop (not supported by CheckBox component)

Recording after fixes: https://www.loom.com/share/514d5d70dec54c2fb8bf4ac16a64399f
Edited:
New recording: https://www.loom.com/share/e8540f356ab74f159105143643fb4856

Removed center and right props. See discussion here: https://github.com/react-native-elements/react-native-elements/pull/2849

There was no porblem with the props, it seems to be working fine when the container width is large enough. I have added them back and increased the width of the container. We can now merge this one now @pranshuchittora.

Pls resolve the conflicts.

@ankushdutt Hey buddy the fix looks working. What are the conflicts arising?

LGTM :)

Thanks


Fix issue where resizing an image doesn't always give an exact width/height

Also refactors out common resizing logic from resize and resize_to_fill
It seems that this was due to insufficient precision in the f32 type which was causing rounding errors in some cases. f64 seems to have enough precision to handle this accurately, at least in the cases I tested.
Closes #667

Any update on this? I've added unit tests around the resizing logic.

Looks good to me.

Wouldn't it be better to use integer logic with u64 instead? As in
iwidth / iheight < nwidht / nheight <=> iwhdth * nheight < nwidth*iheight
f64 with 53 bits of precision could be enough though. Compared to the old, the input arguments are surely represented without error and the division result is only be off by at most one ulp. Maybe this should be checked more thoroughly regardless.

I do like that better, if nothing else because integer math is generally faster. We still have to use float division to calculate the ratios, but can safely use u64's for calculating the new dimensions.

I also realized I could simplify two of the expressions e.g. (width as u64 * nwidth as u64 / width as u64) as u32 to just nwidth. So I pushed another new commit to include that.

Should we handle the case that calling with fill = True fails the cast to u32, i.e. the size got too big?

I agree. I've added tests around fill with and without overflow, and updated the code to handle the overflow case by bounding it to u32::MAX. I'm not sure that this code is the cleanest, but it does handle the edge cases.

I had to push a commit to fix a compile error if pnm feature is disabled; I was trying to pull this branch into a project where only png and jpeg are enabled, and encountered that. I realize it's not related to this issue, but I needed this branch to work.

Merging.


[FALSE-POSITIVE] added to you blacklist domain

Domains & IP
b2badmincards.incedopay.com
<IP_ADDRESS>
More Information
How did you discover your web site or domain was listed here?

Website was having multiple vulnerabilities which has been fixed now.
Incorrectly marked as Phishing
Domain not found on  Phishtank.

Have you requested removal from other sources?
Yes we have also submitted to multiple vendors for whitelisting Zscalar, Symantec , checkpoint, forcepoint.
We understand being listed on a Phishing Database like this can be frustrating and embarrassing for many web site owners. The first step is to remain calm. The second step is to rest assured one of our maintainers will address your issue as soon as possible. Please make sure you have provided as much information as possible to help speed up the process.
Note Please take quick action for whitelisting and removing the domains and IP from your blacklist database.
Thanks

Hi Mitchell,
Again you have added it to the today's blacklist.
https://github.com/mitchellkrogza/Phishing.Database/blob/master/phishing-domains-NEW-today.txt
Can you please tell me from where you getting this Feed ?
and please again add it to whitelist.
Thanks again !!

He is crawling the net him self, which means you have something suspicious  on your domain.


[GHSA-38qw-j787-v8c2] Apache Struts CSRF Vulnerability

Updates

Affected products
References
Source code location

Comments
Add some patch links related to CVE-2016-4430.

This contribution is being accepted because it corrects the Source code location and the commit reference link, https://github.com/apache/struts/commit/b28b78c062f0bf3c79793a25aab8c9b6c12bce6e, appears to agree with the nature of the vulnerability and potential solution(s) described in https://cwiki.apache.org/confluence/display/WW/S2-038.


[FR]: Configure the Renovate bot to send updates in a single PR, every 1 week

Ported over from silo.
Related meeting notes.
Tasks

[ ] Roll out config to https://github.com/aspect-build/bazel-benchmarks
[ ] Roll out config to https://github.com/aspect-build/bazel-examples
[ ] Roll out config to https://github.com/aspect-build/bazel-lib
[ ] Roll out config to https://github.com/aspect-build/bazel-super-formatter
[ ] Roll out config to https://github.com/aspect-build/docs
[ ] Roll out config to https://github.com/aspect-build/gcc-toolchain
[ ] Roll out config to https://github.com/aspect-build/rules_esbuild
[ ] Roll out config to https://github.com/aspect-build/rules_jasmine
[ ] Roll out config to https://github.com/aspect-build/rules_jest
[ ] Roll out config to https://github.com/aspect-build/rules_js
[ ] Roll out config to https://github.com/aspect-build/rules_rollup
[ ] Roll out config to https://github.com/aspect-build/rules_sol
[ ] Roll out config to https://github.com/aspect-build/rules_swc
[ ] Roll out config to https://github.com/aspect-build/rules_terser
[ ] Roll out config to https://github.com/aspect-build/rules_ts
[ ] Roll out config to https://github.com/aspect-build/rules_webpack
[ ] Roll out config to https://github.com/bazel-contrib/publish-to-bcr
[ ] Roll out config to https://github.com/bazel-contrib/rules_oci

How important is this? Looking for issues I can close here.


Transaction aborted while reading table

Hello,
I am trying to read data from a spanner table that currently has 134.964 rows and 288 columns.
I have been using the example posted in the Github under "Read" and modying the query to read less rows between each cycle.
The first issue is that it takes a good couple minutes (Probably 3+ to execute said transactions) and the second is that they keep failing.
Here is the error:
Traceback (most recent call last):
  File "D:\bupryhr_dev\venv\lib\site-packages\google\api_core\grpc_helpers.py", line 72, in error_remapped_callable
    return callable_(*args, **kwargs)
  File "D:\bupryhr_dev\venv\lib\site-packages\grpc\_channel.py", line 946, in __call__
    return _end_unary_response_blocking(state, call, False, None)
  File "D:\bupryhr_dev\venv\lib\site-packages\grpc\_channel.py", line 849, in _end_unary_response_blocking
    raise _InactiveRpcError(state)
grpc._channel._InactiveRpcError: <_InactiveRpcError of RPC that terminated with:
	status = StatusCode.ABORTED
	details = "Transaction was aborted."
	debug_error_string = "{"created":"@1673589122.237000000","description":"Error received from peer ipv4:<IP_ADDRESS>:443","file":"src/core/lib/surface/call.cc","file_line":904,"grpc_message":"Transaction was aborted.","grpc_status":10}"
>
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
  File "D:\bupryhr_dev\venv\lib\site-packages\google\cloud\spanner_dbapi\connection.py", line 391, in commit
    self._transaction.commit()
  File "D:\bupryhr_dev\venv\lib\site-packages\google\cloud\spanner_v1\transaction.py", line 199, in commit
    response = api.commit(
  File "D:\bupryhr_dev\venv\lib\site-packages\google\cloud\spanner_v1\services\spanner\client.py", line 1789, in commit
    response = rpc(
  File "D:\bupryhr_dev\venv\lib\site-packages\google\api_core\gapic_v1\method.py", line 113, in __call__
    return wrapped_func(*args, **kwargs)
  File "D:\bupryhr_dev\venv\lib\site-packages\google\api_core\retry.py", line 349, in retry_wrapped_func
    return retry_target(
  File "D:\bupryhr_dev\venv\lib\site-packages\google\api_core\retry.py", line 191, in retry_target
    return target()
  File "D:\bupryhr_dev\venv\lib\site-packages\google\api_core\grpc_helpers.py", line 74, in error_remapped_callable
    raise exceptions.from_grpc_error(exc) from exc
google.api_core.exceptions.Aborted: 409 Transaction was aborted. [retry_delay {
  nanos: 10853187
}
]
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "D:\bupryhr_dev\venv\lib\site-packages\sqlalchemy\engine\base.py", line 1089, in _commit_impl
    self.engine.dialect.do_commit(self.connection)
  File "D:\bupryhr_dev\venv\lib\site-packages\google\cloud\sqlalchemy_spanner\sqlalchemy_spanner.py", line 990, in do_commit
    dbapi_connection.commit()
  File "D:\bupryhr_dev\venv\lib\site-packages\google\cloud\spanner_dbapi\connection.py", line 396, in commit
    self.retry_transaction()
  File "D:\bupryhr_dev\venv\lib\site-packages\google\cloud\spanner_dbapi\connection.py", line 277, in retry_transaction
    self._rerun_previous_statements()
  File "D:\bupryhr_dev\venv\lib\site-packages\google\cloud\spanner_dbapi\connection.py", line 324, in _rerun_previous_statements
    _compare_checksums(statement.checksum, retried_checksum)
  File "D:\bupryhr_dev\venv\lib\site-packages\google\cloud\spanner_dbapi\checksum.py", line 78, in _compare_checksums
    raise RetryAborted(
google.cloud.spanner_dbapi.exceptions.RetryAborted: The transaction was aborted and could not be retried due to a concurrent modification.
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
  File "D:\bupryhr_dev\venv\lib\site-packages\IPython\core\interactiveshell.py", line 3251, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)
  File "<ipython-input-220-dacab1707a8a>", line 3, in <module>
    loaded_data = connection2.execute(table.select().limit(100000).offset(data_offset)).fetchall()
  File "D:\bupryhr_dev\venv\lib\site-packages\sqlalchemy\engine\base.py", line 3100, in __exit__
    self.transaction.__exit__(type_, value, traceback)
  File "D:\bupryhr_dev\venv\lib\site-packages\sqlalchemy\engine\util.py", line 237, in __exit__
    self.rollback()
  File "D:\bupryhr_dev\venv\lib\site-packages\sqlalchemy\util\langhelpers.py", line 70, in __exit__
    compat.raise_(
  File "D:\bupryhr_dev\venv\lib\site-packages\sqlalchemy\util\compat.py", line 211, in raise_
    raise exception
  File "D:\bupryhr_dev\venv\lib\site-packages\sqlalchemy\engine\util.py", line 233, in __exit__
    self.commit()
  File "D:\bupryhr_dev\venv\lib\site-packages\sqlalchemy\engine\base.py", line 2459, in commit
    self._do_commit()
  File "D:\bupryhr_dev\venv\lib\site-packages\sqlalchemy\engine\base.py", line 2649, in _do_commit
    self._connection_commit_impl()
  File "D:\bupryhr_dev\venv\lib\site-packages\sqlalchemy\engine\base.py", line 2620, in _connection_commit_impl
    self.connection._commit_impl()
  File "D:\bupryhr_dev\venv\lib\site-packages\sqlalchemy\engine\base.py", line 1091, in _commit_impl
    self._handle_dbapi_exception(e, None, None, None, None)
  File "D:\bupryhr_dev\venv\lib\site-packages\sqlalchemy\engine\base.py", line 2124, in _handle_dbapi_exception
    util.raise_(
  File "D:\bupryhr_dev\venv\lib\site-packages\sqlalchemy\util\compat.py", line 211, in raise_
    raise exception
  File "D:\bupryhr_dev\venv\lib\site-packages\sqlalchemy\engine\base.py", line 1089, in _commit_impl
    self.engine.dialect.do_commit(self.connection)
  File "D:\bupryhr_dev\venv\lib\site-packages\google\cloud\sqlalchemy_spanner\sqlalchemy_spanner.py", line 990, in do_commit
    dbapi_connection.commit()
  File "D:\bupryhr_dev\venv\lib\site-packages\google\cloud\spanner_dbapi\connection.py", line 396, in commit
    self.retry_transaction()
  File "D:\bupryhr_dev\venv\lib\site-packages\google\cloud\spanner_dbapi\connection.py", line 277, in retry_transaction
    self._rerun_previous_statements()
  File "D:\bupryhr_dev\venv\lib\site-packages\google\cloud\spanner_dbapi\connection.py", line 324, in _rerun_previous_statements
    _compare_checksums(statement.checksum, retried_checksum)
  File "D:\bupryhr_dev\venv\lib\site-packages\google\cloud\spanner_dbapi\checksum.py", line 78, in _compare_checksums
    raise RetryAborted(
sqlalchemy.exc.OperationalError: (google.cloud.spanner_dbapi.exceptions.RetryAborted) The transaction was aborted and could not be retried due to a concurrent modification.
(Background on this error at: https://sqlalche.me/e/14/e3q8)

@Joselguti, Python Spanner client, on top of which the SQLAlchemy dialect is built, has a system of auto-retry of aborted transactions (see for details: https://github.com/googleapis/python-spanner-sqlalchemy#automatic-transactions-retry).
Thus, what's happening in your case is a too long transaction and some kind of a data change in parallel. The solution for this kind of problems is always the same - reduce the size of the transaction.

@IlyaFaer Thank you,
A follow up question, I have noticed that in general it takes a long time (in comparasion to other DBs) to insert data to spanner and looking at the logs/insight page at spanner both insert and read are around kB order in speed.
(Usually read is bigger than insert)
I am utilizing the examples in this library to insert data into Spanner, keeping it around 40.000 mutations per cycle when said inserted dataframes are bigger.
Is there another way or something I am doing wrong that can be done in order to boost insert speed?
(Other than giving it more processing units)
Thank you.

@Joselguti, hm-m. Let's say sqlalchemy-spanner is not intended for such huge operations. Pure Python Spanner client, which is used by sqlalchemy-spanner dialect under the hood, has a mechanism of mutations, which gives significant speed boost: https://cloud.google.com/spanner/docs/modify-mutation-api
But SQLAlchemy doesn't provide a way to patch python-spanner batches mechanism to Sqlalchemy. Still, I think there is a workaround. Actually, when you're getting a connection with sqlalchemy-spanner, it has a reference to the original db_api connection, which has a method executemany().
So, preliminary, I see two workarounds to try:
with engine.begin() as connection:
     connection.connection.executemany(sql, values)

Or even deeper, to the very basic Spanner API:
with engine.begin() as connection:
    with connection.connection._database.batch() as batch:
        batch.insert(
            table="Singers",
            columns=("SingerId", "FirstName", "LastName"),
            values=[
                (1, "Marc", "Richards"),
                (2, "Catalina", "Smith"),
                (3, "Alice", "Trentor"),
                (4, "Lea", "Martin"),
                (5, "David", "Lomond"),
            ],
        )

This approach uses the mutations mechanism I mentioned at the top of this comment.
Here is the code of the connection.connection object:
https://github.com/googleapis/python-spanner/blob/9ebbf78df75fb7ee4d58ea36847fb19b1194afb3/google/cloud/spanner_dbapi/connection.py#L58
I see you have uneasy cases, so I'd recommend to study this class, because django-spanner is just a wrap around. We override things that SQLAlchemy allows us to override. It has limitations at some items, but you still can go to the very basic functionality and use standard Spanner functions for complex cases.


Add some useful outputs to debug errors

@brayanhenao Any reason you wouldn't want to send a PR upstream for changes like this? :pray:

(Upstream meaning to https://github.com/flavorjones/mini_portile)

Hi @flavorjones!
Initially, these changes were intended to detect errors in the cf-buildpacks repositories that use this fork. I would be happy to send a similar PR to the upstream if you want!
It is quite interesting to obtain information about the URL from which the file is downloaded, the parameters, and also if an HTTP error occurs when trying to download it, to know everything about it.

Yes, please!