I have themis failing some tests in the officila JSON-schema test suite

You asked me to report any tests failing in https://github.com/pandastrike/jsck/issues/81#issuecomment-72329277
This discussion belongs here.
The tests that I find themis failing are listed here:
https://github.com/Muscula/json-schema-benchmark/blob/master/reports/themis.md
This may be due to the way themis is instantiated here:
https://github.com/Muscula/json-schema-benchmark/blob/master/index.js#L37
@Prestaul added the comment $refs only supported if they have id attributes and the test suite refs do not
What's needed to make themis pass the tests?

All these tests include remotely accessed references. Currently themis does not automatically fetch remote references. However if you have already fetched the remote references, you can inject them into themis while creating the validator by passing them all in an array. I've given an example of the same in the readme.
However themis expects the remote reference schema to contain an id which tells the location from where the schema was fetched. Otherwise it will assign an integer id to it and then the tests would fail.
I'm not sure what would be the best way to fix this issue. I'll have to think about it for a while.

I honestly think this would require a change to the library so that we can provide a uri that is not specified in the document as an id. Probably not a huge update!


Reduce AST enum type sizes

In general, Oxc's AST types which are enums have all their variants boxed. e.g.:
pub enum Expression<'a> {
    BooleanLiteral(Box<'a, BooleanLiteral>),
    NullLiteral(Box<'a, NullLiteral>),
    /* ... */
}

The enum then only weighs 16 bytes, and is used unboxed in other types' fields:
pub struct UnaryExpression<'a> {
    pub argument: Expression<'a>,
    /* ... */
}

There are however some exceptions to this rule, where enums are larger than they need to be because not all variants are boxed, and some variants are larger than others. This results in less compact storage in the arena, due to excess padding.
Boxing the variants in these cases should save on memory. I imagine it may cost a little in performance in the parser due to extra calls to alloc, but in return traversing the AST should be cheaper, as the data is more compact, so less cache misses.
However, I am not 100% sure of that in all cases. What I think should be done for each type is listed below, but we should apply each change individually, and check benchmarks to ensure performance does not degrade.
The affected types are:
ImportDeclarationSpecifier
Variant sizes: 40, 40, 80
Unboxed variants: ImportSpecifier (struct), ImportDefaultSpecifier (struct), ImportNamespaceSpecifier (struct)
Dependents: Vec<ImportDeclarationSpecifier> in ImportDeclaration (struct)
=> Box all variants.
MemberExpression
Variant sizes: 48, 56, 56
Unboxed variants: ComputedMemberExpression (struct), StaticMemberExpression (struct), PrivateFieldExpression (struct)
Dependents: Box<MemberExpression> in Expression (enum), SimpleAssignmentTarget (enum), ChainElement (enum)
=> Not sure. Always used within box as another enum variant. Would be better to box variants and flatten this enum into parent enums, but that's tricky.
ModuleExportName
Variant sizes: 24, 24
Unboxed variants: IdentifierName (struct), StringLiteral (struct)
Dependents:

ImportSpecifier (struct)
Option<ModuleExportName> in ExportAllDeclaration (struct)
ExportDefaultDeclaration (struct)
ExportSpecifier (struct)

=> Not sure. Would be good if ExportAllDeclaration::exported could be reduced in size (it's currently Option<ModuleExportName>) but otherwise, fine to leave as is.
JSXAttributeName
Variant sizes: 8, 24
Unboxed variants: JSXIdentifier (struct)
Dependents: JSXAttribute (struct)
=> Probably box all variants.
JSXAttributeValue
Variant sizes: 8, 8, 24, 32
Unboxed variants: StringLiteral (struct), JSXExpressionContainer (struct)
Dependents: Option<JSXAttributeValue> in JSXAttribute
= Probably box all variants.
JSXChild
Variant sizes: 8, 8, 24, 24, 32
Unboxed variants: JSXText (struct), JSXExpressionContainer (struct), JSXSpreadChild (struct)
Dependents: Vec<JSXChild> in JSXElement (struct) and JSXFragment (struct)
=> Box all variants.
JSXElementName
Variant sizes: 8, 8, 24
Unboxed variants: JSXIdentifier (struct)
Dependents: JSXOpeningElement (struct), JSXClosingElement (struct)
=> Probably box all variants.
JSXMemberExpressionObject
Variant sizes: 8, 24
Unboxed variants: JSXIdentifier (struct)
Dependents: JSXMemberExpression (struct)
=> Probably box all variants.
TSEnumMemberName
Variant sizes: 16, 24, 24, 40
Unboxed variants: IdentifierName (struct), StringLiteral (struct), NumericLiteral (struct)
Dependents: TSEnumMember (struct)
=> Box all variants.
TSModuleReference
Variant sizes: 16, 32
Unboxed variants: TSExternalModuleReference (struct)
Dependents: Box<TSModuleReference> in TSImportEqualsDeclaration
=> Box all variants. Replace Box<TSModuleReference> with TSModuleReference in TSImportEqualsDeclaration.
TSTypePredicateName
Variant sizes: 8, 24
Unboxed variants: IdentifierName (struct), TSThisType (struct)
Dependents: TSTypePredicate (struct)
=> Box Identifier variant. Do not box This variant as only 8 bytes (just contains Span).
TSTypeQueryExprName
Variant sizes: 16, 88
Unboxed variants: TSImportType (struct)
Dependents: TSTypeQuery (struct)
=> Box TSImportType variant. Do not box TSTypeName variant, as is another enum.

Reason I raise this now is it will simplify #2987, but I believe these changes will be beneficial overall, so worthwhile doing regardless of whether #2987 is a goer or not.

Can you try MemberExpression first because it has the highest usage count.

Could we start with one of the JSX types first where the savings are likely greater e.g. JSXAttributeValue or JSXChild? Which is the most commonly used of these JSX types?

Sounds like a plan. More frequent usages to less.

All done?


Improve the (markdown) editor

Currently it's simply a textarea - need a better/prettier/easier editor.

perhaps a side-by-side preview?


Allow for upsampling of instantanious measurements

Flexmeasures upsamples data sent to the API in a lower resolution which is a multiple of the required sensor resolution.
This doesn't apply to sensor measuring instantaneous values.
This requires at least a small fix in the validator post_data_checked_for_required_resolution.
There is a bigger modelling topic of sensor resolution vs data frequency behind this, but in this issue we won't tackle all of it.

Relevant timely-beliefs PR: https://github.com/SeitaBV/timely-beliefs/pull/118

Fixed for API v3 in https://github.com/FlexMeasures/flexmeasures/pull/542.


Detect dead jobs and set to 'failed' status

I've only implemented this for deploy jobs since that's the only place I've seen a problem, but we could pretty easily use this pattern for every job type if needed.

#585 does mention other stages, so we should implement this for the other three job_types as well.

@john-shaffer added cpl minor comments/questions.
Also, if we implement this for the crawling stage, will we still be able to catch and nicely log specific crawl errors, like network timeouts?
You suggested we do for other job types - wanna do in this PR or create new tickets for later?


Remove unneeded apostrophe

A possessive belonging to an "it" doesn't need an apostrophe. Don't believe me? Ask the Oatmeal (look for the velociraptor)!

:)


association-select - Allow hiding of value=0 option

I would like to be able to hide the default <option selected value="0">- Select a value -</option>. In certain cases it would be desirable NOT to display this option, e.g. for mandatory fields where the user should ALWAYS select a value.

done


added profile

@Hauktek  thnx for contributing, try this year, and make sure you follow me and star this repo for updates about special swags I will be giving.
Contribute in October for Hacktoberfest 2020


Added userMeta method.

Changes

Added MediaStorage#userMeta.
Added MediaStorageRequest#put.
Modified MediaStorageRequest#generateRequest.

Tests

Show here: Test Result Before 2nd Review

I reviewed all the changes and they seem great! So I'm gonna merge this pull request.


enhance the error management on the upload page

Enhance the upload page by removing some else (more readable), by checking all die('error') at the beginning of the file.
Also, I think I uploaded a file to your demo server. I didn't see the upload url was your demo server. Did the upload work ? Can you remove this file ?
Cheer
L.

@ccloquet done I prepared the code to return the http error code


Datamodel View

Feature Request
A view that shows the complete datamodel would be useful.  It is possible to declare an independent datamodel visually for each substate that makes the chart a little easier to read.  But this is misleading (and error prone) because they are all aggregated into only one datamodel for the whole chart (at least in ECMAscript - Section B.2.2).
This should be a list view sorted by data name (id) also showing the initial value and state where it was declared.  This is especially useful to catch situations where a data name may have been re-initialized accidentally in a substate.  Maybe even provide a warning symbol if a data name is duplicated.
As a stretch goal, it would be nice if it showed all of the places where the data was being used in a tree view style (scripts / conditions / other content).
Further stretch goal... allow renaming the data in the view to automatically propagate (basically like the existing "replace" feature).

I'll think about it. You can use Structure View as a temporary solution
https://user-images.githubusercontent.com/18611095/189040212-8ea52d3e-13a1-474a-b7b1-2b0e3494e071.mp4


[Fix]: fix deeplinking

Hi can we please merge this into the repo? I was not able to get pass the authentication screen until I commented the lines of code in the PR.


R.isNaN?

R.is(Number, NaN) returns TRUE, so we could have a isNaN function.

You could just do
const isNaN = (x) => x !== x;

if you want something different from the built-in isNaN feature.

I thought that later. thx

You can also do:
const isNaN = R.equals(NaN);

Number.isNaN is best of all, I would say.

Number.isNaN is best of all, I would say.

Agreed, so long as you don't have to support IE.

I was really shocked that NaN is not covered by isNil or isEmpty.

I would never expect it to be covered by isNil, which is about the two nil values in JS, null and undefined.  But it's an interesting question for isEmpty.  I'm not sure what I think about this, but I would love to hear the arguments in favor.

I see a few broad options:

Add NaN to isEmpty
Add a new predicate isNaN
Add a new predicates for isTruthy and isFalsy which includes NaN.

Seems to be worth discussing.  In fact it was the only idea I had considered.

Already exists in Number.isNaN

isTruthy seems perfectly covered by Boolean, and isFalsy is trivial: complement(Boolean).

R.isEmpty(x) is sugar for R.equals(x, R.empty(x)). Number does not satisfy the requirements of Monoid, therefore applying R.isEmpty to NaN is nonsensical.

