in_array() expects parameter 2 to be array, object given

To resolve this (sporadic) error, I hacked SluggableTrait.php line 137
Changed !in_array($slug, $list) to !in_array($slug, (array)$list)
Error
in_array() expects parameter 2 to be array, object given
/home/vagrant/Code/x/vendor/cviebrock/eloquent-sluggable/src/SluggableTrait.php:137
/home/vagrant/Code/x/vendor/cviebrock/eloquent-sluggable/src/SluggableTrait.php:214
/home/vagrant/Code/x/vendor/cviebrock/eloquent-sluggable/src/SluggableServiceProvider.php:57
/home/vagrant/Code/x/vendor/laravel/framework/src/Illuminate/Events/Dispatcher.php:220
/home/vagrant/Code/x/vendor/laravel/framework/src/Illuminate/Events/Dispatcher.php:163
/home/vagrant/Code/x/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php:1636
/home/vagrant/Code/x/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php:1442
/home/vagrant/Code/x/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php:527
/home/vagrant/Code/x/database/seeds/PlacesSeeder.php:51
/home/vagrant/Code/x/tests/seeders/PlacesSeederTest.php:17

HI Larry - was this while using Laravel 5.1?

Yes, I should have mentioned that. My tests were all passing, including those involving your package until I upgraded to 5.1.

Cool, thanks - that means a fix is on the way as it's caused by the eloquent model lists() function returning a Collection instead of an array in 5.1.

Awesome! Thanks for the quick response. :)

Fix was put in place a while ago, so closing this out.  Re-open if you see those errors again, @LarryEitel !


refactor: Path compression for DiscrTree

Trie data structures tend to be very wasteful if one doesn’t apply path compression: If you have a sequence of nodes of degree 1, better put them in a flat array, instead of nested .nodes with singleton arrays.
If applied to the DiscrTree, this would reduce the size of the DiscrTree used by mathlib’s library_search from 217 MB to 41 MB, and the maximum depth from 2596 to 27. The maximum depths was causing stack overflow in mathlib PRs.

Could someone !bench this?
I don't know why the mathlib bot reports failure; that failing file works locally in VSCode here. Maybe some toolchain confusion?

!bench

There were no significant changes against commit https://github.com/leanprover/lean4/commit/2ac782c31593b0abc9ab84f3614895ef14b74e4f.

That’s a bit disappointing. I’ll make mathlib compile, maybe there is something there.

From 237MB to:
$ ls -sh ./build/lib/MathlibExtras/LibrarySearch.extra
58M ./build/lib/MathlibExtras/LibrarySearch.extra

That's at least pretty nice.
What do I have to do to get a speedcenter comparision for mathlib, for https://github.com/leanprover-community/mathlib4/compare/nightly-testing...lean-pr-testing-2577? Do I have to open a PR with that change first?

Results are in: http://speed.lean-fro.org/mathlib4/compare/e7b27246-a3e6-496a-b552-ff4b45c7236e/to/ee9e4caf-7a54-4dc1-a6d9-19101bc7d2d9?hash1=a477df946a0648231b66e5a7f0f04839546ebf25
Mild improvements across the board, it seems?

awaiting-review
Guess we have the data to weigh this idea. The code certainly gets more complex, but the size gains at least for library_search (didn't check the size of other in instances used) are significant, and a 3.5% mathlib compile time improvement is at least nice.
Jovan Gerbscheid pointed out that due to the well-nested structure of key sequences, values are only ever found at the leaves. One could therefore remove the .empty constructor and the recursive argument to .values, and make insertion panic when the key sequence is invalid, for a bit code reduction.

A 3.5% wall clock improvement on mathlib is huge. I don't know how this happened, the instruction count is only down by 0.5% but the branch misses are down 2.5% so maybe the difference is that because discrimination trees are smaller there is less cache usage and shorter pointer chains to follow. Unfortunately cache misses do not seem to be a tracked figure so it is hard to say for sure, but this looks like a strong positive sign.

Are you both looking at the "lint wall-clock" line instead of "build wall-clock"?

I looked at “build compilation” but thinking about it, it probably means just the .c->.o part, so obviously the wrong line 🤦♂
build wall-time is up 0.5%, how unfortunate.

I updated the branches, and created a new comparison report:
http://speed.lean-fro.org/mathlib4/compare/63a60bc6-4997-4dbe-a363-9ceff22def1c/to/1c8d5e96-3fad-4da2-b00c-4b1a63cdc75b
I’m not sure how to best get a good signal from the report.
This time build wall-clock has improved by 0.9% (probably noise). Instruction counts go down through the bank, but less than 1%. All not very exiciting, not sure if this is worth pursuing, it seems only the size improvement to the library_search and rw? cache still look good.

Oh, I think you're underselling. A 1% improvement on Mathlib is still great news, and the size improvements for the caches are a significant QOL win, because they are usually the last to finish when running lake exe cache get.

@nomeata, I'm marking this back to awaiting-author now that there are conflicts.

Absolutely! Although I think I’ll see https://github.com/leanprover/std4/pull/285 (which I also have to update now) through first, so that refactorings like the present only affect one downstream repo, and not three.

I’ll close this. Others are working on DiscrTree more actively these days, have a better sense if this is useful, and if it is, can probably cherry-pick the ideas easily.


Crash, when is trying to sign up with Apple or Google providers

Hi,
I'm experiencing a crash when a new user is created via the Apple or Google provider for the @identity_fn.before_user_created() trigger. The stack trace is as follows:

User authentication is done using firebase-ios-sdk and the source code is the following
try await auth.signIn(with: credential.credential)

I'm using Python 3.11 and firebase functions version 0.11.0. Could you please check the problem?
Best regards,
Yury Hayeu

Hi, yes it is missing

Could you provide sample code of the function you're running?

Hi, it wouldn't even get to the function call, so this should suffice
@identity_fn.before_user_created(id_token=True)
def prepare_user_data(event: identity_fn.AuthBlockingEvent) -> identity_fn.BeforeCreateResponse | None:
   user = event.data
   uid = user.uid

   return identity_fn.BeforeCreateResponse()


fix(tooltip): richText for series-specific formatters #12232

Brief Information
This pull request is in the type of:

[x] bug fixing
[ ] new feature
[ ] others

What does this PR do?

Fix bugs with tooltip textStyle with:
A) In 'html' renderMode:

Enabling text shadow settings with all series

B) In 'richText' renderMode:

Enabling text shadow settings with all series
Enabling font settings with all series
Correcting new line for radar and map series and markers

Fixed issues

#12232

Details
Before: What was the problem?

After: How is it fixed in this PR?

Usage
Are there any API changes?

[ ] The API has been changed.

Related test cases or examples to use the new APIs
NA.
Others
Merging options

[x] Please squash the commits into a single one when merge.

Other information

Some of the change seems to be conflicts with https://github.com/apache/incubator-echarts/pulls?page=2&q=is%3Apr+is%3Aclosed Needs to merge carefully


Added card effect text background

I added a background texture to the cards:

I also replaced the background color of threshold and target with an textures.
Major and Minor cards now also have a coressponding border:

I really like the change. Only 2 minor details:
#1. I would prefer if minor and major modified the card background image rather than using :after as it breaks the "inspect" when looking at the code in the browser.
#2. For the round image in the bottom right corner of the rules text, it would be best if the :after was smaller in size and fixed to the bottom right in order to not break the "inspect".
In any case, I'm going to merge this pull request later. The only part that I will remove is the minor/major for now.

I'm not sure what you mean when you say

breaks the "inspect"

when I us the inspect function in the browser it shows :after and :before without problems.
Putting this in the background will make the HTML easier since no overlay for the cost is needed. But then you would 4 different images. With using the overlay for cost, it could actually go down to one.

Ok I think I get now what you mend.
I fixed the image size on the rule-text overlay.
I also removed the minor major border. But I hope there is a way to get the border back without a drawback.
E.g. instead of adding the border over every thing the boarder could be a normal element in the HTML and the content of the card is just in that HTML element. Just the background must be visible outside of that border... 🤔
But that would propably a different pull request.


Update Post “2019-01-15-doom”

Automatically generated by Netlify CMS

👷 Deploy Preview for stunning-swan-6c3484 processing.

Name
Link

🔨 Latest commit
13e4bf98b68655bd3bda4c133b0c7f0ed5a3d665

🔍 Latest deploy log
https://app.netlify.com/sites/stunning-swan-6c3484/deploys/63901524f43c670009ad5c20


