Kafka-node does not recover from UnknownTopicOrPartition error (when topic has been reassigned to a different broker)

This issue happened in our production environment running version 0.2.29. Devops tried to balance the load across our kafka cluster by moving some topics around. I would expect this also to be an issue in 0.3.1 as well.
Test setup
Please see issue #277 for details on how to set up your environment for this test.
Update docker-compose.yml:
zookeeper:
  image: hyperlink/zookeeper
  privileged: true
  ports:
    - "2181:2181"
kafka:
  image: wurstmeister/kafka:<IP_ADDRESS>
  ports:
    - "9092"
  links:
    - zookeeper:zk
  environment:
    KAFKA_ADVERTISED_HOST_NAME: <IP_ADDRESS>
    KAFKA_CREATE_TOPICS: "KafkaConnectivityTest:1:1"
  volumes:
    - /var/run/docker.sock:/var/run/docker.sock
  privileged: true

Add move.json
{"version":1,"partitions":[{"topic":"KafkaConnectivityTest","partition":0,"replicas":[1002]}]}

Steps to reproduce

Start docker containers
Run ./kafkatest.js
Send a test message through the console producer and verify it's echoed in the consumer
Scale up kafka docker-compose scale kafka=3
Run ./kafka-topics.sh --zookeeper <IP_ADDRESS>:2181 --topic KafkaConnectivityTest --describe to verify the topic is currently not on leader you are changing to otherwise you will need to update the replicas field in move.json to a different broker
Change the topic to a different broker by running ./kafka-reassign-partitions.sh --zookeeper <IP_ADDRESS>:2181 --reassignment-json-file move.json  --execute
You will see the following repeated error echoed:

an error happened { topic: 'KafkaConnectivityTest',
  partition: 0,
  message: 'UnknownTopicOrPartition' }

Send a test message through the console producer. We expect the test message to echo however it does not.

Comments
According to the error description on the kafka protocol page This request is for a topic or partition that does not exist on this broker. This appears to be recoverable error. I'm currently in the process of working on a PR to fix this issue.

This problem also happens when I manually delete a topic.

@hyperlink Even though your code does prevent kakfa-node from going into an endless error loop, but for some reason it actually prevents a topic from being deleted on the broker.  I'm using kafka-manager to manually delete topics.

It seems like the fix only handles the fetch function.
How about fixing it in the sendProduceRequest as well?
I'm encountering this problem when reassigning partitions. When I producing I get the UnknownTopicOrPartition error and no brokersChanged event is firing.
@hyperlink

@itamarwe do you mind create an issue for this? Also PRs are welcome if you want to fix this.

I  encountered this problem too.


auto-clustering not working when container dies in AWS ECS