It seems a little strong to say that Number  does not satisfy Monoid.  There are obvious Monoids on numbers such as addition/0 and multiplication/1.  You can even make ones with NaN if you like*, but unlike with other common monoidal types there is none that seems to be an obvious default.
I'm not sure that is a strong enough reason to say that we cannot define an empty value for Number.
I could define a monoid on Strings with an empty value of 'foo'.  Does that mean that we should not use '' as the empty value for them?
I'm not ready to argue that we should do this.  But I don't think there is anything in the Monoid laws that would prevent us from choosing a default empty number.  If we were to do that, NaN is the obvious candidate.
The biggest reason I see for avoiding this is that for the other types where Ramda directly defines empty, it also defines concat, but we don't try to define a concat for Number.
(Actually, that makes me think... is there a commonly recognized typeclass for types with an empty that works as expected but without necessarily adding associativity?  Research for another day.)

Number does not satisfy the requirements of Monoid according to R.empty, therefore applying R.isEmpty to NaN is nonsensical.

> R.empty(42)
(function() { return arguments; }())

I'm not arguing that Number cannot satisfy Monoid; I'm stating that it does not according to R.empty, a function which claims to operate on a value of any type which satisfies Monoid.

@davidchambers: OK, but the question is whether it should.  Presumably if we were to "fix" this issue, it would be by adding Number to empty and using NaN as the empty value.  I certainly wouldn't want this to alter isEmpty's dependence on empty.

Presumably if we were to "fix" this issue, it would be by adding Number to empty and using NaN as the empty value.

This would imply updating R.concat so that R.concat(NaN, 42) and R.concat(42, NaN) both evaluate to 42 (in accordance with the left and right identity laws). I'm strongly against this "fix". ;)

(Actually, that makes me think... is there a commonly recognized typeclass for types with an empty that works as expected but without necessarily being associative? Research for another day.)

Even if there is not, empty and isEmpty do not have to imply Semigroup.  The function empty asks the question "What is the empty value of the TypeRef?"  To me, the question comes down to whether want to declare an empty numeric value.  I'm not at all certain that we do, but if we do, I see nothing better than NaN.

I'm sorry, Scott, I haven't spent enough time reading your comments. I now see that you put forward concat(NaN, a) == a and concat(a, NaN) == a above. I won't argue with this, as it is lawful, but I think usefulness should also be evaluated.

Hey, no apologies needed.  I wasn't even suggesting that.  I am not interested in trying to define concat for numbers.  But that won't stop me from considering empty for them.
And it's funny, because I seem to be promoting a change I don't really think is a great idea.  I think it's possible, and maybe reasonable, but it doesn't seem at all necessary.


How to handle a lot of input data?

http://stackoverflow.com/q/40800519/1420197

hey @IonicaBizau – this library isn't meant to be used with truly large amounts of data and was mostly created as a proof of concept.
If you have a lot of data, I highly recommend using something like keras and building a model there.

@nemo Thank you for your answer.
From a quick look, keras is written in Python. I'm kinda new in AI, but I think there should be a way to not keep all the things in memory.
All the JS libraries I've tried do use in-memory store.
How does Keras use these limitations?

@IonicaBizau Keras and a few other libraries use generators to only load parts of the data that need to be loaded in each training batch. You can usually control their memory usage by setting the batch size.


26 letters cannot distinguish case

26 letters cannot distinguish case

You have to track whether shift is pressed when the letters are pressed to determine whether it is lowercase/uppercase. It is not this library's responsibility to return the proper casing for letters, only which keys are pressed/released.


Create gulp web server task

At this moment, the gulp watch task doesn't open ./dist/index.html in the browser, and I need to do it manually.
Also, I need to reload the browser whenever a file changed.
Procedure

Gulp watch task should start a web server
Modify a file should reload the browser

gulp-webserver can be helpful.

I can look into this, pls assign

Hi, I'll assign you.

Closed by #16


Data tree import fails with The requested resource does not exist in namespaced DE org

Summary
Attempting sfdx force:data:tree:import -p .\data\data-plan2.json returns
ERROR running force:data:tree:import:  The requested resource does not exist
in org where namespace was selected.
Salesforce Org Type
Developer Edition Org
Steps To Reproduce
Follow steps to install repo in DE org where a namespace (e.g. mynamespace) was selected. Ref: https://github.com/trailheadapps/apex-recipes#installing-the-app-using-a-developer-edition-org-or-a-trailhead-playground-via-the-salesforce-cli
Current Behavior
Step 6 will fail when importing data-plan2.js:
sfdx force:data:tree:import -p .\data\data-plan2.json
ERROR running force:data:tree:import:  The requested resource does not exist
Expected Behavior
Instructions should mention additional steps to adapt tree for this scenario:

Change sObject names in data-plan2.json:

From:
    "sobject": "Junction_Demo_1__c",

...
"sobject": "Junction_Demo_2__c",
...
"sobject": "Junction__c",
to
    "sobject": "mynamespace__Junction_Demo_1__c",

...
"sobject": "mynamespace__Junction_Demo_2__c",
...
"sobject": "mynamespace__Junction__c",

Change parent1__c and parent2__c references in Junction.json:

From:
        "parent1__c": "@JunctionDemoRef1",
        "parent2__c": "@JunctionDemoTwoRef1"

to:
        "mynamespace__parent1__c": "@JunctionDemoRef1",
        "mynamespace__parent2__c": "@JunctionDemoTwoRef1"

Change sObject type in Junction Demo 1.json:

From:
            "type": "Junction_Demo_1__c",

to
            "type": "mynamespace__Junction_Demo_1__c",

Change sObject type in Junction Demo 2.json:

From:
            "type": "Junction_Demo_2__c",

to
            "type": "mynamespace__Junction_Demo_2__c",

Relevant Log Output
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

@araigon-sfdc
Apex recipes is designed primarily into a scratch org - but will work in a boring old standard developer org. This hasn't been tested in a namespaced org - and I wouldn't expect it to work in a namespaced org - because it's not designed for that.


Add platform specific build for netty

A quick workaround to re-enable openssl.
Real released war should be built in a linux box so it will eventually include linux-native library.

Codecov Report

Merging #2145 (e11f941) into master (c845363) will increase coverage by 69.46%.
The diff coverage is n/a.

@@              Coverage Diff              @@
##             master    #2145       +/-   ##
=============================================
+ Coverage          0   69.46%   +69.46%
- Complexity        0     9665     +9665
=============================================
  Files             0      731      +731
  Lines             0    55504    +55504
  Branches          0     6828     +6828
=============================================
+ Hits              0    38557    +38557
- Misses            0    14792    +14792
- Partials          0     2155     +2155

Impacted Files
Coverage Δ

...b/ambry/cloud/azure/CosmosUpdateTimeFindToken.java
83.52% <0.00%> (ø)

.../cloud/OnlineOfflineHelixVcrStateModelFactory.java
100.00% <0.00%> (ø)

...a/com/github/ambry/store/DumpReplicaTokenTool.java
0.00% <0.00%> (ø)

...n/java/com/github/ambry/named/NamedBlobRecord.java
50.00% <0.00%> (ø)

...com/github/ambry/router/OperationTrackerScope.java
100.00% <0.00%> (ø)

...com/github/ambry/rest/MockRestResponseChannel.java
83.33% <0.00%> (ø)

...n/java/com/github/ambry/store/StoreErrorCodes.java
100.00% <0.00%> (ø)

...in/java/com/github/ambry/cloud/CloudBlobStore.java
73.28% <0.00%> (ø)

...thub/ambry/clustermap/HelixParticipantMetrics.java
100.00% <0.00%> (ø)

.../com/github/ambry/account/InMemAccountService.java
91.74% <0.00%> (ø)

... and 721 more

Continue to review full report at Codecov.

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


Make tool chain more local-dev friendly

At this point in order to see the blog post or any other content we work on we have to build the whole website. Even though we have an image for that in place which simplifies environment setup, the build itself is still very fragile and restrictive.
We should make it more local-dev friendly, so that:

