Multi-tenant functionality

Is your feature request related to a problem? Please describe.
I'm always frustrated when Wordpress core has to be downloaded for every project and furthermore contributing to the bloating of php-fpm opcode cache.
Describe the solution you'd like
I would like each tenant using a common core which is cached by php-fpm thereby making optimal use of resources and lowering the footprint for 100s of low to medium traffic websites that don't require a dedicated php-fpm pool. Further, I would like a way to share common plugins (possibly via mu-plugins) between tenants and thereby leverage the opcode cache more while allowing for tenants to have their own custom plugins.
Describe alternatives you've considered
I've looked at https://github.com/handpressed/wp-multitenancy-boilerplate which is somewhat outdated.
Additional context
@gmazzap thanks for this lovely work and really helpful documentation! I am delighted to have come by wpstarter yesterday after over two weeks of working on my own build based off bedrock. I have learnt and am learning so much by reading the documentation of wpstarter and understanding the architecture.
I'm working on a docker based development and production stack and one of my core requirements is multi-tenancy i.e one wordpress core opcode cached, serving multiple tenants. I kindly request any pointers on how I may adapt wpstarter to use one wordpress core.

On wpstarter 2x a symlinked wp -> /shared/httpd/wp seems to work without issues.
As I continue to read through the docs I'm beginning to see that what I'm asking for might already be built into wpstarter 3x.

Hi @wunluv,
First of all thanks for your appreciation.
Then I want to make sure that you've read the documentation of v3, currently in beta, because I don't want to add any new feature to the v2 series, which is maintained but not further developed.
That said, in simple words, a "multi-tenant" installation would be at its core a single installation of WordPress files with a different database.
You would need all plugins and themes needed by all "tenants" in the content folder, and then activate what you are interested in the specific tenant site.
It basically means that as long as you can change the DB-related environment variables (DB_NAME
DB_PASSWORD, DB_USER, DB_HOST) you'll be able to use the same WordPress files for multiple, unrelated, "tenants" websites.
In most cases, you could only change DB_NAME, assuming the DB host and user are shared.
So all the "trouble" is reduced to have a way to set DB_NAME differently for each tenant, and a way to distinguish one tenant form the other.
These can be done in several ways.
What looks a "natural" way to me, is doing that at web-server level.
That would allow setting web-server configuration per tenant, which is probably required anyway and can make use of the capability of web servers to setup environment variables, and the capability of WP Starter 3 to read them.
For example, using Apache, would make sense to use virtual hosts tenants sites, and use them to also set the variables:
<VirtualHost *:80>
    ServerAdmin<EMAIL_ADDRESS>    DocumentRoot "/path/to/wp-starter/public"
    ServerName tenant1.com
    ServerAlias www.tenant1.com

    SetEnv DB_NAME wp_tenant1
    SetEnv WP_HOME http://www.tenant1.com/
    SetEnv WP_SITEURL http://www.tenant1.com/wp/
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin<EMAIL_ADDRESS>    DocumentRoot "/path/to/wp-starter/public"
    ServerName tenant2.com
    ServerAlias www.tenant2.com

    SetEnv DB_NAME wp_tenant2
    SetEnv WP_HOME http://www.tenant2.com/
    SetEnv WP_SITEURL http://www.tenant2.com/wp/
</VirtualHost>

The snippet above configure 2 virtual hosts, each serving a different domain, but both using the same WordPress (WP Starter) path as document root.
Moreover, each virtual host sets 3 environment variables: the database name and the WP_HOME and WP_SITEURL to match host URL.
Basically, that should be all is needed for a "multi-tenancy" WordPress and doesn't require any new features on WP Starter.
If the webserver is nginx, this same result could be obtained using its env directive inside different server blocks.
Every time a new tenant is requested, the operations would be:

create a new database
add an entry in the configuration file

At scale this could be even automated with a script in bash, PHP or any other language you're familiar with.
Please note that I never tried this, but I don't any reason why it should not work. If you try it... let me know the outcome :)

Something I forgot: of course WP_CONTENT_DIR needs to be set per tenant as well.

And you need to be sure that your plugins don't try to use their own folder or any other folder outside the content dir for any kind of data storage,cache,... Doing this is of course madness, but I guess you know the plugin ecosystem out there ;)

You can (and probably should) prevent any write anywhere but content folder. In theory, plugins and  themes should never expect anything but content folder to be writable.
Of course, plugins do crazy things, but a setup like this assumes you have control on all plugins that are installed in all websites... meaning that you can nuke immediately a plugin that does thing it should not do :)

I'm right in the middle of reading through v3 documentation. Thanks for the link and for the detailed response as well as for the pointers on the WP_CONTENT_DIR
Meanwhile, multi-tenant seems to work out of the box with v3 provided I have a custom config in my shared (symlinked) wp directory.
Here's what I have in wp-config.php
// Tenant specific wp-config path
require $_SERVER['DOCUMENT_ROOT'] . '/wp-config.php';

I'll keep reading through the docs to see if there is a way around this and I'll be sure to update this thread with any developments that will be useful to folk wanting a similar multi-tenant setup.

I've gone through the documentation and I have a deeper sense of appreciation for the thought that has gone into the design of WPStarter 3x. The level of automation that can be coded in is outstanding!
I use nginx and I hear you about setting most of the environment variables at server level in the site specific vhost files. That's the intention for production.
My current setup is as follows

wp (shared wordpress core)
project1 root

htdocs (public)

wp (symlinked to shared wordpress core)
app

mu-plugins
content-dev
uploads

index.php
wp-config.php
.env.cached.php

vendor
composer.json
.env
wp-cli.yml

project2 root

htdocs (public)

wp (symlinked to shared wordpress core)

etc.

Currently a composer script is used to symlink to the shared wordpress core:
    "scripts": {
        "post-install-cmd": [
			"@symlink-wp"
		 ],
		"symlink-wp": [
			"ln -s /shared/httpd/wp ./htdocs/wp"
		]
    }

I intend to move this into a more versatile wpstarter custom step once I get the basics figured out.
At this moment I'm stuck with wp-cli that is unable to read $_SERVER environment variables and therefore unable to load the tenant specific wp-config which is pointed to from the shared wordpress core wp-config.php like this:
// Tenant specific wp-config path
require $_SERVER['DOCUMENT_ROOT'] . '/wp-config.php';

Any wp-cli command fails as a result. Do you have any suggestions on better way to point to the wp-config.php of multiple tenants?

As @schlessera is part of both WP-CLI and wecodemore, he can probably lend a helping hand at this point. :)

Thanks! Meanwhile, here's two resources which I couldn't get to work nor figure out how the WP-CLI issue was resolved:

https://github.com/handpressed/wp-multitenancy-boilerplate
https://github.com/coderaaron/mtv-vvv-site