Hello,
I am trying to use the rabbitmq-autocluster plugin in AWS ECS. Per instructions on here (https://github.com/aweber/rabbitmq-autocluster/wiki/AWS Configuration) I am able to have my rabbit instances auto-cluster on boot - see cluster status below - using the AWS backend (specifically the AWS autoscaling group membership).
bash-4.3# rabbitmqctl cluster_status
Cluster status of node 'rabbit@ip-10-200-22-148' ...
[{nodes,[{disc,['rabbit@ip-10-200-13-174','rabbit@ip-10-200-2-39',
'rabbit@ip-10-200-22-148']}]},
{running_nodes,['rabbit@ip-10-200-13-174','rabbit@ip-10-200-2-39',
'rabbit@ip-10-200-22-148']},
<EMAIL_ADDRESS>{partitions,[]},
{alarms,[{'rabbit@ip-10-200-13-174',[]},
{'rabbit@ip-10-200-2-39',[]},
{'rabbit@ip-10-200-22-148',[]}]}]
bash-4.3#
Auto-clustering works also when i terminated the EC2 instance and a new one is restarted - since the rabbit nodelist is updated with the newly started instance (with a new instance-id) that joins the autoscaling group.
Yet whenever one of the rabbit containers dies in in the cluster the cluster never gets reformed. For example the node rabbit@ip-10-200-13-174 died and when it came back online it wasn’t able to rejoin the existing cluster
bash-4.3# rabbitmqctl cluster_status
Cluster status of node 'rabbit@ip-10-200-13-174' ...
[{nodes,[{disc,['rabbit@ip-10-200-13-174']}]},
{running_nodes,['rabbit@ip-10-200-13-174']},
<EMAIL_ADDRESS>{partitions,[]},
{alarms,[{'rabbit@ip-10-200-13-174',[]}]}]
bash-4.3# cat /var/lib/rabbitmq/mnesia/cluster_nodes.config
{['rabbit@ip-10-200-13-174'],['rabbit@ip-10-200-13-174']}.
bash-4.3# cat /var/lib/rabbitmq/mnesia/nodes_running_at_shutdown
['rabbit@ip-10-200-13-174'].
bash-4.3#
and now here is the state of the existing cluster
bash-4.3# rabbitmqctl cluster_status
Cluster status of node 'rabbit@ip-10-200-22-148' ...
[{nodes,[{disc,['rabbit@ip-10-200-13-174','rabbit@ip-10-200-2-39',
'rabbit@ip-10-200-22-148']}]},
{running_nodes,['rabbit@ip-10-200-2-39','rabbit@ip-10-200-22-148']},
<EMAIL_ADDRESS>{partitions,[]},
{alarms,[{'rabbit@ip-10-200-2-39',[]},{'rabbit@ip-10-200-22-148',[]}]}]
bash-4.3# cat /var/lib/rabbitmq/mnesia/cluster_nodes.config
{['rabbit@ip-10-200-13-174','rabbit@ip-10-200-2-39','rabbit@ip-10-200-22-148'],['rabbit@ip-10-200-13-174','rabbit@ip-10-200-2-39','rabbit@ip-10-200-22-148']}.
bash-4.3# cat /var/lib/rabbitmq/mnesia/nodes_running_at_shutdown
['rabbit@ip-10-200-2-39','rabbit@ip-10-200-22-148'].
bash-4.3#
so after seeing this i thought that this must be because i wasn’t persisting the data in /var/lib/rabbitmq/ on the docker host so that when a container gets replaced rabbit can read the cluster config on disk and rejoin the existing cluster.
I then tried sharing the /var/lib/rabbitmq/ directory via docker volumes onto the docker host. When i do that the auto clustering never works, and each rabbit instance is in it’s stand-alone cluster like here:
bash-4.3# rabbitmqctl cluster_status
Cluster status of node 'rabbit@ip-10-200-13-174' ...
[{nodes,[{disc,['rabbit@ip-10-200-13-174']}]},
{running_nodes,['rabbit@ip-10-200-13-174']},
<EMAIL_ADDRESS>{partitions,[]},
{alarms,[{'rabbit@ip-10-200-13-174',[]}]}]
bash-4.3#
Any idea why auto-clustering doesn't work when i setup docker volumes - or anything else that i could be doing wrong?

@malawson without the logs it is difficult to know what is going on there, but it seems that you're starting a fresh node every time. The new node is in its own cluster, which means it didn't have the mnesia database to read. You need to ensure the docker container has access to the old database.

This plugin was forked by the RabbitMQ team and is now part of RabbitMQ. More information can be found @ https://github.com/rabbitmq/rabbitmq-autocluster


Support for dimmable lights & improved shutter control

I've made a few modifications to support:

Dimmable lights
Shutters.  These were already nominally supported, but in my setup they were a bit unreliable.  The "stop" button didn't work, (as the STATE_OPENING, STATE_CLOSING states were not handled), and if a shutter was left in an intermediate state it could think it was already closed.  This new implementation errs on the side of caution, always ensuring that all shutters are closed when a close command is sent.

I have some doubts about any breakages I may have introduced in features I don't use, but figured I'd share my changes with you in case you were interested in any of it.
Grazie!
Luca

Hi Luca,
I'm sorry for the considerable delay.
Something wrong happened with notifications.
Please feel free to do any kind of improvements.
Grazie a te!
Giovanni

@optiluca


luci-app-wireguard: Missing option to configure peer address

The Wireguard peer configuration section is missing the address field. I am not aware of configurations omitting the address parameter. It would be handy to set that in the peer configuration so the exported configuration as well as QR code will automatically include the parameter.
At least on Android, the Wireguard app will complain if no address is set and one has to be entered manually after scanning the QR code from the OpenWrt peer config generation page.
In case this is desired behaviour (i.e. to export configs to peers without an address and manually set it on the respective devices), please consider this issue void.
Steps to reproduce:

Go to: Network → Interfaces → Wireguard → Edit → Peers tab → Edit a peer

Actual behavior:

The option to set the address parameter is not present
As a result, the generated peer config does not contain any address parameter

Expected behavior:

An option to set the address parameter for a peer in the peer configuration settings
The address parameter is included in the generated peer configs (text and QR code)

Additional Information:
DISTRIB_ID='OpenWrt'
DISTRIB_RELEASE='22.03.1'
DISTRIB_REVISION='r19777-2853b6d652'
DISTRIB_TARGET='rockchip/armv8'
DISTRIB_ARCH='aarch64_generic'
DISTRIB_DESCRIPTION='OpenWrt 22.03.1 r19777-2853b6d652'
DISTRIB_TAINTS=''

I think the option is "Allowed IPs" in the peer settings.

Hm but that generates the parameter AllowedIps for the Peer section and not Address for the Interface section. So that setting would indicate which packet sources are accepted from the connected endpoint. Which is how it is supposed to be used and apparently mapped correctly by the Luci interface.

You have to enter an IP in the Allowed IPs section. For example <IP_ADDRESS>/32.

Well but what would I do if I want to use Allowed IPs for its intended purpose? Say I want to configure the peer with Address <IP_ADDRESS>/32 in the Interface section and want to set AllowedIps <IP_ADDRESS>/24 so the device can receive packets from that specific range?
In that case the generated config and QR Code will contain the AllowedIps parameter, as to its intended usage. Still, there is no address parameter for the Interface section and I need to configure that manually on the target device, for which the configuration is used. Otherwise (at least on Android), it won't even try to establish a connection.

Take a screenshot.

Ok,
here are two scenarios.

config1 contains a single IP address in the Allowed IPs field. Yet in export1 it can be found in the AllowediPs parameter of the Interface section. As to your logic, you would expect to see an Address <IP_ADDRESS> entry in the Interface section, where an empty red box is drawn now? That would not make sense because it would use the AllowedIPs parameter of Luci incorrectly and in two different ways depending on if a single IP or a range is entered.
config1 contains an IP range in the Allowed IPs field. As expected, in export2 the range can be found in the AllowedIPs parameter of the Interface section.

So in summary, there is no way to enter an IP address in the peer config section in Luci in order for it to show up as Address parameter in the Interface section of the exported configuration.
I hope this makes my issue clear now?

To configure an IP address on the interface, you must enter the corresponding IP in IP Addresses. That is in case the device in question is a "client".

The reason why support for that was not implemented is that it does not appear to be an official option according to man 8 wg. We could add it - but what are the requirements? Is it a single address or can it be multiple (IPv4 + IPv6)? Must the addresses lie within the subnets of the router side wireguard interface addresses? Shall we enforce uniqueness among all peers or allow duplicates? What is the user changes the subnets (addresses) of the wireguard interface, shall we clear out all peer addresses or keep them?

Ah, thank you for clarifying. That at least makes sense. So i guess the current path to success (at least on Android) is to scan the QR code and add the IP Address parameter in the app itself.

So i guess the current path to success (at least on Android) is to scan the QR code and add the IP Address parameter in the app itself.
That is poor user experience because it requires whoever is doing the scanning to magically come up with an IP that's not already in use. That is why this is best handled by Luci. It could at least check whatever [Interface] Address is manually assigned to the given peer against the other peers.

imo, that is poor user experience because it requires whoever is doing the scanning to magically come up with an IP that's not already in use. That is why this is best handled by Luci.

Nobody disagrees, but then LuCI has to "magically come up with an IP that's not already in use" and this has to be better defined before we can implement it. See considerations three comments above.

Is it a single address or can it be multiple (IPv4 + IPv6)?

It can be none, one of that or both at the same time and even multiple ones.
I would suggest the same input field as used in AllowedIPs.

Must the addresses lie within the subnets of the router side wireguard interface addresses?

The router side wireguard interface does not need to have an interface adress at all, I would not enforce anything other than it should be a valid IPv4 or IPv6 adresse.

Shall we enforce uniqueness among all peers or allow duplicates?

In the beginning it should be sufficent to omit any check for that in order to keep it simple.
For example with static DHCP/DNS entries there is no check and dnsmasq does not start if you input duplicates, but I would also keep it simple by omitting the check because I could imagine a scenario where somebody would do

Shall we automatically allocate a new IP when adding a peer and prefill the field or leave it empty?

No, just keep it optional like the private key field.

What if the user changes the subnets (addresses) of the wireguard interface, shall we clear out all peer addresses or keep them?

Just keep it simple, as said before the wireguard interface does not need to have an IP and even if it has one it does not need to be in the same subnet.

In summary I think it would be very helpful to add an optional field like "Private Key" name "Adresses" with the same input type as "Allowed IPs" field and just add the input from there to the generated config.

The Address Field is not part of wg but of wg-quick see also man 8 wg-quick

It may be desirable to also make the possibility for setting DNS and MTU

Hi folks, one PR for for the Addresses field is here, and there is also one for the DNS setting here. I didn't do MTU yet, but if someone really wants it, I can add it. First time contributing so let me know if anything is amiss.

@jow- and @castillofrancodamian, thoughts on the above PRs?

Any updates here, folks? @jow- / @castillofrancodamian ?

@nevumx I'm not a developer 😢

@castillofrancodamian Oh sorry, do you know who I should tag, then? 😅

@nevumx The other person you tagged is a developer.

@jow- I updated my PRs above(https://github.com/openwrt/luci/pull/6352 and https://github.com/openwrt/luci/pull/6351) to address feedback and merge conflicts, let me know your thoughts.


STM8 Error

Hello,
It did not work for STM8
`
unknown file type -DARDUINO_LIB_DISCOVERY_PHASE
exit status 1
Error compiling for board Nucleo_8L152R8.
`

Hi
You should use the last Arduino IDE.

How do you mean..I did use Arduino IDE

I mean latest version. It is a known issue linked to Arduino. See https://github.com/stm32duino/Arduino_Core_STM8/issues/21

I have downgrade the version.. the new problem is the it refuse to take the Cosmic STM8 license..

You have to register to cosmic


Add idr0141 to studies.tsv

cc @francesw

* At /site/about/screens.html:288:

  External link https://github.com/IDR/idr-metadata/tree/master/idr0006-fong-nuclearbodies failed (status code 404)

* At /site/about/submission.html:209:

  External link https://github.com/IDR/idr-metadata/tree/master/idr0006-fong-nuclearbodies failed (status code 404)

@francesw has extracted these metadata files to a standalone repository - see https://github.com/IDR/idr0006-fong-nuclearbodies

@sbesson releases.tsv done


Incorrect language scopes (javascript)

VSCode Version: 1.21.0
OS Version: 10.13.3

The javascript language definition seems to apply the wrong scopes to object properties if the properties are named the same as html types. For ex:
let stuff = {name: 'pete', color:'blah', something: 'stuff', id: 1, href='blah'}
stuff.name = 'test'
stuff.color = 'blue'
stuff.id
stuff.href
stuff.something

Only .something has the correct scopes of source.js, variable.other.property.js.
All the others have source.js, support.variable.property.dom.js.

Duplicate of https://github.com/Microsoft/TypeScript-TmLanguage/issues/523
See the discussion there for the background


请问下 vue 2.0路由是否支持 动态加载 按需加载

目前使用ng 的路由风格是 module / controller /action 所有路由都是按需加载 想咨询下 vue 是否支持这种加载方案 如何实现

用webpack可以轻松实现。ng这种自带构建/包管理的全家桶模式，vue是不会支持的。

我的意思是 /:module/:controller/:action 然后通过 require(/:m/:c/:a)的方法动态实现 而不需要配置路由 这样协同开发高效很多

like this https://github.com/ckken/ngSea

vue-router 1.0是不支持动态更改路由map的，router.start(map)以后路由就确定了。同时路由component的resolve函数是不接受其他参数的(http://router.vuejs.org/en/lazy.html)，所以不可能实现根据路由参数加载路由组件。
2.0还没有开发计划的样子。

（多嘴说一句，这种方式（动态路由）组织SPA，简直是无底坑。。。

Could you write in english, please? 👎

@CinKon Vue's Author, Evan, is a chinese speaker and Vue has a huge userbase in the chinese developer community.
And just like you don'T speak chinese, many of them don't speak english at lest not well enough to ariculate their issues properly). It's bound to happen that people articulate their problems here in chinese.
So we have no "english only" rule - though we encourage it.

It's rather a question, not an issue though, so I guess you can close it :D
@LinusBorg

you can ask questions on the decicated forums, there's also subforums for different asian languages:
forum.vuejs.org


ceiling17

Hello! I have two yeelight lamps:

yeelink.light.ceiling13
yeelink.light.ceiling17
I connected the ceiling13 lamp without any problems, the adaptive light works and I am very happy about it. BUT, there are problems with the ceiling17 lamp, it does not allow changing the temperature of the light and the adaptive light does not work either.

What could be the problem?

added manual https://github.com/cellcortex/homebridge-yeelighter/pull/126


Support for full bosh director - multi vm

Hello,
Any plan to add support for full bosh director (multi-vm) using BOSH CLI v2?
Thanks,
Prashant

What happens if that single director crashes?


Cypress dashboar does not work with dependabot and it's limited on run

Describe the bug
Dependabots first run when the PR is created always fails because the cypress secrets are missing. A manual run solve the problem.
Cypress dashboard usage is limited for free account. I reached the montly limit when I worked on the project for a week, so it is really to easy to reach the limit.
Remove it from the deploy action but still run the tests.
Expected behavior
dependabot's PR build does not fail.
Screenshots

Additional context
Add any other context about the problem here.

A Dependabot commit don't have the full permissions.
They cannot access to repository secrets..


Editor GPU: Inconsistent baseline

After yesterday's changes https://github.com/microsoft/vscode/pull/234601, only seeing on headers atm

Can't reproduce 😕


Table name containing character : (colon) causes Code completion not working

Dbeaver 5.2.2 with HANA.
Please include character :  (colon) in valid characters for table name. In our HANA project, lots of tables contains this character, and so code completion for columns is currently not working on those tables.

Same applies for spaces and $.
Bothe code completion for columns and table names breaks.

: and other special characters are not part of standard identifiers, such identifiers have to be quoted.
Workaround: if you start the identifier with a quote (like SELECT * FROM "T) then autocompletion also support these special characters


WinUI 3 NavigationViewItem IsSelected=true not work

Describe the bug
NavigationViewItem Default Item cant be selected
Steps to reproduce the bug

Steps to reproduce the behavior:
<NavigationView.MenuItems>
            <NavigationViewItem Content="Home" Icon="Home" IsExpanded="True">
                <NavigationViewItem.MenuItems>
                    <NavigationViewItem IsSelected="True" Content="Subscene" Icon="ShowResults"/>
                    <NavigationViewItem Content="ESubtitle" Icon="Caption"/>
                </NavigationViewItem.MenuItems>
            </NavigationViewItem>
        </NavigationView.MenuItems>

Expected behavior

Screenshots

Version Info

NuGet package version:

WinUI 3 - Windows App SDK 0.8: 0.8.1

Windows app type:

UWP
Win32

Yes

Windows 10 version
Saw the problem?

Insider Build (xxxxx)

October 2020 Update (19042)
Yes

May 2020 Update (19041)

November 2019 Update (18363)

May 2019 Update (18362)

October 2018 Update (17763)

April 2018 Update (17134)

Fall Creators Update (16299)

Creators Update (15063)

Device form factor
Saw the problem?

Desktop
Yes

Xbox

Surface Hub

IoT

Additional context

@ghost1372 can you try setting the IsSellected property from code behind during the Loaded event? I suspect this is a timing issue.  This issue isn't present in Winui2 correct?

@StephenLPeters  WinUI 2.6.1 and WinUI 3.0 both do not work but i used a button to select default item and worked
private void Button_Click(object sender, RoutedEventArgs e)
        {
            myItem.IsSelected = true;
        }

I want to select one of the submenus by default

So is this a duplicate of this issue: https://github.com/microsoft/microsoft-ui-xaml/issues/3149

yes, so we can close this issue?


symfony/dom-crawler v6.1 broke form filling

I believe this is more related to https://github.com/FriendsOfBehat/MinkBrowserKitDriver but since the Issues are not enabled on that repository I am opening it here.
After an upgrade of symfony/dom-crawler from v6.0.9 to v6.1.0 (diff) I started getting the following errors:
# Behat\WebContext::fillField()
Form field with id|name|label|value|placeholder "name_of_the_field" not found. (Behat\Mink\Exception\ElementNotFoundException)

After further investigation it looks like this does not work for searching a form element by id, but if I use the value of the name attribute then it works.

Could you report that on Symfony repository? Breaking compatibility changes in patch versions shouldn't happen there and there's nothing we could do about it here.


Feature request: Ability to open new window as clone of first one

this is sort-of expansion of #25329 ...
I know about 'New Window' command, but that just open new instance of vscode thats is separated from first one.
What i have in mind is open new window and open there any panel (output, explorer, ...) that show same 'data' as corresponding panel in first window.
Another way to go is to be able dettach any panel from main window into its own window like visual studio can ...

Covered by #2686


add Kubernate TechWorld with Nana course

Add Kubernate TechWorld with Nana Full course

Fixes Issue
Closes #2086
Changes proposed
Added new course content: Kubernetes in TechWorld with Nana.

Screenshots

Note to reviewers
The Kubernetes TechWorld with Nana Full Course provides a comprehensive overview of Kubernetes, covering main components, architecture, local setup, and essential commands. It explores YAML configuration files, demonstrates a MongoDB and Mongo Express project, and delves into organizing components with Kubernetes namespaces. The course explains Ingress, Helm as a package manager, persisting data with volumes, deploying stateful apps using StatefulSet, and various Kubernetes services. Each section is accompanied by detailed timestamps, making it easy to navigate. The course balances theoretical concepts with practical demonstrations, making it suitable for beginners and those looking to deepen their understanding of Kubernetes.

@Anmol-Baranwal @rupali-codes @CBID2
I sort out the deployment error now you can merge it

@CBID2
This issue is not assigned to him.
This is the PR created by the author who is assigned the issue.
https://github.com/rupali-codes/LinksHub/pull/2087

@Priyanshuthapliyal2005
You cannot work on issues which isn't assigned to you.
We are neglecting this now, but in the future, you need to create an issue and allow us to assign you the issue before you start working and submit a PR. Not following this process will require us to close your pull request.
This is outlined in the contributing guidelines.

You need to follow a predefined flow in order to contribute to Open Source. You may be new, so it is important to understand this. Most of the maintainers will mark it as spam and close it. I'm converting this into a draft for now.

@Anmol-Baranwal
I understand the importance of following the contribution process. However, I'd like to point out that the author of the issue isn't actively working on resolving the problem. Instead, they submitted a pull request without attempting to address the issue.
While I appreciate the established flow for contributing to open source, I believe it's equally crucial for contributors to take ownership of the issues they create. Perhaps we can encourage the original issue creator to actively engage in resolving the problem or, if they're unable to do so, allow others to take up the task.
Best,
Priyanshu Thapliyal

@Anmol-Baranwal
I acknowledge that my pull request may not strictly adhere to the contributor guidelines, and I appreciate your guidance on this matter. However, I want to highlight that the changes made in my pull request effectively solve the issue at hand.
I understand the significance of following the established guidelines and I'm open to making adjustments as needed to ensure compliance. At the same time, my primary aim is to contribute meaningfully to the project and provide a resolution to the reported issue.
If it aligns with the project's policies, I would appreciate your consideration of my pull request to close this issue. I'm committed to collaborating and refining the changes as necessary.
Thank you for your understanding.
Best,
Priyanshu Thapliyal

@Anmol-Baranwal
I understand the importance of following the contribution process. However, I'd like to point out that the author of the issue isn't actively working on resolving the problem. Instead, they submitted a pull request without attempting to address the issue.
While I appreciate the established flow for contributing to open source, I believe it's equally crucial for contributors to take ownership of the issues they create. Perhaps we can encourage the original issue creator to actively engage in resolving the problem or, if they're unable to do so, allow others to take up the task.
Best, Priyanshu Thapliyal

But he did create a PR before than you. Also, we don't restrict authors with deadline, they are free to do in even 2 weeks.
We do open the issue for others once the author isn't interested, there is even a label: up for grabs

ok

@Anmol-Baranwal
I understand the importance of following the contribution process. However, I'd like to point out that the author of the issue isn't actively working on resolving the problem. Instead, they submitted a pull request without attempting to address the issue.
While I appreciate the established flow for contributing to open source, I believe it's equally crucial for contributors to take ownership of the issues they create. Perhaps we can encourage the original issue creator to actively engage in resolving the problem or, if they're unable to do so, allow others to take up the task.
Best, Priyanshu Thapliyal

But he did create a PR before than you. Also, we don't restrict authors with deadline, they are free to do in even 2 weeks.
We do open the issue for others once the author isn't interested, there is even a label: up for grabs
I appreciate your understanding. I want to provide more context on my actions. When I came across the issue, I noticed it had no associated pull request, and the author hadn't tagged their pull request with the issue. In my eagerness to contribute and thinking the issue was unclaimed, I submitted a pull request.

I now understand that the original author had indeed created a pull request a day before mine. I apologize for any confusion caused by my oversight.
I am committed to learning from this experience and will ensure to be more diligent in checking for existing pull requests in the future.
Thank you for your guidance and patience.

@Priyanshuthapliyal2005
No worries, I was just letting you know. Sometimes, even we miss these things. So, it's important to have a mutual understanding.


update upload documentation

The upload documentation specify that the command is checking that a file hasn't changed for at least 10 minutes, but the code seems to have changed to 2 minutes instead in src/Ambiata/Cli.hs:94.
If that is indeed the case, feel free to accept my merge to update the doco accordingly.

Yep, this is accurate, thanks. :+1:


fix(deps): update dependency mendix to ^9.24.2965

This PR contains the following updates:

Package
Type
Update
Change

mendix
dependencies
minor
^9.23.621 -> ^9.24.2965

mendix
devDependencies
minor
^9.23.621 -> ^9.24.2965

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.

This PR has been generated by Renovate Bot.

Edited/Blocked Notification
Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.
You can manually request rebase by checking the rebase/retry box above.
⚠ Warning: custom changes will be lost.

@tamelbrun, what the plan? Should we update this along with PWT or we can merge this update separately? As far as I can see there no type errors.

cc: @leonardomendix , @gjulivan


Can Ramda solve this API approach?

Hello.
I was trying to implement an API like this:
say I have a object Stores, with this prototype functions:
Stores = function(){
   ...
}

Stores.prototype.insert = function(obj) {
    ...
}

Stores.prototype.find = function(selector, options) {
    ...
}

and SubStores that act like function and object, with this prototype functions:
SubStores = function(fn, args) {
    return this[fn](args)
}

SubStores.prototype.insert = function(obj) {
    ...
    return this.options.path + obj;
}

SubStores.prototype.find = function(selector, opt) {
    ...
    return this.options.path + selector;
}

First I need to create and initialize SubStores objects:
I don´t know how ...
    Store1 = 'create from SubStores' with options={path: 'perfil', ...}
    Store2 = 'create from SubStores' with options={path: 'rol', ...}

I have to create and initialize Stores object to ...
maybe..
    stores = new Stores("stores");

Now Ramda part:
You see that Stores and SubStores share same API, insert and find functions. And I pretend do it this Ex:
    //stores is a Stores instance
    stores.insert([Store1({name: 'Foo'}), Store2({event: 'Bar'})])

this is syntax sugar of:
    stores.insert([Store1.insert({name: 'Foo'}), Store2.insert({event: 'Bar'})])

The same for all API: insert, find, update, ...
Can I implement this with Ramda curry or ...?
Thanks.

I'm afraid I'm not following entirely.  Are you suggesting that you want to call this:
stores.insert([Store1({name: 'Foo'}), Store2({event: 'Bar'})])

and behind the scenes have it delegat to something more like this:
stores.insert([Store1.insert({name: 'Foo'}), Store2.insert({event: 'Bar'})])

with the same abilities for find and update?
If so, I think you're going to run into serious issues, since the parameters in the list passed to stores.insert will be the result of running Store1({name: 'Foo1}), etc.  I think it would be too late to try to restructure the calls to create Store1.insert({name: 'Foo1'}).
But I may well be misunderstanding entirely.

stores.insert([Store1.insert({name: 'Foo'}), Store2.insert({event: 'Bar'})])

Probably not posible literally, sorry for bad explain.
I mean:
stores.insert([Store1({name: 'Foo'}), Store2({event: 'Bar'})])

become
stores.insert([Store1('insert',{name: 'Foo'}, Store2.('insert', {event: 'Bar'})])

Store1('insert', {name: 'Foo'}) is just a call to  Store1.insert({name: 'Foo'})

I´m open to better API suggest too :-)

Actually I think is posible to implement with curry´s but I don´t have arrive to this part yet.
I'm stuck on object/function creation. Maybe this is too complex ...
I was testing all kind of things.
Right now this is my object/function creation:
SubStore.create= function(options) {
    let options = options;
    return function (fn, args) {
        console.log(options);
    }
}

This is very basic but I don´t know how can add/call propertys to/from returned clousure
Now I can create "object":
Store1 = SubStore.create({path: "perfil"});

I can call: Store1('insert', {name: "Foo"})
But how implement??
Store1.insert({})

I know is posible implement functions API within a switch on function clousure but Store1.insert() form is desirable.

I mean:
stores.insert([Store1({name: 'Foo'}), Store2({event: 'Bar'})])

become
stores.insert([Store1('insert',{name: 'Foo'}, Store2.('insert', {event: 'Bar'})])

I still have the same concern.  Before evaluating

stores.insert([Store1({name: 'Foo'}), Store2({event: 'Bar'})])

the JS engine has to evaluate

var s1 = Store1({name: 'Foo'})

and

var s2 = Store2({event: 'Bar'})

Only then can it evaluate

stores.insert([s1, s2])

But once it does this, how would it convert s1 into
Store1('insert',{name: 'Foo'})

Does the s1 object have a reference to the Store1 function and to the {name: 'Foo'} configuration object?

I make a dirty  snippet of code for test ...
var SubStore = {};
SubStore.create= function(options) {
    let options = options;
    return R.curry(function (args, fn) {
        switch (fn) {
            case 'insert':
                console.log('insert');
                break;
            case 'find':
                console.log('find');
                break;
        }
    })
}

var Store = {};
Store.insert = function(args) {
    for(let i = 0, len = args.length; i  < len; i++ ) {
        args[i]('insert');
    }
}

var sub1 = SubStore.create({x:1});
var sub2 = SubStore.create({y:2});

Store.insert([sub1({name: "Foo"}), sub2({age: 18})]);

I had invert arguments order on ... R.curry(function (args, fn) { ... . I need fn on first place cause function signature change, say
Ex:
sub1({name: "Foo"}, {$inc: {value:"1"}}, 'insert')
sub1({}, 'find')
Still searching for remove switch and props inside returned closure curried function.

Finally solved:
//return 'fn' with all 'obj' props
function functionize(obj, fn)
{
    let fn = fn;
    for( let i in obj ){ fn[i] = obj[i] };
    return fn;
}

SubStore = function(options) {
    this.options = options;
}
SubStore.prototype.getOptions = function() { return this.options }
SubStore.prototype.setOptions = function(options) { this.options = options }
SubStore.prototype.insert = function(doc) { return doc }
SubStore.prototype.find = function(selector, options) { return selector }

SubStore.create = function(options) {
    let sub = functionize(new SubStore(options), R.curry(function (args, fn) {
        let self = sub;         //reference to new SubStore obj
        return self[fn](args);
    }))
    return sub;
}

Store = function(options) {
    this.options = options;
}
Store.prototype.insert = function(args) {
    for (let i = 0, len = args.length; i < len; i++) {
        if ( R.is(Function, args[i]) ) { args[i] = args[i]('insert') }
        console.log(args[i]);
    }
}
Store.prototype.find = function(args) {
    for (let i = 0, len = args.length; i < len; i++) {
        if ( R.is(Function, args[i]) ) { args[i] = args[i]('find') }
        console.log(args[i]);
    }
}

Test code
store = new Store();

sub1 = SubStore.create({path:'perfil'});
sub2 = SubStore.create({path:'rol'});

// test#1
store.insert([ sub1({name: "Foo"}), sub2({age: 18}) ]);

// test#2
store.insert([ sub1.insert({name: "Foo"}), sub2.insert({age: 18}) ]);

I guest this need more R way on array for loops
Any advice??

I guest this need more R way on array for loops
Any advice??

I'd have to see what you really wanted to do, rather than the presumably dummy code of console.log.  To me a loop is usually for something, and that something is almost always best expressed as a map, a reduce, a filter, or a find.  As a desparate last resort, Ramda also includes forEach, but I would highly recommend against using it unless nothing else would do.
I'm afraid I really have not been able to follow what your code is for.  So I'm having a hard time understanding what sorts of improvements you would like for it from Ramda.  Note that although Ramda can work with OO code in various ways, such is far from its strength.  Ramda is entirely designed to help with FP.


p4app launch problem

"Virgin" Ubuntu 16.04 VM in VirtualBox
Docker installed, docker group created, user added to it
Docker run hello-world - verified
p4app git clone'd
p4app copied to /usr/local/bin

Follow instructions:
~/p4/p4app$ p4app run examples/simple_router.p4app
Unable to find image 'p4lang/p4app:stable' locally
docker: Error response from daemon: manifest for p4lang/p4app:stable not found.
Do I need to build the initial docker image using provided Dockerfile or is this handled by p4app?
Thanks.

I looked on docker hub and discovered there is no :stable tag for this image, but there is a :latest. By examining p4app I determined you can override the default tag as follows:
p4app run examples/simple_router.p4app```

So a `:stable` tag should be added to one of the images on docker hub, or else change the p4app script to use `:latest`, or else add instructions to the readme. Thanks.

Hello,
I am also having the same issue.
sudo p4app run examples/simple_router.p4app
Unable to find image 'p4lang/p4app:stable' locally
docker: Error response from daemon: manifest for p4lang/p4app:stable not found.
See 'docker run --help'.
What can I do?  There is stable tag for the image.
Thanks


Note on wide ranging support

A reassuring note on support after a discussion with @pauljadam about his testing of aria-label.

after twitter discussion https://twitter.com/heydonworks/status/586193812994785280 et seq


Add template function for making general HTTP requests

A lot of Jamstack services like Formspree require the Authorization header for authentication. Without being able to supply headers, we cannot access the API provided by these services from within Hugo. getJSON and getCSV are very limited in scope and do not support any means for authentication or passing data. We cannot handle non 200 series status codes in Hugo templates as well.
NOTE: With transform.Unmarshal hugo already supports parsing textual responses.

I actually started working on such a function a few weeks ago, but it's not finished.  Below is what I was wanting to implement.  Comments welcome.
Function signature
getHTTP URL [OPTIONS...]

Optional Parameters Dictionary

"method" = string (GET, POST, etc)
"headers" = dict (map[string]string)
"body" = string
"no-cache" = bool (bypass Hugo's caching mechanism; not sure this is useful) ❓

Returns
A HTTP Response object (a simplified view of http.Response) containing:

StatusCode (int)
Headers (map[string]string)
Body (string or keep it as []byte?) ❓

Example Usage
{{ $resp := getHTTP $url (dict "method" "POST" "body" $body "headers" (dict "Authorization" "blah")) }}
{{ if eq resp.StatusCode 200 }}
  {{ $json := transform.Unmarshal resp.Body }}
{{ end }}

Cc: @bep

We have discussed this, and I'm convinced that the method signature should be something like:
{{ $resource := $url | resources.GetRemote $opts }}

But I would I would love it if we could find a great Go library with a struct config that we could fairly easily adapt).

Updated my "proposal" comment above to move the URL parameter to the end of the function signature.

@moorereason  Hugo defines maxAge for controlling its caching. Instead of no-cache, maxAgewhich can override the default provided in the config on a per request basis may make more sense.

To repeat myself, we're not adding some low-level HTTP API to Hugo, so this:
{{ if eq resp.StatusCode 200 }}
  {{ $json := transform.Unmarshal resp.Body }}
{{ end }}

Is not something I want to teach the average Hugo user on the forum.

How about we just have {{ $json := transform.Unmarshal resp.Body }}. It can throw and error and fail the build if the StatusCode is not in 200/300 series. (I am assuming redirects will be automatically followed). We can have resp.RawBody which will never fail. Sometimes response body gives useful detail about the error on the server.
That way users that understand status codes get status codes and access to the raw body of the response. Users that don't can just use resp.Body. It is useful to get response headers, especially for cases like 201s where the created content id is present in headers in many cases.

Hello,
I'm interested by this feature as I'm looking for a way to generate a small preview of a static website (blog post). This API would be great.
But before to have something landed is there another way to get the header from a random website and use it ? a JS snippet somewhere ?

@dabrain34 why use a static website generator to do what a headless browser testing tool already can? https://headlesstesting.com/support/start/screenshots.html

because I wanted to generate a mosaic from posts containing only a link where I could retreive this info (title, description, thumbnail).

Superseded by https://github.com/gohugoio/hugo/pull/9185


useful git commands

Checklists
General Checks

[ ] the branch is up to date with main/master
[ ] the code works when pulled and run locally
[ ] All CI checks pass
[ ] all conflicts are resolved (if any)
[ ] PR has a descriptive title
[ ] PR has appropriate labels and milestones for easy identification
[ ] PR it is assigned to the owner
[ ] reviewers are assigned
[ ] the PR contributes only one focused change
[ ] It is in the appropriate column in the project board (if necessary)
[ ] has short and clear description
[ ] is linked to an issue (if it is related)
[ ] feedback is addressed (if any and if it is appropriate feedback.)

Markdown

[ ] the markdown source is formatted
[ ] spelling and grammar is correct in all text
[ ] The markdown looks correct when you preview the file
[ ] all links and images work
[ ] any embedded code snippets are formatted

Dear @gelilaa
I don't think the PR check fails because of my code. The error is in the main repo?
Can you check it?
Thank you

@ashenafykebede, you are right the problem was ‘kebabcase’ naming conventions. And it has been fixed with another PR merge.
That is why I asked you to make a small( simple) change so that your workflow can pick up on the changes. It can be a small change (a space, a word….)


"AttributeCollectionStart " and "AttributeCollectionSubmit", not supported in Entra Workforce Tenants

I suggest updating pre-requisites section of this article to indicate that a Entra External ID for Customers tenant is required, and call out that an Entra Workforce tenant is not supported.
This article assumes you realize that an Entra External ID for Customers tenant type exists, and that you already have one.
Making things more confusing is that the Menu blade referenced in "Step 2: Create and register a custom authentication extension" does exist in a Entra Workforce tenant, it just doesnt have the options described in this article "AttributeCollectionStart " or "AttributeCollectionSubmit".  Only the "TokenIssuanceStart" event type.
To prevent future confusion, I'd suggest updating article to make it very clear that these options are only available in Entra External ID for Customer tenants.

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

ID: 00b5cb48-d4b9-4baa-3aa2-0c9d096db9fb
Version Independent ID: 00b5cb48-d4b9-4baa-3aa2-0c9d096db9fb
Content: Create attribute collection events (preview) - Microsoft identity platform
Content Source: docs/identity-platform/custom-extension-attribute-collection.md
Service: identity-platform
GitHub Login: @msmimart
Microsoft Alias: mimart

@jasonfritts
Thanks for your feedback! We will investigate and update as appropriate.

Hi @jasonfritts, thanks so much for this feedback. We're currently revising this article and related custom auth extension docs to clarify the prerequisites. Right now we include the "Applies to: Microsoft Entra External ID customer configurations" statement, but we're looking at ways to make this more prominent throughout. @cilwerner, fyi

@jasonfritts
Thank you for bringing this to our attention.
I've delegated this to content author @msmimart, who will review it and offer their insightful opinions.

Updates noted in earlier comments are in progress. Thanks again for the feedback! #please-close


Getting stuck on mounts

This is a very old bug and long overdue ticket. What I call "Mount Glitch" is when you're on a mount (flying mount, boat, seat), you'll more often than not eventually get stuck on the mount unable to normally dismount (or go down on a flying mount) and if you're moving, you'll notice that chunks have stopped loading around you. If you move into the unloaded chunks you'll be stuck until you tp away and /back or in worse cases need to break or recall the mount.
I've died an innumerable amount of times due to mount glitch flying around with my ray and it was the sole reason why the grand prix event was discontinued pre reset when events were still held on all 3 severs separately. I've noticed that a fix was made in the more recently crated event server, or it wasn't a problem on a fresh server to begin with.
To Reproduce
Steps to reproduce the behavior:

Go to Atlas, Orion or Titan servers
Right click on a boat, land pokemount, or flying pokemount
Move around until the chunk loading noticeably stops
See error that you can't move further nor get off the mount without breaking, tping or recalling

Expected behavior
You should be able to stay in a mount for however long you'd like and not be trapped in it
Screenshots
Username:
FarDiamond3049 (nicknamed Far)
Server name (all applicable):
Atlas, Orion, Titan
Logs: latest.log
(This is exactly when when I was able to get mount glitch to happen while boating on the ice path under my shop)
[22:37:16] [main/WARN]: Received passengers for unknown entity
[22:37:18] [main/WARN]: Received passengers for unknown entity
[22:37:21] [main/WARN]: Received passengers for unknown entity
[22:37:27] [main/WARN]: Received passengers for unknown entity
[22:37:28] [main/WARN]: Received passengers for unknown entity
[22:37:31] [main/INFO]: [CHAT]
[22:37:31] [main/INFO]: [CHAT]            ┣???????????????????┣ ? ┫???????????????????┫
[22:37:31] [main/INFO]: [CHAT]  §fNeed a challenge? §6Try the Battle Tower§f! Win for §6epic prizes§f!
[22:37:31] [main/INFO]: [CHAT]          §6Click here §for run §6/battletower §fto get started!
[22:37:31] [main/INFO]: [CHAT]
[22:37:40] [main/WARN]: Received passengers for unknown entity
[22:37:57] [main/INFO]: [CHAT] [FarDiamond3049] Welcome to FarMarket! Be careful not to steal legends as its against the rules!
[22:37:57] [main/INFO]: [CHAT] [Orion][Master][Helper] Faded ≫ kill itttt
[22:38:09] [main/INFO]: [CHAT] [FarDiamond3049] Welcome to FarMarket! Be careful not to steal legends as its against the rules!
[22:38:10] [main/WARN]: Received passengers for unknown entity
[22:38:29] [main/WARN]: Received passengers for unknown entity
Additional context
I want to be able to not die and practice for the boat racing event :p

Needs re-testing, because I think this might be an old Pixelmon mount bug. Worth testing in singleplayer too.

If it exists in singleplayer I don't notice it at all; 15 minutes straight of boat riding and i mapped the whole ocean with no getting stuck. However just last Sunday I got boat stuck on Titan in an attempt to practice for boat race; couldn't even finish a lap


Consider how we handle actions that never return

Timeout?

And if you don't believe this ever happens, then consider a wait_for_host script that waits on a dead service ;)

I think most of this is solved by the scrolling output, as a user can see what the script is doing :)


Avoid handling flow erros in hosted page

Related Issues
Related to https://github.com/descope/etc/issues/4478
Description
When the flow gets an error in the hosted page, the error should be returned instead of the welcome page

Add tests to catch both cases ? To avoid regression

There is already test for the missing projectId.
As there is no handling for errors I don't think it's relevant to check "something doesn't happen"


Fix instance signal test.

Current failuer: https://storage.googleapis.com/compute-image-tools-test/logs/ci-daisy-e2e/28/artifacts/log-264923b7-0eb9-4e8b-8e65-e7e728b5affd.txt


Improve formatting for code examples

Looking at code in GitHub it's sometimes hard to read the code and the comments, because the lines are longer than GitHub displays. Is it possible to enforce, or at least encourage, shorter lines?
This is from  Azure.Messaging.EventHubs/samples/Sample09_ReadOnlyNewEvents.cs

Hi @estensen.   Thank you for sharing your feedback.
During the initial wave of new SDKs, our approach to samples was focused on presenting things in a way that developers could clone and then explore by running/debugging locally in an IDE.  We learned during this time that isn't the approach that is ideal for some who use the samples as a point of quick reference in a read/only manner.
We've since begun reorganizing samples into a form where each is represented by a markdown write-up with focused snippets that will render much better for those reading in a browser.  Samples will continue to be backed by a full implementation for those to probe more deeply, but that won't be the initial presentation.
Event Hubs has not yet transitioned to the new approach, but it is something that we'll be working on in the near future.


Integration aws vault and aws s3 config server issue

Issue: integrating aws vault and aws s3 config server.
exception: The bean 'configTokenProvider', defined in class path resource [org/springframework/cloud/config/server/config/VaultConfiguration.class], could not be registered. A bean with that name has already been defined in class path resource [org/springframework/cloud/config/server/config/EnvironmentRepositoryConfiguration$DefaultConfigTokenProvider.class] and overriding is disabled.

Can you provide a complete, minimal, verifiable sample that reproduces the problem? It should be available as a GitHub (or similar) project or attached to this issue as a zip file.

It’s working now with integration of vault and config-server with below dependencies.
Here is my changes ..

Added spring cloud config and vault dependencies
Bootstrap file with config server aws s3 and cloud config server vault and cloud vault.
my concern: in that bootstrap , I added vault configuration in both spring cloud vault and spring cloud config server vault also. Is there any way we can skip spring cloud config server vault configuration..

please check and suggest me. Added screenshot of bootstrap and dependencies along with this message.
Appreciate your help and responding.

https://github.com/spring-cloud/spring-cloud-config/issues/1921#issuecomment-872442734

I shared the dependencies and my sample bootstrap yml. Still not able to provide solution then I will share the code to you?. Hope you can answer with above one. Please let me know. Thanks a lot.

Yes please create a sample in either a Git repo or attach it as a zip as my comment above stated

If you would like us to look at this issue, please provide the requested information. If the information is not provided within the next 7 days this issue will be closed.

Closing due to lack of requested feedback. If you would like us to look at this issue, please provide the requested information and we will re-open the issue.


column order

Hi there,
I've tried your script and it worked well for me except that in some cases the order of the columns returned differently than in my source table. I was able to get the columns to output in the original order by adding order clause "order by ordinal_position" to the statement that builds the columns (see below).  Thanks for uploading this utility!
SET @ColumnST = (
		SELECT '[' + COLUMN_NAME + ']' AS 'TH'
		FROM tempdb.INFORMATION_SCHEMA.COLUMNS
		WHERE TABLE_NAME LIKE '##rowstablePreHTML'
		order by ordinal_position -- new clause
		FOR XML raw('TR'),
			elements
		) -- Obtain columns for the table

thanks for the feedback, we will update the tool and give you the proper credit!


fix build on MSVC

add Makefile.msc for libvterm

Codecov Report

Merging #1865 into master will increase coverage by 0.02%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #1865      +/-   ##
==========================================
+ Coverage   75.06%   75.09%   +0.02%
==========================================
  Files          76       76
  Lines      125244   125244
==========================================
+ Hits        94020    94056      +36
+ Misses      31224    31188      -36

Impacted Files
Coverage Δ

src/ex_cmds.c
77.63% <0%> (-0.09%)
:arrow_down:

src/term.c
53.14% <0%> (+0.05%)
:arrow_up:

src/window.c
81.42% <0%> (+0.09%)
:arrow_up:

src/gui_gtk_x11.c
47.49% <0%> (+0.1%)
:arrow_up:

src/gui.c
45.64% <0%> (+0.1%)
:arrow_up:

src/channel.c
83.78% <0%> (+0.13%)
:arrow_up:

src/message.c
68.35% <0%> (+0.45%)
:arrow_up:

src/os_unix.c
57.58% <0%> (+0.48%)
:arrow_up:

src/if_xcmdsrv.c
85.55% <0%> (+1.66%)
:arrow_up:

Continue to review full report at Codecov.

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


Updated README.md

Added example for routing object methods to readme, because a lot of issues created because of this.

I think it's bad practice for users to declare objects in the routes. A better example would be if it was declared already, array($greeting, 'hello').

@mikecao updated.


CustomTensorization project's Windows SDK version newer than current released Insider SDK

I'm submitting a…

Bug report (I searched for similar issues and did not find one)

Current behavior
The current CustomTensorization project's SDK version is set to 10.0.18238.0, and the most recent version that I can get is 10.0.17763.0.  This makes it hard to run the sample.
Expected behavior
That either the SDK be set to 10.0.17763.0 and be able to be built when copying the correct libraries, or that 10.0.18238.0 be able to be downloaded.
Minimal reproduction of the problem with instructions
Open the CustomTensorization project in Visual Studio.  Go into the properites of the project and check the Windows SDK version.
Environment
Windows Build Number: Windows 10 1809
Visual Studio

[ x] 2017 (version:15.8.7 )
[ ] 2017 Preview (version: )

Thanks for submitting this bug. A fix will be submitted soon.

This has been fixed. By the way, the minimum required version of SDK was set to 177134. So you can also retarget the solution to any SDK version higher than that.


Typo fix

Hello,
I found these small typos while reading the doc website.
Kind regards,

At least one pull request committer is not linked to a user. See https://help.github.com/en/articles/why-are-my-commits-linked-to-the-wrong-user#commits-are-not-linked-to-any-user


Lt merge cross browsertesting

Adding LambdaTest as Selenium Cloud Grid

@veenadevi Thank you for adding it. LambdaTest looks as a pretty interesting project

Thanks for accepting the pull request. Feel free to create a free account
in LambdaTest https://www.lambdatest.com/ and let me know if you have any
questions.
Cheers
Veena Devi
On Fri, Dec 17, 2021 at 1:52 PM Dmitriy Lazarev @.***>
wrote:

@veenadevi https://github.com/veenadevi Thank you for adding it.
LambdaTest looks as a pretty interesting project
—
Reply to this email directly, view it on GitHub
https://github.com/wKich/creevey/pull/196#issuecomment-996525156, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAWBX74G6TFGI7VQJB5RETTURLXMNANCNFSM5KIA7PWQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you were mentioned.Message ID:
@.***>


[EBPF] Report complexity changes in PRs

What does this PR do?
This PR uses the complexity data generated in CI (PR https://github.com/DataDog/datadog-agent/pull/27274) to report the complexity changes introduced by a PR, using Github PR comments. This data is presented in several ways:

A general summary message that will tell the developer whether the complexity has improved, is stable or if it has worsened. This helps to signal when the comment needs detailed attention and when it can just be skimmed.
A list of the most significant figures: highest complexity increases, and programs that went over the threshold of 85% of the instruction limit.
For each object file with complexity changes, a collapsible table of each program, the change in complexity and the distros with highest/lowest complexity.

Motivation
Related to https://datadoghq.atlassian.net/browse/EBPF-492, surfacing this data in CI will help developers notice when the complexity of their programs is increasing, so they can remediate it before it becomes a blocker for development.
Additional Notes

Possible Drawbacks / Trade-offs

Describe how to test/QA your changes

/trigger-ci --variable RUN_ALL_BUILDS=true --variable RUN_KITCHEN_TESTS=true --variable RUN_E2E_TESTS=on --variable RUN_UNIT_TESTS=on --variable RUN_KMT_TESTS=on

/trigger-ci --variable RUN_ALL_BUILDS=true --variable RUN_KITCHEN_TESTS=true --variable RUN_E2E_TESTS=on --variable RUN_UNIT_TESTS=on --variable RUN_KMT_TESTS=on

/merge


Not support 10.0.19041.1620 please update!!thank you

termsrv.zip
this is termsrv, thank you :)

sorry, I have found it, please ignore the issue QAQ


More uniform output

A few things:

Attempt to save to YAML file (i.e., use yml extension) if possible
Don't overwrite existing grade output

Number them <id>.<num>.<extension>
For example, fmm000.01.log

Show number of re-grades in grader list

The number of times you ran grader grade for a particular user

Allow a user to rebuild a container when grading

Delete the old old

Allow a user to suppress grader output during a grade
Add a grade cat command, to print a student's latest submission to stdout
Allow a user to grade for a specific user, based on their id.

Looks like a really good start to a reporting system. :ship:


Can access keys be picked up from env vars or profile?

That will simplify running this without having to disclose access key and secret on CLI or in logs. prowler, as an example, accepts a -p flag for profile.

Not sure which script you're referring to exactly, but check this out: https://github.com/RhinoSecurityLabs/Cloud-Security-Research
That's the new repo for AWS research and has a few updates scripts that do accept profiles as an argument


node-versions only packaging x64, include arm64 please

I have arm runners and use an LTS version of node included in https://github.com/actions/node-versions/releases. But I use arm64, only x64 builds are in there.
Please include both architectures so I can leverage fast downloads.
Thanks

Thanks for creating an issue! We will look into and come back to you with the details!

Currently experiencing this:
Attempting to download 18...
Not found in manifest. Falling back to download directly from Node
Acquiring 18.18.0 - arm64 from https://nodejs.org/dist/v18.18.0/node-v18.18.0-linux-arm64.tar.gz
aborted
Waiting 18 seconds before trying again

could be resolved by including arm versions directly?

Much appreciated. As you can see it's a very annoying wait!

this issue is quite acute. is there an official workaround for this (maybe I can cache the binary myself), while still leveraging this step?

I think we have to wait for this issue to be addressed.
https://github.com/actions/runner-images/issues/5631

Why wait for that?? Buildjet has offered arm64 runners for quite some time now, it’s those runners that I’m using. Not sure why waiting for github to catch up is necessary here.

Why wait for that?? Buildjet has offered arm64 runners for quite some time now, it’s those runners that I’m using. Not sure why waiting for github to catch up is necessary here.

My comment is based on the way this setup-node action currently works. If you look here you'll see that it pulls a manifest file of current node-versions from this file in a separate repo. But that file does not currently contain any arm64 targets; which is why the action always ends up downloading directly from Node instead. The issue I linked in my comment is a request to add arm64 targets to that manifest file in the other repo.
Feel free to propose other workarounds though. I just thought it would be helpful to know that there's an issue raised already at the source of this problem.

fix merged and arm64 packages supporting for linux and windows.


Issue449 raw

Related issues
#449
What was changed
In  LinelistData,

Remove ._raw
(Deprecate .raw property (if deprecated, it will be removed in version 3.0.0 in the future))
filename will be saved to self._filename and property .raw will return .load(filename)

Try over again.


Add releaseNotesURL setting

https://github.com/sbt/sbt/issues/7125

Testing out the water. What do we think? :)

Hi @armanbilge,
Thank you for your contribution! We really value the time you've taken to put this together.
We see that you have signed the Lightbend Contributors License Agreement before, however, the CLA has changed since you last signed it.
Please review the new CLA and sign it before we proceed with reviewing this pull request:
https://www.lightbend.com/contribute/cla

I wonder if it would be more straight forward to derive the release notes URL by something like:
ThisBuild / sourceRepo := Some(GitHubRepo("foo/bar"))

Hi @armanbilge,
Thank you for your contribution! We really value the time you've taken to put this together.
We see that you have signed the Lightbend Contributors License Agreement before, however, the CLA has changed since you last signed it.
Please review the new CLA and sign it before we proceed with reviewing this pull request:
https://www.lightbend.com/contribute/cla

I wonder if it would be more straightforward to derive the release notes URL by something like:

Sure, scmInfo could be derived from that as well. But that seems like a new feature / PR. :)
I suppose you are happy to move forward with this then? Still a handful of things to do, possibly in some upstream repos.

I suppose you are happy to move forward with this then? Still a handful of things to do, possibly in some upstream repos.

Yea. I am +1 on enriching POM for this purpose.

https://github.com/sbt/librarymanagement/releases/tag/v1.9.0-M1 should be on its way to Maven Central.

I guess this is good to go? I looked at apiURL but didn't see any tests I could use as an example.

I think there are related scripted tests that you might be able to modify or copy-and-modify:

https://github.com/sbt/sbt/blob/1.9.x/sbt-app/src/sbt-test/dependency-management/make-pom/build.sbt
https://github.com/sbt/sbt/blob/1.9.x/sbt-app/src/sbt-test/dependency-management/evicted-semver-spec/build.sbt


How can we integrate JWT token mechanism with generic SSO?

This is a question not exactly related to fastapi-sso, but let me at least point you in the correct direction.
JWTs are JSON objects signed with a secret key that can be verified using the secret key. This means you can trust the contents of the JSON even if it comes from the user as they wouldn't be able to sign it without the secret key. Thanks to this you can make the user (or the frontend of your application) send you the JWT instead of a session id (which is the way it was done before that) and use the data in the JSON object instead of looking the data up in the database based on the session.
Once you verify the user with fastapi-sso, you can generate such JWT and return it to the user as a cookie. You can then read the cookie in every request, verify the signature and use the data in the JWT.
I will omit some of code in the example (I am using python-jose)
from jose import jwt
from jose.exceptions import JWTError
from fastapi import Cookie, HTTPException
from fastapi.responses import JSONResponse

MY_SECRET_KEY = "supersecret"
...

@app.get("/google/callback")
async def google_callback(request: Request):
    """Process login response from Google and return user info"""
    user = await google_sso.verify_and_process(request)
    token = jwt.encode(user.dict(), MY_SECRET_KEY, algorithm="HS256")
    response = JSONResponse(content={"token": token})
    response.set_cookie(key="token", value=token)
    return response

@app.get("/protected-endpoint")
async def protected_endpoint(token: Optional[str] = Cookie(default=None)):
    if not token:
       raise HTTPException(status=401, detail="Not authorized")
    try:
       jwt.decode(token, MY_SECRET_KEY, algorithms=["HS256"])
    except JWTError:
        raise HTTPException(status=401, detail="Provided token is invalid or expired")
    return {"message": "You got all the way here, you are logged in!"}


Fixed typespec for input specs to handle subcommands

Originally, subcommands was not one of the specified spec_items, which meant that any call to Optimus.new which had :subcommands specified would result in a `fun/n has no local return" type error

Thanks!


Hi i cant get it to work since i got on Onesync infinity.

Hi i cant get it to work since i got on Onesync infinity.

We have already made 3 versions of the system for use.


GS driver support

Maybe google cloud storage is already working? At first glance s3 handling looks pretty similar to gs.

@fentas We're using aws-sdk-go to implement S3 objectstore. Google Cloud Storage API is not really the same as AWS's, so it's likely need some work to implement a Google Cloud Storage driver for objectstore.


scripts: tests: Blackbox test expansion - tooling

Adds tests related to the Twister tooling:

--jobs, -j
--force-toolchain

Moves the previously-existing --ninja test to the tooling section file.
Note the hello_world sample has been copied to the test_data folder, so as to be independent of any Zephyr changes; thus its copyright information is unchanged.

Compliance error comes from the similarities in the structure of Blackbox tests.
Tests will be refactored after their expansion to lessen code duplication.


rollup config please

I was using a quite old version of opencv.js and was delighted to see this newer version..
I'm running in the browser and am using rollup.
While loading my web page, I get the error:
Uncaught TypeError: Failed to resolve module specifier "fs". Relative references must start with either "/", "./", or "../".
In your readme file, you have a webpack configuration of:
module.exports = {
  resolve: {
    modules: [...],
    fallback: {
      fs: false,
      path: false,
      crypto: false
    }
  }
};

but I'm not fluent enough to convert that to rollup.
It would really heap me if you could supply a rollup version.
I'm guessing this would be a nice addition to your readme file for others too.
Thanks so much!

@cfry see https://github.com/TechStark/opencv-js-examples/blob/develop/opencv-js-rollup-example/rollup.config.js


Allow configuration of the maximum number of event loop threads

Tell us more about this new feature.
Currently, it's not possible to set a custom number of event loop threads:
https://github.com/awslabs/mountpoint-s3/blob/ac6c1770cec5ee7c0fd2ee009b87b9fdddea2af0/mountpoint-s3-client/src/s3_crt_client.rs#L261
https://github.com/awslabs/mountpoint-s3/blob/ac6c1770cec5ee7c0fd2ee009b87b9fdddea2af0/mountpoint-s3-crt/src/io/event_loop.rs#L114
By default, the value is 0 which translates to the number of available processors on the machine / 2 (to exclude hyper-threads).
This is not a bad default value. But I run a couple of benchmarks (with a changed version) and they show that increasing this value can boost performance.
Also worth noting is that not all EC2 instance types support hyper-threading, so it could make even more sense to change this value manually.

Can you share more info about your benchmarks? What are you measuring, what is the read / write pattern?
I tried these changes on reading a 10GB file sequentially and did not see any improvements.

Can you share more info about your benchmarks?

Yes, sure. Sorry for the long response, I tried to make additional benchmarks.
Here is some general info about my benchmarks:

Data
Value

Objects count
150,000

Total size, GiB
300

--max-fuse-threads
16/32

--max-event-loop-threads
2/4

--max-cache-size
1024

--metadata-ttl
indefinite

EC2 type
m5a.xlarge/m7g.xlarge

What are you measuring, what is the read / write pattern, how many processors, if in AWS, which EC2 instance?

I was measuring the total time spent listing each directory while also reading every file simultaneously (16 or 32 is an internal number of concurrent reads). My main goal was to find the best configuration that would traverse the whole bucket and read all objects most quickly.

I tried these changes on reading a 10GB file sequentially and did not see any improvements.

Worth noting that after additional benchmarks, I also mostly didn't see any performance improvements for increasing the --max-event-loop-threads value from 2 to 4. However, a small boost (10-15%) can sometimes be observed for some configurations. It's hard to tell one exact case when this would definitely help cause in my benchmarks there are also a lot of additional conditions such as whether the whole file or some part of it would be read, other CPU/Network consuming processes are running, etc. Maybe it would be better to make some less complex cases only for listing and reading each file for benchmarks.
Indeed, I'm not sure whether the --max-event-loop-threads will be a generally useful parameter, but I think it still would be great to expose it for further performance investigations.


🐛 [Bug report]: Search plays on typing text instead of hitting enter all the time

Descrcibe the bug?
When we search any play from the search bar we have to hit enter all the time, whereas it should search whenever the search text changes.
Steps to reproduce the bug?

Go to search for a play on the top navigation bar.
On typing something you always have to press enter to make a search

Expected behavior
The expected behavior of the search bar should be to provide search results whenever a person types something to it, instead of hitting enter all the time to search.
Doing this way would give more results.
Desktop (Please provide your system information)
OS : Windows
Browser: Chrome, firefox
Mobile (Please provide your device information)
No response
Screenshot / Screenshare
No response
Relevant log output
No response
Code of Conduct

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

@atapas I would like to take this up and fix the issue

We have this to minimize the backend calls. What's your suggestions to fix it?

We have this to minimize the backend calls. What's your suggestions to fix it?

We can use debounce for minimizing the backend call
According to recent situation there is only one backend call that is whenever we hit enter
If we use debounce we can set a delay so the backend calls will happen only after a certain delay
What do you suggest in this?

Doing it the way @siddxharth is doing will cause a lot of backend calls

Doing it the way @siddxharth is doing will cause a lot of backend calls

Can we put a timeout on it then? After x micro-seconds of receiving the last input, the search will play?

Doing it the way @siddxharth is doing will cause a lot of backend calls

Can we put a timeout on it then? After x micro-seconds of receiving the last input, the search will play?

Actually this is were debounce comes into play, it puts a timer on calling the api only on certain intervals when we start typing

Okay, will give it a try. Can you assign me this?

Okay, will give it a try. Can you assign me this?

Hey I cant assign as I am not the owner of the repo, I think I have the solution though let @atapas confirm, if this could be a way.


⚠ Bofrost.at has degraded performance

In 40b81bd, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1460 ms

Resolved: Bofrost.at performance has improved in 6c07e01 after 7 minutes.


MSID: 100066 Version: 1 DOI: 10.1101/2<IP_ADDRESS>8993

MSID: 100066
Version: 1
Preprint DOI: https://doi.org/10.1101/2<IP_ADDRESS>8993
Step 1. Awaiting reviews
Editorial to post reviews via hypothesis
Useful links:

DocMap: https://data-hub-api.elifesciences.org/enhanced-preprints/docmaps/v2/by-publisher/elife/get-by-manuscript-id?manuscript_id=100066
New model tracking: https://docs.google.com/spreadsheets/d/1_fHaoOy7hjyocptKtVJRijeNpUY4hBS7Ck_aVmx6ZJk/
Reviews on sciety: https://sciety.org/articles/activity/10.1101/2<IP_ADDRESS>8993

For trouble shooting (e.g. no Docmaps available):

DocMap issue addressing: https://miro.com/app/board/uXjVNCwK6EI=/
Explore DataHub DocMaps API: https://lookerstudio.google.com/reporting/4c2f0368-babb-4beb-b5b3-497e7e7b0f08/page/ejphD
Unmatched submissions and preprints: https://lookerstudio.google.com/u/0/reporting/9f86204f-3bf7-477c-9b18-5c5ef141bf69/page/p_gxi57ha93c
Unmatched manuscripts spreadsheet: https://docs.google.com/spreadsheets/d/15QcK8w-ssB7109RQEDtFpJPZ0J5HTGxoHa_2TtpMBbg/edit#gid=1336081641

Step 2. Preview reviewed preprint
Production QC content ahead of publication
Instructions:

QC preview: https://prod--epp.elifesciences.org/previews/100066v1
Update ticket with any problems (add blocked label)
When QC OK, add QC OK label to ticket and add publication date and time to https://docs.google.com/spreadsheets/d/1amAlKvdLcaDp5W8Z8g77NmkwbMF5n_u89ArSqPMO8jg
Move card to next column
(At end of the day post link in #enhanced-preprint and ask for PDF to be generated)

Useful links:

Preprint DOI :  https://doi.org/10.1101/2<IP_ADDRESS>8993
Confirm reviews returned by EPP: https://prod--epp.elifesciences.org/api/reviewed-preprints/100066/v1/reviews
To update the MECA path in the docmap: https://docs.google.com/spreadsheets/d/1mctCQuNFBjSn97Lihy7_vBO6z7-N-oqyLv4clyi6zHg

Step 3: Awaiting search reindex
This step adds the reviewed preprint to the homepage: https://elifesciences.org
The search reindex is triggered once an hour. We need the reviewed preprint to be indexed as the search application serves the journal homepage.
Useful links:

Jenkins pipeline to reindex search can be triggered sooner or monitored here: https://alfred.elifesciences.org/job/process/job/process-reindex-reviewed-preprints/

Step 4: Published! PDF requested
Waiting for PDF to be generated
Useful links:

PDF tracking: https://docs.google.com/spreadsheets/d/106_XeDjmuBae7gexOTNzg60lapeqjl2aRn9DzupGyS8/

Step 5: Introduce PDF to data folder and git repo
Upload PDF to relevent folder in git repo https://github.com/elifesciences/enhanced-preprints-data/
Step 6: Done!

[ ] Kettle is on!

warn: [given-names-test-11] given-names ends with ' van' - should this be captured as the beginning of the surname instead? - 'Pieter Van'.
warn: [given-names-test-10] given-names ends with de, der, or den - should this be captured as the beginning of the surname instead? - 'Hans De'.
warn: [journal-ref-text-content] This journal reference (id c4) has untagged textual content - Archivio S, , , , , , , . . Is it tagged correctly?
warn: [journal-ref-text-content] This journal reference (id c8) has untagged textual content - Neill K, , , , , , ,  . Is it tagged correctly?
warn: [journal-ref-text-content] This journal reference (id c9) has untagged textual content - Reilly M, . . Is it tagged correctly?
warn: [journal-ref-text-content] This journal reference (id c41) has untagged textual content - , Ndung; u JM. . Is it tagged correctly?


[WIP] chore: migrate @jest/core to TypeScript

Summary
This wasn't as bad as I thought it'd be... There's still ~34~ 26 type errors, but they should be pretty straightforward (I'm sick and it's late, so opening this now). Help very much appreciated!

Test plan
Green CI (eventually)

This is almost ready, I just have some issues with TestNamePatternPrompt and TestPathPatternPrompt. They define a bunch of methods, fields and arguments that they don't use.
@rogeliog @cpojer is this something you can provide some context on?

A quick caveat is that the base class they extend/implement might be wrong, but I don't think so. Removing unused arguments is simple enough, but I just did the necessary syntax and type changes to the files to make them compile to keep the diff down before feedback

CI will pass whenever I get #8011 to work.

@thymikee @jeysal would you be able to review this one? I think it's ready now that I was able to land the babel upgrade 🙂

Codecov Report

Merging #7998 into master will decrease coverage by 0.84%.
The diff coverage is 56.52%.

@@            Coverage Diff             @@
##           master    #7998      +/-   ##
==========================================
- Coverage    64.1%   63.25%   -0.85%
==========================================
  Files         259      259
  Lines       10165    10228      +63
  Branches     1818     2084     +266
==========================================
- Hits         6516     6470      -46
- Misses       3250     3271      +21
- Partials      399      487      +88

Impacted Files
Coverage Δ

packages/jest-core/src/testSchedulerHelper.ts
100% <ø> (ø)

packages/jest-watcher/src/PatternPrompt.ts
0% <ø> (ø)
:arrow_up:

...ckages/jest-core/src/lib/active_filters_message.ts
100% <ø> (ø)

packages/jest-core/src/lib/create_context.ts
0% <ø> (ø)

...ackages/jest-core/src/plugins/test_path_pattern.ts
100% <ø> (ø)

packages/jest-core/src/getNoTestFoundFailed.ts
0% <ø> (ø)

packages/jest-core/src/plugins/quit.ts
42.85% <ø> (ø)

packages/jest-core/src/getNoTestsFoundMessage.ts
0% <ø> (ø)

packages/jest-core/src/TestWatcher.ts
42.85% <ø> (ø)

packages/jest-core/src/lib/is_valid_path.ts
100% <ø> (ø)

... and 50 more

Continue to review full report at Codecov.

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

@thymikee feel free to leave feedback after the fact - I just wanna get this in since it tweaks a bunch of other types as well 🙂


[Feature Request] Add button to load a custom workflow

Add a dropdown listing workflows and a button to load the current selection. The extension would discover workflows from a list of paths in the settings and when clicking on a reload button.

Another option that would come in handy is a way to customize the default workflow to load for individual workflow types.

This is useful for saving and loading custom workflows! https://github.com/pythongosssss/ComfyUI-Custom-Scripts

This sounds exactly like the same feature, indeed. Thank you for sharing. The problem is that it adds the dropdown in the UI menu, which is hidden to improve visibility and prevent some features in the ComfyUI clients under the txt2img and img2img tabs.
I think this means that we won't have to implement it in the "sandbox" tab, though, which is nice.
We might still need to implement a gradio dropdown in the UI for the txt2img and img2img tabs.

related: #57

I think it would make sense to distinguish the type of workflows when scanning them, so that for example one can filter latent IO workflows. Workflow types have to have a specific type of data as input and output. It should be obvious whether a loaded workflow would run with the type of the input and output nodes without running a generation.
Before (or while) implementing this, we may want to consider displaying an error or some nodes in red, if the workflow is detected to be using invalid input and output types.

Yes, I think there is a way to implement this with simple S&R name validation.

This is true, if we keep maintaining 2 nodes (from and to webui) per type of data. If we change this so that the same node is used for every type, I'm not sure we can rely on S&R validation. We could pass the type of data as an input to the nodes maybe? These serialized type names would end up in the workflow, so we could use this information for validation.

We could also add use the js extension to add additional info in Webui nodes if needed.

This is useful for saving and loading custom workflows! https://github.com/pythongosssss/ComfyUI-Custom-Scripts

i'm trying everything including this. unable to load back the workflow, it load the default one once i import.
i wonder if there's a way to save the workflow too, as reported here https://github.com/ModelSurge/sd-webui-comfyui/issues/219
the Ui menu of comfy disappear after few seconds here, resulting in a complete grey board wich loads module but cant access to the menu

https://github.com/Nuked88/ComfyUI-N-Sidebar

https://github.com/Nuked88/ComfyUI-N-Sidebar

added this ty but is not showing anything

https://github.com/Nuked88/ComfyUI-N-Sidebar
    [

        ![workflows](https://private-user-images.githubusercontent.com/8006000/334826907-fcfd6ef6-d5dc-4a05-af49-1899a8ad3b56.gif?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTY5OTY4ODEsIm5iZiI6MTcxNjk5NjU4MSwicGF0aCI6Ii84MDA2MDAwLzMzNDgyNjkwNy1mY2ZkNmVmNi1kNWRjLTRhMDUtYWY0OS0xODk5YThhZDNiNTYuZ2lmP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDUyOSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDA1MjlUMTUyOTQxWiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9MmI2OTExNzEzOWUwZDI5NDJkNDIzYjNjOTU0YTFkMTI5MTFkNjUzMGY0MjE2N2ZmM2E1YTE3MDFmZjYwN2Q0NCZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.43ykGgLnJela2GjTUOflgRWKsBQ01-nSTVjpih8sjhE)

    ](https://private-user-images.githubusercontent.com/8006000/334826907-fcfd6ef6-d5dc-4a05-af49-1899a8ad3b56.gif?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTY5OTY4ODEsIm5iZiI6MTcxNjk5NjU4MSwicGF0aCI6Ii84MDA2MDAwLzMzNDgyNjkwNy1mY2ZkNmVmNi1kNWRjLTRhMDUtYWY0OS0xODk5YThhZDNiNTYuZ2lmP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDUyOSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDA1MjlUMTUyOTQxWiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9MmI2OTExNzEzOWUwZDI5NDJkNDIzYjNjOTU0YTFkMTI5MTFkNjUzMGY0MjE2N2ZmM2E1YTE3MDFmZjYwN2Q0NCZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.43ykGgLnJela2GjTUOflgRWKsBQ01-nSTVjpih8sjhE)

      [

      ](https://private-user-images.githubusercontent.com/8006000/334826907-fcfd6ef6-d5dc-4a05-af49-1899a8ad3b56.gif?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTY5OTY4ODEsIm5iZiI6MTcxNjk5NjU4MSwicGF0aCI6Ii84MDA2MDAwLzMzNDgyNjkwNy1mY2ZkNmVmNi1kNWRjLTRhMDUtYWY0OS0xODk5YThhZDNiNTYuZ2lmP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDUyOSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDA1MjlUMTUyOTQxWiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9MmI2OTExNzEzOWUwZDI5NDJkNDIzYjNjOTU0YTFkMTI5MTFkNjUzMGY0MjE2N2ZmM2E1YTE3MDFmZjYwN2Q0NCZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.43ykGgLnJela2GjTUOflgRWKsBQ01-nSTVjpih8sjhE)

added this ty but is not showing anything

You must enter a workflow path in the settings of sidebar.

You must enter a workflow path in the settings of sidebar.


Add fromName to GeneratedEnumCompanion

GeneratedEnumCompanion have fromValue method, but sometimes it's required to get Enum value by it's name. I'm proposing addition of fromName and fromNameCaseInsensitive methods.

If E is a GeneratedEnumCompanion, then you have E.values.find(_.name == "SomeName") (similarly for case insensitive comparison)

Actually for now i'm using exactly same code to get enum value by name, but that's not convenient in any way. It's a common for enumeration to have both byId and byName access methods, for example take a look at scala.Enumeration#withName, enumeratum or Java Enum#valueOf.

Yeah, I can see the use for a handy fromName method - reopening for it. I think that fromNameCaseInsensitive is too specific though - if it's needed in your project you can add this helper through implicit conversion.

Thanks!


configuration/network_filters/rate_limit_filter.md

原文：https://github.com/servicemesher/envoy/tree/master/configuration/network_filters/rate_limit_filter.md

认领


Abstract middle classes

Hey Matt,
First of all congratulations and thanks for the awesome framework! I started using it in my company some weeks ago and it really changed my view about unit testing. (I had previously been using mainly nunit)
We use nspec all over the place now with base classes and generics, so I added 2 things:

support for abstract classes in the middle (nspec <- abstract <- concrete)
pretty-printing of generic class names

I also tried to add as many unit tests as needed to verify my changes.
Could you please have a look and let me know if you like it or not or you would like me to change something. I would really be interested in seeing these features in the official build.
Thanks,
Imre

Hey Imre,
I think it would be beneficial to show the abstract class feature as a test under the describe_RunningSpecs folder.  Here is an example test that shows off tagging: https://github.com/mattflo/NSpec/blob/master/NSpecSpecs/describe_RunningSpecs/describe_tag_filtering.cs.
Do you think it's a good idea?  Maybe a test that shows off an abstract class being inherited and the output/context structure would reflect that.
Awesome work, and I'm really glad you're getting mileage out of NSpec :-)

Hi Amir,
Thank you, I'll come up with a description of the feature then. I already added it to a couple of tests but haven't thought of describing it on its own. I hope I'll have the time to do it this week as it would certainly make sense.

Cool.  Take your time with it and let me know if you need any more samples.  Thanks again for the help.  Always exciting to get a pull request!

Hi Amir,
I added unit tests, let me know if more is needed!
Thanks,
Imre

All merged in! We have a few more merges to do, so you should see this in the nuget package after those merges are done.
This is an incredibly interesting feature.  I never thought of having a concrete class essentially inherit the examples of another class if it's marked abstract.  After the merge I made a few subjective changes and have some feedback of the code that was submitted:
It is amazing what you can learn from reading other people's code.
This line was especially interesting, I never knew you could use a for loop like that.  Really. Really. Cool.:
https://github.com/mattflo/NSpec/blob/master/NSpec/Domain/Extensions/DomainExtensions.cs#L33
The use of RowData for asserting execution order kept things really clean, thanks for taking the time to create these complex tests:
https://github.com/mattflo/NSpec/blob/master/NSpecSpecs/describe_RunningSpecs/describe_abstract_class_execution_order.cs
Some of the RowData usage gave me some mental friction, the tests were asserting across two separate contexts (as opposed to organizing structure for common assertions).  I took the opportunity to refactor (again, all of this is really subjective, let me know your thoughts):
here is the before (using RowData):
https://github.com/mattflo/NSpec/blob/9a56f5c2b30ca8409d0dee51e79a8c517d622823/NSpecSpecs/describe_RunningSpecs/describe_class_level_before.cs
here are the afters (no RowData usage)...let me know what you think:
https://github.com/mattflo/NSpec/blob/6ea01c1c971809b981f065d5a5ccb0eca83d2ec2/NSpecSpecs/describe_RunningSpecs/describe_class_level_before.cs
https://github.com/mattflo/NSpec/blob/master/NSpecSpecs/describe_RunningSpecs/describe_class_level_before_for_abstract_class.cs

Wow Amir, this was fast! Seriously cool stuff.
It was a good idea to separate the abstract before tests, it makes it easier to understand and separate from the 'normal' way.
To be honest, when I started out I haven't thought about the inheriting of examples in the abstract base, it's caused by how the rest of the system is implemented. However it makes sense, as there will be no classcontext associated with an abstract class, so the concrete class will have ownership of the child contexts of the abstract base. It also blends in with general inheritance as an abstract class does not really have a 'meaning' on its own, just when it's implemented by a concrete one.
I'm really glad you like the code, I'm now celebrating my first ever contribution to an open-source project that I don't own :)