If the user doesn't have a github token in place modules and other github-relevant artifacts are not built, but the guide or a blog post for example can still be rendered properly
Interdependencies between cached data should be relaxed so when one of the services is offline (lanyrd I'm looking at you!), we still can build the webiste

Related issue #341


Text Callouts for Basically Basic Theme?

Looking through this repo trying to figure out if I can glean how you did the text callouts danger, warning etc so I can add them to Basically Basic. Is there already a way to do this in that theme that I am missing and if not could you advise how to accomplish this or add it to that theme?

You'll need to install a simple notice plugin into _plugins/ and then you'll be able to wrap Markdown with a {% notice %} tag.

You'll also need to CSS to style the various notices or match the classes to what's in BB. I forget if I added notice classes in that theme.

Thanks Michael


Invalid tasks are accepted

If a task contains a name that is not in the contact list (e.g. user edits the taskbook.json file directly), it is still parsed as if there is no issue, which results in the task being associated to a ghost.
Perhaps, an error should be thrown and the task list be reset?

Adding a task with a name that does not exist in the contact list will present a Person not found in task book! message.

Implement a manual save feature to a diff JSON file, if autosave json is corrupted, try to reload from manual save file, otherwise, throw new error (implement a check if all Tasks match a Person after readTaskBook)


Create SECURITY.md

A simple instruction for security researchers.

Hello, zidingz. I'm waiting for one of the admins to verify this patch with /ok-to-test in a comment.

Thanks @zidingz -- we added one not too long ago at https://github.com/wildfly/wildfly/blob/main/SECURITY.md. It took a while to get the mail list we wanted to use set up.


Fix collection card text

Removed description from CollectionCard and modified cell padding in CollectionsList to account for the reduced card size.

:+1:


[Feature] Enhancing Thumbnail list pages

Problem
Currently, the thumbnail pages are not designed according to the aesthetics of the current CC pages and there are also functionality issues in the pages, the thumbnail is occupying empty space on the page
Description
Enhancing the pages according to the current aesthetics of CC pages and working on things like semantics, and functionality improves the user experience of the thumbnail pages.
Screenshots

Implementation

[x] I would be interested in implementing this feature.

Hey @cmaguluri1305,
Could you provide a description of the results you wish to obtain? or the exact functionality you wish to change?
It's always a better practice to mention precisely about the problem and the expected solution.

These are resource pages. Thumbnail list is a part of Home and See All pages.

I woud agree with @justaskulkarni to move discussion to those other Issues.

@possumbilities will lookout for other issues👍


[Backport 2.2]Staging for version increment automation

Description
This is the staging PR for to execute workflows that auto raise the version increment PR's
Example: https://github.com/prudhvigodithi/cross-cluster-replication/pull/1
Issues Resolved
Part of: https://github.com/opensearch-project/opensearch-build/issues/1375
From solution: https://github.com/opensearch-project/opensearch-build/issues/1375#issuecomment-1159476686
Related issue: https://github.com/opensearch-project/cross-cluster-replication/issues/443
Check List

[ ] New functionality includes testing.

[ ] All tests pass

[ ] New functionality has been documented.

[ ] New functionality has javadoc added

[x] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Codecov Report

Merging #488 (cee81b1) into 2.2 (719634b) will increase coverage by 0.50%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##                2.2     #488      +/-   ##
============================================
+ Coverage     74.16%   74.67%   +0.50%
- Complexity     1003     1007       +4
============================================
  Files           141      141
  Lines          4576     4576
  Branches        506      506
============================================
+ Hits           3394     3417      +23
+ Misses          860      841      -19
+ Partials        322      318       -4

Impacted Files
Coverage Δ

...rch/replication/task/index/IndexReplicationTask.kt
71.06% <0.00%> (ø)

...rch/replication/action/status/ShardInfoResponse.kt
91.59% <0.00%> (+19.32%)
:arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Remove selectorHeader from mobile

How I remove the below function from mobile layout

Duplicate of https://github.com/cferdinandi/smooth-scroll/issues/314


File passed using the --json-properties argument is ignored when creating a node pool with ionosctl

Description
File passed using the --json-properties argument is ignored when creating a node pool with ionosctl
Expected behavior
The values used to describe a node pool in a json file are used to create the node pool
Environment
Go Version:
go version go1.23.2 darwin/arm64

Ionosctl version:
ionosctl version v6.7.8

OS:
macOS 15.1 (Sequoia)

Shell:
zsh 5.9

Configuration Files
Using ionos token to login in. Have tried using the following in a json file:
{
  "metadata": {},
  "properties": {
    "name": "myTestNodePool",
    "datacenterId": "<datacenter-id>",
    "nodeCount": 4,
    "cpuFamily": "INTEL_XEON",
    "coresCount": 2,
    "ramSize": 8192,
    "availabilityZone": "AUTO",
    "storageType": "HDD",
    "storageSize": 20,
    "k8sVersion": "1.28.10",
    "maintenanceWindow": {
      "dayOfTheWeek": "Sunday",
      "time": "04:24:26Z"
    },
    "autoScaling": {
      "minNodeCount": "3",
      "maxNodeCount": "4"
    },
    "lans": [
      {
        "id": 10,
        "dhcp": true,
        "routes": []
      }
    ],
    "labels": [
      {
        "label1": "value1",
        "label2": "value2",
        "label3": "value3"
      }
    ]
  }
}

How to Reproduce
-- Note:  the  and  values are replaced with my respective cluster and datacenter values

I created a json-properties file using `ionosctl k8s nodepool create --json-properties-example > test-nodepool.json
Make changes so that the file contains the above json (note: the "labels" output to the example file does not seem to be formatted correctly, had to put '[' and ']' around the object).
Executed ionosctl k8s nodepool create --cluster-id <cluster-id> --datacenter-id <datacenter-id> --json-properties test-nodepool.json --verbose

Error and Debug Output
The output with --verbose shows that the values from the json file are completely ignored
[INFO] Query Parameters set: map[QueryParams:map[]], map[]
[INFO] Request Execution Time: 360.282416ms
[INFO] Property Name set: UnnamedNodePool
[INFO] Property K8sVersion set: 1.30.6
[INFO] Property NodeCount set: 1
[INFO] Property DatacenterId set: 87dd4cc7-b47b-43f5-8167-7bc5e26b8f0e
[INFO] Property CPU Family set: INTEL_XEON
[INFO] Property CoresCount set: 2
[INFO] Property RAM Size set: 2048MB
[INFO] Property Availability Zone set: AUTO
[INFO] Property Storage Size set: 10GB
[INFO] Property Storage Type set: HDD
[INFO] Creating K8s NodePool in K8s Cluster with ID: 0e12d365-0238-41a0-8522-a9365638d3bf
Error: 422 Unprocessable Entity {
  "httpStatus" : 422,
  "messages" : [ {
    "errorCode" : "200",
    "message" : "[VDC-14-1830] Operation cannot be executed because the K8s version 1.30.6 is not viable for nodepools in cluster. Available versions are [1.28.15, 1.28.14, 1.28.13, 1.28.12, 1.28.11, 1.28.10, 1.28.9, 1.28.8, 1.28.7, 1.28.6, 1.28.4, 1.28.3, 1.28.2]"
  } ]
}

Additional Notes
Command-line arguments to ionosctl work properly.
References
n/a

Hi, thanks for opening this issue, We'll investigate and keep you updated!

Hi, thanks for reporting this!
I have taken a look at the json-properties flag and found the issue, a PR with a fix should be coming soon.
Also, in regards to the labels field, the example follows the object definition from the API docs, where it is defined as a map. The reason it works even when you use an array of maps (how you did it) is because the go/json package will merge it into a single map when unmarshalling the whole example into the nodepool object, which has a map[string][string] corresponding labels property.
I hope this clears things up a bit, and I will ping this thread when the fix PR is posted and then merged.

In regards to your mention of the label field, I added the array because I was getting an error otherwise.
When I use the following (without wrapping the map in an array)
     "labels": {
         "app.open-xchange.com": "gitlab",
         "ingress-node.open-xchange.com": "true",
         "env.open-xchange.com": "test"
       }

I get the following error
Error: failed unmarshalling json properties into object: 3 error(s) decoding:

* 'Properties.Labels[app]' expected type 'string', got unconvertible type 'map[string]interface {}', value: 'map[open-xchange:map[com:gitlab]]'
* 'Properties.Labels[env]' expected type 'string', got unconvertible type 'map[string]interface {}', value: 'map[open-xchange:map[com:test]]'
* 'Properties.Labels[ingress-node]' expected type 'string', got unconvertible type 'map[string]interface {}', value: 'map[open-xchange:map[com:true]]'

I didn't get the complains once I wrapped the object in an array.

I don't think that error is something that we can do much about, it's simply how the go/json package seems to handle such naming schemes. We have merged the fix PR https://github.com/ionos-cloud/ionosctl/pull/464 into master and will be releasing a new version of ionosctl soon.
If there are no more issues, I will be closing this thread.


sft do_predict 加上--generation_num_beams 3参数，针对一个输入，生成的仍是一个结果而非三个

Reminder

[X] I have read the README and searched the existing issues.

Reproduction
sft do_predict 加上--generation_num_beams 3参数，针对一个输入，生成的仍是一个结果而非三个
Expected behavior
No response
System Info
No response
Others
No response

Duplicate of https://github.com/hiyouga/LLaMA-Factory/issues/3392


Subscription management.

That might look as an old fashioned, but still can be effective.
I would expect that someone knowing that the list of endpoints mentioned in gatus dashboard is really big.
The person would like to know the service health of several services from the list, let's say 3/20.
Would be great if a person could subscribed to these 3 required endpoints and would get let's say emails over failure and recovery.

By "person", do you mean any visitors that can access the dashboard (UI), or do you mean a developer that has access to Gatus' configuration and can modify/redeploy it?
If it's the latter, technically, it would be possible to do it if an alerting provider for emails was implemented.
For instance, you could configure it so if a service failed more than 3 times in a row, an email would be sent to a given email address.

By person I mean visitor/end-user.
I'm already configured slack alerting.
My case is:
We've configured a bunch of corp endpoints to track.
Some of them are point of interest for sales, some for managers some for devs.
For now everything is alerting to a single slack channel.
Thus there is a situation, "Oh! Alert, ughhh, not mine service" =)
So in case if visitor would have an option to subscribe to set of specific groups/services, he would avoid such situation.
If Devs are happy with slack IMHO sales/managers are happy about emails still these days=)
BTW, gatus is super cool! Thanks for your work! =)

An immediate solution I can think of is to create a user group for each groups of relevant group of employees , and in the alert description, ping the relevant group.
For instance:
alerting:
  slack:
    webhook-url: "https://hooks.slack.com/services/**********/**********/**********"

services:
  - name: relevant-to-managers
    url: "https://example-for-managers.org/"
    alerts:
      - type: slack
        enabled: true
        description: "<@!subteam^SLACK_MANAGER_GROUP_ID>"
    conditions:
      - "[STATUS] == 200"

  - name: relevant-to-devs
    url: "https://example-for-devs.org/"
    alerts:
      - type: slack
        enabled: true
        description: "<!subteam^SLACK_DEV_GROUP_ID>"
    conditions:
      - "[STATUS] == 200"

(note the services[].alerts[].description, reference)
That way, by tweaking the notification settings, each groups could be notified only when it concerns them.
That being said, I do understand that this is more of a hack than a viable solution; I think the root cause is that there may be a need for supporting multiple slack webhooks rather than just one, even if you could technically use custom to create a 2nd Slack provider, having the ability to create N alerting providers would be better.
Across all alerting providers, there appears to always only one parameter that may need to change in order to support multiple recipients:

Slack: webhook-url
PagerDuty: integration-key
Twilio: to
Mattermost: recipients
Custom: URL, but probably irrelevant

As a result, we may be able to just add a single optional parameter to the service alert (as opposed to the alerting provider) to override that "key" parameter for a specific service:
alerting:
  slack:
    webhook-url: "https://hooks.slack.com/services/**********/**********/webhook-for-managers"

services:
  - name: relevant-to-managers
    url: "https://example-for-managers.org/"
    alerts:
      - type: slack
        enabled: true
    conditions:
      - "[STATUS] == 200"

  - name: relevant-to-devs
    url: "https://example-for-devs.org/"
    alerts:
      - type: slack
        enabled: true
        override-target: "https://hooks.slack.com/services/**********/**********/webhook-for-devs"
    conditions:
      - "[STATUS] == 200"

As a result, the relevant-to-devs service would send to the overridden webhook https://hooks.slack.com/services/**********/**********/webhook-for-devs instead of the default "https://hooks.slack.com/services/**********/**********/webhook-for-managers".
It's a little hacky, especially when you look at the Slack alerting provider which only has a single parameter (webhook-url) as opposed to the Twilio alerting provider, which has several parameters out of which only one is relevant to alert a different target (to), but I think that if we want to avoid breaking changes, this is the best way to do it: it's transparent for those that don't need the feature, and while most users will likely never use that feature, the option is still available.

I got your point, thank you!


Create class gui::views::CameraView (cpp)

Well, just create in in a minimalist version. Completed devs will be happening later.

Partially implemented; Compiles.
Still to be completed then tested.


Calling store.start at the wrong time can cause models to not get added properly

The following doesn't work it seems:
const store = barracks()
store.start()
store.model({some: 'model'})
store.start()

The reducers, subscriptions and effects don't get parsed out of the model, so trying to call send('ns:action') throws an error saying there is no action for it.
When you inspect the store object after you can see that _reducers, et al are empty but the model does exist.

Any given property on the models can only started once now. Once stuff has been started there's no way to attach extra models currently. I've been thinking about this, and while dynamic model attachment might make sense I'm not entirely sure we should support it. What do you suggest we do?

I feel like dynamic model attachment might make some good sense for some (ab)uses of barracks as decoupled from the choo-ecosystem.
I haven't delved too deep into the code here -- is there anything gained by batching the model iteration to when start is called via handling it via the model function?

We definitely want to start subscriptions after the dom has loaded in most cases. Also definitely don't wanna start most of the model stuff if we're rendering on the server (but do want the initial state) - I think we could only add support that if a certain section has started, it's booted directly rather than pushed into the "to be started" array

Updated title

oooh, or we could have dynamic models which can be swapped out with other stuff.... hmmmmm - like this (from IRC): https://gist.github.com/MelleB/654d8763892eb10ea4718691d611b72a


[Feature request] Add top-level code blocks Bookmark All code lens to markdown documents in the open markdown text editor

as proposed in your general general channel on discord:
https://discord.com/channels/1102639988832735374/1102639989700968583/1151154840408424498
See this brief SQL code blocks Bookmarks demo in our new pro data tools docs repo for the general idea of the UX & nav flow enhancements you can add for the Bookmarks & Runme extensions users exploring code blocks in the open markdown documents:
https://github.com/RandomFractals/pro-data-tools#markdown-sql-code-bookmarks

Probably more than what users could expect from simple Runme ext. and not sure this original idea fits Runme dev flow.
Closing it for others to handle it better in vscode per code block type case.


Feature: Match the favicon from hot.opensauced.pizza

Type of feature
🍕 Feature
Current behavior
The favicon is not great and should match the one from hot.opensauced.pizza
Suggested solution
The favicon can be found and downloaded from here.
https://github.com/open-sauced/hot/tree/beta/public
Additional context
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

Contributing Docs

[ ] I agree to follow this project's Contribution Docs

.take

Do I need to change only this Favicon?  @bdougie

Do I need to change only this Favicon?

Hi, favicons are the icons your browser renders next to the title for every webpage.

To solve this issue, you have to replace the current docs.opensauced.pizza (the one on the left) favicon with the hot.opensauced.pizza  (the one on the right) favicon.

Shall I work on this issue? @bdougie

This will help - https://github.com/open-sauced/assets

I fixed the .take actions
https://github.com/open-sauced/open-sauced/commit/3a546dfb1cadfe98e8fb97986d9fdd0a67234d47

Ok


Allow deletion of profiling from UI and/or profiling session

Are you considering adding some functionality to start a profiling session. As information marked without it is difficult to process ?
Also, one easy way of doing that would be to have buttons like :-

delete all data (to start over)
Save and delete all data (to save a session or all data so far and start over)

If you guys agree on this, I can start working on a PR for the same :)
Thanks

I know it is possible to delete / copy the DB manually to achieve all this but I think it would be a good to have feature on UI

Hi @divyenduz
Your recommendations are really cool. It would be great to have a "dump current database" and "delete all data" button on a page, maybe a settings page?
You are free to make any changes as you wish :)

hi @divyenduz, are you still interested in this issue and its implementation?

@muatik : Thanks for notifying. I am interested but never got a change. I hope you can wait for 2-3 weekends before closing this one ?

yeap, that's ok.

@muatik : Hey, I started working on this, however, I have a few (naive) concerns.

The example app.py import did not work for me
I got an import error in that case, I had include the parent path (code below) to make it work. Am I doing something wrong ?

import sys
sys.path.insert(0,'..')

I started off with the UI (looks like the image below)

2.1 Let's discuss a rough UI structure for settings page or the screenshot looks fine to you ? I can complete the functionality and we can tinker the UI later also.
2.2 How do you make changes to the JS file ? It looks like a minfied file to me (see screenshot), do you use a build process for it or are you on windows (could be missing line ends) ?

File link for reference
Once I am clear on these, It should not take me much time to get this done.
Thanks,

@divyenduz great that you started contribution.

actually you should not change the example/app.py since as its name suggest, it is an example. it is intended to be run with the flask-profiler install via pip. but doing your development, it is ok, just do not commit changes in it :)

2.1) your settings ui looks like enough to me, since we have only two action/button. we can move on with it.
2.2) indeed it is minified. @xorxor was involved in the client side code. most probably he used a build process. @xorxor could you give brief information on it?

yes you can.

@muatik Thanks for the information.
No news on the front end build description yet.
I will continue by making a separate JS file for now until I am given heads up on the JS build system.

@muatik : Should I send a PR with external JS, I added another file to get the functionality done ? No news on the JS build system yet.
I am comfortable for @xorxor to reply and then send PR later. Let me know. :)

@divyenduz I think, at this point, external files are not obstacles. so, you can send PR without waiting. maybe @xorxor can edit/merge the files later.

@muatik : Thanks, I will sent the PR soon then. Thanks.

@muatik : It took me long but now we have something concrete to discuss.
Your opinion on this https://github.com/muatik/flask-profiler/pull/41


Server GC could lead to huge performance issues in containerized applications

As many applications are often hosted in docker containers now, it's important to note that hosting more than a single application with default Server GC configuration and no docker container memory limit will result in this application to allocate a heap and a GC thread for each CPU core which will result in a very low total throughput (and much higher memory usage than necessary) when there is more than a single container/application running on this machine.
It's recommended to either set up a heap number limit in the application configuration (probably the best option in the most scenarios; should be done with also disabling the GC affinity), or limit the docker container's available memory amount, or even switch to Workstation GC as it doesn't allocate extra heaps (though it will result in more often GC calls so overall throughput would suffer).
Further read:
https://devblogs.microsoft.com/dotnet/using-net-and-docker-together-dockercon-2019-update/
https://devblogs.microsoft.com/dotnet/middle-ground-between-server-and-workstation-gc/
https://devblogs.microsoft.com/dotnet/running-with-server-gc-in-a-small-container-scenario-part-0/
https://devblogs.microsoft.com/dotnet/running-with-server-gc-in-a-small-container-scenario-part-1-hard-limit-for-the-gc-heap/
I've personally stumped on this issue—as the number of dockerized applications increased on a virtual machine I've noticed surprisingly long GC pauses in every one of them even though the CPU load was still low. It took a while to figure out what's causing it. Somehow I've missed the point that Server GC assumes that the whole machine's resources (all available CPU cores and memory) are available to the process so having more than a single process will result in memory overuse and high threads contention.
Also, I'm definitely not the first to have this issue, e.g. https://github.com/aspnet/AspNetCore/issues/3409#issuecomment-437391232

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

ID: bf9e2f78-9caf-3b88-05a6-537e031ecddf
Version Independent ID: 06ca8420-5ca0-24ae-3584-9a4c486d3ebe
Content: Memory management and patterns in ASP.NET Core
Content Source: aspnetcore/performance/memory.md
Product: aspnet-core
Technology: aspnetcore-performance
GitHub Login: @Rick-Anderson
Microsoft Alias: riande

@spboyer  please review.

@richlander to review

It seems pretty obvious to me that when hosting multiple docker instances you should profile under load to see if GC should be changed from server to workstation.
I'm going to add that to the doc unless @richlander  or @Maoni0 disagree


Remove the .onbuild and .sourcebuild versions of the image

There is no need for these. Let's just embrace s2i

The MSA demo uses these, and it probably makes sense to keep it consistent. Closing.


Alarm panel does not display correctly within a grid

Describe the bug
Alarm panel does not display correctly within a grid, when it is armed and see the numbers to disarm. It goes off the grid.
Screenshots

Desktop (please complete the following information):

From any browser

Smartphone (please complete the following information):

App Android

same here, also in Custom Grid layout from Layout-card

I can confirm the issue with grid.

type: custom:mushroom-alarm-control-panel-card
entity: alarm_control_panel.ha_alarm
states:
  - armed_away


Only Inbox folder size is shown

Hi, I tried your plugin but it only shows the size of the Inbox folder.

I have the same issue.  The plugin only shows the size of my Inbox and Archive folders.  My normal skin is Classic, but the same problem occurs if I use Larry.  The same problem also occurs with 'auto_show_folder_size' => false, or true.

@sai-mike I wonder this could be due to different mailing backend or I wrote the plugin in potentially wrong way.

Could you see (and click) the Click to get folder size for your Sent folder?

Here it is:

@sai-mike Would you like to test 9ba8c801bf0a96b587a84cca8445ccce00cfdde3 (or just use the master branch)? It works for me on my machine to show subfolder's size.

I installed dev-master:
Package operations: 0 installs, 1 update, 0 removals

Removing jfcherng/show-folder-size (0.2.6)
Installing jfcherng/show-folder-size (dev-master 2b737f2): Cloning 2b737f2760

This fixed the problem with top level mail folders:

However, second level sub-folders have duplicate sizes and number of items displayed:

Additional info.  I have 'auto_show_folder_size' => false, and the display differes when I click the toolbar button depending on whether the subfolders are expanded and visible, or not, when I click the toolbar button.
If the subfolders are collapsed and I click the button, I get:

And if the subfolders are expanded when I click the button, I get this:

@sai-mike I have push version 0.2.8 which reduces the numbers of issued HTTP requests to only one. And during doing that, I found that RC's PHP API somehow return duplicated folders. I have dealt that and I think I may related to your "second level sub-folders" issue. Please let me know if 0.2.8 works for you.

Same problem with 0.2.8
Starting point - Suppliers folder collapsed:

Click toolbar button, expand Suppliers folder, expand Business folder. If top level folder is collasped when button is clicked, both second & third level have duplicates:

Starting point - Suppliers folder expanded, Business folder collapsed:

Click toolbar button and now it looks like this:

Expand Business and now we have duplicates again at third level only because second level was expanded when toolbar button was clicked:

Hmm... after some test, this seems to happen only when using classic skin.

I just switched over to the Larry skin and I can verify it also works correctly for me with Larry.

I believe this has been fixed in 0.3.0. Due to Composer's semver strategy, you may have to manually modify composer.json to use the following if you cannot upgrade this plugin.
"composer require jfcherng/show-folder-size": "~0.3"

Let me know if 0.3.0 works. I am going to close this issue. If there is another issue, open another one for it.

There is no 0.3.0 release.  Should I install dev-master?

Problem looks like it is fixed with the Classic skin in current dev-master.

There is no 0.3.0 release. Should I install dev-master?

Ah. I forgot to push the git tag. Glad it works.


Determine security model for labeling plugins in UI

Our current beta somewhat punts this issue: When referring to a plugin, we name it by entry-point (which is the most secure string we can render, but is not totally human friendly).
There are other points in the UI where we'd like to more gracefully refer to a given plugin, but we need to ensure:

Plugins cannot impersonate primary MetaMask UI
Plugins cannot impersonate other plugins

This issue will represent a place to discuss ways of ensuring users have the most friendly and secure labeling of plugins in our UI.
A few ideas:

During plugin installation, one permission can be "To present itself as [X] in your interface" (this could be defined by the name field in the plugin manifest).
We could give users the opportunity to locally nickname a plugin at install time or later.
We could deterministically generate a security background pattern that is force-rendered under all UI provided by a given plugin, along with a MetaMask-secured icon/button for getting more info about the info source.
We could maintain a sort of name registry, which we allow for labeling.

Off the top of my head I guess a question is, how permissionless should this be? Certainly MetaMask makes a number of assumptions about how it's run, maybe the ability to control plugin identifications could simple be another one of those.
I imagine that at the start at least the number of plugins will be relatively small. The most secure way to prevent the listed problems would be to simply keep a record of those plugins yourselves and then the UI will only load registered plugin UI labels. You could still allow for non-registered plugins, but they could get a warning like when installing test-flight apps on the app store.
This way you can allow this sort of UI sooner rather than later, but give yourselves time to grow into handling the problem for when it becomes an issue (thousands of plugins requesting access). And it should not be seen as vetting the security of a plugin, only permission to have a custom label and that label should be solely controlled by the MetaMask registry. That way it's fairly easy to review a plugin request, and it's not possible for malicious behavior.

That's a pretty acceptable approach, and may be just what we need for our initial releases, when we'll probably be permitting plugins on an as-registered basis, but we should also consider longer term solutions here.


Documentation: Enhancement of installation process for Nginx / IIS

According to modsecurity documentation, Include directive used in installation process for Nginx and IIS supports wildcards:
https://github.com/SpiderLabs/ModSecurity/wiki/Reference-Manual-(v2.x)
The include directive also supports wildcard characters (*) and full paths. It should be easy to add something like the following (assuming CRS has been downloaded and installed to this path):

Include /opt/owasp-modsecurity-crs/modsecurity_crs_10_setup.conf
Include /opt/owasp-modsecurity-crs/rules/*.conf

Not sure why we are not using it, maybe previous versions of modsecurity doesn't supports this. I also double checked this behavior in modsec source: Wildcards are really supported and matched files are processesd in ASCII collation order. Important to note is that i didn't test it.

@azurit It did not work in the past, at least in my tests. But will double check.

@azurit It did not work in the past, at least in my tests. But will double check.

@airween: What is your take here? I think we talked about this before, did not we?
@fzipi: Did you have the time to test?

I remember the problems I had now.
This is something that comes from modsecurity v2.x for nginx I think: there are two different "include" directives. The include (lowercase) is the one from nginx. The one starting with upper, Include, comes from apache apr (originally nginx was compiled with apr for memory management in nginx, until libmodsecurity).
So we should use include where needed, not Include.
This is an example from the config in our dockers:
http {
    include /etc/nginx/mime.types;
    default_type application/octet-stream;

    sendfile on;

    keepalive_timeout ${NGINX_KEEPALIVE_TIMEOUT};

    include /etc/nginx/conf.d/*.conf;
}

Wow. I was not aware of this.

It definitely didn't work on old ModSec, but that info was now three years old. Good to see that we can simplify now!

I must add that Include used in installation instructions for nginx is NOT processed by nginx but by modsecurity - it is a file specified by ModSecurityConfig directove (and it's read and processed directly by modsec).


[web][api][SIMS #532]Institution User Edits Student Enrolment (CoE)

Added the call in the COE to "Edit the Program Information". The menu item was renamed after a conversation with @abschwenker

Restrict API queries to do not consider Overwiritten applications while retrieving data from DB. Many queries on application service were changed.

Added below modal dialog for confirmation of the CoE Edit

Created a generic modal dialog based on Veutify and based on Promises instead of events (please let me know your thoughts about it).
The generic component has a type that allows us to introduce more features and also Vue slots that allow full customization of header, content, and footer, as shown below.

LGTM, other than the doubt on the POST call and the failing Test cases

Needed some additional work on E2E tests. I just updated the PR with some modifications. I added a restriction to once the application is in some final state (Overwritten, Cancelled, Completed) it will no longer allow the change in the status and it caused some issues.


Integration/Guideasy

Addressed missing changes in the android and ios files relative to maps api;
Made the Guideasy app open in the HomePage instead of the Splash Screen, making the necessary changes in the App State;
Deleted unneeded assets

I will be testing this


[cmake] Recovery .h -> .cpp

Fixes #33 .

thanks, that spared me quite the debug session!
@ProbShin @CSCsw anyone still in Purdue who can merge that in?


A path observer to an observable object should listen for any changes on that object

Repro: https://gist.github.com/jakemac53/aa2aceb4be88fdfd9efb
prints:
incrementing bar.foo.foo
Compound observer on `foo.foo` saw a change

when I would expect it to print:
incrementing bar.foo.foo
Compound observer on `foo` saw a change
Compound observer on `foo.foo` saw a change

I think this might actually be as designed, but if that is the case then I think the design is wrong

Ok, so I talked with @sigmundch about this and it is currently working as intended.
We should however provide some sort of interface for overriding this behavior so that if a path ends in an Observable it will also listen for changes on that object. This could probably be done with a named argument.


Add support for determining claims based on rules

So a version that solves #34
I like govalidate rules, its super flexible
Hopefully this works

@halkeye wow, i never thought of this! this is a really cool solution and I can see it being very applicable to future auth backends.

I'm interested in knowing if govaluate is the right choice vs a jq like syntax (idk if that exists).
Could you write some examples to help me understand how govaluate would look if you wanted to check:

the user has a claim equal to a value
the user has a claim in an object equal to a value
the user has doesn't have a claim

I didn't fully understand 3
PS, you need tests so I can add these cases :)
Given the response from oidc server:
email<EMAIL_ADDRESS>email_verified: true
family_name: Mogan
foo2:
- wireguard-admin
given_name: Gavin
group_membership:
- JellyfinAdministrator
- NextcloudAdmins
- NextcloudUsers
- WireguardAdmins
name: Gavin Mogan
preferred_username: halkeye
sub: something something id

The following rules:
      doesntHaveEmail: "email !=<EMAIL_ADDRESS>      isGavin: "given_name == 'Gavin'"
      hasEmailVerified: 'email_verified'
      isAdmin: "'WireguardAdmins' in group_membership"
      isNotAdmin: "!('WireguardAdmins' in group_membership)"

produces:
- name: doesntHaveEmail
  value: "true"
- name: isGavin
  value: "true"
- name: hasEmailVerified
  value: "true"
- name: isAdmin
  value: "true"
- name: isNotAdmin
  value: "false"

@halkeye cool; i think we should merge this feature using this approach.
I'd like to refactor so that we can have backends set Claims on the Identity struct when calling runtime.SetSession and then refactor the middleware in main.go (code) to apply the rule mappings (i.e. transform the raw provider's claims to our wg-access-server claims (admin)).
The reason I want to refactor this is so that the provider implementation is simple - i.e. just need to pass claims from OIDC/LDAP/Other to the Identity (no logic)
I've got a little side mission to keep the auth layer general so i can break it out into it's own library at some stage 😃

\o/ Feel free to let me know how I can help, but totally cool with whatever you end up doing with the code. This setup works for me, I have no idea what works for others.

It's been a couple weeks now. Any idea what your plan is? Do you have changes you want to make? Or are you going to merge and make them?
I want to redeploy soon and would love these two merged

@halkeye i'll get to this one soon as well.

@halkeye this is now up as 0.2.0-rc7 with the SQL change as well.
Let me know if it's all working for you. If you're happy then i'll put it up as a 0.2.0.


python311Packages.types-requests: <IP_ADDRESS> -> <IP_ADDRESS>31231

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python311Packages.types-requests is: Typing stubs for requests
meta.homepage for python311Packages.types-requests is: https://github.com/python/typeshed
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found <IP_ADDRESS>31231 with grep in /nix/store/6m7idhk71wpy3j6bnb49h6yj5211gk3h-python3.11-types-requests-<IP_ADDRESS>31231
found <IP_ADDRESS>31231 in filename of file in /nix/store/6m7idhk71wpy3j6bnb49h6yj5211gk3h-python3.11-types-requests-<IP_ADDRESS>31231

Rebuild report (if merged into master) (click to expand)

11 total rebuild path(s)

11 package rebuild(s)

First fifty rebuilds by attrpath
gphotos-sync
python310Packages.djangorestframework-stubs
python310Packages.pyarr
python310Packages.tabcmd
python310Packages.types-requests
python310Packages.unstructured-api-tools
python311Packages.djangorestframework-stubs
python311Packages.pyarr
python311Packages.tabcmd
python311Packages.types-requests
python311Packages.unstructured-api-tools

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/6m7idhk71wpy3j6bnb49h6yj5211gk3h-python3.11-types-requests-<IP_ADDRESS>31231 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A python311Packages.types-requests https://github.com/r-ryantm/nixpkgs/archive/39815170c662f0a4415842ef2cb378dae362c89a.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/39815170c662f0a4415842ef2cb378dae362c89a#python311Packages.types-requests

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/6m7idhk71wpy3j6bnb49h6yj5211gk3h-python3.11-types-requests-<IP_ADDRESS>31231
ls -la /nix/store/6m7idhk71wpy3j6bnb49h6yj5211gk3h-python3.11-types-requests-<IP_ADDRESS>31231/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

4 packages failed to build:

python310Packages.djangorestframework-stubs
python310Packages.pyarr
python311Packages.djangorestframework-stubs
python311Packages.pyarr

7 packages built:

gphotos-sync
python310Packages.tabcmd
python310Packages.types-requests
python310Packages.unstructured-api-tools
python311Packages.tabcmd
python311Packages.types-requests
python311Packages.unstructured-api-tools

Maintainer pings
cc @fabaff for testing.

Already on master.


mutually_exclusive constraint doesn't work with multiple flags with flag_value

Bug description
mutually_exclusive constraint doesn't work with flag_value
To Reproduce
Save this file as test.py:
import cloup

@cloup.command()
@cloup.option_group(
    "Flag Value",
    cloup.option("--flag1", "flag_value", flag_value="flag1"),
    cloup.option("--flag2", "flag_value", flag_value="flag2"),
    cloup.option("--flag3", "flag_value", flag_value="flag3"),
    constraint=cloup.constraints.mutually_exclusive,
)
def cmd(**kwargs):
    print(kwargs)

if __name__ == "__main__":
    cmd()

and then run python test.py --flag1. This crashes with
Usage: test.py [OPTIONS]
Try 'test.py --help' for help.

Error: the following parameters are mutually exclusive:
  --flag1
  --flag2
  --flag3

Expected behavior
The script should work and print {"flag_value": "flag1"}.

This is a known limitation, not a bug. Cloup works on top of click parsing. After click parsing, the information about which flags were provided via command line is lost.
I worked on a POC  to work around this but overall I think it's a bit too hacky for my taste.
You have alternatives:

don't use flags, use cloup.Choice([...]) [probably the cleanest option, I don't like flag values]
use a group of mutually exclusive binary flags [reasonable, if you have up to 5 values; if you have more, you should definitely use Choice]
take inspiration from my branch to develop a reusable solution.


Descend mode when landed

If there is no RC and gps connection (so possible workshop conditions), and aircraft is armed, then it will immediately go to auto descend mode. This essentially triggers landing on the current position. However, because aircraft is already on the ground, the ground detection in MPC fails since it requires aircraft to move downwards firstly.
Additionally, MPC will set the thrust setpoint to MPC_THR_MIN which is enough to spin up the props (dangerous on its own). With that, land detector will detect takeoff, and it will stay in this mode forever unless, for example, min. thrust is enough to cause tipping of the aircraft.

Interesting edge case, thanks for reporting.

Is this still an issue? Our land detection system and controllers have undergone significant changes in the recent past.

@mhkabir let's close it. @mswingtra if this is still an isuse, please re-open.


update wpewebkit 2.34.X recipes to 2.34.7

https://wpewebkit.org/release/wpewebkit-2.34.7.html

Addressed in fc417c267a985d07153466fb861b235fdf71a554


Add start time to change feed query

Description
Adds Start Time option for change feed queries in Python SDK. A utc datetime is passed into the options when calling a change feed pull. Passing an incorrect date or value results in the start time option being ignored.
The following Example creates 10 items at two different times. By using start time you can filter out the items created after the time recorded.
    batchSize = 10
    container = database.get_container_client(container_name)
    create_random_items(container, batchSize)
    sleep(1)
    now = datetime.utcnow()
    sleep(1)
    create_random_items(container, batchSize)
    change_feed_iter = container.query_items_change_feed(start_time=now)

All SDK Contribution checklist:

[ ] The pull request does not introduce [breaking changes]
[ ] CHANGELOG is updated for new features, bug fixes or other significant changes.
[ ] I have read the contribution guidelines.

General Guidelines and Best Practices

[ ] Title of the pull request is clear and informative.
[ ] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

[ ] Pull request includes test coverage for the included changes.

API change check
APIView has identified API level changes in this PR and created following API reviews.
azure-cosmos


Feature Request: Offer Options to Embed or Link to Audio File

First, I am so excited to see that you added the option to save the audio file!!! Thank you! 🎉
I love that I have the option to insert the transcription at my cursor! I would really like to have the option to add an embed link to the saved audio file above (though I suppose some people might prefer below 🤷🏽♀) the transcription.
For me, the ideal result would look something like this:
![[Audio/2023-06-18T16-13-51-312Z.webm|2023-06-18T16-13-51-312Z]]
Here is my fabulous audio transcription.

If you could include it as an embed (like a link but with an exclamation point in front so it renders inline) that would be fabulous!
Ex:
[[path/to/file]] ← this is a link
![[path/to/file]] ← this is an embed

Isn't that already the case?

Currently, creating a voice note creates a webm file and a new note.
Would it be possible to embed the current note without creating a new note?

+1. For this feature, I am expecting it to work like the Audio Recorder core plugin
https://github.com/nikdanilov/whisper-obsidian-plugin/assets/8164667/050d3bf6-7036-4cb7-83ab-38dc4c7a03f5


Remove textual values from IsolationLevel enum

Since the text of the enum https://github.com/r2dbc/r2dbc-spi/blob/master/r2dbc-spi/src/main/java/io/r2dbc/spi/IsolationLevel.java is principally for writing SQL calls (at least in Postgres), and not all data stores use this query to lookup Isolation Level, we should remove it from the the SPI and let the data store define it.
Case in point: H2's command to lookup/set Isolation Level is completely different.
Would it be better to have an SPI-define function that performs the look up and returns an IsolationLevel enum? That would be quite handy and better fit the fast that many data stores will be doing this anyway.

At this point I'm comfortable leaving these in because they are actually defined in ANSI/ISO SQL.  There's no mandate to use them, but most databases do use the SET TRANSACTION ISOLATION LEVEL ... ANSI-standard so it is a convenience for them.


bmike: Watch telnum.net

bmike requests the watch of the watch_keyword telnum\.net. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

telnum\.net has been seen in 0 true positives, 0 false positives, and 0 NAAs.

Approved by Ryan M in Charcoal HQ


update home page credential Counts

Fixed credential counts on home page:

Signed-off-by: wadeking98<EMAIL_ADDRESS>

Deployed to prod with v1.0.7


[IGNORE ME] Test PR - ignore this pull request

Description
This PR...

Types of changes

[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] New feature (non-breaking change which adds functionality)
[x] Bug fix (non-breaking change which fixes an issue)
[ ] Enhancement (improves an existing feature and functionality)
[ ] Cleanup (Code refactoring and cleanup, that may add test cases)

Feature/Enhancement Scale or Bug Severity
Feature/Enhancement Scale

[ ] Major
[ ] Minor

Bug Severity

[ ] BLOCKER
[ ] Critical
[ ] Major
[ ] Minor
[ ] Trivial

Screenshots (if appropriate):
How Has This Been Tested?

/meow

/help

/shrug

/coverage

/assign @davidjumani

/help


HTTPS only works on local machine

Live Server works just fine over HTTP on my local machine. I can access the port from other devices on my local network as well using my local IP:Port.
Following the provided directions on setting up HTTPS, i am ONLY able to access the secure server on a browser on the same machine as my vscode. I am no longer able to access my IP:Port from any other device on my local network.
The reason I need the SSL at all is because my Oculus browser requires it for accessing local servers. Otherwise, HTTP would suffice on my other devices.

Wah


Travis zip binary deployment

This deploys the binaries in a zip file so that they keep the executable bit.
Fixes #92.

After this is merged, we should tag and publish another release.

Are you able to do a release? Or can only I?

Are you able to do a release? Or can only I?

I believe I can. However, I decided to upload the zip generated by my fork to the release draft we already had waiting. Seemed simpler.

Can‘t we do one archive per platform?

Can‘t we do one archive per platform?

See #108


FindPath reports path and operation not found

The idea is to have a more precise error reporting from the FindPath function, before it could yield a path not found validation error, with this proposed change we will have a path not found or operation not found error.
this may be a breaking change for some implementation that were reliant on IsPathMissingError to filter any error regarding a find path validation error

I think we may need to bump this to a feature release as it's a breaking change, a small one, but a break in previous behavior.

Indeed, do you have in mind some helpers function to ease the update that we could add?

I don't know what kind of helper functions we could add to be honest, it's a change in strategy on path validation (albeit a small one).

we can bundle both your PRs into a minor release.

That'd be great


invoices: migrate KV invoices to native SQL for users of KV SQL backends

Change Description
This pull request adds the migration of old key-value (KV) invoices to the new native SQL schema when the --db.use-native-sql flag is set, unless the --db.skip-sql-invoice-migration flag is also specified.
Please note that since we currently do not support running on mixed database backends for users of bbolt or etcd, an additional step is required to migrate their KV database to SQL first. For more context, please see https://github.com/lightninglabs/lndinit/pull/21.

@bhandras, remember to re-request review from reviewers when ready

@aakselrod: review reminder

@bhandras, remember to re-request review from reviewers when ready

Sorry for the lack of review from me, I'll re-review late this week/early next week! I'm just now getting back to working on this project after some other higher-priority stuff landed on my plate.

@ziggie1984: review reminder
@bhandras, remember to re-request review from reviewers when ready

@bhandras, remember to re-request review from reviewers when ready

@bhandras, remember to re-request review from reviewers when ready

@bhandras, remember to re-request review from reviewers when ready

Please hold off with the next round of reviews as I'm still investigating some performance issues with larger databases.

Thank you for your patience. Tested the PR with large KV invoice datasets and I believe migration performance is adequate. There's no slowdown and memory use remains constant given batch size. PTAL.

@ellemouton thank you for all your suggestions, they have been incredibly helpful! I've updated the PR accordingly. I think we could move the migrations and dependencies to subdirectories just like we do for KV migrations, but imo this would be better done in a follow up PR to not inflate scope. PTAL :)

@ziggie1984: review reminder
@roasbeef: review reminder
@aakselrod: review reminder
@bhandras, remember to re-request review from reviewers when ready

@ziggie1984: review reminder
@roasbeef: review reminder
@aakselrod: review reminder
@bhandras, remember to re-request review from reviewers when ready


chartjs-plugin-datalabels.min.070.js

Hi there,
is chartjs-plugin-datalabels.min.070.js not compatible with 3.0.0? No labels are shown.
https://github.com/chartjs/chartjs-plugin-datalabels/releases
or labels built in in v3?

Not yet. It will need to be updated around the time we release 3.0.0-final


Climate Change Resources

There are a few tools in this Report on Climate Change Planning Tools that make me wonder if we should have a separate call out for Climate related software and platforms/data sources. For example, we have Resilience & Natural Hazards. I think Climate is distinct enough to get separate sub-categories right?
PS, can someone help get some of these out the appendix into the repo?

Hi David,
I agree that these resources would be of value.  Would it be possible to create subcategories of resources for various climate impacts (e.g.,  impact measurement tools, temperature, weather events,  water  etc.) or should we apply strict parameters to this category?
Here are a few tools/resources I have used/encountered over the course of my work (not sorted):
NOAA Climate Impact Data
Link
NOAA Extreme Weather Events GIS Data
Link
UN Sustainable Development Solutions Network
Link
ICLEI Clearpath
Link
ICLEI Temperate
Link
NREL Solar Radiation Data
Link
FEMA Flood Map Service Center
https://msc.fema.gov/portal/home
Happy to help develop this cache of resources.

Some of these are already in here in some form (or could augment an entry - like the FEMA Map center), and some are vendors. I think these are all worth contributions, but we want to do PR's for them a category at  a time.

@lianplass , I contributed a significant portion of the ones listed here. I am curious if the solutions network belongs in a new category entirely. Not sure if we have NREL added yet.

Closing this issue for now in preparation of Hactoberfest.


fix: fix names generation in Generate function

Improve fn name computation (close #10176).
Handle tuple indexing expressions in argument position (should close  #10241)

bors r+


samesite option to set it to none to allow cross domain server to read cookies during oAuth call back

Bug report
Describe the bug
Currently, after the oAuth callback setCookie code leaves sameSite option blank. As per the recent browser changes, lax has replaced none as the default value for sameSite option when it is blank.
Without sameSite set to none, server is not able to read the cookies sent during the callback. Hence, an additional client-side call is required to sent the access-token to the server to allow for server-side calls authenticated user.
To Reproduce
Steps to reproduce the behavior, please provide code snippets or a repository:
During a typical oAuth call, following cookie is sent to the browser

Expected behavior
gotrue should allow an option to set sameSite cookie option for oAuth callbacks.
With this change, cross domain server should be able to read cookies during the callback. This will save an extra trip from client side to send the access token to the server.
As a side-effect it also leads to a much better dev experience to protect private pages on the client-side. Currently, client-side can ascertain oAuth success only after the page is loaded.
System information

Browser (if applies) chrome
Version of supabase-js: latest

We are not planning on supporting the SameSite=none cookie option for cookies issued by Supabase Auth. This is because those cookies are for internal Supabase Auth / GoTrue use and are not meant to be used by third parties. There are no guarantees that those cookies represent a valid user session (though they likely do). We also can't guarantee backward and future compatibility of those cookies.
We do suggest using only the concept of access and refresh token to identify a user's session on a particular web browser. Your single-page app does not have to fire a request to transfer cookies on the origin it runs on. Here's a snippet you can use to set cookies for a server-side application running on the domain your application is running on:
supabase.auth.onAuthStateChange((event, session) => {
  if (event === "SIGNED_OUT" || event === "USER_DELETED") {
    // delete cookies on sign out
    const expires = new Date(0).toUTCString();
    document.cookie = `my-access-token=; path=/; expires=${expires}; SameSite=Lax; secure`;
    document.cookie = `my-refresh-token=; path=/; expires=${expires}; SameSite=Lax; secure`;
  } else if (event === "SIGNED_IN" || event === "TOKEN_REFRESHED") {
    const maxAge = 100 * 365 * 24 * 60 * 60; // 100 years, never expires
    document.cookie = `my-access-token=${session.access_token}; path=/; max-age=${maxAge}; SameSite=Lax; secure`;
    document.cookie = `my-refresh-token=${session.refresh_token}; path=/; max-age=${maxAge}; SameSite=Lax; secure`;
  }
})

Here you can customize the cookies for your application as you wish.

@hf do you have a recommendation for authorizing an SPA that is run on a 3rd party's domain? The use case is as an extension/plugin for a 3rd party application.
My naive attempt to embed an iframe with my domain and then pass the session across with window.parent.postMessage works in Firefox but not Chrome due to the cookie SameSite restrictions.


Add an RPC to change the log level at runtime

This lets a cluster admin change the log level for all pachyderm pods with  pachctl command.  The log level change is gated with a duration; so without further input, the system will converge back to its original state.  The pachd that receives the initial request changes its log level, then finds all other pachyderm pods, and sends the RPC on to those pods.  pachd replicas set their level and return.  pachw can't serve the DebugServer, so doesn't participate (I tried adding the DebugServer, but it needs a working activated EnterpriseServer to authenticate the request).  workers get a request in the user container, and then propagate the request to the storage container.  Each pod's (actually container's) status is reported in the RPC, and the set of success/failures is relayed to pachctl.  A failure of one pod to switch does not return an RPC error, only if the serving pachd returned an error does propagation stop.  A pod failing to switch does not revert other changes, and we continue to attempt other pods after a failure.  The goal is a best effort switch of the log level throughout pachyderm that automatically reverts after a selected duration.
You can also change the level of the GRPC logger; that works the same way.
This is part of CORE-1368

Transplanting our slack conversation:
Consider the situation

The initial log level is A
I set a temporary log level to B
I set the permanent log level to C before B has reverted.

Reverting to A doesn't make any sense.
The two options that do make sense are:

Clear the temporary log level.  The log level is now C, and there will be no automatic change without more API calls.
Keep the log level at B, when B is reverted, revert to C.

I think we decided on 1 and it looks like that's what's implemented, but just wanted to confirm.

@brendoncarroll Yup, we do 1.  SetLevel and SetLevelFor both delete the revert timer and set the new log level; SetLevel additionally changes the "original" log level to the new one; SetLevelFor starts a new revert timer.

This looks good, especially with the resettableLevel object encapsulating the mutable state.
The global state in the log package is still a concern.  Maybe it's fine to have one logger in the log package, but I think the server implementation (the debug server) should take a reference to a log level or something for it to manipulate.  The push with the Env structs everywhere was to break any sort of cross package shared global state, and make dependencies easy to configure.
Any object that has package level dependencies is inherently difficult to test.  Instead of intervening when the object is constructed, a developer would have to intervene at link time with a substitute package.  That's not easy or practical.
I guess the argument "one stderr/stdout => one logger" is persuasive, but it doesn't follow that we should add package level state as a dependency to one of the servers.

@brendoncarroll I removed the package-level SetLevelFor calls in favor of sharing the LogLevel and GRPCLogLevel objects with external packages, with a note that it's only for the debug package.  (The "public" versions are interface { SetLevelFor(...) } so encapsulation can't be violated too badly.) The SetLogLevel RPC now calls SetLevelFor on server.logLevel and server.grpcLogLevel, and the tests demonstrate the non-global nature.


[BUG] Error when importing file and directory that share a prefix

I am getting the following error when running a lakectl import:
writing range from entry iterator: writing record: setting key and value: pebble: keys must be added in order: helloworld/myfile.csv#0,SET, helloworld.csv#0,SET

500 Internal Server Error

Other imports I have done work perfectly fine and after some research I could find out the error only happens when I have a file and a directory that share the same prefix.
I can replicate the error by creating this simple files setup in ADLS Gen 2 and importing it using lakectl import
-- somepath
    -- helloworld.csv
    -- helloworld
        -- myfile.csv

In this case, somepath contains a directory named helloworld and a file helloworld.csv, which somehow breaks the import. I found #3588 which gives a similar error and might be related
My setup is:

LakeFS 0.86.0 deployed in Azure Kubernetes with ADLS Gen2 as underlying file system
lakectl 0.87.1 in Linux
The source of my import is a different ADLS Gen2 container from the one LakeFS uses as underlying file system

Hi @nopcoder and lakefs team!
I am getting a the same error as before with a very similar setup as before in LakeFS 0.92.0 (in theory the bug should've been solved in 0.92.0 already).
The only difference is that the directory I'm importing now looks like this:
-- somepath
    -- helloworld.csv
    -- helloworld
        -- helloworld.jpg

Error is:
writing range from entry iterator: writing record: setting key and value: pebble: keys must be added in order: somepath/helloworld/helloworld.jpg#0,SET, somepath/helloworld.csv#0,SET

500 Internal Server Error

Could you please reopen the issue?
Let me know if I can share any additional info or do any test that could help


[detail] Only 2 items are displayed on the Menu item (regression) 0.6.1-5 and 0.6.1-6

I've switched to "focusjs": "0.10.2" and i have now a regression on the Menu item : not all block are displayed.
focusjs: 0.10.2
focusjs-components: 0.6.1-5 and 0.6.1-6

Did you update all your icons using material icons?

I mean the detail menu. In which is it related to icons ?

Ok i misunderstand your point.
Is it on all the pages? I will check with other projects.

FI, I append block dynamically after.

:+1:


Skill LevelUp Webhook

It's because of the fact that you have a mod that does roman → Arabic numerals

It's because of the fact that you have a mod that does roman → Arabic numerals

its not, its an hypixel option
please reload this page

Either way, fixing it


Percona-XtraDB-Cluster prohibits use of GET_LOCK with pxc_strict_mode = ENFORCING

Bug description
Trying to perform a migration on a production database.
It reporting an error:
node@worker:/$ node_modules/prisma/build/index.js migrate deploy
Prisma schema loaded from prisma/schema.prisma
Datasource "db": MySQL database "test-database" at "onprem-xtradb-cluster-haproxy.my-organization.svc.cluster.local:3306"

5 migrations found in prisma/migrations

Error: Percona-XtraDB-Cluster prohibits use of GET_LOCK with pxc_strict_mode = ENFORCING
   0: migration_core::state::ApplyMigrations
             at migration-engine/core/src/state.rs:185

For example, TypeORM does not report such an error.
What am I doing wrong?
How to reproduce
Start Prisma migration to a Percona Server for MySQL database.
Expected behavior
No response
Prisma information
generator client {
  provider = "prisma-client-js"
  binaryTargets = ["native", "linux-arm64-openssl-1.1.x", "linux-musl"]
}

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

model Token {
  @@map("token")
  id    Int     @default(autoincrement()) @id
  user_id String @unique
  token Json?
}

Environment & setup

OS: Kubernetes
Database: Percona Server for MySQL database

Prisma Version
prisma & client: 4.2.1

Some context about this error from Percona
https://forums.percona.com/t/we-have-installed-magento-2-3-4-with-parcona-xtradb-cluster-and-we-are-getting-error-on-cron-run/7881/2

The error message you are receiving is quite self-explanatory. The function GET_LOCK() is not allowed in PXC while the cluster is in ENFORCING mode. Your options are to change pxc_strict_mode=PERMISSIVE, or modify the behavior of the application to stop using GET_LOCK() functions and use more app-native locking.
https://www.percona.com/doc/percona-xtradb-cluster/LATEST/features/pxc-strict-mode.html 41
The reason this function is prohibited is because this function is not cluster-wide. If your application executes GET_LOCK() on node1, another connection on node2() can acquire the same lock without conflict. If you are certain that your application is isolated to 1 node, then you should feel safe in turning off this protection.

Docs
https://docs.percona.com/percona-xtradb-cluster/8.0/features/pxc-strict-mode.html
I think the origin is that we perform "Advisory Locking" in Migrate to avoid concurrent executions of Migrate commands on the same database, see https://www.prisma.io/docs/concepts/components/prisma-migrate/migrate-development-production#advisory-locking
It looks like the potential solution could be:

change the pxc_strict_mode setting
or make it possible to configure Migrate to skip the "Advisory Locking"

Any further work on this?

Any word on this?

It has been a bit quiet here for sure. No news at the moment, our process is that we would need to do a reproduction first.
My guess is that it should be reproducible with the information provided.
After that, we would need to think about how to handle this case and implement it, which I think means being able to disable the Advisory Locking somehow?
If someone is motivated to work on this, I think it might be a relatively easy thing to dig into
The code for the locking is in https://github.com/prisma/prisma-engines/blob/1548dc15e415a2298c25af9b04f33bba3d28b998/schema-engine/connectors/sql-schema-connector/src/flavour/mysql.rs#L71-L88
Changing the pxc_strict_mode setting is not an option, I guess?

Our solution has been to change pxc_strict_mode to PERMISSIVE but it may have some adverse effects if running in clustering mode.

Note:
I could reproduce with
docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=mypass -e CLUSTER_NAME=something -e XTRABACKUP_PASSWORD=mypass2 percona/percona-xtradb-cluster

and using this as the connection string
DATABASE_URL=mysql://root:mypass@<IP_ADDRESS>:3306/mydb6

I verified that SET GLOBAL pxc_strict_mode=PERMISSIVE; unblocks the situation like mentioned before.

In https://github.com/prisma/prisma-engines/pull/4171 I added a new environment variable to disable the advisory locking.
Example values that disable the locking
PRISMA_SCHEMA_DISABLE_ADVISORY_LOCK=1
PRISMA_SCHEMA_DISABLE_ADVISORY_LOCK=anything

Values that DO NOT disable the locking
PRISMA_SCHEMA_DISABLE_ADVISORY_LOCK=
PRISMA_SCHEMA_DISABLE_ADVISORY_LOCK=0

Note: This is now fixed in 5.3.0-dev.13 if you want to try it out. Let us know if it works like expected.
It will be released in the official 5.3.0 version on Tuesday, September, 12th.


feat: Abstract components

As discussed, Abstract Templates allow users to specify a combination of baseType and writer (WriterComponentDefintion), to create a new component type that merges an existing Vue template with a new, backend-defined component definition.
The goal is to use this for Workflows, where "workflow node" will be a generic template and, for example, "Set state" will be defined from the backend, using "workflow node" as the base type.

there are 2 types of template, components and steps. I would advocate that to encode this difference in AbstractTemplate . We plan to use component and step in two different menu for example.
export type AbstractTemplate = {
	type: string; # literal (component, step)
	name: string; # maybe to rename into name
	writer: WriterComponentDefinition;
};

I would advocate transforming templateMap into a list and adding a function to retrieve a template. Given the size of the table, the impact should be minimal. It would also simplify the merge code.
templateMap = [
	CoreRoot,
	CorePage
]

Here is the functions to write / rewrite.
export function getTemplate(type, name)
export function isTemplate(type, name)
export function registerComponentTemplate(type, name, vue_component)

It'd be very costly to change the type of components and I don't see a strong enough justification. The type is used all across Framework, in places like ComponentProxy, for E2E tests, etc.
name is already being used for the public-facing name of the component such as Column Container.
I'm planning on defining a new attribute on the definition called toolkit which you'll be able to use to define default or workflows.


Add query parameter to sort connz by the monitor server

Implements option to sort connz in the server side so that queries to the monitor server like ?limit=1&sort=msgs_from, return the client from which the server has processed the most messages, rather than what happened to be the first one from the unordered set. /cc @derekcollison

We should add in slow_consumer for a sorting option.. See new format for varz in README.

Thanks for the feedback, I'll update it soon and add the slow_consumer too, missed pending as well:
https://github.com/nats-io/gnatsd/blob/4dd23e0f2d727e02a8ec7c3085edeeffcc59fdd7/server/monitor.go#L38

ok let me know when you want me to take another look.

I've just updated the branch, could you take a look? Thanks!

OK updated again, let me know what you think.

LGTM


Fix start/stop not working properly when used on Node

As explained in https://github.com/AudioKit/AudioKit/issues/2705
start and stop functions are not working correctly when they are
not a part of protocol.

Looks great, thanks!


Bugfix: Allow oas-validator to handle HTTP header parameters case-insensitively

HTTP header parameter names are supposed to be case-insensitive.  This pull request allows oas-tools to treat header parameter names as case-insensitive.
Currently, if a header parameter called Authorization is marked required: true in an OpenAPI spec, the oas-tools strict validator fails to find that header. You may see the following error:
error: [{"message":"Missing parameter Authorization in headers. "}]
Changing an OpenAPI spec so the header parameter name is authorization eliminates this error message, demonstrating that the oas-tools is not handling headers as case-insensitive.  Inspecting oas-validator.js, there is currently no place where the header parameter name key is being lowercased to match, e.g., Express.
This pull includes a modification to the test server's OpenAPI Spec to illustrate the failure, as well as a fix to the OAS-validator.

I think the testing in this repo is broken.  After my first commit https://github.com/isa-group/oas-tools/pull/217/commits/21b6ef1b33512151290a84e4d47da7de64e40665 there are AssertionErrors but all tests were still market as passing. (The second commit in this pull request fixes those failing tests.)
When running the tests after the first commit only, you should see the following AssertionErrors (highlighted with asterisks below) and the tests should fail.
    /POST pets
[object Object]
      ✓ it should throw a 401 code informing that no JWT was provided
[object Object]
      ✓ it should throw a 403 code informing that the provided JWT is not valid
2020-02-28T23:33:33.180Z error: uncaughtException: expected { Object (_events, _eventsCount, ...) } to have status code 201 but got 400
**AssertionError: expected { Object (_events, _eventsCount, ...) } to have status code 201 but got 400**
    at chai.request.post.set.send.end (/Users/patryk.laurent/Desktop/Core/Projects/DMGT/OAS_TOOLS_PATCH/oas-tools/tests/basic.js:694:37)
    at Test.Request.callback (/Users/patryk.laurent/Desktop/Core/Projects/DMGT/OAS_TOOLS_PATCH/oas-tools/node_modules/superagent/lib/node/index.js:716:12)
    at parser (/Users/patryk.laurent/Desktop/Core/Projects/DMGT/OAS_TOOLS_PATCH/oas-tools/node_modules/superagent/lib/node/index.js:916:18)
    at IncomingMessage.res.on (/Users/patryk.laurent/Desktop/Core/Projects/DMGT/OAS_TOOLS_PATCH/oas-tools/node_modules/superagent/lib/node/parsers/json.js:19:7)
    at IncomingMessage.emit (events.js:203:15)
    at endReadableNT (_stream_readable.js:1145:12)
    at process._tickCallback (internal/process/next_tick.js:63:19)
2020-02-28T23:33:33.181Z error: uncaughtException: expected { Object (_events, _eventsCount, ...) } to have status code 201 but got 400
**AssertionError: expected { Object (_events, _eventsCount, ...) } to have status code 201 but got 400**
    at chai.request.post.set.send.end (/Users/patryk.laurent/Desktop/Core/Projects/DMGT/OAS_TOOLS_PATCH/oas-tools/tests/basic.js:694:37)
    at Test.Request.callback (/Users/patryk.laurent/Desktop/Core/Projects/DMGT/OAS_TOOLS_PATCH/oas-tools/node_modules/superagent/lib/node/index.js:716:12)
    at parser (/Users/patryk.laurent/Desktop/Core/Projects/DMGT/OAS_TOOLS_PATCH/oas-tools/node_modules/superagent/lib/node/index.js:916:18)
    at IncomingMessage.res.on (/Users/patryk.laurent/Desktop/Core/Projects/DMGT/OAS_TOOLS_PATCH/oas-tools/node_modules/superagent/lib/node/parsers/json.js:19:7)
    at IncomingMessage.emit (events.js:203:15)
    at endReadableNT (_stream_readable.js:1145:12)
    at process._tickCallback (internal/process/next_tick.js:63:19)
      1) it should POST a pet
2020-02-28T23:33:33.188Z error: uncaughtException: expected { Object (_events, _eventsCount, ...) } to have status code 201 but got 400
**AssertionError: expected { Object (_events, _eventsCount, ...) } to have status code 201 but got 400**
    at chai.request.post.set.send.end (/Users/patryk.laurent/Desktop/Core/Projects/DMGT/OAS_TOOLS_PATCH/oas-tools/tests/basic.js:713:37)
    at Test.Request.callback (/Users/patryk.laurent/Desktop/Core/Projects/DMGT/OAS_TOOLS_PATCH/oas-tools/node_modules/superagent/lib/node/index.js:716:12)
    at parser (/Users/patryk.laurent/Desktop/Core/Projects/DMGT/OAS_TOOLS_PATCH/oas-tools/node_modules/superagent/lib/node/index.js:916:18)
    at IncomingMessage.res.on (/Users/patryk.laurent/Desktop/Core/Projects/DMGT/OAS_TOOLS_PATCH/oas-tools/node_modules/superagent/lib/node/parsers/json.js:19:7)
    at IncomingMessage.emit (events.js:203:15)
    at endReadableNT (_stream_readable.js:1145:12)
    at process._tickCallback (internal/process/next_tick.js:63:19)
**2020-02-28T23:33:33.189Z error: uncaughtException: expected { Object (_events, _eventsCount, ...) } to have status code 201 but got 400**
**AssertionError: expected { Object (_events, _eventsCount, ...) } to have status code 201 but got 400**
    at chai.request.post.set.send.end (/Users/patryk.laurent/Desktop/Core/Projects/DMGT/OAS_TOOLS_PATCH/oas-tools/tests/basic.js:713:37)
    at Test.Request.callback (/Users/patryk.laurent/Desktop/Core/Projects/DMGT/OAS_TOOLS_PATCH/oas-tools/node_modules/superagent/lib/node/index.js:716:12)
    at parser (/Users/patryk.laurent/Desktop/Core/Projects/DMGT/OAS_TOOLS_PATCH/oas-tools/node_modules/superagent/lib/node/index.js:916:18)
    at IncomingMessage.res.on (/Users/patryk.laurent/Desktop/Core/Projects/DMGT/OAS_TOOLS_PATCH/oas-tools/node_modules/superagent/lib/node/parsers/json.js:19:7)
    at IncomingMessage.emit (events.js:203:15)
    at endReadableNT (_stream_readable.js:1145:12)
    at process._tickCallback (internal/process/next_tick.js:63:19)
      2) it should POST a pet without tag


CDS-51349-HTTP Step supports API KEY in the auth header

HTTP Step supports API KEY in the auth header
Harness Developer Pull Request
Thanks for helping us make the Developer Hub better. The PR will be looked at
by the maintainers.
What Type of PR is This?

[ ] Issue
[ ] Feature
[ ] Maintenance/Chore

If tied to an Issue, list the Issue(s) here:

Issue(s)

House Keeping
Some items to keep track of. Screen shots of changes are optional but would help the maintainers review quicker.

[ ] Tested Locally
[ ] Optional Screen Shoot.

Preview environment: https://ci.pr.harness.io/pr-667

Preview environment: https://ci.pr.harness.io/pr-667