Add back styling to lists within table cells (fixes #1141)

This overrides the Datasette reset - see https://github.com/simonw/datasette/blob/d0fd833b8cdd97e1b91d0f97a69b494895d82bee/datasette/static/app.css#L35-L38 - to add back the default styling of list items displayed within Datasette table cells.
Following this change, the same content as in the original issue looks like this:

Neat fix, thank you!


增加分支事务感知全局事务结果

Why you need it?
Is your feature request related to a problem? Please describe in details
#2500
分支事务感知全局事务结果
How it could be?
A clear and concise description of what you want to happen. You can explain more about input of the feature, and output of it.
业务场景：如成功后发送消息
Other related information
Add any other context or screenshots about the feature request here.
如果TransactionHook能支持分支事务就更好了

咱们有相关的示例可以提供下么，thanks

有相同的需求，在分支事务中想等全局事务提交后再发MQ

有相同的需求，在分支事务中想等全局事务提交后再发MQ

大佬最后咋解决的啊


Localized string not working - Xcode 11, Swift 5

I created a new project with Xcode 11 and Swift 5 and Localizable string is not working at all.

Hi, it's working on my end, using Swift 5.1.3 with Xcode 11.3.1, in a brand new project. Can you elaborate on your issue? What's not working exactly?
Cheers

Hey, thanks for reaching out.
So I have a Localizable.strings in my Xcode project which has been added to targets and compiles just fine as well. However, R.swift is not picking it up. I had no problem with this prior to swift 5.
So basically I don't have the string option - R.strings
Can you please list the steps you took?

Hi,
When you say "added to target", is it as in the "Target Membership" checkbox is selected when you select the Localizable.strings file?
Also, did you make sure you have Run Script before "compile sources" and after the "Check Pods Manifest"?
If rswift is being called, where is your R.generated being written to? Are you sure it's in the folder you expect it to be?
Did you drag it into your Xcode project? And if yes, double check that it's not writing an R.generated.swift file somewhere else in your project.
The steps I took are pretty much outlined in the README file (using cocoa pods).
If you still can't figure it out, consider creating a brand new project just to follow the steps in the README file for the R.swift installation, something will click I'm sure.
Cheers

@Dnathan33 Thanks for using R.swift. Hopefully the steps above have fixed your issue. If not, let us know!
@tarjamorgado Thank you for your helpful comments!


feat: use updateMySocials not updateUserFlag

Checklist:

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the main branch of freeCodeCamp.
[x] I have tested these changes either locally on my machine, or GitPod.

After https://github.com/freeCodeCamp/freeCodeCamp/pull/46378 goes in, I'll update this to remove any reference to updateUserFlag

Yo! This has been sitting here. Do you want to give this a quick rebase and see if we can add this to the review queue?

This now removes the last of updateUserFlag from the client.  After this is deployed we can finally remove the endpoint.
Sorry for the delay, Mrugesh!

The api is fine with these changes, but should be updated after we've deployed.  Otherwise it'll keep dutifully creating isGithub and so on, only to be ignored by the client.

It seems like we are not doing much when we execute updateMyThemeError, but that is for another pr.


Task to write build result to GitHub comment

Required Information
Entering this information will route you directly to the right team and expedite traction.
Question, Bug, or Feature?
Type: Feature
Enter Task Name: here
list here (V# not needed):
https://github.com/Microsoft/azure-pipelines-tasks/tree/master/Tasks
Environment

Server - Azure Pipelines or TFS on-premises?

If using TFS on-premises, provide the version:

If using Azure Pipelines, provide the account name, team project name, build definition name/build number: pandas-dev/pandas

Agent - Hosted or Private: Hosted

Issue Description
Once a PR is open, and after the CI runs, it would be nice to be able to post the result of the builds as a GitHub comment.
See for example here, how  the GitHub application pep8speaks posts a comment with the result of their validations: https://github.com/pandas-dev/pandas/pull/26894
Couldn't find a task for that, and it's not possible to write a custom script, since accessing the GitHub API directly would require an authentication token (PR builds can't access secret variables, so we can't store the token).
Is it possible to do this? Can it be implemented as a task?

I'm also looking for this.

You could use this task: https://github.com/microsoft/azure-pipelines-tasks/tree/master/Tasks/GitHubCommentV0

You could use this task: https://github.com/microsoft/azure-pipelines-tasks/tree/master/Tasks/GitHubCommentV0

That task doesn't have documentation, so it's difficult to tell for sure. But the task is to write a github comment, and that's not the main issue, the main issue is to access the results of all the jobs in the build.

The task takes the contents as an input. You could draft the contents of the jobs using output variables, in most of the cases I presume.

AFAIU, that task is available via Azure DevOps UI, see https://stackoverflow.com/a/66810491/151641


[Bug]: ReactiveValidationObject doesnt work with latest DynamicData version

Describe the bug 🐞
I think this bug already happened once: ReactiveValidationObject doesnt work with latest DynamicData version
When I upgrade the dynamicdata package from 8.4.1 to 9.0.1 I get this bug again with the error message: Exception thrown: 'System.MissingMethodException' in ReactiveUI.Validation.dll
Step to reproduce
I guess any viewmodel with a ReactiveValidationObject base class from packages ReactiveUI.Validation 4.0.9 and dynamicdata 9.0.1
Reproduction repository
No response
Expected behavior
no Exceptions
Screenshots 🖼
No response
IDE
Visual Studio 2022
Operating system
windows 11
Version
No response
Device
No response
ReactiveUI Version
ReactiveUI.Validation 4.0.9
Additional information ℹ
No response

Confirmed. Anyone pulling in DynamicData 9 through the latest ReactiveUI Version will hit this crash when using Validation.


I don't see icons

Hi,
Would you explain more?

I just installed a component with a normal view and there are no icons, maybe they need to be installed separately?

Are you use font awesome in your project?
In the icon field, we put font awesome icon.


Option to generate self-signed cert

$title

https://www.digitalocean.com/community/tutorials/how-to-create-a-self-signed-ssl-certificate-for-nginx-in-ubuntu-16-04

In which case, SSL stapling needs to be turned off.
#ssl_stapling on;
#ssl_stapling_verify on;

Otherwise it emits warnings during reloads.

Might as well disable SSL-less mode, makes no sense if we already have self-signed.

What should be the location? /etc/acme is consistent, but it's misleading as this would have nothing to do with ACME.
Also, should this be a separate role or not?


Humanize labels in the Ukrainian language

This set of edits corrects some labels in the Ukrainian language for them to sound more natural to a native speaker.
The change also aims to ensure the consistency of the app-specific language (e.g., "revision" to be consistently translated
as "версія", "revert" to be consistently translated as "відновити", and "summary" as "резюме").
Also, some past tense verbs and adjectives are corrected to be gender-neutral. (Arguably, there are better ways to do it,
e.g., via restructuring the sentence to avoid the need for a gender-accorded form, but it is acceptable to just list both masculine&feminine
forms like this "переглянув/переглянула" or like this "переглянув(-ла)").

@googlebot I signed it!
Надіслано з iPhone

7 лип. 2020 р. о 07:49 googlebot<EMAIL_ADDRESS>пише:

Thanks for your pull request. It looks like this may be your first contribution to a Google open source project (if not, look below for help). Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).
📝 Please visit https://cla.developers.google.com/ to sign.
Once you've signed (or fixed any issues), please reply here with @googlebot I signed it! and we'll verify it.
What to do if you already signed the CLA
Individual signers
It's possible we don't have your GitHub username or you're using a different email address on your commit. Check your existing CLA data and verify that your email is set on your git commits.
Corporate signers
Your company has a Point of Contact who decides which employees are authorized to participate. Ask your POC to be added to the group of authorized contributors. If you don't know who your Point of Contact is, direct the Google project maintainer to go/cla#troubleshoot (Public version).
The email used to register you as an authorized contributor must be the email used for the Git commit. Check your existing CLA data and verify that your email is set on your git commits.
The email used to register you as an authorized contributor must also be attached to your GitHub account.
ℹ Googlers: Go here for more info.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

Thank you adehtiarov@!


Initial progress

TODO: try https://github.com/Unidata/netcdf-c/pull/2492/ here.

-- Building Shared Libraries:     ON

We should turn off shared libraries if possible.

Linux todo: use ITK's HDF5:

-- Linking against:      hdf5_cpp-shared;hdf5-shared;/usr/lib/x86_64-linux-gnu/libm.so;itkzlib;/usr/lib/x86_64-linux-gnu/libzip.so;/usr/lib/x86_64-linux-gnu/libbz2.so;libcurl;/usr/lib/x86_64-linux-gnu/libxml2.so

ZSTD Support:           no

-> yes
https://open.cdash.org/build/8154414/configure

CMake Error at CMakeLists.txt:55 (add_library):
add_library cannot create ALIAS target "ZLIB::ZLIB" because target
"itkzlib" is imported but not globally visible.

For OpenSSL errors, try installing OpenSSL beforehand:
https://github.com/dockcross/dockcross/blob/96d87416f639af0204bdd42553e4b99315ca8476/imagefiles/build-and-install-openssl.sh
Maybe curl on Linux:
https://github.com/dockcross/dockcross/blob/96d87416f639af0204bdd42553e4b99315ca8476/imagefiles/build-and-install-curl.sh

Closing this PR, as I just pushed version ab1a5a47d0ad625232a29943f0861477f7079f42 to master which works fairly well.


Bug: Converting HTML to Lexical Nodes strips text alignment from paragraphs

Lexical version: 0.15.0
Steps To Reproduce

Create a new block element lexical node and register an importDOM on "div".
Using the HTML:

Hello world!

, pass it through $generateNodesFromDOM
You'll see the format property of our paragraph node will be set incorrectly to "0".

This is where the bug is coming from: https://github.com/facebook/lexical/blob/2dac7f5c4751bf772bf573ad7e3665e1482a5bfd/packages/lexical-html/src/index.ts#L324
if ($isBlockElementNode(node)) {
  node.setFormat(textAlign);
  out.push(node);
}

Is the node.setFormat line necessary? If it is, perhaps something like:
if (!node.getFormat()) node.setFormat(textAlign);

The current behavior
The paragraph node's alignment is being overwritten by the div's unset alignment.
The expected behavior
If alignment (i.e. format) is set on the paragraph, it should take precedence over its parent block format property.

+1


Strange crash

I'm trying to deserialize a custom data-class with various members.
I just tried gson.fromJson<MyType>(...) without any custom deserializers, but I keep getting a strange segfault (libc, not an exception that I can catch).
When I call gson.fromJson<MyType>('{}') i get the correct type (with defaults set).

I have no idea.... Never encountered this.
There's no JNI neither in kotson nor in Gson, so this is a JVM bug...

I think it happens because the type of one of my members is an interface, so kotson/gson can't figure out the time. Maybe java tries to instantiate the kotlin interface and crashes?

I just tried this scenario, and it gives a proper exception RuntimeException : "Unable to invoke no-args constructor for interface com.github.salomonbrys.kotson.Itf. Register an InstanceCreator with Gson for this type may fix this problem."

Oh, I should have mentioned that I'm running on android. Big sorry. O.o.
This crashes:
/* MainActivity.java */

@Override
protected void onResume() {
   super.onResume();
   TestKt.restore(this);
}

/* Test.kt */

interface TestInterface {}

class TestClass() : TestInterface {}

data class Test(
    val member: TestInterface = TestClass()
)

fun restore(activity: Activity) {
    val test = Gson().fromJson<Test>("{\"member\":{}}");
}

Gives me:
 Fatal signal 11 (SIGSEGV), code 1, fault addr 0x6f0095 in tid 29300 (fab1ans.app)

I reposted this into kotlin discussion forums: https://discuss.kotlinlang.org/t/jvm-crash-on-android-when-using-kotlin-kotson-gson-library/1677

I've investigated based on the code you gave, and this is a Gson / Android issue.
It is not related to Kotlin or Kotson (I've replicated the same crash with only java code).
It is because Gson tries to instanciate an interface, (in this case, TestInterface). While the JVM would throw an exception, Android juste crashes...
It appears the issue has been fixed, and will be part of Gson's next release :)
However, even once the crash is fixed, it will still throw an issue: if you wish to deserialize an interface, you must register a deserializer! Gson has no way of knowing which concrete type it should create in place of the interface.

Great news ! Gson 2.7 is out with the aforementioned fix and can be used with Kotson 2.3.0 :)


Tests are missing

In #2 I mentioned that rand_str only returns 0 or 1 characters. Unit tests would have caught that early on. I know ramen isn't meant to trick the NSA or anything like that, but it's good to get in the habit of writing test suites anyway. 🙂

As you mentioned, this was really just an experiment and a way to kill some time. I will implement test cases in the future, but I will not be adding them to RAMEN.


auth: Add support for token authentication for participants

We should receive some kind of token in the URL that should be a direct login token in the application.
See if we could re-use the passwordless authentication for this. Or something similar.

Fixed with #447


Add some stuff in the section propositionnal calculus

I tried to correct the English mistakes and typo

I will merge your 2nd PR. Thanks!


List gulp-cli as a prerequisite

If gulp-cli is not installed globally the "npm install" command will fail on the postinstall
"postinstall": "typings install && gulp check.versions && npm prune && gulp webdriver",
Would be helpful to newcomers if documentation mentioned that gulp-cli should be installed
npm install -g gulp-cli

I did not install gulp before and npm install worked fine for me

Global gulp dependency should not be required. npm uses executables from ./node_modules/.bin and since it's postinstall script gulp should be already available there.


Please add hotkey to show/hide the hidden bar

I'll close this as this feature has been implemented in pr #41


DatastoreDb API improvements

Suggest reviewing one commit at a time.
After this, we still want to:

Do similar things to DatastoreTransaction (I suspect)
Maybe add async overloads taking a CancellationToken, although we can't do this universally - for methods that already have an optional parameter, we can't add a required parameter at the end.

I'm not sure why we've got all these xproj changes, but I suspect they'll come back even if I get rid of them manually now - let me know if you'd like me to try to split them out into a separate PR.

Have made all the methods virtual now - @chrisdunelm was there anything else, or shall I merge now?

LGTM :)


DestinationRule Analyzer against no caCertificates

#Ref: https://github.com/istio/istio/issues/25652
Cherrypick to 1.6 and 1.5(if analyzer exists)
edit: Analyzer exists in 1.5, so we can cherrypick to 1.5 too

@nschhina: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

release-notes_istio
ecf03f0ae28cd39f042af165b7c5a1206dde3482
link
/test release-notes_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/test release-notes_istio

cc: @myidpt  @JimmyCYJ  @howardjohn

This is great! Thanks @nschhina

@therealmitchconnors this is a security vulnerability to it's important that we cherrypick this back as advised by product-security team and security wg also wants this to be backported. As for 1.7 we are still not sure how we want to approach this, we'll be discussing this in today's security wg meeting and then decide