@wunluv
WP CLI "fakes" $_SERVER['DOCUMENT_ROOT'] when running commands (see https://github.com/wp-cli/wp-cli/blob/8be8a5aca7b3176a0935f5e83b7426cfc786f13f/php/WP_CLI/Runner.php#L254) and the path it uses is what Runner::find_wp_root() returns (see https://github.com/wp-cli/wp-cli/blob/8be8a5aca7b3176a0935f5e83b7426cfc786f13f/php/WP_CLI/Runner.php#L199-L233).
As you can see, it relies on the --path config (https://make.wordpress.org/cli/handbook/config/#global-parameters) if it is present.
WP Starter 3 generates a wp-cli.yml that contains configuration for path parameter, but in your setup it will always points same folder.
So you either find a way to manually pass the --path parameter based on the site you are using, or you need to find an alternative solution.
If you use virtual hosts + env variables, you could set the document root in an env variable and read it, something like this:
$docRoot = $_SERVER['DOCUMENT_ROOT'] ?? getenv('DOCUMENT_ROOT') ?: __DIR__;
require $docRoot . '/wp-config.php';

Hope this helps.

Closing this for lack of activity. Maybe we can reopen later. I'm focusing in getting v3 stable now.


ci: debug semantic-release dry run

Type
enhancement

Description

This PR enhances the CI workflow by adding the --debug flag to the npx semantic-release command. This change aims to provide more detailed output during the semantic-release dry run, facilitating better debugging and understanding of the release process.

Changes walkthrough
Relevant filesEnhancement

ci.ymlEnhance Semantic Release Dry Run with Debugging

.github/workflows/ci.yml
Added --debug flag to the npx semantic-release command for more detailed output during dry runs.

+2/-1

✨ PR-Agent usage:
Comment /help on the PR to get a list of all available PR-Agent tools and their descriptions

:tada: This PR is included in version 1.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Fix srm.exe DLL dependencies loading

Hello,
I had to tune srm.exe (v 2.1) for the following scenario :
-I have an assembly A.dll (made with C#) that contains my ISharpShellServer exports
-A.dll has a dependency : B.dll (made with C++/CLI)
-A.dll and B.dll are in the same folder
-when trying to use "srm.exe install A.dll -codebase", it fails, claiming that "B.dll" cannot be found
Please note that regasm.exe A.dll /register /codebase does not fail and works very well in that case.
My solution :
ServerRegistrationManager.HandleEmbeddedReference is already used to install a resolve handler
The resolve handler should be smarter. Actually, it is only used to load embedded resources. But it should work for external dependencies as well.
When it is called for B.dll, It should try to load it from the folder of A.dll.
It works, I have done it.
Regards

Closing stale issues to focus on ones with end-user activity.


TIDAL Embeds (and all other with OEmbed?)

Summary
Doesn't look like Primal uses OEmbed to embed rich content. So sharing for example a TIDAL link does not present an embed player instead of the link. This would be nice to have.
Not only TIDAL but also Spotify, YouTube provide implementations of the OEmbed API  for this use case.
Basic example
Primal left - Snort right

Motivation
It's nicer with rich content in the feeds when possible, as opposed to just a link!

I'd be happy to port my contribution in Snort over to Primal as well! https://github.com/v0l/snort/pull/191


Default to Java 8 on Windows Kokoro

For future reference: https://github.com/plasma-umass/doppio/issues/497
There might be a way to use JDK9, but with the --release flag


IP-Adapter-FaceID-SDXL

It would be great to see an updated README to reflect the newly released experimental SDXL version of IP-Adapter-FaceID which is already hosted on HuggingFace

https://huggingface.co/h94/IP-Adapter-FaceID#ip-adapter-faceid-sdxl
it is same as IP-Adapter-FaceID, but for SDXL


reordering method parameters does not update snippets

If you reorder parameters of a method that is used by a snippet, the snippet source isn't updated like it is when renaming a method.


Two data issues: Netherlands Antilles and Bouvet Island

Country "AN" (Netherlands Antilles) is missing. It's timezone is America/Curacao which is present.

Country "BV" (Bouvet Island) is missing its timezone, which is Europe/Oslo.

These issues relate to the underlying data from the IANA Time Zone Database. They're not actually being caused by tzinfo or tzinfo-data.
Country "AN" Netherlands Antilles changed to "CW" Curacao in the version 2011h release of the Time Zone Database. This change brought the database back into line with the ISO 3166 standard. Curacao has since been renamed Curaçao.
Country "BV" (Bouvet Island) has no time zones defined in the Time Zone Database (there are no entries for BV in the zone1970.tab file). This is presumably because Bouvet Island is uninhabited.
If you want to suggest changes to the Time Zone Database, you should raise them on the Time Zone Database discussion mailing list.

thank you!


Update CODE_OF_CONDUCT.md

Updated C-O-C that combines this with NMDC code of conduct

Waiting for feedback from @emileyfadrosh and @cmungall


update url regex check

I mentioned before that the app team decided to disallow a few characters that would normally cause trouble in web urls (including spaces), but we decided to leave the unicode ones. The SDK should match the regex: export const regexInvalidURI = /[ =&#:$@%?;/\\"<>%{}|^~[\]`\u{0000}-\u{0008}\u{000b}-\u{000c}\u{000e}-\u{001F}\u{D800}-\u{DFFF}\u{FFFE}-\u{FFFF}]/u;

closed on #2473


"Materialize isn't correctly included" on non-existant code

See https://github.com/smileytechguy/issueTesting/issues/84 . The codepen doesn't exist and the bot recognizes that but it still says that materialize isn't correctly included.

fixed


Use create_tflm_tree.py to get source tree

Use the python script replacing the dummy make calls:
https://github.com/tensorflow/tflite-micro/blob/main/tensorflow/lite/micro/docs/new_platform_support.md

Covered by new release process.


feat(ui): add support for custom field types

What type of PR is this? (check all applicable)

[ ] Refactor
[x] Feature
[ ] Bug Fix
[ ] Optimization
[ ] Documentation Update
[ ] Community Node Submission

Have you discussed this change with the InvokeAI team?

[x] Yes
[ ] No, because:

Description
Node authors may now create their own arbitrary/custom field types. Any pydantic model is supported.
Two notes:

Your field type's class name must be unique.

Suggest prefixing fields with something related to the node pack as a kind of namespace.

Custom field types function as connection-only fields.

This is the same behaviour as other complex fields that don't have custom UIs in the workflow editor - like, say, a string collection.
QA Instructions, Screenshots, Recordings
Clone this repo into your invokeai/nodes/ dir: https://github.com/psychedelicious/test-arbitrary-fields
It contains two nodes:

Custom Field Test 1
Custom Field Test 2

These two nodes use a custom field called CustomField.
Try adding those nodes and connecting them. Should work like any node.

We have some fields that are have no UI - for example, some of the model fields are only used via connection and will never be used any other way. We could probably handle those fields as "custom" fields, per this PR. It wouldn't reduce any complexity exactly, but it would reduce verbosity.

Oops, #1 is unintentional. I'll figure out a fix for that in this PR as it may change the implementation.
I suspect different colors for every type will end up looking rather chaotic, but it's worth trying out. I'll save that for the future.

Fixing the validation was a bit more involved than I would have hoped, but not terrible.
I updated the nodes in https://github.com/psychedelicious/test-arbitrary-fields with an extra field type to facilitate testing multiple custom field types.
@RyanJDick Would you mind giving this a spin again?
Notes:
feat(ui): custom field types connection validation
In the initial commit, a custom field's original type was added to the field templates only as originalType. Custom fields' type property was "Custom"*. This allowed for type safety throughout the UI logic.
*Actually, it was "Unknown", but I changed it to custom for clarity.
Connection validation logic, however, uses the field instance of the node/field. Like the templates, field instances with custom types have their type set to "Custom", but they didn't have an originalType property. As a result, all custom fields could be connected to all other custom fields.
To resolve this, we need to add originalType to the field instances, then switch the validation logic to use this instead of type.
This ended up needing a bit of fanagling:

If we make originalType a required property on field instances, existing workflows will break during connection validation, because they won't have this property. We'd need a new layer of logic to migrate the workflows, adding the new originalType property.

While this layer is probably needed anyways, typing originalType as optional is much simpler. Workflow migration logic can come layer.
(Technically, we could remove all references to field types from the workflow files, and let the templates hold all this information. This feels like a significant change and I'm reluctant to do it now.)

Because originalType is optional, anywhere we care about the type of a field, we need to use it over type. So there are a number of field.originalType ?? field.type expressions. This is a bit of a gotcha, we'll need to remember this in the future.

We use Array.prototype.includes() often in the workflow editor, e.g. COLLECTION_TYPES.includes(type). In these cases, the const array is of type FieldType[], and type is is FieldType.

Because we now support custom types, the arg type is now widened from FieldType to string.
This causes a TS error. This behaviour is somewhat controversial (see https://github.com/microsoft/TypeScript/issues/14520). These expressions are now rewritten as COLLECTION_TYPES.some((t) => t === type) to satisfy TS. It's logically equivalent.

Haven't tested thoroughly or looked at the code yet, but in my initial tests it wasn't working for list types. I.e. the following wasn't working:
class CustomFieldOutput(BaseInvocationOutput):
    """Base class for nodes that output a single some field"""

    my_field: list[CustomField] = OutputField()

Yep, I forgot about Collection and Polymorphic types.
I've updated the PR to handle these cases, and my custom node test repo to include both Collections and Polymorphics.
(This part of the UI really could use some unit tests)

superseded by #5175


Save and restore the selected service

Extended the settings by adding the currently selected service

on_refresh_services_button_clicked is called directly after this initialization. This means all available services (at least the /rosout/... services) are added to the ComboBox. The index of the ComboBox will change immedeatly and self._service_info gets valid. So there will be always a service selected and saving the perspective will not fail.
I could add an additional null check (if you wish) but I think it is not required.


[10.x] Fix not extending the $wrap property when initiate AnonymousResourceCollection

@taylorotwell appreciate your feedback on my previous PR.
Use Case
class SampleResource extends JsonResource
{
    public static $wrap = 'customValue';
}

$emptyCollection = collect([])

return SampleResource::collection($emptyCollection)

Current http response:
{
    "data": []
}

Expected http response:
{
    "customValue": []
}

I am closing this pull request because it lacks sufficient explanation, tests, or both. It is difficult for us to merge pull requests without these things because the change may introduce breaking changes to the framework.
Feel free to re-submit your change with a thorough explanation of the feature and tests - integration tests are preferred over unit tests. Please include it's benefit to end users; the reasons it does not break any existing features; how it makes building web applications easier, etc.
Thanks!


Middleware tests

Add tests for the "builderAdvancedSearchMiddleware" :+1:

@Ephrame thanks for all the tests. Try to add test on the action call on the middleware and also on reducer tests on the state shape.

@pierr I agree with you. Just for the state shape, can we discuss about this before writting all the tests ?


Damn variable problem!

So again my main problem with Twig.
I wana do something like that:
{% trans with {'%value%': {{ mydata.creditcard.fee|number_format(2, ",", ".") }} } from "mydomain" %}my.trans.key.%value%{%endtrans%}
I wana replace the placeholder %value% with a template variable mydata.creditcard.fee and filter |number_format... on it.
I always get an exeption.
How can I fix this issue? Any idee?
Greeting
Michael

{{ }} means "echo" so you don't have to put these when you want to give something as a parameter.
So it should be something like :
{% trans with { '%value%': mydata.creditcard.fee|number_format(2, ",", ".") } from "mydomain" %}my.trans.key.%value%{%endtrans%}

Thx for your response.
It works now. But my issue was that I've used the incorect quotes. I've used single quotes and that was the problem why I always get an exception.

Single quotes or double quotes have exactly the same meaning in Twig. The issue in the code you pasted above is the echo inside the array, not the quotes


chore: Updated screenshots

Fixes #347
Changes: Added screenshots of the latest UI to the readme.

@adityastic @mariobehling @iamareebjamal please review.

Could you please check that every png is substituted. Looks like there is a different naming for some updated ones.

@mariobehling hard represents hardware image.

Could you please check that every png is substituted. Looks like there is a different naming for some updated ones.

@mariobehling the naming convention is the same, just the images have been changed.
screen-1.png represents the settings on the app in a device and screen-1-hard.png is the corresponding appearance on the hardware.

You are deleting  docs/images/screen-4-hard.png and  docs/images/screen-6-hard.png, but I don't see a new one.

@mariobehling they have not been deleted. They have been shown with a 38% and 55% change in their sizes. All the screenshots and hardware images are properly visible in the readme.
You can check it out here.

@yashk2000, the permission changed for those files, please check

@adityastic I did not get the problem. What permission has been changed?

@yashk2000 check the files permission in the screenshot, 644 to 755.

@adityastic sorry for the delay. I do not know how to permission got changed. I just replaced the existing pictures with new ones. I'll open a new pt with these screenshots.


Can I Get Scheduled messages by session id?

Azure.Messaging.ServiceBus.
My application need to handle scheduled messages that using session. So, I use the next code to handle this situation today:
 await using (ServiceBusClient client = new ServiceBusClient(Constants.AzureQueueNotificationConnection))
            {
                var sessionReceiver = await client.AcceptSessionAsync("queueName", "sessionId");
                var messages = await sessionReceiver.ReceiveMessagesAsync(10);

But using this code don't fetch the scheduled messages. how can I do that?
Thanks is advance.

Thank you for your feedback.  Tagging and routing to the team member best able to assist.

Hi @JpDotFranca,
You can't actually receive the messages until after the ScheduledEnqueueTime has passed. You can peek the scheduled messages before this time though, but you wouldn't be able to settle the messages in any way.

I'm going to go ahead and close this issue. @JpDotFranca please reopen if you have further questions!

I'm going to go ahead and close this issue. @JpDotFranca please reopen if you have further questions!


oic: Oic security module fails in insecure devices

Oic security module should be disabled when running in a Soletta without
dtls support.
Signed-off-by: Otavio Pontes<EMAIL_ADDRESS>

it seems ok

merged


Cleanup1

I'm in the process of teaching ogórek about bytes and teaching Encoder to respect specified protocol version / etc. Most of the work should be ready but not yet in the form of clean patches. For this evening please find attached some first preliminary cleanup patched that are already ready.
Thanks beforehand,
Kirill

@kisielk, please do not squash the patches - each has its own rationale and detail. Thanks.

Cool, thanks for your continued work on this!

Thanks.


Bug: When have multi filter class, and "before" function return true，other filters after this filter not working

CodeIgniter 4 version
4.0.4
Sometimes I want to use "return true" in filter's "before" function to termination function continues to running. But if a filter use 'return true", and this filter is not the last, the filters after this are not working.
Here some test code:
/app/Config/Filters.php
public $aliases = [
        't1' => \App\Filters\Test1::class,
        't2' => \App\Filters\Test2::class
	];
public $globals = [
	'before' => ['t1', 't2'],
	'after'  => ['toolbar'],
];

/app/Filters/Test1.php
    public function before(RequestInterface $request, $arguments = null)
    {
        var_dump('test1111');
        return true;
    }

/app/Filters/Test2.php
    public function before(RequestInterface $request, $arguments = null)
    {
        var_dump('test222');
    }

Test1 is working but Test2 not working. I read the code, maybe the reason is here:
/system/Filters/Filters.php :190
if (empty($result))
{
	continue;
}

return $result;

When "before" return true, "continue" not working.  so i try to return null or return false in "before" function, after filter is working.
This may not be a bug, I hope this situation can be explained in the document.

The docs state:

you may at times want to stop the actions in the controller from happening. You can do this by passing back anything that is not the request object

But as you pointed out this is incorrect - it actually needs to pass back something something "empty" in order for the rest of the filters to run. For your case I would recommend returning the Request object, since that's the "default" return value for a successful filter. But we should definitely update the User Guide to be consistent with the code.

I see, thanks for your advice,  I'll try it. : )

Sometimes running a after filter would be usefull, e.g. when returning a 429 from the rate limiter and using a after filter to detect empty response body + error http code to display a custom error page.


Remove http api and allow server->client calls/notifications over jsonrpc

This touches a lot of code, but in the end I think it will be a big simplification. We remove all the http interfaces and leave just the jsonrpc interfaces, which will mean less code duplication, especially on the server side. Also fixes how server->client calls and notifications work from the server perspective; still need to do some work to wire this up nicely on the client side, but for now they're logged and least so we can verify that they're coming through as expected.

I don't think I have much more to say about this PR. Given our situation with respect to number of developers and scala literacy, LGTM.

Thanks for looking this over, @DanielSank. I hope reviews will get easier over time as we improve the quality of our frontend code and after folks have had more experience with scala as well.

It'll get easier when people are using the code. Nothing like wanting to use a lib to get you to learn a language.


Ability to turn off invite for users that are not created in the system yet[🙏]

Describe the user need
while using snyk sync tool in case user has not created their account in snyk, tool doesn't add them that is fine but it invites them to the org... this invitation to org we do not need...
Describe expected behaviour
not invite user in case account not created yet

Talked with salesforce , they had seconds thoughts and thought this is good.


Issue: Error in LangChainTracer.on_chain_error callback: TracerException('No indexed run ID da9518a3-b6ce-4525-a985-10b3ad41fef9.')

Checked other resources

[X] I added a very descriptive title to this issue.
[X] I searched the LangChain documentation with the integrated search.
[X] I used the GitHub search to find a similar question and didn't find it.
[X] I am sure that this is a bug in LangChain rather than my code.

Example Code
prompt_template = ChatPromptTemplate.from_messages(
[
    ("system", prompt),
    ("user", "{input}"),
    MessagesPlaceholder(variable_name="agent_scratchpad"),
])
llm = ChatOpenAI(model = llm)
llm_with_tools = llm.bind_tools(tools)
input = {
        "input": lambda x: x["input"],
        "agent_scratchpad": lambda x: format_to_openai_tool_messages(
            x["intermediate_steps"]
        ),
    }
agent = (
    input
    | prompt_template
    | llm_with_tools
    | OpenAIToolsAgentOutputParser()
)
agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True)
for chunk in self.agent_executor.stream({"input": input}):
    if "output" in chunk:
        return chunk["output"]

Error Message and Stack Trace (if applicable)
Error in LangChainTracer.on_chain_error callback: TracerException('No indexed run ID da9518a3-b6ce-4525-a985-10b3ad41fef9.')
Description
I am trying to trace my LangChain runs by using LangSmith, but I get the following error at the end of the flow:
Error in LangChainTracer.on_chain_error callback: TracerException('No indexed run ID da9518a3-b6ce-4525-a985-10b3ad41fef9.')
The environment variable is set up as environment variable using .env.
The run is however logged in LangSmith and I can see it, but the error still appears.
System Info
System Information

OS:  Darwin
OS Version:  Darwin Kernel Version 22.6.0: Fri Sep 15 13:41:28 PDT 2023; root:xnu-87<IP_ADDRESS>0.8~1/RELEASE_ARM64_T6000
Python Version:  3.9.6 (default, Dec  7 2023, 05:42:47)
[Clang 15.0.0 (clang-15<IP_ADDRESS>.5)]

Package Information

langchain_core: 0.1.26
langchain: 0.1.9
langchain_community: 0.0.22
langsmith: 0.1.5
langchain_openai: 0.0.7

Packages not installed (Not Necessarily a Problem)
The following packages were not found:

langgraph
langserve

Also having this issue. Doesn't seem to be impacting anything but I'd like to know what is happening.

I am also having this issue with
langchain-community==0.3.0
langchain-core==0.3.15
langchain-openai==0.2.6
langchain==0.3.7
langgraph-sdk==0.1.34
langgraph==0.2.45
langsmith==0.1.140
Python 3.11.3
app-1  | Traceback (most recent call last):
app-1  |   File "/usr/local/lib/python3.11/site-packages/langfuse/callback/langchain.py", line 466, in on_chain_error
app-1  |     self.runs[run_id] = self.runs[run_id].end(
app-1  |                         ~~~~~~~~~^^^^^^^^
app-1  | KeyError: UUID('80b56759-bf76-4444-bb8d-65e5b27e363a')
app-1  | 2024-11-05 16:51:38 - langchain_core.callbacks.manager - WARNING - Error in LangChainTracer.on_chain_error callback: TracerException('No indexed run ID 80b56759-bf76-4444-bb8d-65e5b27e363a.')

We see the same error. Versions are below:
poetry show|grep lang
langchain                0.3.7                       Building applications ...
langchain-core           0.3.18                      Building applications ...
langchain-groq           0.2.1                       An integration package...
langchain-openai         0.2.8                       An integration package...
langchain-text-splitters 0.3.2                       LangChain text splitti...
langsmith                0.1.143                     Client library to conn...


find still emits undefined in case of no match

My Trial

    of([1], [2]).pipe(
      find((arr) => {
        const res: boolean = arr.length < 1;
        console.log(res);
        return res;
      }),
    ).subscribe(
      console.log,
      console.error,
      () => { console.log('complete') }
    );

Console Output

> false
> false
> undefined
> complete

Closed issues I think related :

#2515
#2538
According to the mentioned issues, this behavior is changed in this MR
https://github.com/ReactiveX/rxjs/pull/2538/files#diff-cb6135b6e3563fab5be108053b313e3c

Also this behaviour is not mentioned in the documentation

find searches for the first item in the source Observable that matches the specified condition embodied by the predicate, and returns the first occurrence in the source. Unlike first, the predicate is required in find, and does not emit an error if a valid value is not found.
https://rxjs-dev.firebaseapp.com/api/operators/find

Source Code :
https://github.com/ReactiveX/rxjs/blob/73fa910cb62eccbccc4b4249f9b2606095704328/src/internal/operators/find.ts#L81

The type say that undefined will be emitted, so if the docs don't say that, this is a docs issue, IMO.
And the emission of undefined is a behaviour that's expected in the tests:
https://github.com/ReactiveX/rxjs/blob/f9ecdf96a01c6cf38998c1ade4109ebd0c45a3b0/spec/operators/find-spec.ts#L36-L45

Closing in favour of #6117.


Report ignore currency symbol when printing

Please verify that this feature request has NOT been suggested before.

[X] I checked and didn't find a similar feature request

Problem statement
Hi is there a way to not print the currency symbol on a report?
currently i use:
{% render_currency line.price  decimal_places=2 currency=order.customer.currency%}
{% render_currency line.total_line_price  decimal_places=2 currency=order.customer.currency%}

which print nicly the US$ infron tof the price but unfortunatly als comusumes space on the lines.
so i'd like to not print this currency unit per line but only at the bottom of the sales report
Suggested solution
good question. is this possible?
Describe alternatives you've considered
could not come up with one so foar for testing
Examples of other systems
No response
Do you want to develop this?

[ ] I want to develop this.

You can see in the render_currency method that the include_symbol argument can be set to False to hide the symbol:
https://github.com/inventree/InvenTree/blob/7793b3505d1dc4b6983bcc3c7efe8915dbc6150c/InvenTree/InvenTree/helpers.py#L1142


com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "metadata"

During the write of a Tuple into the OpenFGA Server the following Exception occurs:
java.util.concurrent.CompletionException:
com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "metadata" (class io.quarkiverse.openfga.client.model.Condition), not marked as ignorable (3 known properties: "expression", "parameters", "name"])
 at [Source: REDACTED (`StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION` disabled); line: 1, column: 1818] (through reference chain: io.quarkiverse.openfga.client.model.dto.ListAuthorizationModelsResponse["authorization_models"]->java.util.ArrayList[0]->io.quarkiverse.openfga.client.model.AuthorizationModel["conditions"]->java.util.LinkedHashMap["samePlant"]->io.quarkiverse.openfga.client.model.Condition["metadata"])
	at io.smallrye.mutiny.operators.uni.UniBlockingAwait.await(UniBlockingAwait.java:79)
	at io.smallrye.mutiny.groups.UniAwait.atMost(UniAwait.java:65)
	at io.smallrye.mutiny.groups.UniAwait.indefinitely(UniAwait.java:46)
	at io.GreetingResourceTest.shouldDoOpenFGA(GreetingResourceTest.java:50)
	at java.base/java.lang.reflect.Method.invoke(Method.java:580)

I have created a small reproducer project under: quarkus-openfga
execute GreetingResourceTest:shouldDoOpenFGA
The underlying model contains a condition:
model
  schema 1.1

type user

type plant

type asset-category
    relations
        define read: [role#assignee with samePlant] or update
        define update: [role#assignee with samePlant] or create
        define create: [role#assignee with samePlant] or delete
        define delete: [role#assignee with samePlant]
        define release: [role#assignee with samePlant]

type role
    relations
        define assignee: [user]

condition samePlant(plantA: string, plantB: string) {
    plantA == plantB
}

We can confirm this issue and currently use the commit proposed in #181 to work around it.


async true version release.

I have same problem with this post.
https://github.com/jquery-i18n-properties/jquery-i18n-properties/issues/25
Trying async: true settings, but haven't clear warning.
And I inspected the code in latest 1.2.0 version.
But, in ver.1.2.0, settings.async seems to be ignored.
** ver.1.2.0 **

function loadAndParseFile(filename, settings) {
	$.ajax({
        url:        filename,
        async:      false,
        cache:		settings.cache,
        contentType:'text/plain;charset='+ settings.encoding,
        dataType:   'text',
        success:    function(data, status) {
        				parseData(data, settings.mode);
					}
    });
}

** latest code **

function loadAndParseFile(filename, settings) {
    $.ajax({
        url: filename,
        async: settings.async,
        cache: settings.cache,
        dataType: 'text',
        success: function (data, status) {
        parseData(data, settings.mode);
            callbackIfComplete(settings);
        },
        error: function (jqXHR, textStatus, errorThrown) {
            console.log('Failed to download or parse ' + filename);
            callbackIfComplete(settings);
        }
    });
}

When do you release async true version.

You supply the async flag in the settings object. That way it's all under the control of the calling code.

yes, using that way, I cat avoid warning 'in latestcode'.
but 'in latest release(ver.1.2.0)', can't avoid.
because loadAndParseFile method is older.
I'm using webjar, so please release latestcode.

Using latest release(ver.1.2.2), I can avoid async problem.
thank you.


[release-1.17] adjust logging for SkipValidateTrustDomain

This is an automated cherry-pick of #47435

@istio-testing: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

integ-pilot_istio_release-1.17
11ab7d3c8394cf5ba1f8fd889728dcd5e8430e2b
link
true
/test integ-pilot

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.

1.17 is due EOL tomorrow, so we won't be back porting anything to this release. Thank you.


Flask Parameter is rounded up in Javascript

Python code:
from flask import Flask, render_template
app = Flask(__name__)

@app.route("/")
def test():
    id = "2138291837273817238" # Can Be some random number
    return render_template("first.html", id=id)

if __name__ == "__main__":
    app.run("<IP_ADDRESS>", 8000)

Html:
<!DOCTYPE html>

<title>Testing</title>

Testing

Javascript console:

2138291837273817300

As you can see,<PHONE_NUMBER>273817238 and<PHONE_NUMBER>273817300 are not the same number. The parameter is always rounded up at the 17th number.
Is this just a JavaScript error?
Am I doing something wrong?
And can someone reproduce this?
Environment:

Python version: 3.10.1
Flask version: 2.0.2

You are passing a literal number to JavaScript, so if JavaScript can't handle that number then this can happen.
Maybe you want to pass it as a string since you have a string in Python as well?
console.log({{ id | tojson }})

Also, this is the wrong place for questions about your own code. The next time please use our Discord or GitHub discussions instead of an issue for this.

Sorry, yes i wanted it to be a string, the solution was a easy
console.log("{{ id }}")
Sorry for the inconvenience :/!

You should use tojson since that will work with anything even if your string contains weird characters, while just putting it in quotes would fail e.g. in case the string contains a quote as well.


Fix(curriculum): ensuring left alignment of output in translated cases

Checklist:

[x] I have read and followed the contribution guidelines.
[x] I have read and followed the how to open a pull request guide.
[X] My pull request targets the main branch of freeCodeCamp.
[X] I have tested these changes either locally on my machine, or GitPod.

Closes #49515

The blockquote were changed to codeblocks to ensure Right-to-left format

Hey @atnakayrus
Could you update the PR title to follow convention described in the contributing guidelines?

Hey @atnakayrus
Could you update the PR title to follow convention described in the contributing guidelines?

Hey! will "Changing quoteblocks to pre to ensure left allignment in translated languages" be a good title? if not can you please suggest some title?

Hey @atnakayrus
Could you update the PR title to follow convention described in the contributing guidelines?

Hey! can you please check if the current title fits the guidelines? if not can you please let me know what would be an appropriate title? Thanks in advance


Safari on Monterey: transparency not rendering with etc1s textures

Description
Not sure where this issue belongs (three? Safari? model-viewer?, but wanted to track here first since it's affecting our model-viewer usecases on, well, the latest and greatest of devices that many people use.
Seems when etc1s-compressing textures, transparency information is lost only on Safari 15 on Monterey.
Live Demo
https://glitch.com/edit/#!/sponge-lemon-vulture
Safari 15 (not transparent)

Everywhere else I tested (transparent)

Version

model-viewer: v1.9.2

Browser Affected

[ ] Chrome, version: xx.x.xxxx.xx
[ ] Edge
[ ] Firefox
[ ] IE
[X] Safari

OS

[ ] Android
[X] iOS
[ ] Linux
[X] MacOS
[ ] Windows

Reports on other platforms
Webkit Bug: https://bugs.webkit.org/show_bug.cgi?id=233817

Argh! Why is  Safari 15 such a disaster?? Thanks, and yes please file this on WebKit:  https://bugs.webkit.org
You might also want to file it on whatever software you use to generate etc1s textures, since I imagine they'll want to track this too.

I filed a bug with Webkit, added the link to the original post, and opened an issue with gltf-transform 🙃

Cross-referencing:

https://github.com/KhronosGroup/3D-Formats-Guidelines/issues/17
https://github.com/donmccurdy/glTF-Transform/issues/446
https://github.com/mrdoob/three.js/issues/22899

https://bugs.webkit.org/show_bug.cgi?id=232357 is a different issue though – happening only with uncompressed images decoded with the createImageBitmap API.

I fixed the link, the one I reported as new bug is https://bugs.webkit.org/show_bug.cgi?id=233817

This appears to be fixed.


Pretrained GigaSpeech sentencepiece model

Is your feature request related to a problem? Please describe.
I am investigating language model training with a pre-trained model.  I think I need a sentencepiece model to map my lexicon to the output token list of the model.
Describe the solution you'd like
Please include the sentencepiece model in the downloadable pre-trained model archives.
Describe alternatives you've considered
Is there a way to create a functioning spm_encoder from just the token list?  I would consider that, but I don't think it is easy to do.
Additional context
No additional context for this.

Please download it from https://wenet-1256283475.cos.ap-shanghai.myqcloud.com/models/gigaspeech/20210728_u2pp_conformer_exp.tar.gz. The BPE model is named as train_xl_unigram5000.model.

That is perfect, thank you so much!!!

Hello @robin1001 ! I have the same question but it looks like the link does not work anymore. Please, could you share it again? Thanks! Yulia

It has possibly happened because of the commit: https://github.com/wenet-e2e/wenet/commit/999f6ef4f21987324776f5c8be86c2b18377b66f... Do you still have the conformer pretrained on Gigaspeech and with the BPE model? :pray:

It has possibly happened because of the commit: https://github.com/wenet-e2e/wenet/commit/999f6ef4f21987324776f5c8be86c2b18377b66f... Do you still have the conformer pretrained on Gigaspeech and with the BPE model? 🙏

Fixed, please see https://github.com/wenet-e2e/wenet/pull/1660. There is a BPE model in the checkpoint model.

Great! Thank you a lot!


Implement is_observable Property for Observation

Properly flag which attack steps in the attack graph are observable and include it in the observations sent to agents.

Are there situations where maybe we would like to just prune away the unobservable nodes?

The option to specify observable nodes in scenarios was added in #64 and are applied to the observation in the simulator. Maybe this solves this issue?

Implemented in #64


slack notification when pipeline job finishes

Currently the pipeline is working as an asynchrous pattern, i.e. I trigger the build and wait for a few minutes to let it finishes.
As some of the pipeline job could be quite slow it lasts for 5~10 min and I won't sit on the pipeline page to wait for it, I sometimes forget I trigger a build.
It's would be helpful if we can get a slack notification which pings who triggers the build when it's done.

A better integration with Slack AND GitHub would be good TBH.

For GitHub, having the ability of leaving messages for builds (like TravisCI).
For Slack, receiving status but also triggering from Slack channel.

This issue was addressed in https://github.com/Wiredcraft/pipelines/pull/106 .
(A new input field need to be added in the ui though)
@xavierchow Let me know which project you want to have it, I can update accordingly.

omnisaas staging pipeline if it's possible

closing as done

@kaleocheng

a slack notification which pings who triggers the build when it's done

Is there a way to @ the one who triggers the pipeline? or at least include the trigger info in the slack notification?

@xavierchow yes, we support something like this, I can setup it for you later

( I may misunderstand your request in here,   we still need a better integration for this issue, reopening  )

thanks, is there any concern that prevents making the slack_mention enabled as the default?
I don't see this input box from blue pipeline


Add tlsconfig to VMServiceScrape when creating VMCluster

Creating a VMCluster inside an istio service mesh and need to add tlsconfig to the VMServiceScrape endpoint to be able to scrape the services. However does not seem to be any way to add any overrides to the VMServiceScrape created by cluster.
Could it be possible to add tlsconfig to the scrape endpoint? Need it globally on all self registered VMServiceScrape

I can suggest two options:

patch created resources with kubectl patch command - to add needed config. Its not reconciled, so changes must be kept.

set variable for operator VM_DISABLESELFSERVICESCRAPECREATION=true, remove created by operator VMServiceScrape and create new VMServiceScrape with needed config separately.

I don't see any good option to manage it from operator side. Embedding it to CRD seems to be bad solution - its already contains lots of options and its really huge, plus its hard to cover all cases. Operator config itself is very simple and only supports env variables.
WDYT? Maybe there is another solution?

I can suggest two options:

patch created resources with kubectl patch command - to add needed config. Its not reconciled, so changes must be kept.

set variable for operator VM_DISABLESELFSERVICESCRAPECREATION=true, remove created by operator VMServiceScrape and create new VMServiceScrape with needed config separately.

I don't see any good option to manage it from operator side. Embedding it to CRD seems to be bad solution - its already contains lots of options and its really huge, plus its hard to cover all cases. Operator config itself is very simple and only supports env variables.
WDYT? Maybe there is another solution?

I ended up using option 2 and creating all VMServiceScrape manually. Option 1 doesn't really work when deploying resources with gitops since the service monitor resources do not exist at the time of its deploying the VMCluster resource.

I ended up using option 2 and creating all VMServiceScrape manually. Option 1 doesn't really work when deploying resources with gitops since the service monitor resources do not exist at the time of its deploying the VMCluster resource.


[overlay] support a way to modify existing yaml node based on original node value (ie @overlay/modify)

there might be cases where instead of removing, merging or replacing it might be necessary to modify yaml node. one simple example might be:
#@ def incr_by_2(val): return val + 2

spec:
  #@overlay/modify incr_by_2
  replicas:

to increment replicas by two in a particular environment. this assumes that base value is meaningful and relative values (or modification of base values in general) makes "business" sense.
@scothis brought another example where he was overlaying some data on top of knative manifests (https://github.com/knative/serving/blob/d7f29bd1a436bd651b2fa5ecf042ece6bf7cb09d/config/config-network.yaml#L105) and wanted to escape {{ as they would not be compatible with helm (he was trying to create helm chart on the fly).

@scothis 's case makes more sense to me particularly as a way to passively clean up rendering results from another input. Find it harder to find a common use case based on the original example here.
But since overlays are ordered, ultimately this can be achieved with #@overlay/remove followed by overlay/match missing_ok=True. is this solely a case of optimization?

oh i see, the modification will take node value as the input. makes sense.

But since overlays are ordered, ultimately this can be achieved with #@overlay/remove followed by overlay/match missing_ok=True. is this solely a case of optimization?

yeah this functionality will be most useful if it not possible/prudent to just replace existing yaml node. in most cases it means that we wouldnt know about the value we are replacing but want to "build" on top of it. (replace some value within a string, add +2 to int, etc.)

added via=Function (optional) to @overlay/replace in https://github.com/k14s/ytt/commit/90ec47d8c6d9717bd0ef2fb1e567c68a0b4a93c5 and https://github.com/k14s/ytt/commit/acbefa3394fab95b535372430e42a223f2a3d263
example:
#@overlay/replace via=lambda a,b: "prefix-"+a
name:

above included in https://github.com/k14s/ytt/releases/tag/v0.19.0


Fix health data example.

Package.json was pointing to the older typechat version. The module did not build with the newer version.

I'm not a fan of the reformatting (or Prettier's recommendations in general) - I'd prefer if this was just a version update.
Otherwise, it looks good.

It’s more than a version update, few changes. Prettifier was on in my dev environment. Will check later today.


Tests hidden in VS Code's 'Explorer' cannot be found

To keep my VS Code explorer clean, I tend to exclude out & dist folders using the files.exclude setting. This however, leads to this extension failing to locate the tests as it relies on vscode.workspace.findFiles.
Maybe glob can be used instead to locate all tests on the filesystem?
Cheers,
Nils

@andreamah is this something I can use the new findFiles2 API to fix? Sorry I lost track of where all the proposals are 🙈

Yes, you can use the new findFiles2 for this! You can use the existing shape for findFiles2 to achieve this right now, but I'd try to be ready to move to the new shape once I introduce it.


AWS SES returns error on invite email (but not on test email)

Email header:
Sent mail to<EMAIL_ADDRESS>(1108.1ms)
D, [2019-02-03T07:52:49.168272 #129] DEBUG -- : [ActiveJob] [ActionMailer::DeliveryJob] [8ba76984-5d38-4c60-829f-7dc4fc3406ce] Date: Sun, 03 Feb 2019 07:52:48 +0000
From: *** Support<EMAIL_ADDRESS>Reply-To<EMAIL_ADDRESS>To<EMAIL_ADDRESS>Message-ID<EMAIL_ADDRESS>Subject: [*** Support] You have been invited
Mime-Version: 1.0
Content-Type: multipart/mixed;
 boundary="--==_mimepart_5c569dcfd5f15_813fb5715a45a4801a2";
 charset=UTF-8
Content-Transfer-Encoding: 7bit

Error:
E, [2019-02-03T07:52:49.168602 #129] ERROR -- : Sucker Punch job error for class: 'ActiveJob::QueueAdapters::SuckerPunchAdapter::JobWrapper' args: [{"job_class"=>"ActionMailer::DeliveryJob", "job_id"=>"8ba76984-5d38-4c60-829f-7dc4fc3406ce", "queue_name"=>"mailers", "arguments"=>["DeviseMailer", "invitation_instructions", "deliver_now", {"_aj_globalid"=>"gid://helpy/User/4"}, "ijCSzDmGLnMueuFyNbQh", {"_aj_symbol_keys"=>[]}], "locale"=>:en}]
Net::SMTPFatalError 554 Transaction failed: Missing final '@domain'

Thats some good debugging on the AWS SES.  AppSettings['email.from_email'] is actually not being used anywhere and should probably be removed.  As for updating the mailer... thats interesting.  The mailer is mostly unchanged from what ships with Devise so I wonder if anyone has reported similar issues over there?
Did you run into similar problems with other mailers?


Building for size

Adding tokenizers-cpp to our project made the binary size go up from a (stripped) baseline of 1.8MB to 8.4MB in a release build on Linux x86_64. This was just with the stable rust toolchain and all defaults.
I'm no rust expert but I applied a number of the options (that I could get to work) from this page https://github.com/johnthagen/min-sized-rust and was able to trivially get the binary size down to 4.2MB. Given that rust static links by default and there is a lot of data manipulation standard library code, this doesn't completely shock me (but it is still quite large compared to our baseline).
Recording here the things I quickly tried to achieve that:

set(TOKENIZERS_CPP_RUST_FLAGS "-Zlocation-detail=none") in CMakeLists.txt (feature request: consider making these more configurable from the including project)
Use the build-std approach listed above by adding this to the cargo command line in CMakeLists: -Z build-std=std,panic_abort -Z build-std-features="optimize_for_size" (and using a nightly toolchain)
Add to Cargo.toml:

[profile.release]
lto = true
opt-level = "z"  # Optimize for size.
codegen-units = 1
panic = "abort"

I wasn't being super principaled, but iirc 1 and 2 combined shaved off ~500KB or so. LTO and build-std gave 2-3MB and the rest filled in the extra.
It would be good to be able to customize these things easily in the including project. Might call for some additional CMake goo and such.

Indeed trimming down size could be helpful, love to get a PR to add these options


Updated sync tools and sync workflows to use AWS creds instead

Credentials now expire in 24 hours so use creds from AWS instead

@alexiswl - do we also need to get staging workflows project token?

Nope, since we never went with staging workflows project, just development_workflows and production_workflows push into the staging project

Ran the sync command and looks like it can create workflows in dev and prod so that's a win.
Looking into why so many workflow definitions in project.yaml updated without the workflow.yaml or tool.yaml updating https://github.com/umccr/cwl-ica-cli/issues/42

Huh.. one for discussion tomorrow.

Yep, fixing https://github.com/umccr/cwl-ica-cli/issues/42 has resolved the sync issues


Enable github status checks for CI

Currently its possible to merge a PR even if the status checks fail or even in the small span of time before they get triggered. Now that we have CI running properly, we should update the Require status checks to pass before merging under Branch Protection Rules for the main branch so that people cannot easily merge PR's if one of the status checks fail.
@pjfanning I am not sure if this is to be done directly under github actions or whether it needs to be organised with an INFRA ticket/.asf.yaml?

This is something we will want to implement. I'm not yet sure that we have enough stability in the dev pipelines though.
In the end of the day, we are months away from any releases, anything that sneaks into the main branch can be fixed - this will hopefully be rare.

Explicitly having to name the status checks for that feature to do anything meaningful, is an additional complication.

This is something we will want to implement. I'm not yet sure that we have enough stability in the dev pipelines though.

So we don't have to enable all of the status checks however there are ones that make sense to enable even now, i.e.

Scalafmt / Code is formatted (pull_request)
Pull Requests / Check / Headers (pull_request)

And all of the compile ones (I don't think we ever want to merge code that actually can't compile)
Also do note that even with status checks enabled you can bypass them, you just need to write permissions to the repo which in the current case is PMC members

Explicitly having to name the status checks for that feature to do anything meaningful, is an additional complication.

I don't know what you mean, if you are talking about the logistics of enabling them then its really quite trivial, you get a dropdown of past checks that have triggered (which we are already at this point in time) and you just select the ones that you want to enable.

From UI it's not very complicated, from API there's a couple of pitfalls, which I assume will extrapolate to this asf.yml file.

From UI it's not very complicated, from API there's a couple of pitfalls, which I assume will extrapolate to this asf.yml file.

Ah thats what you mean, I assume if there is an example Apache project with a configuration it shouldn't be too hard to figure out.

I would say it's still currently being worked on (as in I am going through each pekko git report and putting the checks in)


Anonymize common names

HI,
it's possible to anonymize common names? e.g by hashing them?
We want to track some statistics to ensure our VPN servers running stable but since the metrics are associated with a personal user it might be problematic in german (german law).

If you have more than a few connections you should be turning off per-connection statistics anyway as the amount of label churn will kill your prometheus.

as the amount of label

Do you have a number of it?

It is impossible to say how much, as that depends on your exact prometheus setup. But it is always a bad idea to use labels in any case where there is no upper limit to the number of values. As the Prometheus docs say:

CAUTION: Remember that every unique combination of key-value label pairs represents a new time series, which can dramatically increase the amount of data stored. Do not use labels to store dimensions with high cardinality (many different label values), such as user IDs, email addresses, or other unbounded sets of values.

If you have more than a few connections you should be turning off per-connection statistics anyway as the amount of label churn will kill your prometheus.

How do you turn off per-connection statistics?


make wallet sortable

sorting Wallet by Username, Coin Price and by USD Value
added short video demo

i bet you resubmitted just so you could have #234 :)
ive been keen to have sorting for a while. Maybe at a little gif to the description to show sorting in action?

i bet you resubmitted just so you could have #234 :)
ive been keen to have sorting for a while. Maybe at a little gif to the description to show sorting in action?

Epic updates need epic numbers! 😉

Great work! Thanks @brootle


manually using strawberry_django.filters.apply does not work anymore after v0.27

my queries which use OR and AND doesn't work anymore. I think the sorting breaks stuff, you may need to convert the key lambda to
lambda f: (f.name not in {"OR", "AND", "NOT"}, f.name)
but I didn't investigated the bug in detail.
Note:  I use strawberry_django.filters.apply manually
Edit: fix the code suggestion (was inverted)

maybe f.name isn't required at all as well as reverse (note: in this case the suggested code must be changed to f.name in ...)

@devkral ohh thank you for raising that issue.
The changes was done in this PR to fix https://github.com/strawberry-graphql/strawberry-graphql-django/issues/422
Apparently you have made some changes that should fix your issue while not regressing on that fix. Would you like to open a PR with that? I'll try to review it ASAP!


Python kernel fails to start with latest traitlets package (v5.10.0)

Azure Data Studio Version: 1.46.0-rc1
OS Version: mac/windows

Steps to Reproduce:

Install latest traitlets package: python3 -m pip install traitlets
Open new notebook
Try to change kernel to Python 3

Error:
Failed to change kernel. Kernel SQL will be used. Error was: Notebook process exited prematurely with error code: 1. StdErr Output: Traceback (most recent call last):
  File "C:\Users\chgagnon\AppData\Roaming\Python\Python38\site-packages\notebook\traittypes.py", line 235, in _resolve_classes
    klass = self._resolve_string(klass)
  File "C:\Users\chgagnon\AppData\Roaming\Python\Python38\site-packages\traitlets\traitlets.py", line 2009, in _resolve_string
    return import_item(string)
  File "C:\Users\chgagnon\AppData\Roaming\Python\Python38\site-packages\traitlets\utils\importstring.py", line 30, in import_item
    module = __import__(package, fromlist=[obj])
ModuleNotFoundError: No module named 'jupyter_server.contents'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "c:\src\azuredatastudio\extensions\notebook\resources\pythonScripts\startNotebook.py", line 2, in <module>
    notebook.notebookapp.main()
  File "C:\Users\chgagnon\AppData\Roaming\Python\Python38\site-packages\jupyter_core\application.py", line 285, in launch_instance
    return super().launch_instance(argv=argv, **kwargs)
  File "C:\Users\chgagnon\AppData\Roaming\Python\Python38\site-packages\traitlets\config\application.py", line 1044, in launch_instance
    app = cls.instance(**kwargs)
  File "C:\Users\chgagnon\AppData\Roaming\Python\Python38\site-packages\traitlets\config\configurable.py", line 555, in instance
    inst = cls(*args, **kwargs)
  File "C:\Users\chgagnon\AppData\Roaming\Python\Python38\site-packages\traitlets\traitlets.py", line 1295, in __new__
    inst.setup_instance(*args, **kwargs)
  File "C:\Users\chgagnon\AppData\Roaming\Python\Python38\site-packages\traitlets\traitlets.py", line 1338, in setup_instance
    super(HasTraits, self).setup_instance(*args, **kwargs)
  File "C:\Users\chgagnon\AppData\Roaming\Python\Python38\site-packages\traitlets\traitlets.py", line 1314, in setup_instance
    init(self)
  File "C:\Users\chgagnon\AppData\Roaming\Python\Python38\site-packages\notebook\traittypes.py", line 226, in instance_init
    self._resolve_classes()
  File "C:\Users\chgagnon\AppData\Roaming\Python\Python38\site-packages\notebook\traittypes.py", line 238, in _resolve_classes
    warn(f"{klass} is not importable. Is it installed?", ImportWarning)
TypeError: warn() missing 1 required keyword-only argument: 'stacklevel'

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

https://github.com/microsoft/azuredatastudio/issues/24436 has some extra info, including link to issue filed in notebook package repo. It's a dupe of this one though so I closed it - we will use this one for tracking going forward.

I solved this problem by:
pip uninstall traitlets
pip install traitlets==5.9.0

I solved this problem by: pip uninstall traitlets pip install traitlets==5.9.0

@Mengni0812
thanks it worked.

Thanks! It worked for me too.

I solved this problem by: pip uninstall traitlets pip install traitlets==5.9.0

U R a hero man, thanks that helped me too❤.

(base) PS C:\Users\hp> jupyter notebook
Traceback (most recent call last):
File "C:\ProgramData\anaconda3\Lib\site-packages\notebook\traittypes.py", line 235, in _resolve_classes
klass = self._resolve_string(klass)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\hp\AppData\Roaming\Python\Python311\site-packages\traitlets\traitlets.py", line 2015, in _resolve_string
return import_item(string)
^^^^^^^^^^^^^^^^^^^
File "C:\Users\hp\AppData\Roaming\Python\Python311\site-packages\traitlets\utils\importstring.py", line 33, in import_item
module = import(package, fromlist=[obj])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ModuleNotFoundError: No module named 'jupyter_server.contents'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\ProgramData\anaconda3\Scripts\jupyter-notebook-script.py", line 10, in
sys.exit(main())
^^^^^^
File "C:\Users\hp\AppData\Roaming\Python\Python311\site-packages\jupyter_core\application.py", line 283, in launch_instance
super().launch_instance(argv=argv, **kwargs)
File "C:\Users\hp\AppData\Roaming\Python\Python311\site-packages\traitlets\config\application.py", line 1073, in launch_instance
app = cls.instance(**kwargs)
^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\hp\AppData\Roaming\Python\Python311\site-packages\traitlets\config\configurable.py", line 583, in instance
inst = cls(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^
File "C:\Users\hp\AppData\Roaming\Python\Python311\site-packages\traitlets\traitlets.py", line 1292, in new
inst.setup_instance(*args, **kwargs)
File "C:\Users\hp\AppData\Roaming\Python\Python311\site-packages\traitlets\traitlets.py", line 1335, in setup_instance
super(HasTraits, self).setup_instance(*args, **kwargs)
File "C:\Users\hp\AppData\Roaming\Python\Python311\site-packages\traitlets\traitlets.py", line 1311, in setup_instance
init(self)
File "C:\ProgramData\anaconda3\Lib\site-packages\notebook\traittypes.py", line 226, in instance_init
self._resolve_classes()
File "C:\ProgramData\anaconda3\Lib\site-packages\notebook\traittypes.py", line 238, in _resolve_classes
warn(f"{klass} is not importable. Is it installed?", ImportWarning)
TypeError: warn() missing 1 required keyword-only argument: 'stacklevel'

error

Si tienes anaconda lo que debes hacer es abrir el Powershell Prompt o la consola y ejecutar este: pip uninstall traitlets esperar a que cargue y luego este pip install traitlets==5.9.0 y volver a abrir jupyter y listo


transcript control flow is too confusing

when am I in back-and-forth mode?
how do I control what the  block is while in back and forth (if it should be different from the initial user block)
how does the transcript interact with the session

fixed with recent updates


[Task]

Description
support monitoring apache hive health and metrics.
https://cwiki.apache.org/confluence/display/Hive/Hive+Metrics
Task List

[ ] support monitoring apache hive health and metrics.
[ ] add help doc

I want to help


paper: state of the field

Per the review criteria:

State of the field: Do the authors describe how this software compares to other commonly-used packages?

I do not believe that this has been described in the paper yet. Most of the contextualisation provided there is regarding the scientific context, rather than pertaining to methodology/implementations.
ref: https://github.com/openjournals/joss-reviews/issues/7118#issuecomment-2302742402

I updated the paper.

Looks good to me, thanks!


Update JSFace description and file size

Long description. Have you tried this out to see if it fits?

Hi Rod,
I tried it already. It fits. Thank you!
Tan Nhu
On Mar 9, 2012, at 7:28 PM, Rod<EMAIL_ADDRESS>wrote:

Long description. Have you tried this out to see if it fits?

Reply to this email directly or view it on GitHub:
https://github.com/madrobby/microjs.com/pull/224#issuecomment-4428558


Sample rate in request does not match FLAC header.

require 'vendor/autoload.php';

use Google\Cloud\Speech\SpeechClient;

$speech = new SpeechClient([
  'key' => 'mykey',
  'projectId' => 'mypid',
   json_decode(file_get_contents('pathToJson'), true)
]);

// Recognize the speech in an audio file.
$results = $speech->recognize(
  file_get_contents('quick.flac'),[
  'encoding' => 'FLAC',
  'sampleRate' => 16000
     ]);

foreach ($results as $result) {
  echo $result['transcript'] . "\n";
  echo $result['confidence'] . "\n";
}

My error is :
Uncaught Google\Cloud\Exception\BadRequestException: { "error": { "code": 400, "message": "Sample rate in request does not match FLAC header.", "status": "INVALID_ARGUMENT" } } in F:\xampp\htdocs\sahilpaudel\speech\vendor\google\cloud\src\RequestWrapper.php:219 .

Hey @sahilpaudel,
Have you verified the sample rate of your file quick.flac is 16000? If you have SoX installed you can do so by running: sox --i quick.flac.
Alternatively, if you run the following:
composer require james-heinrich/getid3

you will install a dependency in your project which the library will use to attempt to determine the sample rate for you. Then your code could look like this:
require 'vendor/autoload.php';

use Google\Cloud\Speech\SpeechClient;

$speech = new SpeechClient([
  'key' => 'mykey',
  'projectId' => 'mypid',
   json_decode(file_get_contents('pathToJson'), true)
]);

// Recognize the speech in an audio file.
$results = $speech->recognize(
  file_get_contents('quick.flac')
);

foreach ($results as $result) {
  echo $result['transcript'] . "\n";
  echo $result['confidence'] . "\n";
}

Hey again, @sahilpaudel! Have you had any success with the approach above?

@sahilpaudel I am going to close this out now, but please feel free to re-open if you need any further assistance.


Allow multipart/form-data file uploads

right now the only allowed content-type is application/json https://github.com/procore/js-sdk/blob/master/lib/client.ts#L50 as the headers aren't overridable, but for multipart/form-data the content-type header needs to not be set since the browser will take care of adding the boundary to the content-type (e.g. multipart/form-data; boundary=----WebKitFormBoundaryfB2NtLKSbqM4j1eJ)

This support was added in version 3.0.2. The following should allow you to update the Content-Type of the request.
const procoreClinet = client(authorizer, {headers: {"Content-Type":"multipart/form-data"}});


Update Read me

I will update read me by adding images, and screenshots...I would like to work on this issue if you assign it to me.

Great, Go ahead with the issue!

can you please assign it to me


How to define a large SRAM?

I need to define a large SRAM of 512 MB for my design. I was copying the example of simple_weight_stationary architecture where there is a 128kB SRAM. Then I set "n_instances" to 4098 to make the total SRAM size to 512 MB. However, this leads to a huge leakage energy and I'm observing that only one instance is being used always even though the required data size (inputs, outputs, and weights) is much bigger than 128kB.
Could you kindly suggest the best way to define such SRAMs?

https://timeloop.csail.mit.edu/v4/input-formats/design/architecture
The width and depth keys are used to change SRAM size.


Disable Travis email notifications

This prevents Travis from flooding our inboxes each time someone decides to change a route.
For renames, we have @ReadmeCritic, for anything else we have Danger and reports on each PR.
What do you guys think?
cc/ @vsouza @dkhamsing @lfarah @nschucky

thx


adding explanation about polygons

[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 master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] My article does not contain shortened URLs or affiliate links.

If your pull request closes a GitHub issue, replace the XXXXX below with the issue number.
Closes #XXXXX

adding explanation about polygons

Hi,
Thanks for this pull request (PR).
Unfortunately, we are closing this PR, because we do not believe it adds a significant improvement.
Feel free to submit another PR though.
Thank you


Readline key bindings using meta key don't work in gVim's terminal

If I:

start gVim with no initialization (gvim -Nu NONE -U NONE -i NONE)
open a terminal window with :term
type a command with several words (echo foo)

I can't move  the cursor back to the  previous word by pressing M-b to  invoke readline's function
backward-word. It works as expected in Vim's terminal. The issue is specific to gVim.
Besides, if I remove the m flag from the 'guioptions' option, when I press M-b in gVim's terminal,
the character â is inserted. I can reproduce this by starting a gVim instance from the terminal with the following command:
gvim -Nu NONE -U NONE -i NONE +'set go-=m'

These issues seem to apply to all readline key bindings using the meta key, including:

M-b backward-word
M-c capitalize-word
M-d kill-word
M-f forward-word
M-l downcase-word
M-t transpose-words
M-u upcase-word
M-y yank-pop

Detail about my environment:

vim --version:      VIM - Vi IMproved 8.0  Included patches: 1-1360
Operating system:     Ubuntu 16.04.3 LTS
Terminal emulator:    rxvt-unicode v9.22
Terminal multiplexer: tmux 2.3
$TERM:              screen-256color
Shell:                zsh 5.3.1

Vim compiled with the following command:
./configure --enable-cscope                                                      \
            --enable-fail-if-missing                                             \
            --enable-gui=gtk2                                                    \
            --enable-luainterp=dynamic                                           \
            --enable-multibyte                                                   \
            --enable-perlinterp=yes                                              \
            --enable-python3interp=yes                                           \
            --enable-pythoninterp=yes                                            \
            --enable-rubyinterp=dynamic                                          \
            --enable-terminal                                                    \
            --prefix=/usr/local                                                  \
            --with-compiledby=user                                               \
            --with-features=huge                                                 \
            --with-luajit                                                        \
            --with-python-config-dir=/usr/lib/python2.7/config-x86_64-linux-gnu/ \
            --with-python3-config-dir=/usr/lib/python3.5/config-3.5m-x86_64-linux-gnu/

gVim was compiled with --enable-gui=gtk2, so I tried to recompile with --enable-gui=gtk3 but the issue persists.
Here's the version of gtk3 reported by my package manager (aptitude show libgtk-3-dev):
Version: 3.18.9-1ubuntu3.3

And for gtk2 (aptitude show libgtk2.0-dev):
Version: 2.24.30-1ubuntu<IP_ADDRESS>

The same issue seems to affect Vim's terminal in xterm.  I think it's because of :h modifyOtherKeys.
For the moment, I'm trying to fix both issues by sending the right escape sequences to the shell via Terminal-Job mode mappings:
if &t_TI =~# "\e[>4;2m" || has('gui_running')
    fu s:fix_terminal_readline() abort
        for a_key in map(range(char2nr('a'), char2nr('z')) + range(char2nr('A'), char2nr('Z')), 'nr2char(v:val)')
            exe 'tno <m-'..a_key..'> <esc>'..a_key
        endfor
    endfu
    call s:fix_xterm()
endif

So far, it seems to work.

I'm closing because the fix is simple and reliable (at least, I've never found an issue with it):
vim9script
def FixMetaReadline()
    for key in (range(char2nr('a'), char2nr('z'))
            + range(char2nr('A'), char2nr('Z')))
        ->map({_, v -> nr2char(v)})
        exe 'tno <m-' .. key .. '> <esc>' .. key
    endfor
enddef
FixMetaReadline()

Just wondering if the issue should be left open as labeled by @k-takata. The solution provided by @lacygoill  is a workaround rather than a fix.

OK, re-opening the issue.

I forgot to update the workaround:
vim9script
def FixMetaReadline()
    for key in (range(char2nr('a'), char2nr('z'))
              + range(char2nr('A'), char2nr('Z')))->mapnew((_, v) => nr2char(v))
        execute 'tnoremap <M-' .. key .. '> <Esc>' .. key
    endfor
enddef
FixMetaReadline()


Use fonts instead of background images

So instead of requesting a bg image, you would use @fontface
I think you can also use font subsetting to request fonts for certain characters

Yes, it is possible, but this approach alone could monitor only new unique characters, subsequent characters does not produce requests.  I proposed perhaps it could be worked around if subsequent CSS updates defining new font stack for input involving one font covering known input value in single ligature and as a fallback classical "keylogging" font.
@font-face { name: written; url(real font with single ligature of last known value)}
@font-face { name: logger; url(?key logging route); unicode-range: ... } /* etc etc */
input { font-family: written, logger; }

(all fonts names unique per response)
Obviously if this simple approach works, it could work just for typing, not deleting, pasting, moving cursor and typing in the middle etc.

Related https://github.com/kkuchta/css-only-chat/issues/2#issuecomment-491011541, https://github.com/kkuchta/css-only-chat/issues/11

Please assign this issue to me


Are there any way  to change timeout interval?

First of all, thank you for nice library!  I currently create plugin with VTubeStudioJS!
I thought timeout interval in this lib is fixed, and it could occur a little inconvenience.
Because of first AuthenticationTokenRequest shows popup in VTubeStudio, user who read popup carefully will not push accept button in 5 sec.
So, I want to set timeout more long only Authentication request. Are there any way to do that?
I've read a code around here
https://github.com/Hawkbat/VTubeStudioJS/blob/189f91ff07ca023d97795d01994a75eb7e01d6e4/src/api.ts#L82-L85

That's a great catch, I hadn't considered how the timeout would cause issues for that particular call. I'll push an update out that significantly increases the timeout for the AuthenticationToken endpoint and also allows for configuring of timeouts per call.

I've published a new version to NPM<EMAIL_ADDRESS>that increases the timeout for the AuthenticationTokenRequest to 5 minutes, and allows the timeout for any raw API call to be passed by specifying a second options object to the call, like so:
const stats = await apiClient.statistics({}, { timeout: 60000 });

Let me know if that covers your use case!

Thank you! I got some error during checking new version.
please see https://github.com/Hawkbat/VTubeStudioJS/pull/5
As for the timeout issue, it worked fine, including this patch

Fixed in v1.9.1.


Honor CSV transaction order within the same day

Transactions on the same day cannot be arbitrarily ordered, as it can change your capital gains.
https://www.adjustedcostbase.ca/blog/order-of-transactions-for-calculating-adjusted-cost-base/
I think today, acb will just place all sells on the same day after all the buys, which is not correct, and in certain cases can cause inaccuracies.
What should be done is the order specified in the files should be kept for tiebreaking.
If the input is weird and there are transactions for the same security on the same day in multiple files, some way to sort will need to be determined. It will likely be arbitrary. Possibly the order passed into the function.
Errors will also need to be emitted if the security balance goes below zero. I think this is already done though.

Fixed in 85ae90ef44a19c557e8d15419a46199703d48594

Fixed in 85ae90ef44a19c557e8d15419a46199703d48594


feat: update import_calib_idb to accept trange as either time range or list of idbfiles

Modified import_calib_idb function to handle trange parameter as either a time range or a list of IDB files.

Fast! Two additional feature requests:

When a timerange is provided, confirm with the user that the list of IDB files is what they want in a similar way to that in flare_spec(). See https://github.com/ovro-eovsa/eovsapy/blob/master/eovsapy/flare_spec.py#L98-L105.
Add udb_corr in import_calib_idb() and propagate it to importeovsa(). There is a chance that the input IDB files have already been calibrated.

added

Nice! Just a small thing: 4 min is roughly the time for udb_corr, but I guess importeovsa() takes a much longer time?

I have the impression that udb_corr takes up almost half of the total processing time in importeovsa().

This is just FYI, so not essential - just call it 10 min?

This is just FYI, so not essential - just call it 10 min?

sounds good!


http://www.bootstrap-switch.org/

Is it normal that the website is currently down?
Thanks in advance for your rely,
best regards,

+1

https://github.com/nostalgiaz/bootstrap-switch/issues/606

thanks

any alternatives ?

any alternatives ?

Read the last Post in the link from my first Post here

+1

Closing, discussion here: https://github.com/nostalgiaz/bootstrap-switch/issues/606


HWKAPM-769 | trace console recorder

@objectiser Could you please look at this? I have slightly changed our Logger to be able to programmatically configure it.

retest this please

I think that record it to logging is more configurable that sending it directly to stdout. @jpkrohling what do you think?

Agree. It's just the original issue was for console so just wanted to make sure. 😀

@objectiser @jpkrohling thanks for the review!
For performance issues added check on logging level.


Add version: clsid2.mpc-hc version 1.9.21

Auto-updated by vedantmgoyal2009/winget-pkgs-automation in workflow run 1119
Microsoft Reviewers: Open in CodeFlow

Marking it as draft since it is needed for a new feature in the automation (till 20th May).


Features to add in settings

Allow select intervals to be played and add major/minor scale quick set buttons
Allow configurable upper note.
Add random upper and/or lower note setting

After testing out the features, I was not able to incorporate all the features. However, configurable fixed note and select interval types have been added as well as other features.


[REVIEW] Divakar

GitHub Profile Link
https://github.com/rexdivakar

I really like your profile. But there is one thing that I wanna recommend. Consider spacing things out a little. They are clustered for now.
Thanks

Amazing profile! I loved it! I have made a pull request in your GitHub README repository for minor improvements. 🙂
Thank you for sharing your profile with us and for contributing to our community! 😄

Thank you for sharing, we will review on a live stream soon 👍

Looks great, some thoughts

animated gif takes away from your skills
100% commits, suggest doing more PRs, Issues, and reviews
github badge with link is duplicated


api/Wizard: Update ImageBuilder api schema and add ClientId to a compose request

Depends on https://github.com/osbuild/image-builder/pull/897
This updates the api schema and adds a ClientId value to the request sent to the api.

Ready for review! But also blocked until https://github.com/osbuild/image-builder/pull/897 is merged.

/retest

/retest

/retest

The images are not showing up in the table without the backend change so we'll have to merge that one first for this to work. I am running it locally though and it seems to be fine.

/retest


tests: Use users for common_subscribe_to_streams.

I merged the first 3 commits; I would quibble with the naming of self.encode_email, since I think it's confusing, but we're down to like 6 references after the 3rd commit, so that's easier to fix forward than the adjust in a rebase.  Not sure about encode_uuid either; I think it's important to emphasize that these are API credentials that we're encoding.
I'm very happy to have us using UserProfile objects as what we pass to api_get.
For the login_user commit, I think we want to be using .delivery_email?

Closing this. I'll reopen a new PR for more extensive login-related changes.

I used delivery_email in the upcoming PR for login_user.  I don't have any strong attachment to the encode_* names.  We use them infrequently enough that more verbose names might work there.


Nesting @data directives

I have an Article (Entry) that has a related Article (Entry) - via an Entry Relationship field.
Attempt One:
The below causes an error when $related_article is unpublished, which can happen if my users unpublish the post. I think what's happening is that @data and the augmentation behind it excludes the related_article automatically when it's status is unpublished.
@data($page)
      <x-article-block
          :title="$title"
          :author="$author['name']"
          :content="$article_content"
          />
@enddata

{{-- This will cause an error when related_article is unpublished: extract(): Argument #1 ($array) must be of type array, null given --}}
@data($related_article)
      <x-article-preview
          :title="$title"
          :author="$author['name']"
          :content="$article_content"
          />
@enddata

Attempt Two:
The below causes an error because I can't nest @data directives.
@data($page)
      <x-article-block
          :title="$title"
          :author="$author['name']"
          :content="$article_content"
          />

  @if($related_article)
     @data($related_article)
        <x-article-preview
            :title="$title"
            :author="$author['name']"
            :content="$article_content"
            />
    @enddata
  @endif

@enddata

Current Workaround:
It's not pretty but it works.
@data($page)
      <x-article-block
          :title="$title"
          :author="$author['name']"
          :content="$article_content"
          />
@enddata

@php
$relatedArticleEntry = $related_article->raw() ? \Statamic\Facades\Entry::find($related_article->raw()) : null;
@endphp

@if($relatedArticleEntry && $relatedArticleEntry->status() == 'published')
  @data($relatedArticleEntry)
      <x-article-preview
          :title="$title"
          :author="$author['name']"
          :content="$article_content"
          />
  @enddata
@endif

So my questions are:

Is it possible to make @data nestable?
Alternatively, perhaps @data should return the unpublished entry and the leave the status() check to myself?

Instead of \Statamic\Facades\Entry::find($related_article->raw()) just do $related_article->value().

Thanks! I'm still trying to understand what value() can be used for.
New solution:
@data($page)
      <x-article-block
          :title="$title"
          :author="$author['name']"
          :content="$article_content"
          />
@enddata

@if($related_article->value() && $related_article->value()->published())
  @data($related_article)
      <x-article-preview
          :title="$title"
          :author="$author['name']"
          :content="$article_content"
          />
  @enddata
@endif


When class declared and returned in the function, .d.ts declaration does not meet the expectations

Bug Report

🔎 Search Terms

When class declared and returned in the function, .d.ts declaration does not meet the expectations
🕗 Version & Regression Information

This is the behavior in every version I tried, and I reviewed the FAQ for entries about declaration and class method

⏯ Playground Link

Playground link with relevant code
💻 Code

// const Foo = (function() {
//     return class Foo {
//         name: string = 'shulandmimi';

//         extend(): Foo {
//             return new Foo();
//         }
//     }
// })();

// or

const Foo = class Foo {
    name: string = 'shulandmimi';

    extend(): Foo {
        return new Foo();
    }
};

const foo_instance = new Foo();

// in playground: (method) Foo.extend(): Foo; foo1: Foo;
// in .d.ts: (method) Foo.extend(): any; foo1: any

const foo1 = foo_instance.extend();

🙁 Actual behavior

declare const Foo: {
    new (): {
        name: string;
        extend(): any;
    };
};
declare const foo_instance: {
    name: string;
    extend(): any;
};
declare const foo1: {
    name: string;
    extend(): any;
};

🙂 Expected behavior

declare const Foo: {
    new (): {
        name: string;
        extend(): Foo;
    };
};
declare const foo_instance: {
    name: string;
    extend(): Foo;
};
declare const foo1: {
    name: string;
    extend(): Foo;
};

Your expected behavior has errors; there is no type named Foo:
declare const Foo: {
    new (): {
        name: string;
        extend(): Foo; // error!
    };
};
declare const foo_instance: {
    name: string;
    extend(): Foo; // error!
};
declare const foo1: {
    name: string;
    extend(): Foo; // error!
};

Playground link
Presumably you'd actually want to see something like #463 or #44045 where the currently anonymous type you're calling Foo would be named and exported as well.  Until or unless that happens you need to do it yourself:
interface Foo {
    name: string;
    extend(): Foo;
}

const Foo = class {
    name: string = 'shulandmimi';

    extend(): Foo {
        return new Foo();
    }
};

const foo_instance = new Foo();
const foo1 = foo_instance.extend();

Playground link

Presumably you'd actually want to see something like #463 or #44045 where the currently anonymous type you're calling Foo would be named and exported as well. Until or unless that happens you need to do it yourself:
interface Foo {
    name: string;
    extend(): Foo;
}

const Foo = class {
    name: string = 'shulandmimi';

    extend(): Foo {
        return new Foo();
    }
};

const foo_instance = new Foo();
const foo1 = foo_instance.extend();

thanks for your reply, the solution you proposed did work for me, but I still have some questions
const FooClass = class Foo { ... } is actually const FooClass: typeof class Foo { ... }
It doesn't seem to conform to #463 circular reference to itself
When a class is declared and returned in a function, there are two cases
// 1
function createFoo() {
     class Foo {
         extend(): Foo {
             return new Foo();
         }
     }
     return Foo;
}

// 2
function createFoo() {
     return class Foo {
         extend(): Foo {
             return new Foo();
         }
     }
}

In the playground, 1 will throw a reference to a private type error, while 2 will generate a type from typeof Foo and run without error
But in the second case, during the generation of .d.ts, Foo will be replaced by typeof Foo, and Foo will be discarded, causing the extend method to return any
Should this be the case instead of the current solution

Should the second case be the same as the first
The second case should be consistent with the runtime


Windows Tab Help Required

Guys My Win Key is not working at all and Bloxstrap Menu Cant be Opened (Tried with Mouse and still no). Can you guy make an alternative method of Opening bloxstrap menu ?

What? I don't get it. Why can't you open it?

Issue has been awaiting clarification for over a month, closing as stale. If you have anything further to add, just respond and I'll reopen.


feat(metal/bf16): additional cast support for bf16

extended bf16 cast support and testing
added tests for bf16 binary ops
added is_u32_bf16 and is_u8_bf16
exposed new + some existing kernels to candle-core's metal backend

Is there any interest in merging PR? If so, I can fix the existing merge conflicts.

ofc it's interesting.


NSCopying for NSDictionary

This patch implements NSCopying and NSMutableCopying protocols in NSDictionary, as well as creating a couple of test methods for verifying the behavior of the copy methods.

the change looks good however this is causing a crash in the compiler for me
1.	While emitting SIL for 'copyWithZone' at Foundation/NSDictionary.swift:150:12
Segmentation fault (core dumped)

This functionality has been merged in already that did not have the compiler crashes.


Adding CMake Install target for Engine

Closing as I'm reprioritizing myself to finishing the Conan work for now - we can cross this bridge when it's time :)


Corrected the JSON Format

JSON Format missing the curly braces. It is missed in custom-analyzer and edgeNGramAnalyzer document structure

@amreshkris : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Looks good; validated. Thanks for this update @amreshkris.


Added Pokemon EDA example

This notebook/Project implements the complete EDA problem statement.

Hey @lucifertrj   , Contribute to  : https://github.com/py3-coder/Model-EDA-Analysis-CART this repo for Data Science


Fix - Show cross in IE

In Internet Explorer the cross on the right side was not shown.
So I encode svg.
look at this: https://codepen.io/tigt/post/optimizing-svgs-in-data-uris

Hi @NaomiFPassarelli, thanks for changes, but tests are broken, it seems that src/alert/Close.js contains some wrong code.
I suggest you to squash all your commits into a single one, changing only the file you need. Other than that you can test your code with npm run test before submitting the PR, if tests passes you can proceed with the PR 😉

Hey @NaomiFPassarelli, thank you very much for the PR and sorry about not being able to help you to get it merged.
v3 should fix this issue and v2 will not be maintained anymore, so I will be closing this PR, hope it's ok.


Default column in "Benchmark Versions" page

On 2.5-head - commit id: 395b4fe7

Create a custom Benchmark version.
Give in Min Version of kubernetes and choose a "Cluster Provider".
Create the CR.
The Default column value for this Benchmark version is true or checked (check mark). In snapshot - test and test-2
Create another custom Benchmark version - test-custom.
Give in Min Version of kubernetes and choose a "Cluster Provider", select configmap from the dropdown.
Create the CR.
The Default column value for this Benchmark version is false or crossed (cross mark). In snapshot - test-custom

Question:
Why do test and test-2 have Default values set to true ?

On 2.5-head - commit id: b2953cbc

Default column in Benchmark version page is now blank.

What is the use case where it will have value? Can we make a benchmark version the default for a cluster?

I updated (...fixed) this column yesterday as part of this pr #2029

The intention is that the column will have a checkmark for all benchmark versions installed with cis and not for anything user-created. When I initially implemented this I used Check/X icons, but I've swapped that out in favor of matching the styling of the 'default backend' yes/no column in ingresses, which uses Check/—

Sounds like the column should be called "Built-In" instead of "Default"

Reopening for a fix as per comments - https://github.com/rancher/dashboard/issues/2014#issuecomment-742772468

On 2.5-head - commit id: baf4867

Column is name Built-in now


[guardian app] Setup application

This task pertains to scaffolding the desktop applications used to facilitate the ceremony election guardians participate in. Ideally, we would use https://tauri.app/ to implement this.

This is done in #30


Clarify tenant and subscriptions to use

Hi,
The document has the following quote:

For this to work properly, your tenant must be registered to the Azure Sentinel Resource Provider on at least one subscription. If you have a registered Azure Sentinel in your tenant, you are ready to get started. If not, select Subscriptions from the Azure portal, followed by Resource providers. Then, from the SOC - Resource providers screen, search for and select Microsoft.OperationalInsights and Microsoft.SecurityInsights, and select Register.

This is unclear. I spent some time deciding whether I should do this in the managing (MSPP) tenant, or in the managed (customer) tenant. Further, there is no "SOC - Resource" screen. Instead, this is the name of the subscription used in the MSPP tenant.

For this to be work properly THE MANAGING TENANT must be registered to the Azure Sentinel Resource Provider on at least one subscription. If you have a registered Azure Sentinel in the managing tenant, you are ready to get started. If not, select Subscriptions from the Azure portal, and then select a suitable subscription. From the subscription screen, select "Resource providers" in the menu. Search for and select Microsoft.OperationalInsights and Microsoft.SecurityInsights, and select Register.

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

ID: 49f7047a-14be-a631-adea-239f80f0abd9
Version Independent ID: efec7cc8-5d37-8075-caa3-125eaef49f8f
Content: Work with multiple tenants to Azure Sentinel for MSSP service providers
Content Source: articles/sentinel/multiple-tenants-service-providers.md
Service: azure-sentinel
Sub-service: azure-sentinel
GitHub Login: @yelevin
Microsoft Alias: yelevin

Thanks for the feedback! We will review and get back to you shortly.

Thanks for your question! I'm checking on that now and will make corrections and clarifications as necessary.

@elygre The answer to your question is, both the MSSP and any managed customers must have the Azure Sentinel resource providers (Microsoft.OperationalInsights and Microsoft.SecurityInsights) registered on at least one subscription each.
The relevant screen name is indeed <subscription name> | Resource providers.
These changes will be made in the documentation.
Thank you for your input!

Hi @yelevin, has this been added as a PR? Wondering when we can close out this issue.
Thanks!
Marilee

@MarileeTurscak-MSFT Sorry, yes, it has. PR #131850.
#please-close


revert to mongoose 4.5.10 to temp fix upstream iss

https://github.com/Automattic/mongoose/issues/4596

ignore for now, WIP to fix MongoError: no primary found in replicaset.


Export table as CSV (Parent Tree contribution, SMP Mix)

low priority

closing this ticket as this is no longer needed


added h.264 and aac enums

@sslivins, thanks for your PR! By analyzing the blame information on this pull request, we identified @Doridian to be a potential reviewer

lgtm