So just had the working group meeting and we've decided to cherrypick this to 1.5,1.6 and 1.7 and implement a proper fix in 1.8 release. @therealmitchconnors any particular concerns with cherrypicking this back to 1.5 and 1.6 given this is a security issue and it's desirable this information is propagated to end users

@nschhina is the analyzer the only patch for this vulnerability?  We don't have any history of patching istioctl for vulnerabilities, and I don't think we have previously published guidance asking users to update istioctl when they update their control plane on a patch version.

This is just to be used as medium to guide the end user regarding this "issue", there is another patch which involves using environment variables to enable fallbacks, so when that patch is cleared we can update the error to point the user to enable the fallback. This is an effort to completely disable such deployments slowly and slowly in the future as this is a breaking change.

@therealmitchconnors  I wouldn't say we're patching istioctl for vulnerability, it's just something that should have existed in 1.5-1.6 anyways. But it being a breaking change we can't really enforce this during istiod validation. Will people who are using 1.5 and 1.6 start seeing this error if they run analyzer suddenly- yes. But that's the point, this already exists in API documentation but seems like nobody is reading the fine print :/

I'm not worried about a new message showing up unexpectedly.  I am worried that users who patch their istio installation may not patch istioctl as well.  I think a lot of users only update istioctl when they upgrade a minor version, meaning porting this to 1.5 and 1.6 will not be visible to most users...
Also, if this change is only for 1.5 and 1.6, we should make the commit directly to those branches, rather than to master, so that this doesn't unexpectedly show up in 1.8 after skipping 1.7

Oh we're not skipping 1.7, I didn't explain right, For 1.5-1.7 it'll be this analyzer + environment variable to opt into defaulting which the analyzer would suggest. By 1.8 we'll probably have a better fix

what do you suggest we do for those minor
releases

@nschhina: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

integ-ipv6-k8s-tests_istio
61268129fa9edba52f86f61449be55232fe361ee
link
/test integ-ipv6-k8s-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/test integ-ipv6-k8s-tests_istio

@therealmitchconnors we would like this to go into 1.7 and master, could you let us know how to proceed?

In response to a cherrypick label: new pull request created: #26088

In response to a cherrypick label: #25755 failed to apply on top of branch "release-1.5":

In response to a cherrypick label: new issue created for failed cherrypick: #26089

In response to a cherrypick label: #25755 failed to apply on top of branch "release-1.6":

In response to a cherrypick label: new issue created for failed cherrypick: #26090

We should also add an analyzer for SAN verification being skipped. Thanks for this great analyzer!


Language Support

Is there a remote possibility to have language support at least on card search by name? (Maybe explicitly specifying the language). AFAIK Gatherer lets you change the language on the whole site only, if this is done via a cookie, maybe it can be replicated.

Is there a remote possibility to have language support at least on card search by name?

Are there URLs which include card names in languages other than English? For example, is there a non-English equivalent of http://gatherer.wizards.com/Pages/Card/Details.aspx?name=Lightning Bolt?

Apparently just by Multiverse ID (which is indeed different).
http://gatherer.wizards.com/Pages/Card/Details.aspx?multiverseid=224905 (Spanish)
http://gatherer.wizards.com/Pages/Card/Details.aspx?multiverseid=205227 (English)
Both from M11, is there a way to access the different languages of the printings of the card after a search by name? Maybe to provide the options.

There's a cookie named CardDatabaseSettings. Here's its value with my default settings (English):
0=0&1=28&2=0&14=1&3=13&4=0&5=1&6=15&7=0&8=1&9=1&10=19&11=4&12=8&15=1&16=0&13=
      ^^

After switching my preferred language to Spanish:
0=0&1=es-ES&2=0&14=1&3=13&4=0&5=1&6=15&7=0&8=1&9=1&10=19&11=4&12=8&15=1&16=0&13=
      ^^^^^

Are you interested in working on a pull request, @phrozen?


Class table

Hello @hjalmers ,
I want to know if it's possible to add a parameter to specify the use of bootstrap table class because i have a specific style for my table ?
Thank you.

Generic table has no dependency to bootstrap so you can use whatever you like, I’ve just used it in the examples as it’s a popular framework used by a lot of people. You can add whatever classes you like to the table element with gtClasses. There’s also two field properties that can be used to add certain class names to tr and to elements, rowClass and columnClass. Hope that answers your question:)
.


IPv4/single: Call DNS callback routines while scheduler is not suspended

Description
This PR is quite similar to my earlier #250., which was merged with ipv6_multi.
When using FreeRTOS_gethostbyname_a(), an IP address will be looked up "asynchronously". The lookup will be started from the user task, and it will be finished by the IP-task.
When the lookup is ready, or after a time-out, the IP-task will call the DNS application hook, as indicated by the user:
uint32_t FreeRTOS_gethostbyname_a(
                const char * pcHostName, // The name of the host to be looked up
                FOnDNSEvent pCallback,   // Application hook, called when ready
                void * pvSearchID,       // An ID that will be passed when calling the hook
                TickType_t uxTimeout );  // A time-out in clock ticks

While iterating through the list of outstanding DNS lookups, it is necessary to suspend the scheduler: it is possible that List_t xCallbackList is accessed from 2 tasks.
Until now, the function pCallback was called while the scheduler is suspended. That is not necessary, and it can be disturbing for user.
This PR will change that behaviour: the scheduler will be running while the application hook is called.
Test Steps
I tested by using FreeRTOS_gethostbyname_a() both for a successful lookup, and for a lookup that timed out.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

This function is merged in IPv6 dev branch and we're going to merge IPv6 back to main in the near future.
Close this PR in advance.


kinetic: Promotions: Discount is not being reflected in Cart Session

https://www.loom.com/share/8a6cc993db1c485e8d2cd829a1464a3e
built an active order Level promotion that would take off $17 off $25 or more
but am not seeing that discount reflected in the storefront or in the cart session ( mongo db : reaction.Cart)
the only active promotion in Kinetic is the $17 off Promotion, every other promotion is disabled
example: add an item to the cart, see a discount of $5 taken off ( in storefront cart, and in mongo reaction.Cart), not $17, double quantity in cart, see the discount update to $10 in storefront cart and mongo: reaction.Cart
having all promotions disabled, I still see the $5 per item discount on the Rugged Outdoor Running Shoe

on branch feat/enable-promotions
all promotions have been disabled
and initiated a new cart,
and am seeing a promotion still apply,
the promotion in the database says says enable = false which matches the UX, but it says the promotion is still applying

@vanpho93 Can you take a look at this ASAP?

This is in the Kinetic repo but it does not seem like a UX issue so transferring it to Reaction


mobile: add home page title and description

Done!

@StoliarskyiKostiantyn it's not showing the page title and description for me in this page

Fixed!


[TCE] Update TCE generator to add locale to config

We now explicitly set supported locales in application.rb, add this
step to the generator so it is no longer manual

@mofo37 this is to get rid of the manual step i mentioned earlier


Removed unused image assets

Fixes #396 by @dhruvkb

Description

Removed unused image assets (including SVGs, JPGs and PNGs) from src/assets/
Testing Instructions

Checklist

[X] My pull request has a descriptive title (not a vague title like Update index.md).
[X] My pull request targets the default branch of the repository (main) or a parent feature branch.
[X] My commit messages follow best practices.
[ ] My code follows the established code style of the repository.
[ ] I added or updated tests for the changes I made (if applicable).
[ ] I added or updated documentation (if applicable).
[X] I tried running the project locally and verified that there are no visible errors.

Developer Certificate of Origin

Developer Certificate of Origin
Developer Certificate of Origin
Version 1.1

Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
1 Letterman Drive
Suite D4700
San Francisco, CA, 94129

Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.

Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I
    have the right to submit it under the open source license
    indicated in the file; or

(b) The contribution is based upon previous work that, to the best
    of my knowledge, is covered under an appropriate open source
    license and I have the right under that license to submit that
    work with modifications, whether created in whole or in part
    by me, under the same open source license (unless I am
    permitted to submit under a different license), as indicated
    in the file; or

(c) The contribution was provided directly to me by some other
    person who certified (a), (b) or (c) and I have not modified
    it.

(d) I understand and agree that this project and the contribution
    are public and that a record of the contribution (including all
    personal information I submit with it, including my sign-off) is
    maintained indefinitely and may be redistributed consistent with
    this project or the open source license(s) involved.

How to add aspect: code and goal: internal improvements labels?

@dhruvkb I checked a few times But all the images are used somewhere. Can you please share 1-2 more images that aren't used?

The provider logos in src/assets/ (file names containing suffix logo.svg) are also unused now. I think they can safely be removed.


Could we use MINIO as database ？

Describe the bug
When I use Minio's S3 storage, it seems to be unusable, with an error message saying "http: server gave HTTP response to HTTPS client." However, my Minio is already configured with TLS. Is this an operational issue on my part 🤡, or does the otherwise excellent Memos not support using Minio as S3 storage 😭?
Steps to reproduce
memos:

MINIO:

error:

The version of Memos you're using
v0.22.2
Screenshots or additional context
No response

Well, MINIO is available in S3 Browser:

The complete error message?

Error as below:
failed to save resource blob: Failed to upload via s3 client: operation error S3:
PutObject, https response error StatusCode: 0, RequestID: , HostID: , request send failed,
Put "https://memos-bucket.picture.alvinthe.tech:9500/assets/1720347865_IMG_20230330_080544.jpg?x-id=PutObject":
dial tcp: lookup memos-bucket.picture.alvinthe.tech on <IP_ADDRESS>:53: no such host

Prompt message:
The access link for MINIO's public bucket is:
https://picture.alvinthe.tech:9500/pictures/2023/12/15/202312151051389.png

The domain name of the server where MINIO is deployed is:
picture.alvinthe.tech

Storage information for memos(error):

Storage information in S3browser(healthy):

Could this be easily solved? Minio's local deployment of S3 is very convenient. It would be even more flexible if it were compatible with minio storage!🤩🏔

My version is v0.22.2. I can use Minio, but I can't upload files. The files uploaded before can be downloaded correctly.

My version is v0.22.2. I can use Minio, but I can't upload files. The files uploaded before can be downloaded correctly.

Could you tell me how you configured the parameters? Would it be possible for you to send a screenshot?😼

My version is v0.22.2. I can use Minio, but I can't upload files. The files uploaded before can be downloaded correctly.

Could you tell me how you configured the parameters? Would it be possible for you to send a screenshot?😼

There is no problem with your S3. In fact, it is an official problem. The problem is the same as
https://github.com/usememos/memos/issues/3601

First MinIO must serve the bucket in vhost style, not path style. MINIO_DOMAIN=mydomain.com, configure your reverse proxy / webserver to this. Your bucket is then available under https://bucketname.yourminio.domain
Avoid special characters for password or encode them as described in the docs
It works, here is my config example
The endpoint is the base domain without the bucket name https://domain.com

I hope this helps

@Gavincent1
参考Morethanevil的试一下

For Nginx your file should look like this:
server {
   listen       443;
   listen  [::]:443;
   server_name  .mydomain.com;
.........

Important is the dot in front of the domain ☝🏻
It means including all subdomains, because in vhost style MinIO automaticly creates a subdomain based on the bucket name. In my case memos.mydomain.com

For Nginx your file should look like this:
server {
   listen       443;
   listen  [::]:443;
   server_name  .mydomain.com;
.........

Important is the dot in front of the domain ☝🏻 It means including all subdomains, because in vhost style MinIO automaticly creates a subdomain based on the bucket name. In my case memos.mydomain.com

Set the MINIO _ DOMAIN in the environment variable, right?
The mydomain. Com then points to the MinIO API?
Then I'll try to thank you for the fact that there are few things to be saved and they have been converted into databases, but I'm still willing to toss about.

I succeeded, and the reason for the previous failure was that there was no proper SSL certificate.
 Port 9950 is the port which nginx listens to  and then it streams the requests to MinIO (port 80 and 443 are used by my reverse proxy and the reverse proxy points to 9950). Port 9980 is the MinIO-API port and 9970 the port of the console. If you run nginx and MinIO in docker, you need to replace localhost with the correct names or IPs from your container. I use nginx and MinIO baremetal.
server {
   listen       9950;
   listen  [::]:9950;
   server_name  .mydomain.com;

   # Allow special characters in headers
   ignore_invalid_headers off;
   # Allow any size file to be uploaded.
   # Set to a value such as 1000m; to restrict file size to a specific value
   client_max_body_size 0;
   # Disable buffering
   proxy_buffering off;
   proxy_request_buffering off;

   location / {
      proxy_set_header Host $http_host;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header X-Forwarded-Proto $scheme;

      proxy_connect_timeout 300;
      # Default is HTTP/1, keepalive is only enabled in HTTP/1.1
      proxy_http_version 1.1;
      proxy_set_header Connection "";
      chunked_transfer_encoding off;

      proxy_pass http://localhost:9980; # This uses the upstream directive definition to load balance
   }

   location /minio/ui {
      rewrite ^/minio/ui/(.*) /$1 break;
      proxy_set_header Host $http_host;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header X-Forwarded-Proto $scheme;
      proxy_set_header X-NginX-Proxy true;

      # This is necessary to pass the correct IP to be hashed
      real_ip_header X-Real-IP;

      proxy_connect_timeout 300;

      # To support websockets in MinIO versions released after January 2023
      proxy_http_version 1.1;
      proxy_set_header Upgrade $http_upgrade;
      proxy_set_header Connection "upgrade";

      chunked_transfer_encoding off;

      proxy_pass http://localhost:9970; # This uses the upstream directive definition to load balance
   }
}

I succeeded, and the reason for the previous failure was that there was no proper SSL certificate. And then you can try it. @duckgun13476

The Minio I deployed which is using its own built-in SSL for deployment, so the structure cannot be modified. Later, I will try to modify it to use Nginx as a proxy and see if it works.👍

@Gavincent1

参考Morethanevil说的加上MINIO_DOMAIN，然后设置好其他的就行了

我已经试过了，并没有起作用，提示状态404 路径访问方式一切正常

我这边设置好了以后没有问题，我是用的Nginx Proxy Manager然后我的设置如下
`
MinIO API: https://share.xxx.xxx:2534
WebUI: https://drive.xxx.xxx:2534
环境变量MINIO_DOMAIN = share.xxx.xxx:2534
Endpoint = https://share.xxx.xxx:2534
NPM中新增设置 *.share.xxx.xxx指向http://<IP_ADDRESS>:9002
NPM中原有设置 share.xxx.xxx指向http://<IP_ADDRESS>:9002
`

非常感谢你的配置示例，我有点明白是怎么回事了，我需要想想我需要怎么配置，因为我是在群晖自带的反向代理中搭建的MinIO。

failed to save resource blob: Failed to upload via s3 client: operation error S3:
PutObject, exceeded maximum number of attempts, 3, https response error StatusCode: 0, RequestID:
, HostID: , request send failed, Put "https://memos-data.picture.alvinthe.tech:2443/assets/1721309928_%E5%B1%8F%E5%B9%95
%E6%88%AA%E5%9B%BE%202023-06-16%20111437.png?x-id=PutObject":
dial tcp [2409:873b:2535:2811::1030]:2443: connect: cannot assign requested address

😭
I still cannot use the vhost mode and encountered the above error. I suggest adding a way to access with path-style. Absolute paths do not require defining subdomains, and they are very compatible. The code modification should only require adjusting the access structure:
😭

I looked at the code of plugin/storage/s3/s3.go and used AI to explain the code, and found that the AWS SDK defaults to Virtual Hosted Style, but it is possible to add a configuration item to explicitly specify the use of Path Style. However, this requires adding an option in the S3 settings interface, which I don't know much about
The modified code for s3.go provided by AI is, but this fixed uses Path Style:
client := s3.NewFromConfig(cfg, func(o *s3.Options) {
o.BaseEndpoint = aws.String(s3Config. Endpoint)
o. UsePathStyle=true //Setting to true means using Path Style
})

@Gavincent1

参考Morethanevil说的加上MINIO_DOMAIN，然后设置好其他的就行了

我已经试过了，并没有起作用，提示状态404 路径访问方式一切正常

我这边设置好了以后没有问题，我是用的Nginx Proxy Manager然后我的设置如下
MinIO API: https://share.xxx.xxx:2534 WebUI: https://drive.xxx.xxx:2534 环境变量MINIO_DOMAIN = share.xxx.xxx:2534 Endpoint = https://share.xxx.xxx:2534 NPM中新增设置 *.share.xxx.xxx指向http://<IP_ADDRESS>:9002 NPM中原有设置 share.xxx.xxx指向http://<IP_ADDRESS>:9002

非常感谢你的配置示例，我有点明白是怎么回事了，我需要想想我需要怎么配置，因为我是在群晖自带的反向代理中搭建的MinIO。

我已经实现了vhost的访问方式，但是还是上传失败了。你们有遇到这个问题吗？

@WyInnovate

@Gavincent1

参考Morethanevil说的加上MINIO_DOMAIN，然后设置好其他的就行了

我已经试过了，并没有起作用，提示状态404 路径访问方式一切正常

我这边设置好了以后没有问题，我是用的Nginx Proxy Manager然后我的设置如下
MinIO API: https://share.xxx.xxx:2534 WebUI: https://drive.xxx.xxx:2534 环境变量MINIO_DOMAIN = share.xxx.xxx:2534 Endpoint = https://share.xxx.xxx:2534 NPM中新增设置 *.share.xxx.xxx指向http://<IP_ADDRESS>:9002 NPM中原有设置 share.xxx.xxx指向http://<IP_ADDRESS>:9002

非常感谢你的配置示例，我有点明白是怎么回事了，我需要想想我需要怎么配置，因为我是在群晖自带的反向代理中搭建的MinIO。

我已经实现了vhost的访问方式，但是还是上传失败了。你们有遇到这个问题吗？
@WyInnovate

看着像是文件上传超过了限制大小，你看看哪里设置的有问题

@Gavincent1

参考Morethanevil说的加上MINIO_DOMAIN，然后设置好其他的就行了

我已经试过了，并没有起作用，提示状态404 路径访问方式一切正常

我这边设置好了以后没有问题，我是用的Nginx Proxy Manager然后我的设置如下
MinIO API: https://share.xxx.xxx:2534 WebUI: https://drive.xxx.xxx:2534 环境变量MINIO_DOMAIN = share.xxx.xxx:2534 Endpoint = https://share.xxx.xxx:2534 NPM中新增设置 *.share.xxx.xxx指向http://<IP_ADDRESS>:9002 NPM中原有设置 share.xxx.xxx指向http://<IP_ADDRESS>:9002

非常感谢你的配置示例，我有点明白是怎么回事了，我需要想想我需要怎么配置，因为我是在群晖自带的反向代理中搭建的MinIO。

我已经实现了vhost的访问方式，但是还是上传失败了。你们有遇到这个问题吗？
@WyInnovate

看着像是文件上传超过了限制大小，你看看哪里设置的有问题

我设置的是上传60MB大小，然后实际只上传了一张几百KB的图片就提示这个报错

@Gavincent1
参考Morethanevil说的加上MINIO_DOMAIN，然后设置好其他的就行了

我已经试过了，并没有起作用，提示状态404 路径访问方式一切正常

我这边设置好了以后没有问题，我是用的Nginx Proxy Manager然后我的设置如下 MinIO API: https://share.xxx.xxx:2534 WebUI: https://drive.xxx.xxx:2534 环境变量MINIO_DOMAIN = share.xxx.xxx:2534 Endpoint = https://share.xxx.xxx:2534 NPM中新增设置 *.share.xxx.xxx指向http://<IP_ADDRESS>:9002 NPM中原有设置 share.xxx.xxx指向http://<IP_ADDRESS>:9002

我成功在0.22.3版本中使用MinIO存储了，这太棒了，现在就差可以设置URL前缀就可以将正式环境升级到最新本了。
最后说一句我是在群晖中搭建的memos和MinIO。

啥URL前缀？现在neosmemo/memos:stable就是0.22.3版本吧
你都搞了啥现在可以用了，上次不是上传不了图片吗？解决了？
@Gavincent1

Using MinIO's built-in TLS does not allow for vhost mode; Nginx must be used instead. This is because MinIO's vhost mode requires defining a domain name that includes all subdomains of the containers to function properly. In the case of self-deployed MinIO, certificates that include subdomains might be costy, which goes against the intention of using open-source projects. While using Nginx is a feasible solution, it exceeds the purpose of deploying this project. Therefore, my solution is to mount an NFS NAS storage to the container path and use local storage. If you still want to use local storage, you can start a Docker deployment of MinIO on your local server and access it via the local IP address; accessing locally poses no security issues and allows S3 access. However, this approach seems pointless since using local storage appears faster. Thus, there are three solutions for this part:

Use an Nginx proxy to deploy and enable vhost mode access;
Deploy a local MinIO image service to utilize local vhost mode;
Suggest that the author add functionality for absolute path access in S3 storage, which should be simple—just need to backport it into the container.

#3740 I opened a new suggestion issue because it can no longer be defined as a bug; instead, it's a compatibility issue that needs improvement.

If my Memos and MINIO are on the same server, is using local storage a better choice?

If my Memos and MINIO are on the same server, is using local storage a better choice?

Yeah, with a small amount of content, local storage performs better. However, in the case of millions of images, S3 seems faster. But how long will it take us to upload millions of images?🧐

啥URL远端？现在neosmemo/memos:stable就是0.22.3版本吧 你都搞了啥现在可以用了，上次不是上传不了图片吗？解决了吗？ @Gavincent1

上传不了图片是因为使用Mysql版本的有个bug，不过现在解决了，详细 #3718
URL前缀类似于可以给S3文件自定义一个访问域名，这个域名不是MinIO节点域名，例如：给MinIO套上一个CDN域名，在上传的时候使用MinIO节点域名，然后访问的时候是使用CDN域名。

I looked at the code of plugin/storage/s3/s3.go and used AI to explain the code, and found that the AWS SDK defaults to Virtual Hosted Style, but it is possible to add a configuration item to explicitly specify the use of Path Style. However, this requires adding an option in the S3 settings interface, which I don't know much about The modified code for s3.go provided by AI is, but this fixed uses Path Style:
client := s3.NewFromConfig(cfg, func(o *s3.Options) {
o.BaseEndpoint = aws.String(s3Config. Endpoint)
o.UsePathStyle=true //Setting to true means using Path Style
})

@Zeng1998

I looked at the code of plugin/storage/s3/s3.go and used AI to explain the code, and found that the AWS SDK defaults to Virtual Hosted Style, but it is possible to add a configuration item to explicitly specify the use of Path Style. However, this requires adding an option in the S3 settings interface, which I don't know much about The modified code for s3.go provided by AI is, but this fixed uses Path Style:
client := s3.NewFromConfig(cfg, func(o *s3.Options) {
o.BaseEndpoint = aws.String(s3Config. Endpoint)
o.UsePathStyle=true //Setting to true means using Path Style
})

@Zeng1998

I recompile use the code .it works

I looked at the code of plugin/storage/s3/s3.go and used AI to explain the code, and found that the AWS SDK defaults to Virtual Hosted Style, but it is possible to add a configuration item to explicitly specify the use of Path Style. However, this requires adding an option in the S3 settings interface, which I don't know much about The modified code for s3.go provided by AI is, but this fixed uses Path Style:我查看了的代码并使用AI解释了代码，发现AWS SDK默认为，但可以添加配置项来显式指定的使用。不过，这需要在S3设置界面中添加一个选项，我对此了解不多AI提供的修改代码是，但这个修复使用了Path Style：
client := s3.NewFromConfig(cfg, func(o *s3.Options) {
o.BaseEndpoint = aws.String(s3Config. Endpoint)
o.UsePathStyle=true //Setting to true means using Path Style
})

@Zeng1998

I recompile use the code .it works我使用代码重新编译。它有效

ok

@duckgun13476 You can check out this blog post and follow this tutorial to configure

你们看看这篇文章能给你们提供帮助吗memos从0.21更新到0.22后minio对象存储问题

你们看看这篇文章能给你们提供帮助吗memos从0.21更新到0.22后minio对象存储问题

这个文章就是看着我们上边的内容搞的，所以我们只是希望可以选用vhost还是Path Style

你们看看这篇文章能给你们提供帮助吗memos从0.21更新到0.22后minio对象存储问题

这个文章就是看我们上面讨论的内容搞的，所以我们只是希望可以采用vhost还是Path Style

好吧，针对我自己的应用场景，我在docker安装minio的时候加了一个MINIO_DOMAIN参数，minio的域名解析添加了又一个域名解析，申请证书的时候变为了多域名证书申请；
比之前简单的配置多了三个步骤，但是如果是刚开始使用直接用0.22.0后版本的话，倒是还能接受；
升级的话确实感觉有点麻烦，配置好后感觉还可以
当然我也一样希望可以选择采用vhost还是Path Style

你们看看这篇文章能给你们提供帮助吗memos从0.21更新到0.22后minio对象存储问题

这个文章就是看我们上面讨论的内容搞的，所以我们只是希望可以采用vhost还是Path Style

好吧，针对我自己的应用场景，我在docker安装minio的时候加了一个MINIO_DOMAIN参数，minio的域名解析添加了又一个域名解析，申请证书的时候变为了多域名证书申请； 比之前简单的配置多了三个步骤，但是如果是刚开始使用直接用0.22.0后版本的话，倒是还能接受； 升级的话确实感觉有点麻烦，配置好后感觉还可以 当然我也一样希望可以选择采用vhost还是Path Style

本质上用的是AWS SDK，支持选择用什么模式的，我在用的思源笔记就可以选择用什么模式的


Integration doesn't work in ssr

This integration doesn't work in ssr mode (output:'server' in astro config). This is because initSanityClient(options) is only called in astro:config:setup hook which only runs during dev and build AFAIK

Thanks for reporting this! I can confirm it is in fact a bug. I'll see what I can do to support SSR ASAP. 👍🏼

Having similar issue with cloudflare pages. basically seems like in setup sanity is attached to globalthis successfully. But that is not the service worker process running later when called to render routes.

@jaydanurwin You should take a look at the injectSrcipt option.
I've not tested this but seem like this could do the trick
export default function astroSanityIntegration(options: ClientConfig): AstroIntegration {
	return {
		name: 'astro-sanity',
		hooks: {
			'astro:config:setup': ({injectScript, config}) => {
				if (config.output === "static"){
					return initSanityClient(options)
				}
				const code =
				`if (!globalThis.sanity){
					const sanityClient = await import('@sanity/client');
					const client = sanityClient(${JSON.stringify(options)});
					globalThis.sanity = client;
				}`

				injectScript("page-ssr", code)
			},
		},
	};
}

I'll experiment more when I have some time and submit a PR if I get it working

Is there any progress on this issue? Still getting it.

I have it on my todo list today to dig into this actually. Progress is being made over on the next branch!

I'm still testing but this might have been fixed with the latest version of Astro (1.7.2). It's building successfully for me in SSR mode.
@MoustaphaDev Can you confirm on your end?

Scratch that, you're right. It's building and running in dev but it won't serve once it's deployed.

This is fixed! 🎉
Please upgrade to v1.1.1 and you should be able to use the setup described in the docs and shown in the demos.
Special thanks to the storyblok-astro repo for leading me in the right direction on how to fix it. If you still are having issues with SSR please reach out.


Fix issue #316: [Bug]: Resolver can be invoked by anyone if using macro?

This pull request fixes #316.
The issue has been successfully resolved because:

The AI agent has implemented a permission check using GitHub's author_association field in the workflow files, which specifically restricts the @openhands-agent macro trigger to users with OWNER or MAINTAINER status.

The solution leverages GitHub's built-in permission system, which is the correct approach for handling authorization in GitHub workflows.

The existing functionality (triggering via "fix-me" label) has been preserved while adding the new permission restrictions for the macro usage.

For a human reviewer, I would summarize the PR as:
"This PR adds permission checks to restrict the @openhands-agent macro trigger to repository owners and maintainers only. The implementation uses GitHub's native author_association field to verify user permissions, ensuring secure access control while maintaining existing workflow functionality. No code changes were required, only workflow configuration updates."
Automatic fix generated by OpenHands 🙌

Values for CommentAuthorAssociation
COLLABORATOR
Author has been invited to collaborate on the repository.
CONTRIBUTOR
Author has previously committed to the repository.
FIRST_TIMER
Author has not previously committed to GitHub.
FIRST_TIME_CONTRIBUTOR
Author has not previously committed to the repository.
MANNEQUIN
Author is a placeholder for an unclaimed user.
MEMBER
Author is a member of the organization that owns the repository.
NONE
Author has no association with the repository.
OWNER
Author is the owner of the repository.
Redo this PR and only allow owner, collaborator, and member types to trigger the workflow using the macro


Docs are missing for the Ecto.Migration callbacks

Environment

Elixir version (elixir -v): Elixir 1.6.6 (compiled with OTP 20)
Ecto version (mix deps): locked at 2.2.10 (ecto) e7366dc8

Expected behavior
The Ecto.Migration.up/0, Ecto.Migration.down/0, and Ecto.Migration.change/0 callbacks should be documented.
I've seen several instances in the Elixir Slack group of people looking for more documentation about valid/invalid definitions of these callbacks than the Ecto.Migration moduledoc provides, expecting to find such information in callback docs that aren't there.
Specifically, the callback docs for change/0 could provide more detail on what constitutes "a non-reversible command" (referred to in https://hexdocs.pm/ecto/Ecto.Migration.html#module-change), which is a frequent question.

Thanks for the feedback! A PR would be welcome too. :)

Will do—though I am actually not exactly sure myself what guarantees the docs should be making, and what guidance / rules of thumb they should be giving. (It's easy enough to write a PR for the docs if I knew the spec these callbacks are implicitly following—but I don't know the spec, just the current implementation. The spec for "what a valid change/0 function looks like", as it pertains to the evolution of Ecto over time, is still something that's just in the Ecto maintainers' heads at this point, I think.)
For example, here are things I think would need to be fleshed out just for the "Reversibility" section of the change/0 callback:

Is reversibility something that can be determined by looking at the set of migration-command macros used, or do you also have to look at their parameters? I don't believe there is currently a case where a command's do-block could be the difference between it being reversible or not, but might such a command be introduced in the future, or is there a guarantee that a given command will either be always-reversible or never-reversible?
Presumably, a command macro that was reversible in one Ecto release won't become irreversible in a newer Ecto release, for backward compatibility. But will a previously-irreversible command macro ever become reversible in a newer Ecto release? Which is to say, could a migration change/0 body that can't actually be rolled back because it contains irreversibles as of one Ecto release, become able to be rolled back with a later release?
Are command macros expected to be reversible-unless-otherwise-specified, or irreversible-unless-otherwise-specified, or neither? If there is a new migration-command macro introduced in a later Ecto version, and a developer is unfamiliar with it, but has read the migration callback docs, would it make sense for the migration callback docs to provide guidance so the dev can recall it and assume the reversibility of the new command, without looking at the command macro's docs? (For example: "information-destroying migration commands, such as drop/1, are irreversible. execute/1 is also irreversible, because the effects of executing arbitrary SQL cannot be predicted by Ecto. All other commands are reversible.")

Glad to write the actual docs if we first hammer out what wisdom they're imparting :smile:

Hi @tsutsu, answers follow:

Is reversibility something that can be determined by looking at the set of migration-command macros used, or do you also have to look at their parameters?

The reversibility is usually specified by the command (name+arity). I think having it depend on the argument can be confusing, so I would generally avoid it.

But will a previously-irreversible command macro ever become reversible in a newer Ecto release?

Yes, it may. You should rely on reversibility, not on irreversibility.

Are command macros expected to be reversible-unless-otherwise-specified, or irreversible-unless-otherwise-specified, or neither?

reversible-unless-otherwise-specified

Right now only command macros with SQL-standard-guaranteed (ir)reversibility semantics are provided.

The behaviour is always adapter specific but, as you noted, we do our best to keep it general.

Improved docs in master.


Log the BigQuery job id when logging its status

Log the BigQuery job id when logging its status

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Choose reviewer(s) and mention them in a comment (R: @username).
[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.

GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI.

R: @chamikaramj
PTAL and merge this.

LGTM

Closing and giving up on this change. I thought it would be simple to edit this on the github website. Turns out pleasing our linter is hard even for small changed like this.


Error: Unexpected annotation data: annotationKey must be defined

zotero 导出 obsidian 后，有时候在 obsidian 那边删了，重新在 zotero 那边新建Note，就会失败，console 信息：plugin:zotlit:333 Uncaught (in promise) Error: Unexpected annotation data: annotationKey must be defined

Same problem here.

I'm getting this error with many of my Zotero items now. Here are the logs in the console:
[2024-02-12T11:56:55.917] [ERROR] obsidian-zotero:main - Unexpected annotation data {
  attachmentURI: 'http://zotero.org/users/3906100/items/RM9ABLY8',
  pageLabel: '91',
  position: { pageIndex: 14, rects: [ [Array] ] },
  citationItem: {
    uris: [ 'http://zotero.org/users/3906100/items/I5G83YI6' ],
    locator: '91'
  }
} nh(1) [
  co {
    code: 'missing',
    path: We(1) [ 'annotationKey' ],
    data: undefined,
    source: undefined,
    writers: {
      mustBe: [Function: mustBe],
      writeReason: [Function: writeReason],
      addContext: [Function: cI]
    },
    parts: undefined
  },
  byPath: {
    annotationKey: co {
      code: 'missing',
      path: [We],
      data: undefined,
      source: undefined,
      writers: [Object],
      parts: undefined
    }
  },
  count: 1
]

and
plugin:zotlit:363 Uncaught (in promise) Error: Unexpected annotation data: annotationKey must be defined
    at yM (plugin:zotlit:363:388)
    at Object.replacement (plugin:zotlit:359:39872)
    at k.D (turndown.js:2:9551)
    at turndown.js:2:9210
    at NodeList.reduce (<anonymous>)
    at k.b (turndown.js:2:9059)
    at k.D (turndown.js:2:9459)
    at turndown.js:2:9210
    at NodeList.reduce (<anonymous>)
    at k.b (turndown.js:2:9059)

I know when the error occurs now:

Create a note as attachment to a Zotero item
Quote parts of the document in this note which are linked to the pages of the document
Try to create a literature note for that item -> Error

Workaround: Go to the quotes in the note -> rightclick -> Unlink. When you unlinked all quotes you can create a literature note.


Stream resources are not released

The resource of stream should be release in the end.
https://github.com/baidu/iotcore-sdk-java/blob/f586cfb729de37fd4b4bd0abf5e19768a6e67f34/iot-device-sdk-avatar-common/src/main/java/com/baidu/iot/device/sdk/avatar/common/utils/SSLSocketFactoryGenerator.java#L109-L114

Fixed in
https://github.com/baidu/iotcore-sdk-java/commit/ea26962912326d5da0aec1d77fa3669ab1ed449f#diff-e71d6a8d9ec7f66c32e34022bd4cd09194df5eebf05d85df3f1f1f6990cb054a


Repeat

As a user, I would like to play songs on repeat so that I can keep playing a song I really like.

Duplicate issue


web application support

When I try to Initialize the NltkNet object in my dotnet core web application I receive an error saying an assembly is not found or has a different manifest definition than its assembly reference.

The code is fairly simple, it does nothing at all except initialize an NltkNet object when a button is clicked.

Is this a configuration issue on my end or is ASP.NET core MVC web application support not available for NltkNet?

.NET Core is not supported in NLTK.NET. You could try to rebuild it with IronPython for .net core.

@nrcpp is there plans to support .net core?

Initially, I tried to implement NLTK.NET on .NET Core, but IronPython doesn't work properly in such case. So, not sure there will be a port to .NET Core in visible future.


hydroxide refuses to work (im on synapse v2)

it takes about 5 tries to get it to load and when it does none of the buttons on the left work so i cant do anything with it usually gives these errors

The loadstring is wrong.

the %s's need to be replaced by the owner.


[HTML5] Fix mouse_mode and fullscreen detection.

The canvas_id is #-prefixed to work with emscripten as a CSS selector.
When comparing to an event target ID (e.g. when checking if the canvas is fullscreen, or is locking the mouse) we need to skip the first char (the hash).
Fixes #44957.
Fixes #44755.
I'll make a separate PR for 3.2.

Thanks!


Flakes in Security2180Test

From a PCT run:
java.io.IOException: …/matrix-auth-plugin/target/tmp/j h5449561387972401643/jobs/folder0/jobs/item1/builds/permalinks
	at org.jvnet.hudson.test.TemporaryDirectoryAllocator.delete(TemporaryDirectoryAllocator.java:144)
	at org.jvnet.hudson.test.TemporaryDirectoryAllocator.delete(TemporaryDirectoryAllocator.java:131)
	at org.jvnet.hudson.test.TemporaryDirectoryAllocator.delete(TemporaryDirectoryAllocator.java:131)
	at org.jvnet.hudson.test.TemporaryDirectoryAllocator.delete(TemporaryDirectoryAllocator.java:131)
	at org.jvnet.hudson.test.TemporaryDirectoryAllocator.delete(TemporaryDirectoryAllocator.java:131)
	at org.jvnet.hudson.test.TemporaryDirectoryAllocator.delete(TemporaryDirectoryAllocator.java:131)
	at org.jvnet.hudson.test.TemporaryDirectoryAllocator.dispose(TemporaryDirectoryAllocator.java:99)
	at org.jvnet.hudson.test.TestEnvironment.dispose(TestEnvironment.java:84)
	at org.jvnet.hudson.test.JenkinsRule.after(JenkinsRule.java:525)
	at org.jvnet.hudson.test.JenkinsRule$1.evaluate(JenkinsRule.java:626)
	at …
Caused by: java.nio.file.DirectoryNotEmptyException: …/matrix-auth-plugin/target/tmp/j h5449561387972401643/jobs/folder0/jobs/item1/builds
	at java.base/sun.nio.fs.UnixFileSystemProvider.implDelete(UnixFileSystemProvider.java:247)
	at java.base/sun.nio.fs.AbstractFileSystemProvider.deleteIfExists(AbstractFileSystemProvider.java:110)
	at java.base/java.nio.file.Files.deleteIfExists(Files.java:1181)
	at org.jvnet.hudson.test.TemporaryDirectoryAllocator.delete(TemporaryDirectoryAllocator.java:141)
	... 13 more

https://github.com/jenkinsci/jenkins-test-harness/pull/198 is highlighting anomalous behavior here where builds are running after the ends of tests. Other puzzling flakes have been reported in this class that might be caused by builds from one Jenkins session completing while another is running.
Most expedient in this case to just look for all running builds since from a quick glance there were three or four different places where builds were launched, and from differently-placed projects.

@daniel-beck?

@jglick Thanks for the PR. Could you clarify what you need? Acknowledging the PR? Merge into master? New plugin release?

New plugin release please.

@daniel-beck ?


Updates in cogs, Split code in proper categories

We need to wait for PR #1 to be merged and implement the changes later on so that the code will be flake8 compatible. Also requirements.py doesn't need to contain all of the packages when using pipenv. Pipenv already contains them, we only need to include pipenv itself in the requirements.py and complete the installation with bare Pipenv using pipenv sync

I noticed that you've added some cython files, that shouldn't be here at all. They should be removed


feat: support SLR serialization through serde

coverage: 82.536% (+0.2%) from 82.289%
when pulling 1fa7212de3d320f87f1bf5d42412720a6ca9d97c on serde-slr
into 062a971a4c02101879170ad903637f71a309037d on master.


Webhook integration guide

I can't find webhook guide for version 2.11 on documentation. So If anyone please guide me add webhook url on PRODUCT_CREATED, PRODUCT_UPDATED,PRODUCT_DELETED event fired.

Here are the docs https://docs.saleor.io/docs/developer/extending/apps


runtime.json link is broken

Links lead to a 404.

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

ID: 009616d0-6c93-a2de-82fe-4f7168817f18
Version Independent ID: 4c2c5549-0151-516d-91d0-9b017c74e787
Content: .NET Core Runtime IDentifier (RID) catalog
Content Source: docs/core/rid-catalog.md
Product: dotnet-core
GitHub Login: @mairaw
Microsoft Alias: mairaw

Thanks for reporting @maluoi. Some files were moved today in the corefx repo. PR #15497 addresses that issue.


Fix wrong version in selection article

Summary
Fix wrong version in example scenario
Fixes #25183
@hvdbrand
@luisquintanilla

Fixed by #25281


Factor out duplicate code

Move similar code from two places to a separate function.

lgtm, thank you


Resubmit: I added class loading from the jars inside WEB-INF\libs + added a FAQ to the readme

Hi,
I had a problem with the plugin, in the sense that it would not generate content in the produced file.
I debugged the code and found that it looks for classes only in a certain path and loads them from that same path, even though the JAX-RS standard says they can be found in WEB-INF\libs too.
I documented the first part and wrote a fix for the second part.
I fixed the formatting of my previous pull request, but it looks like the format was already different between source files. I appears I chagned all of SwaggerProcessor but all I did was add the finally block to getSwaggerDocFromAnnotatedClasses. Sorry about that, git is not my friend.

On the plus side, now SwaggerProcessor.java adheres to the coding standard.

PR for #8

Being a noob, I deleted the repository form which I made this pull request. I have made a new repository and submitted a new pull request, #11 , with all the changes requested implemented. I'm sorry for the drama.


Error in mounted hook: "TypeError: Cannot read property 'setProp' of undefined"

Sorry for disturbing you, but it appears and annoys me. After update the lastest version, the console report this,
' Error in mounted hook: "TypeError: Cannot read property 'setProp' of undefined"
found in',
'Error in event handler for "resize": "TypeError: Cannot read property 'getResolutionScale' of undefined',
What should I do? I use npm

Feel free to reopen the issue if the problem is still present.


How to generate my own distillation dataset on Levenshtien Transformer

What is your question?
About the Levenshtien Transformer, I want to experiment with my own dataset，but it needs distillation dataset for this experiment.
So how can I generate my own distillation dataset?
And what is the specific process？
and when I run "fairseq-train...", there is a error:
Segmentation fault.How to tackle it?

Hi @zhaoxv
It should be the same as running generate.pywith a pretrained autoregressive model by passing --gen-subset train.

Ok.thanks for your reply.

when I run "fairseq-train...", there is an error:
Segmentation fault.
How to tackle it?

Please post the full command that you used to launch the job as well as a full stack trace of the error you are getting.

when I run "fairseq-train...", there is an error:
Segmentation fault.
How to tackle it?

Did you compile all the C++ files? Try running python setup.py build_ext --inplace

Hi @MultiPath
After running “generate.pywith a pretrained autoregressive model by passing --gen-subset train”, where is the distillation dataset stored？
I cannot find it.

Hi @lematt1991 The command is:
"fairseq-train data-bin/wmt17_en_de --save-dir checkpoints1 --ddp-backend=no_c10d --task translation_lev --criterion nat_loss --arch levenshtein_transformer --noise random_delete --share-all-embeddings --optimizer adam --adam-betas '(0.9,0.98)' --lr 0.0005 --lr-scheduler inverse_sqrt --min-lr '1e-09' --warmup-updates 1000 --warmup-init-lr '1e-07' --label-smoothing 0.1 --dropout 0.3 --weight-decay 0.01 --decoder-learned-pos --encoder-learned-pos --apply-bert-init --log-format 'simple' --log-interval 10 --fixed-validation-seed 7 --max-tokens 800 --save-interval-updates 100 --max-update 300"
The error is:
| model levenshtein_transformer, criterion LabelSmoothedDualImitationCriterion
| num. model params: 65850368 (num. trained: 65850368)
| training on 1 GPUs
| max tokens per GPU = 800 and max sentences per GPU = None
| no existing checkpoint found checkpoints1/checkpoint_last.pt
| loading train data for epoch 0
| loaded 3961179 examples from: data-bin/wmt17_en_de/train.en-de.en
| loaded 3961179 examples from: data-bin/wmt17_en_de/train.en-de.de
| data-bin/wmt17_en_de train en-de 3961179 examples
Segmentation fault

@MultiPath @lematt1991

Did you compile all the C++ files? Try running python setup.py build_ext --inplace

@zhaoxv @MultiPath could you please share how to generate a new distillation dataset after training the teacher models?
I tried fairseq-generate data-bin/wmt17_en_de_joined --path checkpoints/transformer_vaswani_wmt_en_de_big/checkpoint_best.pt --batch-size 128 --beam 5 --remove-bpe --gen-subset train --results-path data-bin/wmt17_en_de_distill but after 20 hours and in the end it told me CUDA out of memory. No result was generated in anywhere..

Hi I reduced the batch-size and there's no CUDA error, but after the script there's still no result. Could you help me out?


Update to Packer 0.10.0+ and convert shell scripts to ansible playbooks

Any feedback on this one @jbeemster ?

@aldemirenes and I had a catchup about this yesterday on how to cleanup the implementation of this process.

Thanks @aldemirenes - note that your commit message does not match the ticket name. Not sure which is correct (or neither yet).

Looks like @aldemirenes has done another pass on this - does the last commit have the greenlight from you @jbeemster ?


validate tags have a profile

As a start: assigned tags to profiles in the seeds file.
Next step: check if we can validate this on the act_as_taggble_on.rb

Thank you!


SMS sent for Mobile attribute verification on update does not contain OTP

Describe the issue:
The SMS sent when mobile attribute verification is enabled after updating the mobile number of the user does not contain the OTP.
Only the payload configured in the SMS provider settings is sent.
Configured payload

SMS received in webhook.site after updating the mobile number of a user

How to reproduce:

Enable mobile verification on update through the API

curl --location --request PATCH 'https://localhost:9443/t/carbon.super/api/server/v1/identity-governance/T3RoZXIgU2V0dGluZ3M/connectors/dXNlci1jbGFpbS11cGRhdGU' \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic YWRtaW46YWRtaW4=' \
--header 'Cookie: JSESSIONID=8FFF77140B4AF828B5E4BC28C2498038' \
--data '{
  "operation": "UPDATE",
  "properties": [
    {
      "name": "UserClaimUpdate.MobileNumber.EnableVerification",
      "value": true
    },
    {
      "name": "UserClaimUpdate.MobileNumber.EnableVerificationByPrivilegedUser",
      "value": true
    }
  ]
}'

Setup the SMS provider using webhook.site [1]
Update the mobile number and observe the message received in the webhook

[1] https://docs.google.com/document/d/1bmkXCDiT8tvTEk9fSkXjoZyCFTjUhWA9OQ55n1Q1VOE/edit#heading=h.c17n3vfklebo
Expected behavior:

The OTP should be received.
Given below is the sms received when using SMS OTP for login

Environment information (Please complete the following information; remove  any unnecessary fields) :

Product Version: IS 7.0.0-beta7
OS: Mac

My guess is that 760269 in the payload received screenshot is the otp


POST /api/v1/series: Incorrect match[] param set in the URL query

Summary
I was testing the prom-label-proxy v0.6.0 + Grafana 9.1.8 and I noticed that when using HTTP POST method with the /api/v1/series endpoint, prom-label-proxy is passing two different value for the match[] parameter: one in the POST  body and the other one in the URL query parameters.
This leads to incorrect results. For instance the thanos querier seems to read only the match[] value in the query parameter in this situation which is pretty much garbage.
For instance if we are doing:
curl <IP_ADDRESS>:39090/api/v1/series  -X POST -H 'X-Tenant-Id: foo' --data-urlencode "match[]=up"

Then the resulting HTTP query sent by prom-label-proxy is (in JSON format as recorded by gohrec and URL-decoded) will be:
{
  "Body": "match[]={__name__=\"up\",tenant_id=\"foo\"}",
  "URI": "/api/v1/series?match[]={tenant_id=\"foo\"}"
}

Depending on its implementation, the upstream may only read the match[] value set in the URI (which is the case for the Thanos querier). Even if it is true that the upstream should only read the match[] value in the request body with Content-Type: application/x-www-form-urlencoded, this is still an issue in the way prom-label-proxy is writing the resulting query.

Full response recorded by gohrec
{
 "Protocol": "HTTP/1.1",
 "Headers": [
  "Accept-Encoding: gzip",
  "Accept: */*",
  "Content-Length: 61",
  "Content-Type: application/x-www-form-urlencoded",
  "User-Agent: curl/7.58.0",
  "X-Forwarded-For: <IP_ADDRESS>",
  "X-Tenant-Id: foo"
 ],
 "ContentLength": 61,
 "Body": "match[]={__name__=\"up\",tenant_id=\"foo\"}",
 "Trailers": [],
 "TransferEncodings": null,
 "RemoteAddr": "<IP_ADDRESS>:39070",
 "Host": "<IP_ADDRESS>:39090",
 "Method": "POST",
 "Path": "/api/v1/series",
 "Query": [
  "match[]: {tenant_id=\"foo\"}"
 ],
 "URI": "/api/v1/series?match[]={tenant_id=\"foo\"}"
}

Steps to reproduce

docker-compose.yml:

version: '3'

services:
  http-recorder:
    image: frxyt/gohrec:latest
    command: ["record", "--listen=:8080"]
    volumes:
      - ./logs:/gohrec/log

  prom-label-proxy:
    image: quay.io/prometheuscommunity/prom-label-proxy:v0.6.0
    ports:
      - <IP_ADDRESS>:39090:39090
    command:
      - "-header-name=X-Tenant-Id"
      - "-label=tenant_id"
      - "-upstream=http://http-recorder:8080"
      - "-insecure-listen-address=<IP_ADDRESS>:39090"
      - "-enable-label-apis"

Run:

curl 'http://<IP_ADDRESS>:39090/api/v1/series'  -X POST -H 'X-Tenant-Id: foo' --data-urlencode "match[]=up" -o /dev/null -sS

See recorded HTTP query in ./logs/[date]/

Expected behavior
The HTTP request sent to the upstream should be:
POST /api/v1/series HTTP/1.1
X-Tenant-Id: foo
Content-Type: application/x-www-form-urlencoded

match[]={__name__="up",tenant_id="foo"}

instead of
POST /api/v1/series?match%5B%5D=%7Btenant_id%3D%22foo%22%7D HTTP/1.1
X-Tenant-Id: foo
Content-Type: application/x-www-form-urlencoded

match[]={__name__="up",tenant_id="foo"}

encountering the same issue and unable to use prom label proxy due to the incorrect results in query variable and huge performance impact (10-15 seconds for 2 query variable) for showing the query variable in grafana as the results are INACCURATE with huge number of incorrect metric results.

does anyone know any workaround resolve this? I'm relying on prom-label-proxy to control access per tenant, but due to performance issue, it affects my implementation as well. It would be much appreciated if anyone have a quick fix

If you are using Grafana, a working workaround is to configure the "HTTP method" field of the datasource to GET instead of POST. I tested this workaround successfully with prom-label-proxy v0.6.0 + Grafana 9.1.8

Same here. The /api/v1/series endpoint via proxy will return 500 after sending a POST method.

While reading the README I came across this endpoint support GET method:
https://github.com/prometheus-community/prom-label-proxy/blob/c1160c9da84071b60ae9057906ca31fef484ded8/README.md?plain=1#L51
however from the code it seems that it should support GET and POST methods
https://github.com/prometheus-community/prom-label-proxy/blob/c1160c9da84071b60ae9057906ca31fef484ded8/injectproxy/routes.go#L291


Interaction with stacks?

How does a stack frame from within a censored function show up in a stack trace?
How does a stack frame from within a non-censored function (but that is "within" a censored function in the call stack) show up in a stack trace?'
Not sure what the answer should be, but these questions definitely need answering prior to stage 3.
(https://github.com/tc39/proposal-error-stacks)
cc @erights @codehag

I think it should be unaffected. According to my understanding, this should affect Function.prototype.toString results only. If it has a broader goal, we should rename the proposal and the pragma. "hide implementation"?

That's one possibility, to be sure. However, I think needing to report a line number might conflict a bit with not holding onto any source text?

I'd be surprised if source text was needed for that, but I also don't maintain an implementation that tracks position information at runtime.

At the last TC39 meeting, following the discussion of Error stack censorship, I spoke to @phoddie about the relationship between stack frame censorship and this proposal. After what we learned from the plenary discussion1 and my discussion with @phoddie, I'm convinced that not only should these efforts be combined under a single goal of preventing source text related information leakages, but that these should be enabled by a single directive. A JS developer who cares about one of these information leakages will likely care about the other, as well as any we discover and choose to include in the future. We can't expect them to make decisions about individual security properties they want to maintain or to be constantly keeping their codebases updated with new security-related directives.
@domenic What do you think about expanding the scope of this proposal to encompass all implementation hiding? For now, that would just include omitting the frames of annotated functions from stack traces. I think that "hide implementation" would be a pretty good name for this directive.
1 a directive for stack censorship would be better than an API (like Error.hideFromStacktraces(fn)) to avoid allowing maliciously censoring others' functions from stack traces

@michaelficarra that sounds great to me! I'd welcome your help updating the proposal, readme, etc. in that direction, although I hope to also make some updates myself in order to prepare for the next meeting.

@domenic Sure, I'll send a PR.


Initial SAP BAPI GoodsMovementCreate Template

I added a sample xml file and http test file so customer can use this to test the LogicApp. These files will need to be changed according to customer SAP setup

Hi @bdelangh, I looked over the PR and noticed that a couple parts (including the connections) is not following our guidelines. I updated our validation test to help guide how to follow our guidelines. Would you be able to merge the latest main? Thank you!

SAP Connection in manifest json updated.
"sap_#workflowname#": {
"connectorId": "/serviceProviders/sap",
"kind": "inapp"
}

Other than the change requested above, since this includes artifacts that are not supported at the moment, we will need to add an additional disclaimer in prerequisite. For reference, Business Tracking template in the repo is following this format. Thanks!


Consider bringing back dllimport

During the development of SQLitePCLRaw 2.0, my hope was to get rid of most of the provider implementations and use the "dynamic" provider in all cases.
The basic idea of the dynamic provider is this:  Instead of using DllImport attributes, dynamically load the shared library and look up all the names needed.
This was intended to solve two problems.
(1) DllImport requires the name of the shared library to be hard-coded at build time, so the provider has to be recompiled for every name we need.  Using a custom SQLite build with the name provided by the app is impossible.
(2) DllImport doesn't allow control over where the shared library is to be found.  The hope is that by having finer control over this, we could gain the ability to deal with the nearly constant stream of people having trouble with "e_sqlite3 not found" errors.
Overall, this didn't work out well.  I keep encountering cases where it is necessary to just use DllImport anyway.  In the end, the dynamic provider probably increased the number of builds instead of its goal of decreasing that number.
And we seem to have just as many people struggling with inability to locate the shared library.  Maybe more.
The dynamic provider is implemented using System.Runtime.InteropServices.NativeLibrary.  But that API was new in .NET Core 3, so I implemented a subset of it for use on .NET Framework.  But there have been problems wherein my implementation doesn't behave the same way.  See #389 for example.
Note also that System.Runtime.InteropServices.NativeLibrary includes an API to configure the way DllImport lookups are resolved.  I'm not currently using this, but it would present another alternative for the problems above, staying with DllImport plus a configured resolver instead of using NativeLibrary.Load().
It is not clear that the dynamic provider has added anything except complexity.

FWIW, the dynamic provider is used on .NET Core, and it doesn't seem to be causing any trouble there (that I can remember).  There is probably little reason to change this case to use dllimport.
Note also that what I'm talking about here is changing which provider is used for a certain case by a certain bundle.  The experimental code change in 1b2e505 changes the bundles to use dllimport providers for net461.  But the dynamic provider is still available.  Nothing would prevent someone from skipping the bundles and doing things manually and using the dynamic provider on net461 for cases where it is needed.

pre-release 2.0.5-pre20210521085756 has been pushed up to nuget, including 1b2e505, which changes the bundles to use dllimport providers on .NET Framework.

On this topic, the use of dynamic resolution makes it impossible, as of current .NET for WebAssembly (net5/net6), to invoke sqlite native functions.
Using NuGet tricks to exclude SQLitePCLRaw.provider.dynamic_cdecl and use SQLitePCLRaw.provider.sqlite3 instead can make the interop work properly.

Note to self:
The previous comment from @jeromelaban appears to contradict the following sentence I wrote a bit further up:

FWIW, the dynamic provider is used on .NET Core, and it doesn't seem to be causing any trouble there (that I can remember). There is probably little reason to change this case to use dllimport.


vcpkg built with VC2017 fails with an exception

Hi,
I have a clean, up to date Win10 Aniv install with VC2017. Building vcpkg.exe using bootstrap.ps1 results in a executable that crashes with an exception when run from the command line without any args. Below is the stacktrace:
ucrtbase.dll!__crt_char_traits<wchar_t>::tcslen<wchar_t * &>(wchar_t * &)
ucrtbase.dll!<lambda>(void)()
ucrtbase.dll!construct_environment_block<wchar_t>()
ucrtbase.dll!common_pack_argv_and_envp<wchar_t>()
ucrtbase.dll!execute_command<wchar_t>()
ucrtbase.dll!common_spawnv<wchar_t>()
ucrtbase.dll!__wspawnve()
ucrtbase.dll!common_spawnvp<wchar_t>()
ucrtbase.dll!__wspawnvpe()
ucrtbase.dll!common_spawnlp<wchar_t>()
ucrtbase.dll!__wspawnlpe()
vcpkg.exe!vcpkg::System::cmd_execute_clean(const wchar_t * cmd_line) Line 87
vcpkg.exe!vcpkg::Flush() Line 421
[Inline Frame] vcpkg.exe!wmain::__l2::<lambda_f693fcbd3de73d4e9140ed341d57efb2>::operator()() Line 187
vcpkg.exe!<lambda_f693fcbd3de73d4e9140ed341d57efb2>::<lambda_invoker_cdecl>() Line 188
[External Code]
vcpkg.exe!vcpkg::Checks::exit_with_code(const vcpkg::LineInfo & line_info, const int exit_code) Line 30
vcpkg.exe!vcpkg::Checks::exit_fail(const vcpkg::LineInfo & line_info) Line 14
vcpkg.exe!inner(const vcpkg::vcpkg_cmd_arguments & args) Line 36
vcpkg.exe!wmain(const int argc, const wchar_t * const * const argv) Line 219

After looking through the code at those locations, I'm unable to determine what the issue is.
Could you open up the toolsrc\vcpkg.sln solution, hit yes to the upgrade prompt, build a debug version, and try to repro the issue again? You can run the built vcpkg.exe directly from the IDE -- it'll figure out the right root folder.

I got the same issue on my laptop, but not on my desktop computer, which is setup almost identically.
Tried debugging it to no avail:

It crashes while trying to upload ApplicationInsights metrics. If you build with DISABLE_METRICS=1 it doesn't occur. Note that this means Debug builds won't crash by default, unless you change the metrics behavior in metrics.cpp at which point they'll also crash.

It only crashes when launching from PowerShell or from Windows Explorer. It doesn't crash when launching from cmd or from VS.

The crash always occurs in the construct_environment_block part.

After some research I found this issue on the Jython tracker and this issue on the wpdev uservoice. It's probably that, but from what I can tell, the environment passed to the function is identical - and it's strange that my laptop and desktop with the exact same Windows version, Visual Studio version and Windows SDK behave differently here.

Hi @plbpietrz , thanks for reporting this issue!
Please open a new issue if this is still a problem for you.
Thx.


Do not nest keys in payload

Currently, the response object contains a payload object which contains the records and include keys. This is unnecessary, and also causes confusion with the HTTP serializer which actually uses payload as a string or buffer to send as the response body.
This is a breaking change, so a major version bump would be required.

After second thoughts, this adds a lot of pain for little gain.
Also, the payload key is consistent with the request format.


Loss returns nan on GPU

Hi,
I have an issue running the example network "Simple MNIST convnet" in the keras documentation. My losses are nan when I'm running on GPU nodes in a cluster while in CPU is working fine, I'm using a conda environment with tensorflow 2.4.1 and tensorflow-gpu 2.4.1 .... the keras backend is tensorflow.
I figured out that the problem appears with losses that make the operation tf.reduce_mean. For example, with sparse_categorical_crossentropy and reduction='none' the losses are fine.
Thanks!

@Belencostanza Can you please share a simple standalone code to reproduce the issue?  Also, mention which distribution strategies you are using. Add as many details as follows. Thanks!

Here is the code extracted from the keras documentation: https://keras.io/examples/vision/mnist_convnet/
**# Model / data parameters
num_classes = 10
input_shape = (28, 28, 1)
the data, split between train and test sets
(x_train, y_train), (x_test, y_test) = keras.datasets.mnist.load_data()
Scale images to the [0, 1] range
x_train = x_train.astype("float32") / 255
x_test = x_test.astype("float32") / 255
Make sure images have shape (28, 28, 1)
x_train = np.expand_dims(x_train, -1)
x_test = np.expand_dims(x_test, -1)
print("x_train shape:", x_train.shape)
print(x_train.shape[0], "train samples")
print(x_test.shape[0], "test samples")
convert class vectors to binary class matrices
y_train = keras.utils.to_categorical(y_train, num_classes)
y_test = keras.utils.to_categorical(y_test, num_classes)
model = keras.Sequential(
[
keras.Input(shape=input_shape),
layers.Conv2D(32, kernel_size=(3, 3), activation="relu"),
layers.MaxPooling2D(pool_size=(2, 2)),
layers.Conv2D(64, kernel_size=(3, 3), activation="relu"),
layers.MaxPooling2D(pool_size=(2, 2)),
layers.Flatten(),
layers.Dropout(0.5),
layers.Dense(num_classes, activation="softmax"),
]
)
batch_size = 128
epochs = 5
model.compile(loss="categorical_crossentropy", optimizer="adam", metrics=["accuracy"])
model.fit(x_train, y_train, batch_size=batch_size, epochs=epochs, validation_split=0.1)**
then my conda list:
list.txt
I only did
$ conda create --name gpu_prueba tensorflow-gpu
Important libraries:
tensorflow-gpu 2.4.1
cudatoolkit 10.1.243
cudnn 7.6.5
python 3.9.7
I connect via ssh to a cluster with nodes NVIDIA A100 40GB GPUs

I already resolved the problem when I installed specific versions with:
$ conda create --name gpu-c11.2 -c conda-forge tensorflow-gpu matplotlib cudatoolkit=11.2
cudatoolkit 11.2.2 he111cf0_10 conda-forge
python 3.9.10 h85951f9_2_cpython conda-forge
tensorflow 2.6.2 cuda112py39h23446aa_2 conda-forge
tensorflow-gpu 2.6.2 cuda112py39h0bbbad9_2 conda-forge
keras 2.6.0 pyhd8ed1ab_1 conda-forge
cudnn <IP_ADDRESS> h86fa8c9_0 conda-forge
Thanks a lot, I will close de issue


(PUP-7946) Add Puppet::Pal, API to run scripts

This makes an API available that shows only a small surface area to "all
things puppet". In this version it is possible to run a string like in
the style of puppet apply -e, or a manifest (.pp) file.
There is more to come in this API.

CLA signed by all contributors.

I'm not sure in_tmp_environment is working right. When I step through with a debugger I don't see the temporary environment actually get used in main, it just has root for everything with no modulepath.
rough integration at https://github.com/pcarlisle/bolt/tree/integrate-puppet
Looking more at it, I'm not sure how to pass in the environment directory, which should be needed to look up a plan by name.
Should I have to initialize settings for this to work? I know we discussed this a little. It seems heavy handed but I'm not sure how to avoid it.

I'm also not sure why it looks up a node and gets facts.

It gets facts in order to let a plan decide on how to run local tasks. That is to get $facts populated when evaluating. I plan to change this so it can be set for a group of operations - now it gets the fact for each call.

The call to set up an existing environment (i.e. a directory that has environment layout) is not there yet. It should be able to find plans and tasks from modules on the modulepath with the current API. (But, as you found, that may not actually work yet - I have more tests to write to assert that).

If settings needs to be initiated, that should be done "by the API" as it is a consequence of how puppet is implemented.


[SyntaxParse] Revert syntax parsing changes from the master branch

We continue this effort in a dedicated branch apple/syntax-parse

https://github.com/apple/swift-syntax/pull/156
@swift-ci Please test


Config values will not refresh with updated sentinel key in Azure Function

Hello
I am trying to update some values on the azure app config. I for some reason cannot get them to refresh. What is weirder, is that sometimes, they are able to when I deploy my code, and other deployments they aren't. Usually when they are able to refresh, they will be refresh-able for about 10-30 minutes, and then stop being refresh-able.
How I am changing it: I change the value of MyClass on the azure cloud. Then I change refreshConfig. Then I wait about 2-5 minutes. Then I check to see if it has changed.
Program.cs
`
public static void Main()
{
var host = new HostBuilder()
.ConfigureAppConfiguration(config =>
{
//insert other stuff here
var buildConfig = config.Build();
var connectionString = buildConfig["AppConfigConnectionString"];
                config.AddAzureAppConfiguration(options =>
                {
                    options.Connect(connectionString)
                        .Select("*").ConfigureRefresh(refreshOptions =>
                        refreshOptions.Register("refreshConfig", refreshAll: true).SetCacheExpiration(TimeSpan.FromSeconds(30)));

                    options.ConfigureKeyVault(kv =>
                    {
                        kv.SetCredential(new DefaultAzureCredential());
                    });

                    options.UseFeatureFlags(featureFlagOptions =>
                    {
                        featureFlagOptions.CacheExpirationInterval = TimeSpan.FromSeconds(15);
                        featureFlagOptions.Select(KeyFilter.Any);
                    });

                    _refresher = options.GetRefresher();
                });

                config.Build();
                _configuration = config.Build();
            })
            .ConfigureServices(services =>
            {
                IConfiguration configuration = services.BuildServiceProvider().GetService<IConfiguration>();
                services.AddAzureAppConfiguration();

                //insert other stuff here

                services.Configure<List<MyClass>>(options => configuration.GetSection(nameof(MyClass)).Bind(options));

                //insert other stuff here
            })
            .ConfigureFunctionsWorkerDefaults(builder =>
            {
                builder.UseAzureAppConfiguration();
                builder.UseMiddleware<TelemetryMiddleware>();
            })
            .Build();
        host.Run();
    }

`
MyClassProvider
`
public MyClassProvider(IOptions<List> myClass,
TelemetryClient telemetryClient,
IConfigurationRefresher configurationRefresher)
{
_telemetryClient = telemetryClient;
//VVVVV This is currently commented out but it didnt work when it was not commented
//_configurationRefresher = configurationRefresher;
//_configurationRefresher.SetDirty();
//_configurationRefresher.TryRefreshAsync();
        if (myClass != null)
        {
            try
            {
                _myClass = myClass.Value;
            }
            catch (Exception ex)
            {
                _telemetryClient.TrackException(ex);
            }
        }
        else
        {
            _telemetryClient.TrackTrace($"MyClassProvider has no config for {nameof(MyClass)}");
        }
    }

public async Task GetMyClass()
{
        //VVVV this is currently commented out, but it didn't work when it was not commented
        //_configurationRefresher.SetDirty();
        //bool pass = await _configurationRefresher.TryRefreshAsync();

        MyClass myClass = _myClass ?.Where(get a list of MyClass) .FirstOrDefault();

       //This seems to always log the value pre-refresh, it never changes
        _telemetryClient.TrackTrace($"This thing is enabled value after refresh async: {myClass?.BooleanValue}.");

        if(myClass.BooleanValue)
        {
            return myClass;
        }

        return null;
    }`

Please use IOptionsSnapshot instead of IOptions. The IOptions doesn't refresh after the app startup.
public MyClassProvider(IOptionsSnapshot<List> myClass, ...

https://learn.microsoft.com/en-us/aspnet/core/fundamentals/configuration/options?view=aspnetcore-7.0#options-interfaces

Hi @zhenlan thank you for your comment. I have made the change but it still will not refresh

I tried IOptionsMonitor. I get the refreshed value about 50% of the time, & the old value the other 50%.

Hi, looking again for help. It seems the problem is the fact that this is a List. There seem to be no problems with MyObject

@Troy1776, thanks for the update. Glad to hear you made progress. Please ensure the type you use in the code matches the configuration section you are binding on. Did you try IOptionsSnapshot<List<MyClass>> because it looks like List<MyClass> is the type you bind with the configuration section?

Hello. Yes, it is a <List>, my example in this post is a typo but in my code it is a List. I tried IOptionsSnapshot but that did not refresh anything. IOptionsMonitor seems to refresh it about 50% of the time, and the other 50% it will still provide the old value.

This is resolved. Needed to change this
"services.Configure<List>(options => configuration.GetSection(nameof(MyClass)).Bind(options));"
to this
"services.AddOptions<List>().Configure((settings, configuration) => { configuration.GetSection(nameof(MyClass)).Bind(settings); });
services.AddScoped<IMyClass, MyClass>();"