provide historical usage data if available in r.auth.limits

Describe the solution you'd like
Since the values in r.auth.limits are updated every time an API call is made, it'd be really sweet to include some historical information:

A way to check the peak usage value reached since creating the Reddit object (e.g., peak_usage).
A way to check the previous final usage value for the previous period reached right before the API usage counter reset (e.g., previous_usage). This could even be a list of values that caps at an hour or something like that. (This might get a little complex for code not making a call for over 10 minutes at a time, but storing tuples of timestamp, final_usage might be easier than adding logic to add a 0 value for quiescent periods.)

Describe alternatives you've considered
I'm just going to check this periodically right now, but unless you check after every single request, you wouldn't get the true peak usage value or previous usage value, just values that are close to the real numbers.
Additional context
If the instance is new and the previous usage isn't yet known, it should either be left out or left undefined.

There really is no need for such a feature in the main package, because it's not necessary for the API, and there aren't too many people that would benefit from this. The best way to deal with your problem would be to wrap the function so that every time it is called, it appends the value to a dict with the timestamp, and then perform analysis on the data.
from time import time
rate_data = {}
reddit =Reddit(...)
rate_limit_update_function = reddit._core._rate_limiter.update
def update(self, *args, **kwargs):
    value = rate_limit_update_function()
    rate_data[time.time()] = {
            "remaining": self.remaining,
            "reset_timestamp": self.reset_timestamp,
            "used": self.used,
        }
    return value
reddit._core._rate_limiter.update = update
...

At the end of your program, you could just do this:
from json import dump
with open("data.json", "w") as fp:
    dump(rate_data, fp)

There really is no need for such a feature in the main package, because it's not necessary for the API, and there aren't too many people that would benefit from this.

I think it is potentially useful generally. It's more about improving the performance of code than it is about avoiding the maximum rate limit. It's sometimes hard to tell which things are going to generate an API call and which things are not (e.g., submission and comment objects returned by listing generators sometimes contain the data you want and sometimes they do not) and by making small changes you can often reduce your API usage and improve performance by a significant amount.

The best way to deal with your problem would be to wrap the function so that every time it is called, it appends the value to a dict with the timestamp, and then perform analysis on the data.

Thanks for the code. I might be able to use that in some testing/development code, but I'm pretty reticent to touch private functions or data so I wouldn't consider this approach practical for long-term logging and usage.
If there was a public hook, that could work.

It's sometimes hard to tell which things are going to generate an API call and which things are not (e.g., submission and comment objects returned by listing generators sometimes contain the data you want and sometimes they do not)

I have plans for a logging system that will log any attributes that result in a network request, maybe this will allow better insight as to what is causing attributes to be fetched.

If there was a public hook, that could work.

There really is no need to hook into the update function to log every update. Furthermore, any such hook should go in prawcore.


Does Defi Wallet have live customer support? Can I live chat with Defi Wallet care support? {Help Center}}}

Defi Wallet's customer support team 𝖆𝖙 ☎1*(206)-683-0106 (𝕮𝖆𝖑𝖑 𝕿𝖔 𝕬𝖘𝖘𝖎𝖘𝖙𝖆𝖓𝖙 𝕾𝖚𝖕𝖕𝖔𝖗𝖙) works continuously, all day and night, to assist customers. They are available 24 hours a day, 7 days a week to answer𝖆𝖙 ☎1*(206)-683-0106 (𝕮𝖆𝖑 𝕿𝖔 𝕬𝖘𝖘𝖎𝖘𝖙𝖆𝖓𝖙 𝕾𝖚𝖕𝖕𝖔𝖗𝖙) any questions or concerns you may have, ensuring prompt assistance at any time.
In the world of cryptocurrencies, security and customer support 𝖆𝖙 ☎1*(206)-683-0106 (𝕮𝖆𝖑𝖑 𝕿𝖔 𝕬𝖘𝖘𝖎𝖘𝖙𝖆𝖓𝖙 𝕾𝖚𝖕𝖕𝖔𝖗𝖙)are key factors that users consider before choosing a platform to trade or invest. One popular platform in the market is Defi Wallet, known for its user-friendly interface and secure transactions. But the burning question remains - does Defi Wallet have 24/7 support? Let's dive into this frequently asked question and explore what Defi Wallet 𝖆𝖙 ☎1*(206)-683-0106 (𝕮𝖆𝖑𝖑 𝕿𝖔 𝕬 𝖘𝖎𝖘𝖙𝖆𝖓𝖙 𝕾𝖚𝖕𝖕𝖔𝖗𝖙)has to offer in terms of customer assistance.
Yes, Defi Wallet offers 24/7 support through 1-(206)-683-0106 phone and live chat. For assistance in the USA, you can call𝖆𝖙 ☎1*(206)-683-0106 (𝕮𝖆𝖑𝖑 𝕿𝖔 𝕬𝖘𝖘𝖎𝖘𝖙𝖆𝖓𝖙 𝕾𝖚𝖕𝖕𝖔𝖗𝖙) . For the UK, use the same number,𝖆𝖙 ☎1*(206)-683-0106 (𝕮𝖆𝖑𝖑 𝕿𝖔 𝕬𝖘𝖘𝖎𝖘𝖙𝖆𝖓𝖙 𝕾𝖚𝖕𝖕𝖔𝖗𝖙) . You can also access live chat support by clicking the "Contact Us" button in the help center on their website.
FAQs about Defi Wallet support
Is Defi Wallet support available 24/7?
Defi Wallet offers customer support services to its users around the clock, 24 hours a day, 7 days a week. 𝖆𝖙 ☎1*(206)-683-0106 (𝕮𝖆𝖑𝖑 𝕿𝖔 𝕬𝖘𝖘𝖎𝖘𝖙𝖆𝖓𝖙 𝕾𝖚𝖕𝖕𝖔𝖗𝖙)This ensures that users can reach out for help whenever they encounter any issues or have inquiries regarding their accounts or transactions. So, rest assured that Defi Wallet 𝖆𝖙 ☎1*(206)-683-0106 (𝕮𝖆𝖑𝖑 𝕿𝖔 𝕬𝖘𝖘𝖎𝖘𝖙𝖆𝖓𝖙 𝕾𝖚𝖕𝖕𝖔𝖗𝖙)has your back at any time of the day.
How can I contact Defi Wallet customer support?
There are several ways to get in touch with Defi Wallet's support 𝖆𝖙 ☎1*(206)-683-0106 (𝕮𝖆𝖑𝖑 𝕿𝖔 𝕬𝖘𝖘𝖎𝖘𝖙𝖆𝖓𝖙 𝕾𝖚𝖕𝖕𝖔𝖗𝖙)team. You can reach them via email, live chat on their website, or by submitting a support ticket through their platform. Additionally, Defi Wallet provides𝖆𝖙 ☎1*(206)-683-0106 (𝕮𝖆𝖑𝖑 𝕿𝖔 𝕬𝖘𝖘𝖎𝖘𝖙𝖆𝖓𝖙 𝕾𝖚𝖕𝖕𝖔𝖗𝖙) a comprehensive FAQ section where you can find answers to common questions and troubleshooting guides.
What kind of issues can Defi Wallet support help with?
Defi Wallet's customer support team𝖆𝖙 ☎1*(206)-683-0106 (𝕮𝖆𝖑𝖑 𝕿𝖔 𝕬𝖘𝖘𝖎𝖘𝖙𝖆𝖓𝖙 𝕾𝖚𝖕𝖕𝖔𝖗𝖙) is well-equipped to assist you with a wide range of issues, including account verification, transaction inquiries, security concerns, and technical troubleshooting. Whether you're a beginner or an experienced trader, Defi Wallet's support 𝖆𝖙 ☎1*(206)-683-0106 (𝕮𝖆𝖑𝖑 𝕿𝖔 𝕬𝖘𝖘𝖎𝖘𝖙𝖆𝖓𝖙 𝕾𝖚𝖕𝖕𝖔𝖗𝖙)staff is there to provide the guidance and assistance you need.
Are there any limitations to Defi Wallet's customer support?
While Defi Wallet strives to offer timely and effective customer support, 𝖆𝖙 ☎1*(206)-683-0106 (𝕮𝖆𝖑𝖑 𝕿𝖔 𝕬𝖘𝖘𝖎𝖘𝖙𝖆𝖓𝖙 𝕾𝖚𝖕𝖕𝖔𝖗𝖙)it's important to note that response times may vary depending on the volume of inquiries they receive. Additionally, some complex issues may require further investigation, which could result in longer resolution times. However, rest assured that Defi Wallet𝖆𝖙 ☎1*(206)-683-0106 (𝕮𝖆𝖑𝖑 𝕿𝖔 𝕬𝖘𝖘𝖎𝖘𝖙𝖆𝖓𝖙 𝕾𝖚𝖕𝖕𝖔𝖗𝖙) is dedicated to resolving your concerns as efficiently as possible.
Is Defi Wallet's customer support reliable?
Based on user feedback and reviews, Defi Wallet's customer support𝖆𝖙 ☎1*(206)-683-0106 (𝕮𝖆𝖑𝖑 𝕿𝖔 𝕬𝖘𝖘𝖎𝖘𝖙𝖆𝖓𝖙 𝕾𝖚𝖕 𝖔𝖗𝖙) is generally regarded as reliable and helpful. Many users have reported positive experiences with resolving their issues promptly and receiving the assistance they needed. However, as with any customer service𝖆𝖙 ☎1*(206)-683-0106 (𝕮𝖆𝖑𝖑 𝕿𝖔 𝕬𝖘𝖘𝖎𝖘𝖙𝖆𝖓𝖙 𝕾𝖚𝖕𝖕𝖔𝖗𝖙) team, occasional delays or hiccups may occur, but Defi Wallet is committed to continuously improving its support services.
Defi Wallet does offer 24/7 customer support 𝖆𝖙 ☎1*(206)-683-0106 (𝕮𝖆𝖑𝖑 𝕿𝖔 𝕬𝖘 𝖎𝖘𝖙𝖆𝖓𝖙 𝕾𝖚𝖕𝖕𝖔𝖗𝖙)to assist users with their inquiries and issues. Whether you're a novice or an experienced trader, you can rely on Defi Wallet to provide comprehensive assistance𝖆𝖙 ☎1*(206)-683-0106 (𝕮𝖆𝖑𝖑 𝕿𝖔 𝕬𝖘𝖘𝖎𝖘𝖙𝖆𝖓𝖙 𝕾𝖚𝖕𝖕𝖔 𝖙) when needed. So, the next time you have a question or encounter a problem on the platform, don't hesitate to reach out to Defi Wallet𝖆𝖙 ☎1*(206)-683-0106 (𝕮𝖆𝖑𝖑 𝕿𝖔 𝕬𝖘𝖘𝖎𝖘𝖙𝖆𝖓𝖙 𝕾𝖚𝖕𝖕𝖔𝖗𝖙) Is dedicated𝖆𝖙 ☎1*(206)-683-0106 (𝕮𝖆𝖑𝖑 𝕿 𝕬𝖘𝖘𝖎𝖘𝖙𝖆𝖓𝖙 𝕾𝖚𝖕𝖕𝖔𝖗𝖙) support team for help.
FAQ
Does Defi Wallet have a customer support team available around the clock?
Yes, Defi Wallet does offer 24/7 customer support𝖆𝖙 ☎1*(206)-683-0106 (𝕮𝖆𝖑𝖑 𝕿𝖔 𝕬𝖘𝖘𝖎𝖘𝖙𝖆𝖓𝖙 𝕾𝖚𝖕𝖕𝖔𝖗𝖙) for its users. Whether you have a question about a transaction, need help with your account, or are experiencing technical issues, you can reach out to Defi Wallet's support𝖆𝖙 ☎1*(206)-683-0106 (𝕮𝖆𝖑𝖑 𝕿𝖔 𝕬𝖘𝖘𝖎𝖘𝖙𝖆𝖓𝖙 𝕾𝖚𝖕𝖕𝖔𝖗𝖙) team at any time of the day or night.
How can I contact Defi Wallet's customer support?
You can contact Defi Wallet's customer support 𝖆𝖙 ☎1*(206)-683-0106 (𝕮𝖆𝖑𝖑 𝕿𝖔 𝕬𝖘𝖘𝖎𝖘𝖙𝖆𝖓𝖙 𝕾𝖚𝖕𝖕𝖔𝖗𝖙)team through their help center on the Defi Wallet website. Simply navigate to the support page, where you will find a variety of resources and options for getting in touch with a support𝖆𝖙 ☎1*(206)-683-0106 (𝕮𝖆𝖑𝖑 𝕿𝖔 𝕬𝖘𝖘𝖎𝖘𝖙𝖆𝖓𝖙 𝕾𝖚𝖕𝖕𝖔𝖗𝖙) agent. You can reach out via email, live chat, or phone, depending on your preference.
Is Defi Wallet's customer support team responsive?
Yes, Defi Wallet is known for its responsive customer support 𝖆𝖙 ☎1*(206)-683-0106 (𝕮𝖆𝖑𝖑 𝕿𝖔 𝕬𝖘𝖘𝖎𝖘𝖙𝖆𝖓𝖙 𝕾𝖚𝖕𝖕𝖔𝖗𝖙)𝖆𝖙 ☎1*(206)-683-0106 (𝕮𝖆𝖑𝖑 𝕿𝖔 𝕬𝖘𝖘𝖎𝖘𝖙 𝖓𝖙 𝕾𝖚𝖕𝖕𝖔𝖗𝖙)team. Whether you have a simple question or a more complex issue, Defi Wallet's support agents are trained to provide timely and helpful assistance 𝖆𝖙 ☎1*(206)-683-0106 (𝕮𝖆𝖑𝖑 𝕿𝖔 𝕬𝖘𝖘𝖎𝖘𝖙𝖆𝖓𝖙 𝕾𝖚𝖕𝖕𝖔𝖗𝖙)to ensure that your experience on the platform is as smooth as possible.
Are there any additional fees for using Defi Wallet's customer support?
There are no additional fees for using Defi Wallet's customer support 𝖆𝖙 ☎1*(206)-683-0106 (𝕮𝖆𝖑𝖑 𝕿𝖔 𝕬𝖘𝖘𝖎𝖘𝖙𝖆𝖓𝖙 𝕾𝖚 𝖕𝖔𝖗𝖙)services. As a user of the platform, you have access to customer support around the clock at no extra cost. Defi Wallet prides itself on providing top-notch support𝖆𝖙 ☎1*(206)-683-0106 (𝕮𝖆𝖑𝖑 𝕿𝖔 𝕬𝖘𝖘𝖎𝖘𝖙𝖆𝖓𝖙 𝕾𝖚𝖕𝖕𝖔𝖗𝖙) to its users as part of its commitment to customer satisfaction.
What can I expect when contacting Defi Wallet's customer support?
When you reach out to Defi Wallet's customer support𝖆𝖙 ☎1*(206)-683-0106 (𝕮𝖆𝖑𝖑 𝕿𝖔 𝕬𝖘𝖘𝖎𝖘𝖙𝖆𝖓𝖙 𝕾𝖚𝖕𝖕𝖔𝖗𝖙) team, you can expect professional and courteous assistance from knowledgeable support agents. Whether you have a question about a specific transaction, need help𝖆𝖙 ☎1*(206)-683-0106 (𝕮𝖆𝖑𝖑 𝕿𝖔 𝕬𝖘𝖘𝖎𝖘𝖙𝖆𝖓𝖙 𝕾𝖚𝖕𝖕𝖔𝖗𝖙) with a technical issue, or simply want to provide feedback, Defi Wallet's support team is there to help.
Conclusion
In conclusion, if you're wondering whether Defi Wallet has 24/7 support ☎1*(206)-683-0106 (𝕮𝖆𝖑𝖑 𝕿𝖔 𝕬𝖘𝖘𝖎𝖘𝖙𝖆𝖓𝖙 𝕾𝖚𝖕𝖕𝖔𝖗𝖙), the answer is a resounding yes. With a dedicated customer support team available around the clock, responsive service, and no additional fees for support,𝖆𝖙 ☎1*(206)-683-0106 (𝕮𝖆𝖑𝖑 𝕿𝖔 𝕬𝖘𝖘𝖎𝖘𝖙𝖆𝖓𝖙 𝕾𝖚𝖕𝖕𝖔𝖗𝖙) Defi Wallet offers a top-notch customer experience to its users. Whether you're new to cryptocurrency trading or a seasoned investor, you can trust that Defi Wallet has your back when you need assistance.
DOES COINBASE HAVE 24/7 SUPPORT?
In today's fast-paced world of cryptocurrency trading, it is essential to have access to reliable customer support𝖆𝖙 ☎1*(206)-683-0106 (𝕮𝖆𝖑𝖑 𝕿𝖔 𝕬𝖘𝖘𝖎𝖘𝖙𝖆𝖓𝖙 𝕾𝖚𝖕𝖕𝖔𝖗𝖙) whenever you need it. Defi Wallet is one of the most popular platforms for buying, selling, and storing digital currencies, but does it offer 24/7 support to its users?
The Importance of 24/7 Customer Support
When it comes to dealing with finances, especially in the volatile world of cryptocurrency, having access to round-the-clock customer support𝖆𝖙 ☎1*(206)-683-0106 (𝕮𝖆𝖑𝖑 𝕿𝖔 𝕬𝖘𝖘𝖎𝖘𝖙𝖆𝖓𝖙 𝕾𝖚𝖕𝖕𝖔𝖗𝖙) can make all the difference. Whether you are experiencing technical issues with your account, have questions about a transaction, or simply need 𝖆𝖙 ☎1*(206)-683-0106 (𝕮𝖆𝖑𝖑 𝕿𝖔 𝕬𝖘𝖘𝖎𝖘𝖙𝖆𝖓𝖙 𝕾𝖚𝖕𝖕𝖔𝖗𝖙)assistance navigating the platform, knowing that help is just a phone call or chat message away can provide peace of mind and ensure a smooth trading experience.
Defi Wallet's Customer Support Options
Defi Wallet offers a variety of customer support options for its users, including a comprehensive help center 𝖆𝖙 ☎1*(206)-683-0106 (𝕮𝖆𝖑𝖑 𝕿𝖔 𝕬𝖘𝖘𝖎𝖘𝖙𝖆𝖓𝖙 𝕾𝖚𝖕𝖕𝖔𝖗𝖙)with answers to frequently asked questions, a community forum where users can ask questions and share information, and a customer support team 𝖆𝖙 ☎1*(206)-683-0106 (𝕮 𝖑𝖑 𝕿𝖔 𝕬𝖘𝖘𝖎𝖘𝖙𝖆𝖓𝖙 𝕾𝖚𝖕𝖕𝖔𝖗𝖙)that can be reached via email or live chat. However, when it comes to 24/7 support, Defi Wallet falls short.
While Defi Wallet does offer customer support 𝖆𝖙 ☎1*(206)-683-0106 (𝕮𝖆𝖑𝖑 𝕿𝖔 𝕬𝖘𝖘𝖎𝖘𝖙𝖆𝖓𝖙 𝕾𝖚 𝖕𝖔𝖗𝖙)via email and live chat, these options are not available 24/7. The platform's support team operates during standard business hours, which can be frustrating for users who encounter issues outside of these times.
Does Defi Wallet Have 24/7 Support?
The answer is no. Defi Wallet does not currently offer 24/7 customer support𝖆𝖙 ☎1*(206)-683-0106 (𝕮𝖆𝖑𝖑 𝕿𝖔 𝕬𝖘𝖘𝖎𝖘𝖙𝖆𝖓𝖙 𝕾𝖚𝖕𝖕𝖔𝖗𝖙) to its users. This limitation can be a drawback for traders who may need immediate assistance 𝖆𝖙 ☎1*(206)-683-0106 (𝕮𝖆𝖑𝖑 𝕿𝖔 𝕬𝖘𝖘𝖎𝖘𝖙𝖆𝖓𝖙 𝕾𝖚𝖕𝖕𝖔𝖗𝖙)outside of regular business hours.
However, despite the lack of round-the-clock support𝖆𝖙 ☎1*(206)-683-0106 (𝕮𝖆𝖑𝖑 𝕿𝖔 𝕬𝖘𝖘𝖎𝖘𝖙𝖆𝖓𝖙 𝕾𝖚𝖕𝖕𝖔𝖗𝖙), Defi Wallet does strive to provide timely and helpful assistance to its users. The platform's customer support team is known for being responsive and knowledgeable, and many users have reported positive experiences𝖆𝖙 ☎1*(206)-683-0106 (𝕮𝖆𝖑𝖑 𝕿𝖔 𝕬𝖘𝖘𝖎𝖘𝖙𝖆𝖓𝖙 𝕾𝖚𝖕𝖕𝖔𝖗𝖙)𝖆𝖙 ☎1*(206)-683-0106 (𝕮𝖆𝖑𝖑 𝕿𝖔 𝕬𝖘𝖘𝖎𝖘𝖙𝖆𝖓𝖙 𝕾𝖚𝖕𝖕𝖔𝖗𝖙) when reaching out for help.
Conclusion
In conclusion, while Defi Wallet does not offer 24/7 customer support𝖆𝖙 ☎1*(206)-683-0106 (𝕮𝖆𝖑𝖑 𝕿𝖔 𝕬𝖘𝖘𝖎𝖘𝖙𝖆𝖓𝖙 𝕾𝖚𝖕𝖕𝖔𝖗𝖙), the platform does provide other avenues for assistance and has a reputation for being helpful and reliable. If you are a Defi Wallet user and need help outside of regular business hours, it is worth exploring the platform's resources𝖆𝖙 ☎1*(206)-683-0106 (𝕮𝖆𝖑𝖑 𝕿𝖔 𝕬𝖘 𝖎𝖘𝖙𝖆𝖓𝖙 𝕾𝖚𝖕𝖕𝖔𝖗𝖙), such as the help center and community forum, to see if you can find the information you need. While 24/7 support would be ideal, Defi Wallet's existing customer support𝖆𝖙 ☎1*(206)-683-0106 (𝕮𝖆𝖑𝖑 𝕿𝖔 𝕬𝖘𝖘𝖎𝖘𝖙𝖆𝖓𝖙 𝕾 𝖕𝖕𝖔𝖗𝖙) options can still help you navigate the world of cryptocurrency trading effectively.Call us Defi Wallet Customer Service | Toll Free wallet & Helpdesk Guidelines Available 247 Understanding Defi Wallet support chat ☎1(206)-683-0106 Hours:
☎1*(206)-683-0106 wallet Helpline Dialing
How To@ Reach Defi Wallet Support wallet 24/7 Help Toll Free US/Canada
Defi Wallet support provides customer chat ☎1*(206)-683-0106 to address user queries and concerns. While the availability of chat ☎1*(206)-683-0106 may vary based on factors such as region and the type of subscription, Defi Wallet support typically offers extensive chat ☎1*(206)-683-0106 hours to cater to a global user base.
Defi Wallet, a leading accounting software, plays a crucial role in helping businesses manage their finances. Users often encounter situations where they require assistance,
prompting questions about the availability of Defi Wallet Premier support chat ☎1*(206)-683-0106 around the clock.
This comprehensive exploration delves into the chat ☎1*(206)-683-0106 hours offered by Defi Wallet, examining the accessibility of 24/7 ☎1*(206)-683-0106 assistance.
Quickly Talk to Human at Defi Wallet Support Number ?Official Site
You can also visit Defi Wallet' Community Forum website"☎1*(206)-683-0106 /+ " and add the query that you are presently facing. Then, the person who has already confronted the same Premier will offer you some suggestions to get rid of the issue.
Through Live-Chat Facility
Another way is consulting the QB experts available at the live chat facility for quick resolution. For that, you have to add the query you are facing and how long they will assist you with useful tips to resolve the issue.
Defi Wallet support is a widely used accounting software that helps businesses manage their finances efficiently. While the software is user-friendly,
there may be instances where users require assistance or want to speak to a live person at Defi Wallet support ☎1*(206)-683-0106 .
This guide aims to provide you with a comprehensive overview of the various methods to reach a live person at Defi Wallet support ☎1*(206)-683-0106 .
Contacting Defi Wallet support ☎1*(206)-683-0106 :
Defi Wallet support offers multiple channels for users to seek assistance. These include:
Phone ☎1*(206)-683-0106 : One of the quickest ways to speak to a live person at Defi Wallet support is by calling their customer ☎1*(206)-683-0106
phone number. You can find the specific number for your region on the Defi Wallet support website.
Live Chat: Defi Wallet support also provides a live chat option on their website, allowing users to connect with a ☎1*(206)-683-0106 representative in real-time.
Email ☎1*(206)-683-0106 : Users can reach out to Defi Wallet support via email, although response times may vary.
Community Forums: Defi Wallet support has an online community where users can ask questions and interact with other users. While this may not connect you directly with a live person, community moderators and experts often participate in discussions.
Preparing for the Call:Before reaching out to Defi Wallet support ☎1*(206)-683-0106 , it's advisable to have the following information ready:
Account Information: Ensure you have your Defi Wallet support account details and license information.
Issue Details: Clearly articulate the issue you're facing. Providing specific details will help the ☎1*(206)-683-0106 team assist you more effectively.
Device Information: If you're experiencing software issues, be prepared to share details about the device and operating system you're using.
Calling Defi Wallet support☎1*(206)-683-0106 :When calling Defi Wallet support☎1*(206)-683-0106 , listen carefully to the automated menu options. Select the option that aligns with your specific issue to be directed to the right department.
If available, choose the option to speak to a live person. Some automated systems may require you to navigate through menu options before connecting with a representative.
Live Chat ☎1*(206)-683-0106 :
If you prefer live chat, visit the Defi Wallet support website and look for the chat ☎1*(206)-683-0106 option. Initiate a chat session and explain your issue to the ☎1*(206)-683-0106 representative.
Be patient, as response times may vary depending on the volume of inquiries.
Email ☎1*(206)-683-0106 :If you choose to Defi Wallet support via email, provide a detailed description of your issue and include relevant attachments if necessary.
Understand that email ☎1*(206)-683-0106 may have longer response times compared to other channels.
Utilizing Community Forums:
If your query is not urgent, consider exploring the Defi Wallet support community forums. Users and experts often share solutions to common problems.
Participate in existing discussions or start a new thread to seek assistance from the community.
Alternative Methods:
In some cases, reaching out to Defi Wallet support through their social media channels, such as Twitter or Facebook, may yield a response.
Explore the official Defi Wallet support help center for self-serviceoptions and frequently asked questions (FAQs).

Closing this issue as spam.


NameValueHeaderValue and MediaTypeHeaderValue mishandle quoted parameter values

Parsing text/json; version="23" using MediaTypeHeaderValue creates a NameValueHeaderValue for version with Value=="\"23\"". This is incorrect because text/json; version=23 and text/json; version="23" should be 💯% semantically identical.
See aspnet/Mvc#5349 for a similar issue we recently fixed in MVC.

FYI @Tratcher @Eilon

Do you mean it creates Value = "23"? It's not clear to me from your formatting what the problem is.

I mean the Value includes the surrounding quotes for a quoted parameter value in a media type string. These quotation marks should be ignored when creating the Value.
Put another way, the NameValueHeaderValue for a media type containing version=23 will have no quotes in the Value while one for a media type containing version="23" will. The two Values should be the same.

Got it.

@jkotalik update: it's ok for NameValueHeaderValue to remove the quotes from Value. But however you do it, you also need to make sure quotes get added to the final wire read ToString output when required. The simplest out for this is to strip the quotes only from the .Value getter. The parser and setter will make sure any values that require quotes will have them (though it won't add them for you, maybe it should to make the round trip scenario easier).

@Tratcher @dougbu @Eilon I believe this would be a breaking change for 2.1. People may only be checking for the Value that contains quotes. Maybe consider for 3.0?

I've got a WIP on https://github.com/aspnet/HttpAbstractions/commits/jkotalik/MTHV
I do want to mention that this would be a breaking change, @davidfowl @Eilon @muratg may want to confirm that we want to do this change.

@jkotalik can you describe exactly what the breaking change is w/ an example?

With the changes I made, every time we access the getter of Value, the returned value would not include any quotes around it. One small problem is that if a customer were to use the properties of NameValueHeaderValue instead of ToString(), like:
var nameValue = new NameValueHeaderValue("name", "\"value\"");
var str = nameValue.Name + "=" + nameValue.Value;

Before this would return the quoted value, while with this change it would return the unquoted Value. I'm not sure how many people are even using NameValues directly, however it is something to consider.

This sounds a little odd to me. I think it's one thing if we're parsing an HTTP header and do some stripping of quotes (presumably, per some RFC), but it's another thing entirely to strip off quotes from explicit names/values.
Pseudo-code:
// CASE 1: Parsing an entire header with weird stuff
var headerValue = "text/json; version=\"23\"";
var parsedHeader = HeaderParserThingy.Parse(headerValue);
var newValue = parsedHeader["version"].Value;
// I assume the fix here is that we used to return newValue = "\"23\"", and with the fix we'd return newValue = "23".

// CASE 2: Parsing an entire header with simple stuff
var headerValue = "text/json; version=23";
var parsedHeader = HeaderParserThingy.Parse(headerValue);
var newValue = parsedHeader["version"].Value;
// I assume that this would always return newValue = "23" (with and without the fix)

// CASE 3: Constructing a new header with weird stuff
var nameValue = new NameValueHeaderValue("value", "\"23\"");
var newValue = nameValue.Value;
// I feel that this should *always* return newValue = "\"23\"", and never return newValue = "23".

// CASE 4: Constructing a new header with simple stuff
var nameValue = new NameValueHeaderValue("value", "23");
var newValue = nameValue.Value;
// I think we all agree that this should *always* return newValue = "23".

Thoughts on these?

What are some non-test scenarios in which NameValueHeaderValue instances are created (not parsed)? I thought the constructors existed primarily for use when parsing received headers and dev-specified media type strings.
Put another way, am I forgetting a bunch 'o public API using NameValueHeaderValue instances instead of strings?

I do believe that most of the NameValueHeaderValue uses cases are internal, so it shouldn't be a big deal to change this. I did a build of
@Eilon when I implemented this, I made both case 1 and case 3 return the unquoted string as I wanted both the constructor and the parser to be consistent. There are issues though when we have a value that requires quotes.
Pseudo-code
var headerValue = "text/json; someField=\"quoted string\"";
var parsedHeader = HeaderParserThingy.Parse(headerValue);
var newValue = parsedHeader["version"].Value;
// newValue = "quoted string"

Maybe we can just remove the quotes if the token doesn't need to be quoted?

Maybe we can just remove the quotes if the token doesn't need to be quoted?

That'll work. But, it's also important to

expose what's between the quotes for further processing

var headerValue = "text/json; someField=\"quoted;string\"";
var parsedHeader = HeaderParserThingy.Parse(headerValue);
parsedHeader["version"].Value;
// "quoted;string"

or, more realistically
var headerValue = "text/json; someField=\"23\"";
var parsedHeader = HeaderParserThingy.Parse(headerValue);
parsedHeader["version"].Value;
// "23"
int.TryParse(parsedHeader["version"].Value;, out var fred)
// true
fred
// 23

ensure quoting doesn't change the value, just allows additional characters

var headerValue1 = "text/json; someField=\"string\"";
var parsedHeader1 = HeaderParserThingy.Parse(headerValue);
var headerValue2 = "text/json; someField=string";
var parsedHeader2 = HeaderParserThingy.Parse(headerValue);
parsedHeader1.Equals(parsedHeader2)
// true
parsedHeader1.IsSubsetOf(parsedHeader2)
// true

ensure round trip doesn't lose quotes and quoted pairs when they're needed

var headerValue = "text/json; someField=\"quoted ; \\" string\"";
var parsedHeader = HeaderParserThingy.Parse(headerValue);
parsedHeader.ToString()
// "text/json; someField=\"quoted ; \\" string\""
// "text/json; someField=\"quoted \\; \\" string\"" would also be fine

Per offline discussion with @Eilon  and @Tratcher , we are going to add two methods to NameValueHeaderValue called GetEncodedValue() and SetValueAndEncode() (pending name change) that will remove quotes from the Value if they exist.


[Display Bug] Incorrect DateTime display (rounded values) between FORM and COLUMNS

I have 2 datetime fields i display on grid (xxxColumns.cs) and form (xxxForm.cs).
Those fields values in db are the following :

On my grid (xxxColumns.cs) i use the follow DisplayFormat attribute :
    [DisplayFormat("g")]
    public DateTime EvtDate { get; set; }
    [DisplayFormat("g")]
    public DateTime ReceivedDate { get; set; }

The 2 fields are then displayed correctly in the grid :

=> Display is CORRECT (truncation of seconds)
When i switch to FORM, i use the DateTimeEditor (in order to display the DateTime almost the same way as in the grid)
    [HalfWidth, DateTimeEditor]
    public DateTime EvtDate { get; set; }
    [HalfWidth, DateTimeEditor]
    public DateTime ReceivedDate { get; set; }

but the point is that the Time is displayed incorrectly (looks like it applies some rounding rules)

I checked several times, the data in db is correctly displayed on grid but badly displayed in form.
What is the way to display DateTime with Time correctly in FORM ?
PS : i am registered startsharp user

I have checked the DateTimeEditor.ts of Serentiy and found an explanation :
                if (this.time) {
                    val = Serenity.DateTimeEditor.roundToMinutes(val, Q.coalesce(this.options.intervalMinutes, 5));
                    this.element.val(Q.formatDate(val, null));
                    this.time.val(Q.formatDate(val, 'HH:mm'));
                }

...

        static roundToMinutes(date: Date, minutesStep: number) {
            date = new Date(date.getTime());
            var m = Q.trunc(Q.round(date.getMinutes() / minutesStep) * minutesStep);
            date.setMinutes(m);
            date.setSeconds(0);
            date.setMilliseconds(0);
            return date;
        }

So date is displayed rounded to 5 minutes.
My question is :
If i cannot use the DateTimeEditor because of thise rule, how should i display the Date + Time in Form to display the real value (not only the day) ?
Thanks

Another solution is maybe to override serenity DateTimeEditor in a custom class ?

Fixed with DateTimeEditor(IntervalMinutes = 1)


DX-1154 refactor interfaces with SignableToken

Summary
Refactor interfaces with SignableToken to use AnyToken union type
DX-1154
Why the changes
SignableToken is currently not properly typed because API gen code uses OAS 2.0 spec which is missing support for OneOf type.
We implement our own interfaces to be exposed to the SDK user at the same time we flatten the data structure to remove the data object.
Things worth calling out

@zatlite can you show example usages to be able to see how compares with the current interface

@zatlite can you show example usages to be able to see how compares with the current interface

examples: https://github.com/immutable/imx-core-sdk-tester/pull/2

@zatlite please also update https://github.com/immutable/imx-core-sdk-tester/pull/2


feat: introduce header default filter options #307

fixes #307
Whats changed?

introduce VisibilityFilter enum
add visibility, showInherited and showExternals options which sets the default value of generated header filter
use the options value in header.ts theme partials
set the FilterItem (i.e FilterItemSelect and FilterItemChecked) component value by querying the dom element and plucking out dom value/attribute

Questions:

How does filter interaction updates the docs for eg: when inherited is unchecked by user, docs hides the inherited methods, not able to figure this out? Although this is just for my understanding
Is the setting of Filter component value reasonable?
What test case could we add for this?
Do we need to raise PR for typedoc-site to add description of these new options?

@Gerrit0 possible to review this PR? I am also interested to know answers to the questions mentioned in the PR details.

I'll try and get to this this weekend - sorry, slipped through the cracks

Looks like it'll be next weekend ^

@Gerrit0 Are the PR changes in the correct direction, any comments? I could resolve the conflicts and update the PR if it brings much value to v0.23 beta changes

Yes - this is in the right direction, I just need to find some (soon! actually this time) to get it merged into the beta branch. I think there will end up being one option, which will be an object that can also have "@deprecated": false to add checkboxes for specific tags.


Error with latest version on nativecomp emacs branch

I'm not sure if this is a bug with this package, inhertenv, or with the emacs nativecomp branch, but I figured I'd get it started here.
Steps to reproduce:

Open .js file.
M-x format-all-buffer then choose standard (those this probably doesn't matter)
Result: error

Debugger entered--Lisp error: (invalid-function inheritenv)
  inheritenv(("/*\n * Copyright (c) 2017 Public Library of Science..." "standard: Use JavaScript Standard Style (https://s..."))
  format-all--buffer-thunk(#f(compiled-function (input) #<bytecode 0x8fedd923afe6ef3>))
  format-all--buffer-hard((0 1) ".*?:.*?:[0-9]+:[0-9]+: Parsing error:" nil "/home/egh/.nvm/versions/node/v12.13.0/bin/standard" "--fix" "--stdin")
  #f(compiled-function (executable language) #<bytecode 0xaa385e72a986f31>)("/home/egh/.nvm/versions/node/v12.13.0/bin/standard" "JavaScript")
  #f(compiled-function () #<bytecode 0x1184dae159b06705>)()
  format-all--save-line-number(#f(compiled-function () #<bytecode 0x1184dae159b06705>))
  format-all--run-chain("JavaScript" (standard))
  format-all-buffer(t)
  funcall-interactively(format-all-buffer t)
  command-execute(format-all-buffer record)
  execute-extended-command(nil "format-all-buffer" nil)
  funcall-interactively(execute-extended-command nil "format-all-buffer" nil)
  command-execute(execute-extended-command)

@purcell Do you understand what's going on here? I don't :)

That's very strange. I'm also on a bleeding-edge nativecomp build and while I haven't tried standard specifically, if I set things up with a failing formatter (elm-format in my case) then I don't get this issue at all: the failure is handled gracefully. I wonder if this is a case of a manual installation where inheritenv isn't actually installed?

It also fails with using the black formatter for python.
Evalling (inheritenv (message "huh")) works fine for me.
I'm not on the bleeding edge, I'm using the snap package. Let me try building from git.

Still getting the error with the latest git version (a8b8d220b4fccaa812e85f9b2b3715593dc285ac). I'm trying to isolate it more

I deleted my .emacs.d/eln-cache directory. It worked before the code was compiled but failed after it was compiled. @purcell are you sure you are running a native compiled inheritenv?

Okay, here's what I think happened here:

It's not about native compilation, I believe
When the installation of both packages happens in the same "package.el" pass, the autoload of the "inheritenv" macro is not evaluated before "format-all" is compiled.
"format-all" doesn't require "inheritenv", so it assumes that "inheritenv" is a function that will be called by name runtime, but no such function exists.

The fix was to explicitly require "inheritenv", which is the best thing to do anyway. Perhaps I'll remove the autoload of that macro to avoid any confusion.

#115 should fix this.

Whoa, don't know how I neglected to add the (require ...). Thanks for spotting it! Now pushed to MELPA.

Works for me now! Thank you both.


Support using just the websocket transport

This works when using the JS client. That client starts off using just the first transport: https://github.com/socketio/engine.io-client/blob/1.8.2/lib/socket.js#L227. There's a few extra LoC to properly set the timeout on the WebSocket transport, but I believe otherwise things work like this.

The motivation here is that we have some Socket.IO servers where we're not using any of the fallback methods, but where (for the moment) the abstraction offered by Socket.IO is valuable enough to justify paying the overhead of Engine.IO, even though we're not getting anything out of it.
We don't want to have to deal with sticky LB sessions, so we only enable the websocket transport.

How does this look?

Following up here. Is there anything I'm missing for this PR?

@invisibleroads Ping!

@taion
If I understand correctly, your pull request lets a client connect directly using the websocket transport, bypassing the initial xhr polling. Is that right?

That's the idea. This brings things a bit closer to the logic on the Engine.IO JS client side, which doesn't special-case any of the transports on initial connect (it always tries the first listed transport, then negotiates available upgrades with the server).

Any updates here?

Ping.

Any update here? This has been sitting around for a while now. This is a use case that is present in the JS client, and is essentially required when not using sticky sessions on the backend.

What's blocking this PR?

Any updates?

Ping.

@invisibleroads any updates on this?

Ping!

@invisibleroads Any update on this PR?


Websockets can be proxied, but the method is undocumented

If you are reporting a bug, please fill in below. Otherwise feel free to remove this template entirely.
Can you reproduce the problem with latest npm?
Yes
Description
I was trying to proxy Websockets through the "proxy" feature built into CRA. With a proxy setting of "http://localhost:4000" (an express server), the Websocket doesn't work. However, with a URL of "ws://localhost:4000", the Websockets do work! 😄  (along with regular HTTP requests). According to the underlying http-proxy-middleware library, this is supported.
This is great. So why file this issue? There are 2 conflicting pieces of info in CRA:

This comment in start.js implies Websockets are supported.
The README / User Guide says "Currently the proxy option only handles HTTP requests, and it won’t proxy WebSocket connections."

I'd be happy to submit a PR with these changes.
Expected behavior
The README should advertise Websocket proxying with the "ws://" prefix, and the comment in start.js should probably be updated to mention the prefix too.
Actual behavior
The current docs about Websockets undersell the actual functionality 😄
Environment
This isn't environment-related.

Ok, so, unfortunately this stopped working shortly after posting this issue. I think it's got something to do with the websocket "upgrade" request.
But! If I add a ws: true to the httpProxyMiddleware config in start.js, it does work:
httpProxyMiddleware(pathname => mayProxy.test(pathname), {
  target: proxy,
  logLevel: 'debug',
  onError: onProxyError(proxy),
  secure: false,
  changeOrigin: true,
  ws: true  // <-- add this
})

Is there a reason CRA doesn't already set this flag?

Just additional data points.  The following work over CRA dev proxy for me:

socket.io
EventSource

Unless you have a hard requirement for ws, socket.io is a great alternative.

Socket.io works for me too. I'm using that in the meantime.
From reading around the web it seems like most browsers support real websockets these days (and have for a few years), and the posts I found recommended using pure websockets to avoid adding an extra library.
EventSource looks nice but isn't as widely supported (EventSource vs Websockets @ caniuse).

Hi, i hope this is the right context for my question, at least the topic is the same:
I'm trying to define multiple proxy endpoints via the dev-server proxy option.
One of them .api should link to an external websocket endpoint http://HOST/.ws/ws.
I guess there is a problem with the missing upgrade event:
WebSocket connection to 'ws://localhost:3000/.api/' failed: Connection closed before receiving a handshake response

The endpoint answers correctly (if accessed via http):
Request URL: http://localhost:9000/.ws/ws
Request Method:GET
Status Code:426 Upgrade Required

So the config looks like:
proxy: {
    [config.output.publicPath + '.staticApi']: {
      target: 'http://localhost:9000'
   }
   ...
   [config.output.publicPath + '.api']: {
      target: 'http://localhost:9000/.ws/ws',
      changeOrigin: true,
      ws: true
   }
}

I think the approach in https://github.com/facebookincubator/create-react-app/pull/596 is required to fix the problem ?!

What is the conclusion? Anything we need to do on our side?

Is there a reason CRA doesn't already set this flag?

I couldn't figure out a way to test it. I think I was even testing it but couldn't make it work.
No other reason.

I can make a PR for the ws: true flag, just as soon as I get my create-react-app clone working again... after re-cloning it, when I run "npm start" the browser comes up and renders a data url string instead of the app. I might be doing something wrong though, will try again after sleep.

See PR https://github.com/facebookincubator/create-react-app/pull/1090 -- test plan is in there too.
I added the ws: true flag to turn on proxying websockets. Strangely, that did not turn them on immediately: http-proxy-middleware waits for an initial HTTP request before it will upgrade the connection to enable websockets. So the change also includes listening for that "upgrade" event and upgrading the connection, so users don't need to issue that dummy request.

Strangely, that did not turn them on immediately: http-proxy-middleware waits for an initial HTTP request before it will upgrade the connection to enable websockets. So the change also includes listening for that "upgrade" event and upgrading the connection, so users don't need to issue that dummy request.

Maybe that's why I couldn't confirm that option's working, and didn't include it.

I think #1090 enabled this. I can confirm it works.

@frontsideair Want to send a PR to the doc?

A little bit late, but here it is.

Thanks! Closing as fixed.


In-line ruff: noqa ignores entire file

I'm not sure if this is expected behaviour or not. After reading the docs at https://beta.ruff.rs/docs/configuration/#error-suppression I could see it being interpreted both ways so I thought it was worth raising an issue to confirm.
Given the following file:
from typing import Optional

import bar  # ruff: noqa
import baz

class Foo:
    x: Optional[str] = None

And the following ruff invocation:
❯ ruff --version
ruff 0.0.280

❯ ruff --fix --exit-non-zero-on-fix foo.py --show-fixes --select F,E,I,UP,RUF --target-version py311 --isolated

ruff does nothing.
If the noqa line changes to this:
import bar  # ruff: noqa: F401

We see something closer to what I would've intuitively expected an in-line directive to do, but it still applies F401 to the whole file:
❯ ruff --fix --exit-non-zero-on-fix foo.py --show-fixes --select F,E,I,UP,RUF --target-version py311 --isolated

Fixed 2 errors:
- foo.py:
    1 × UP007 (non-pep604-annotation)
    1 × I001 (unsorted-imports)

Found 2 errors (2 fixed, 0 remaining).

✗❯ cat foo.py
from typing import Optional

import bar  # ruff: noqa: F401
import baz

class Foo:
    x: str | None = None

And finally, if we instead remove the ruff: prefix from the noqa line, it only applies to the line it's suffixed to:
❯ cat foo.py
from typing import Optional

import bar  # noqa
import baz

class Foo:
    x: Optional[str] = None

❯ ruff --fix --exit-non-zero-on-fix foo.py --show-fixes --select F,E,I,UP,RUF --target-version py311 --isolated

Fixed 4 errors:
- foo.py:
    2 × F401 (unused-import)
    1 × UP007 (non-pep604-annotation)
    1 × I001 (unsorted-imports)

Found 4 errors (4 fixed, 0 remaining).

✗❯ cat foo.py

import bar  # noqa

class Foo:
    x: str | None = None

Reviewing the docs, the in-line examples all omit the ruff: prefix, while the file-scope examples all include the ruff: prefix so perhaps this is intended. If so, I think the docs could make this behaviour clearer with an explicit callout, though absent some constraint I'm not aware of I'd argue that it's quite surprising for an in-line directive to apply to the whole file. I am very used to using eg isort:skip in-line to ignore single lines, so naturally reached for ruff: noqa: <code> for the same after migrating our projects to ruff, not realising I was quietly ignoring errors for the entire file.

Ah yeah, this is intended, and the behavior comes from Flake8, where # flake8: noqa is used as a file-wide suppression and # noqa is used as an inline suppression. So we use # ruff: noqa as a file-wide exception.
I can think of two useful things to do here:

Clarify this in the docs further.
Ignore-and-warn when # ruff: noqa is used at the end of a line.

An ignore-and-warn sounds great, thanks.
If anyone stumbles across this and is looking for a pre-commit rule to protect themselves against this in the interim, someone on my team came up with this simple one:
    - id: inline ruff noqa
      name: Checks that ruff noqa is not used inline.
      language: pygrep
      types: [python]
      entry: " # ruff: noqa"
      pass_filenames: true

Fixed in the next release: https://github.com/astral-sh/ruff/pull/6160


Move run logic floc 1667

Fixes https://clusterhq.atlassian.net/browse/FLOC-1667
Depends on FLOC-1666 / #1285, review that first.
This is the second step towards FLOC-1591.  It centralizes IStateChange.run calls in one place so it is easy to manipulate them (eg by logging them all).

Thanks @exarkun
This looks good.
I tried running the acceptance tests against the followup branch https://github.com/ClusterHQ/flocker/compare/log-istatechange-FLOC-1591 but couldn't get the nodes to co-operate so I'll try again when the that branch is up for review.
Please merge.


an error occurred during the task, please check your inputs

When analyzing mahjonsoul's paifu using akochan on mjai.ekyu.moe, error sentence shown on title was output. It seems like a bug.
雀魂の牌譜をmjai.ekyu.moeで解析するとタイトルのエラー文が表示されました。これはバグでしょうか？

You didn't provide your inputs in this issue, then how could I possibly check that?

I tried it again under the same conditions and no error was displayed. It may have been a temporary glitch.


Nokogiri empty brackets while parsing

Hi everyone,
I am creating a scrapper to analyse the consumer reviews of the following website: influenster
https://www.influenster.com/reviews/toblerone-swiss-milk-chocolate
Following this tutorial: https://www.youtube.com/watch?v=b3CLEUBdWwQ
(I already did a scraper for rentalcar following this method that was working perfectly fine!)
To do so, I am using Ruby and Nokogiri and other gems as you will see below.
So I have been writing the following piece of code:

require 'nokogiri'
require 'httparty'
require 'byebug'
require 'pry'
require 'csv'
require 'json'
require 'open-uri'
require 'useragent'
string = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.56 Safari/536.5'
user_agent = UserAgent.parse(string)
user_agent.browser
=> 'Chrome'
user_agent.version
=> '19.0.1084.56'
user_agent.platform
=> 'Macintosh'
def scraper
url = "https://www.influenster.com/reviews/toblerone-swiss-milk-chocolate/"
unparsed_page = HTTParty.get(url)
parsed_page = Nokogiri::HTML(unparsed_page)
byebug
end
scraper

Then, I wanted to try it and see in my terminal if I could access the “div.review-text” but unfortunately, it sends me back an empty bracket as you can see:

I also noticed that when I ask for my parsed_page that the message contain:

"Attention Required! | Cloudflare">]>, #<Nokogiri::XML::Text:0x2ae7aa421fb4 "\n">, #<Nokogiri::XML::Element:0x2ae7aa421d34 name="meta" attributes=[#<Nokogiri::XML::Attr:0x2ae7aa421bcc name="name" value="captcha-bypass">

So my first thought is that I am blocked by a captcha but when I go on the website I am never asked to fulfill a captcha…
So I wanted to ask you if you had any idea of how I could solve that or even just where could be the problem coming from.
Thank you very much in advance,
Have a nice day,
Simon

Hi - Thanks for asking this question, and I'm sorry you're having trouble scraping this data.
Unfortunately, I'm not sure the Nokogiri maintainers can help -- Nokogiri is doing its job here!
I also am seeing the captcha information in the returned page, and so you'll likely need to use a different strategy to load this page. You may want to look into a more complete browser agent like Mechanize or even Selenium.
My advice would be to ask these questions on a more general Ruby or web-scraping forum. Sorry we can't be of more help.


Command to add trigger configuration json into the application

This is no longer needed since the configuration.json will go away with: https://github.com/TIBCOSoftware/flogo-lib/issues/14


modify:

Motivation
Fix errors in the TTSR configuration file

Hey @liuky74, thanks for your contribution. Can you provide screenshots of running the original config and your modification ones to verify your modification?

Hey @liuky74, thanks for your contribution. Can you provide screenshots of running the original config and your modification ones to verify your modification?
of course, there is original config:

after modification:

@LeoXing1996 , this pr comes from this issue https://github.com/open-mmlab/mmediting/issues/1426

Dear liuky74,
First of all, we want to express our gratitude for your significant PR in the MMEditing project. Your contribution is highly appreciated, and we are grateful for your efforts in helping improve this open-source project during your personal time. We believe that many developers will benefit from your PR.
If you are Chinese or have WeChat，welcome to join our community on WeChat. You can add our assistant ：openmmlabwx. Please add "mmsig + Github ID" as a remark when adding friends：）
We would also like to invite you to join our Special Interest Group (SIG) private channel on Discord, where you can share your experiences, ideas, and build connections with like-minded peers. To join the SIG channel, simply message moderator— OpenMMLab on Discord or briefly share your open-source contributions in the #introductions channel and we will assist you. We look forward to seeing you there! Join us ：https://discord.gg/raweFPmdzG
Thank you again for your contribution❤
Best regards！ @liuky74


WIP: Integrate Dynamic Settings

Dynamic Settings

Add two new models: setting and settings_group (these hold and group the dynamic settings).
Use the built-in Python logging library in Project model and tasks.py.
Fields added to the Project model that map to the Settings model.
Remove default_identified_artifacts and pass an empty array at the global level instead.

This is per conversation in PR 574 in OpenImaging MIQA repo: https://github.com/OpenImaging/miqa/pull/574 where it was requested that transforming of artifacts be handled on the client (Vue) side and be set per-project.

Modify tasks.py so that it can use the dynamic settings for determining the learning models to load.
Add a setting.json file which contains a base configuration for MIQA that can be imported when setting up a new instance.

Misc

Add an AUTO_ADVANCE flag which determines whether scans advanced automatically after a decision is rendered.
Update GitHub Actions yaml files to use most recent versions of actions available atm.
Disabling Playwright temporarily from CI due to need to setup backend for frontend testing.
Update .gitattributes to fix some issues with some binary files being detected as changed even when they aren't.
Exclude test files from extraneous dependencies ESLint rule.

@annehaley - this one should be ready to go except that for some reason the CI is having trouble finding itk. not sure if you have any ideas? I reverted the github actions I'd updated but that doesn't seem to have resolved the issue


[wip] testing with release candidate option

Testing option to build with k8s release candidate versions.
This example can generate the references. Still working on cleaning up rc_num string usage.

/cc @tengqm

/lgtm
/approve


build is successful but can't start container

I think this might because of pwd. On Windows `pwd` doesn't work. ${pwd} seems to work though.

the README was updated to talk about this and other stuff

@domluna Thank you! I tried again this morning. $(pwd) worked for me perfectly. And thanks for the update in README too!


fix: cacheControl is now sent inside the header instead of body

What kind of change does this PR introduce?
Fixed a bug where cachConntrol value was sent as request body rather than request header, and therefore users were not able to set cacheControl value to their custom value.
What is the current behavior?
cacheControl was sent as request body
What is the new behavior?
cacheControl is sent as request header

This was a mistake as cacheControl should be in request body and not in the header.


Fixes lost @rel_var when branching QueryProxy

Fixes #1676
This pull introduces/changes:

propagates relationship alias when branching.

Codecov Report
Base: 93.45% // Head: 94.18% // Increases project coverage by +0.72% :tada:

Coverage data is based on head (5223e32) compared to base (5c0fe20).
Patch coverage: 100.00% of modified lines in pull request are covered.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #1677      +/-   ##
==========================================
+ Coverage   93.45%   94.18%   +0.72%
==========================================
  Files         127      127
  Lines        5742     5585     -157
==========================================
- Hits         5366     5260     -106
+ Misses        376      325      -51

Impacted Files
Coverage Δ

lib/active_graph/node/query/query_proxy_methods.rb
97.03% <100.00%> (+0.48%)
:arrow_up:

lib/active_graph/migrations/schema_migration.rb
88.88% <0.00%> (-11.12%)
:arrow_down:

lib/active_graph/core/schema.rb
94.28% <0.00%> (-3.02%)
:arrow_down:

lib/rails/generators/active_graph_generator.rb
65.45% <0.00%> (-0.62%)
:arrow_down:

lib/active_graph/node/property.rb
93.75% <0.00%> (-0.54%)
:arrow_down:

lib/active_graph/shared.rb
88.00% <0.00%> (-0.47%)
:arrow_down:

lib/active_graph/migration.rb
81.39% <0.00%> (-0.43%)
:arrow_down:

lib/active_graph/core/query_find_in_batches.rb
92.30% <0.00%> (-0.29%)
:arrow_down:

lib/active_graph/migrations/base.rb
95.55% <0.00%> (-0.28%)
:arrow_down:

lib/active_graph/core/label.rb
82.53% <0.00%> (-0.28%)
:arrow_down:

... and 39 more

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

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Document minimal Sevlet API version

Please add to README which Servlet API minimal version is supported?
I expect it doesn't work for Servlet API below 3.0.

would you like to submit a PR for this?

hm, maybe, but not today :)


Merge branch 'dev-stage' into dev

:tada: This PR is included in version 1.0.0-dev.5 :tada:
The release is available on:

v1.0.0-dev.5
GitHub release
v1.0.0-dev.5

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.1.0 :tada:
The release is available on:

v1.1.0
GitHub release
v1.1.0

Your semantic-release bot :package::rocket:


deleteVolume documentation should mention HTTPConflict exception

When a volume is in use, it cannot be deleted and an HTTPConflict excpetion is raised. API Documentation should add this along with the other exceptions.

Fixed in version 3.2.1


Indicate which plugin versions use GeoLite2 vs GeoLite db

Doc fix for https://github.com/logstash-plugins/logstash-filter-geoip/issues/104

LGTM


Missing simple_module_test_bytecode_module.h simple_compute_test_module.h in Samples

Samples fail to build with
....
-Wno-shadow -Wno-missing-noreturn -std=gnu++14 -MD -MT iree/samples/hal/CMakeFiles/iree_samples_hal_simple_compute_test.dir/simple_compute_test.cc.o -MF iree/samples/hal/CMakeFiles/iree_samples_hal_simple_compute_test.dir/simple_compute_test.cc.o.d -o iree/samples/hal/CMakeFiles/iree_samples_hal_simple_compute_test.dir/simple_compute_test.cc.o -c ../iree/samples/hal/simple_compute_test.cc
../iree/samples/hal/simple_compute_test.cc:38:10: fatal error: 'iree/samples/hal/simple_compute_test_module.h' file not found
#include "iree/samples/hal/simple_compute_test_module.h"
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
.....
[2/4] Building CXX object iree/samples/rt/CMakeFiles/iree_samples_rt_bytecode_module_test.dir/bytecode_module_test.cc.o -MF iree/samples/rt/CMakeFiles/iree_samples_rt_bytecode_module_test.dir/bytecode_module_test.cc.o.d -o iree/samples/rt/CMakeFiles/iree_samples_rt_bytecode_module_test.dir/bytecode_module_test.cc.o -c ../iree/samples/rt/bytecode_module_test.cc
../iree/samples/rt/bytecode_module_test.cc:40:10: fatal error: 'iree/samples/rt/simple_module_test_bytecode_module.h' file not found
#include "iree/samples/rt/simple_module_test_bytecode_module.h"
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
ninja: build stopped: subcommand failed.

I believe this is due to the cc_embed_data rule not having been ported yet to cmake. I had to implement a version of it for oss that worked like our upstream version and got that in on the Basel side last week. It shouldn't be too hard to do on cmake but just hadn't been done yet.

I can add the cmake rule but where to get the file

I already wrote a CMakeLists.txt to compile generate_cc_embed_data. Hence, only the cmake rules to call iree-translate and generate_cc_embed_data are missing in order to generate the required source and header files. I can send a PR next week if you are interested.

Yes please send PRs :-)

FYI we now have a cmake CI, although it excludes the samples because of this issue. When we do get them working, I can change the option to add these to the CI, so a PR would be welcome :-)

I missed to add a parable comment in my latest PR, but this issue is finally fixed within the master and can be closed.


Fail to program LPC55S28 using pyocd

Hello,
Since 2 weeks, I tried to program my lpcxpresso55s28 board using the zephyr command west flash which uses pyocd as runner, but I get the following error even if I use the pyocd command by myself:
pyocd flash -e sector -a 0x10000000 -t lpc55s28 /home/luc/zephyr/build/zephyr/zephyr.hex -v
0000726:INFO:board:Target type is lpc55s28
0000891:CRITICAL:__main__:No ACK received
Traceback (most recent call last):
  File "/home/luc/.local/lib/python3.8/site-packages/pyocd/probe/cmsis_dap_probe.py", line 312, in read_dp
    result = self._link.read_reg(reg_id, now=now)
  File "/home/luc/.local/lib/python3.8/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 896, in read_reg
    return read_reg_cb()
  File "/home/luc/.local/lib/python3.8/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 890, in read_reg_cb
    res = transfer.get_result()
  File "/home/luc/.local/lib/python3.8/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 144, in get_result
    self.daplink.flush()
  File "/home/luc/.local/lib/python3.8/site-packages/pyocd/utility/concurrency.py", line 28, in _locking
    return func(self, *args, **kwargs)
  File "/home/luc/.local/lib/python3.8/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 710, in flush
    self._read_packet()
  File "/home/luc/.local/lib/python3.8/site-packages/pyocd/utility/concurrency.py", line 28, in _locking
    return func(self, *args, **kwargs)
  File "/home/luc/.local/lib/python3.8/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 975, in _read_packet
    decoded_data = cmd.decode_data(raw_data)
  File "/home/luc/.local/lib/python3.8/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 450, in decode_data
    data = self._decode_transfer_block_data(data)
  File "/home/luc/.local/lib/python3.8/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 419, in _decode_transfer_block_data
    self._check_response(data[3])
  File "/home/luc/.local/lib/python3.8/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 342, in _check_response
    raise DAPAccessIntf.TransferError("No ACK received")
pyocd.probe.pydapaccess.dap_access_api.DAPAccessIntf.TransferError: No ACK received

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/luc/.local/lib/python3.8/site-packages/pyocd/__main__.py", line 150, in run
    status = cmd.invoke()
  File "/home/luc/.local/lib/python3.8/site-packages/pyocd/subcommands/flash_cmd.py", line 86, in invoke
    with session:
  File "/home/luc/.local/lib/python3.8/site-packages/pyocd/core/session.py", line 342, in __enter__
    self.open()
  File "/home/luc/.local/lib/python3.8/site-packages/pyocd/core/session.py", line 460, in open
    self._board.init()
  File "/home/luc/.local/lib/python3.8/site-packages/pyocd/board/board.py", line 86, in init
    self.target.init()
  File "/home/luc/.local/lib/python3.8/site-packages/pyocd/core/soc_target.py", line 117, in init
    seq.invoke()
  File "/home/luc/.local/lib/python3.8/site-packages/pyocd/utility/sequencer.py", line 213, in invoke
    resultSequence.invoke()
  File "/home/luc/.local/lib/python3.8/site-packages/pyocd/utility/sequencer.py", line 208, in invoke
    resultSequence = call()
  File "/home/luc/.local/lib/python3.8/site-packages/pyocd/coresight/dap.py", line 376, in _connect
    connector.connect(self._protocol)
  File "/home/luc/.local/lib/python3.8/site-packages/pyocd/coresight/dap.py", line 166, in connect
    self._connect_dp(protocol)
  File "/home/luc/.local/lib/python3.8/site-packages/pyocd/coresight/dap.py", line 206, in _connect_dp
    self._idr = self.read_idr()
  File "/home/luc/.local/lib/python3.8/site-packages/pyocd/coresight/dap.py", line 233, in read_idr
    dpidr = self._probe.read_dp(DP_IDR, now=True)
  File "/home/luc/.local/lib/python3.8/site-packages/pyocd/probe/cmsis_dap_probe.py", line 315, in read_dp
    raise self._convert_exception(error) from error
pyocd.core.exceptions.TransferError: No ACK received

It looks like the probe won't respond to pyocd.
Someone had already faced this issue ?

Hi there. What version of pyocd are you using?
When a "No ACK received" error is seen, it usually means the device is in a low power sleep mode. (Or the SWD pins have been muxed to another function.) Thus, you somehow need to wake the device and gain control over it. It's actually been a while since I last looked at low power recovery on the LPC55xx, so I don't remember the current status.
On most devices, this is done by setting the connect mode to under-reset (e.g., --connect=under-reset). However, I believe that this doesn't work on the LPC55xx due to how the boot ROM works.
I'm afraid I'll need to refresh my memory on the LPC55xx status and process! I'll try to get back to you quickly.
Are you using one of the zephyr samples? I'd like to be able to reproduce it.

Hi @flit ,
I tried with both versions 0.31.0 & 0.30.2.
Ok, I will check if the board is in sleep mode or SWD pins are muxed elsewhere.
If you wan't to test on the main branch of zephyr, may the samples/subsys/console/echo will be enough.
Let me know if you get the same error.

Hi @flit,
You've right, I've found the problem with my setup, it is because one of the SWD pin have been muxed to another function as you said. I removed the configuration for this specific pin and now it works well.
Thank you for your help.

That's a relief! Glad it's working for you.


Teacher can Edit StudentMarkSheet form of all students and not specified student

any teacher can edit any student marksheet and there is no record on who has update the record

Well teachers can fill in for other teachers this way


ADBDEV-3530 Fix ORCA formatting for old patches

This commit fixes formatting for the following patches:

[18fec6c] Removing Recheck and Filter Condition's columns from Bitmap Heap Scan…
[e749b2d] Add ORCA fallback for replicated tables with volatile functions
[7518b90] Merge branch 'adb-6.x' into 6.11.2-sync
[51fe92e] Add a fallback to PO when a CTE consumer under hazard motion is found
[2cfaa1b] Refactor stack unwind in GPDB

Question about PR description: Has the commit Merge branch 'adb-6.x' into 6.11.2-sync  introduced the formatting-problem?

Question about PR description: Has the commit Merge branch 'adb-6.x' into 6.11.2-sync introduced the formatting-problem?

Seems like that this patch brought just these two commits which have formatting errors: e749b2d  7518b90


Destroy/Delete/Remove a Page

Is there any way to destroy/remove a page in tabris.
for example i create a page with
var page = new tabris.Page({
title: "Page",
topLevel: true
});
i need to  completely remove it when click a button.
i try with page.destroy; but its not work.

page.[dispose](https://tabrisjs.com/documentation/latest/api/Widget#dispose)()

its show me "Error! Can not close the last page"
but i have 2 page and i only destroy one of them (this is not the last page).

If one is a top level page and the other isn't, you can't close the top level page.
Also feel free to post a code snippet

my first page is
var about = new tabris.Page({
title: "About Us",
topLevel: true
});
Second page is:
var login = new tabris.Page({
title: "Login",
topLevel: true
});
And add this to Login page:
new tabris.Button({
layoutData: {left: 10, top: 10},
text: "Login"
}).on("select", function() {
localStorage.setItem('Login', "1".toString());
login.dispose();
}).appendTo(login);

You should use page.close() to close and dispose the stacked page.

`new tabris.Button({
layoutData: {left: 10, top: 10},
text: "Login"
}).on("select", function() {
localStorage.setItem('Login', "1".toString());
login.close();
}).appendTo(login); `
Still show me the error :(

This snippet works for me:
var about = new tabris.Page({
title: "About Us",
topLevel: true
});

var login = new tabris.Page({
title: "Login",
topLevel: true
});
new tabris.Button({

layoutData: {left: 10, top: 10},
text: "Login"
}).on("select", function() {
localStorage.setItem('Login', "1".toString());
login.close(); //dispose also works
}).appendTo(login);

about.open();
login.open();

If you open login before about, login will be on the bottom of the stack and can't be closed until about is closed.
This article explains the page stack in detail.

And your error is.....?

Closing this issue for now. @jabedbd Fell free to reopen if you still have a problem.


feature: instruction scope

closes #767
closes #931
This PR introduces support for a new matching scope "instruction" and two features for matching operand values (immediate constants and memory offsets). The instruction scope is intended to enable matching of mnemonic + operand value combinations, such as cmp ???, 0x11223344. This should enable more precise rules to replace existing logic like:
- basic block:
  - and:
    - mnemonic: cmp
    - number: 0x5E = '^' (Track 1 separator)

which may become:
- instruction:
  - mnemonic: cmp
  - operand[1].number: 0x5E = '^' (Track 1 separator)

You can use the instruction scope in the rule.meta.scope field or as a subscope (via block instruction:) within another rule (as above). When used as a subscope, a top level and: is implied, so the following are equivalent:
- instruction:
  - mnemonic: cmp
  - operand[1].number: 0x5E = '^' (Track 1 separator)

is equivalent to the more verbose form:
- instruction:
  - and:
    - mnemonic: cmp
    - operand[1].number: 0x5E = '^' (Track 1 separator)

And, of course, you can have complex logic in the instruction scope:
- instruction:
  - or:
    - and:
      - description: obvious way to load a constant via immediate
      - mnemonic: mov
      - operand[1].number: 0x5E = '^' (Track 1 separator)
    - and:
      - description: space-optimized form to move a constant relative to a zero register
      - mnemonic: lea
      - operand[1].offset: 0x5E = '^' (Track 1 separator)

Within the instruction scope, you can reference all the existing features that were already extracted per instruction, like API, number, offset, string, bytes, and many characteristics (like "cross section flow"). You can also use two new features: operand number and operand offset features. Both of these are specified with operand indices, like operand[0].number, which lets you match source and/or destination operations.
operand[{0, 1, 2}].number matches operands that are immediate constants, like 0x123 in the instruction mov eax, 0x123. Like the existing number feature, valid addresses are filtered out.
operand[{0, 1, 2}].offset matches the offset portion of memory reference operands, like 0x10 in the instruction mov eax, [ebx+0x10]. Like the existing offset feature, suspected stack variable references are filtered out.
Register, displacement, and computed address features are not supported at this time, since I haven't imagined any common use cases yet.
This is a breaking change because old versions of capa will not understand the instruction scope.
performance impact
When considering mimikatz.exe, the vivisect backend extracts 322,647 total features before this change, and with this change, 49,188 (+15%) operand features: 16,661 numbers and 32,527 offsets.
Somehow, the total runtime against mimikatz doesn't change much:

Once we convert some rules over to using the instruction scope, we should re-evaluate this.
Maybe 4% slower during feature extraction?

In fact, there are fewer evaluations during matching with these changes, probably due to the fix for #931 (don't use global features for optimizer down selection) which perhaps makes up for the additional features generated:

label
count(evaluations)
min(time)
avg(time)
max(time)

fe5d885 base
16,743,068
26.13s
26.16s
26.19s

76831e9 with insn scope
14,846,388
26.20s
26.24s
26.27s

TODO

[x] add new scope name

[x] add rule format tests

[x] extract inline insn blocks into subscope rules
[x] index insn rules by mnem
[x] extract features

[x] viv
[x] ida
[x] smda

[x] match features
[x] performance analysis
[x] changelog
[ ] documentation
[ ] update rules

Really cool! This is definitely something we should eventually merge and a great preview for related call scope syntax.
I think I'd like to see immediate replaced with number to keep in sync with our current feature set. Basically, I'm thinking at a high level which existing features applicable at the instruction and call scopes benefit from an operand position?
For instruction scope I'm thinking:
- operand[{0,1,n}].number: ...
- operand[{0,1,n}].offset: ...

For call scope I'm thinking:
- operand[{0,1,n}].number: ...
- operand[{0,1,n}].offset: ...
- operand[{0,1,n}].string: ...
- operand[{0,1,n}].substring: ...
- operand[{0,1,n}].bytes: ...

which enables rules like
- call:
  - api: WinExec
  - operand[0].string: "ipconfig.exe /all"

Also, where do the /x32 and /x64 decorators fit? Can I do something like this?
- operand[1].number/x32: 0x100

My preference would be to eliminate the /x32 and /x64 decorators in favor of supporting os and arch features at these smaller scopes:
- instruction:
  - arch: i386
  - mnemonic: mov
  - operand[1].offset: 0x10

versus
- instruction:
  - mnemonic: mov
  - operand[1].offset/x32: 0x10

For call scope I'm thinking:
- operand[{0,1,n}].number: ...
- operand[{0,1,n}].offset: ...
- operand[{0,1,n}].string: ...
- operand[{0,1,n}].substring: ...
- operand[{0,1,n}].bytes: ...

I think this is pretty reasonable. Initially I had imagined trying to infer the type based on the value (e.g. 0x10 is number and "foo" is a string, and /bar/ is a regex, ...), so we could have a single operand[0]: ... to minimize syntax. But, as you point out here, there are potentially many options, so differentiating the types probably does make sense.
I don't know that offset makes sense as an argument type, and substring can maybe somehow be merged with string maybe via regex? I'm not really sure, but lets continue this discussion in a different thread.

Also, where do the /x32 and /x64 decorators fit? Can I do something like this?
- operand[1].number/x32: 0x100

These are not supported for operands right now. They're just extracted as number/offset features right now. I expect and: arch: i386 to be a better fit, as you propose.

My preference would be to eliminate the /x32 and /x64 decorators in favor of supporting os and arch features at >... smaller scopes

I think this might be a good idea now that we have arch features (we didn't when /x32 was introduced). It'll also simplify our feature code, as we don't have to thread bitness everywhere. Here are the rules where we currently use these features:
❯ rg "(offset|number)/x" -l
linking/runtime-linking/access-peb-ldr_data.yml
linking/runtime-linking/get-ntdll-base-address.yml
linking/runtime-linking/get-kernel32-base-address.yml
nursery/log-keystrokes-via-raw-input-data.yml
communication/socket/tcp/send/obtain-transmitpackets-callback-function-via-wsaioctl.yml
host-interaction/hardware/cpu/get-number-of-processors.yml
host-interaction/process/create/create-a-process-with-modified-io-handles-and-window.yml
host-interaction/process/get-process-heap-force-flags.yml
host-interaction/process/get-process-heap-flags.yml
lib/peb-access.yml
anti-analysis/anti-forensic/patch-process-command-line.yml
anti-analysis/anti-debugging/debugger-detection/check-for-peb-ntglobalflag-flag.yml
load-code/pe/enumerate-pe-sections.yml
load-code/pe/rebuild-import-table.yml
load-code/pe/parse-pe-header.yml

It'll also reduce the number of features we extract and match against. Created issue #932 to track this proposal.

@mike-hunhoff I've renamed the operand feature from "immediate" to "number" as you suggested.

awesome!


Add State Filter

Any particular reason we want to have a filter as opposed to using the auth built in group state permissions system.

Any particular reason we want to have a filter as opposed to using the auth built in group state permissions system.


On puppet enterprise 3.8.0, CentOS 7 agent, xml file gets set but no firewall-cmd --reload gets done

Is there anyway to force the firewall-cmd --reload
Here's what I have for a node:
firewalld_service { 'Allow postgresql':
ensure  => 'present',
service => 'postgresql',
zone    => 'public',
}
did I miss something easy in the docs?  I thought I read that on any change a forced reload would get done, or something like that.  I need at least a --reload done.

After manually doing a firewalld restart (yes, I even did the full restart)... I see the entries via iptables -L -n, but still can't connect.  I'm comparing with our reference (non-puppeted) box and iptables -L -n matches exactly and zones/public.xml look the same.... sigh... but the reference box firewall allows the connection, and our puppeted box does not (sigh).  We'll keep looking.  But still, didn't seem to do the reload on its own, we forced it.

What I have noticed is that the reload isnt enough. I created a service with this puppet module and the config shows up in /etc/firewalld/service/"name of service".xml . At that point I can do a reload or restart  and the config still wont take affect. I have to run a
firewall-cmd --permanent --add-service="name of service"
firewall-cmd --reload
in order for the config to actually go into effect.

Are you using the latest version of the module? I'm using RHEL7 and I don't have any issues.
https://github.com/gothicx/puppet-firewalld/blob/master/lib/puppet/provider/firewalld_service/firewall_cmd.rb
The code here shows that it's doing a --permanent and a reload afterwards, so you should not have issues.

In testing the latest version 3.0.1 I have been running into this issue with rich rules as well.
[root@blingall-72-2 firewalld]# firewall-cmd --list-all
public (default, active)
  interfaces: enp0s3
  sources:
  services:
  ports: 5555/tcp
  masquerade: no
  forward-ports:
  icmp-blocks:
  rich rules:
        rule family="ipv4" source address="<IP_ADDRESS>/8" service name="ssh" accept
        rule family="ipv4" source address="<IP_ADDRESS>/23" accept
        rule family="ipv4" source address="<IP_ADDRESS>/16" service name="rpc-bind" accept
        rule family="ipv4" source address="<IP_ADDRESS>/16" service name="ssh" accept
        rule family="ipv4" source address="<IP_ADDRESS>/16" service name="ssh" accept

[root@blingall-72-2 firewalld]# puppet apply --parser future -e 'include lab_roles::lab_machine'
Notice: Compiled catalog for blingall-72-2.local in environment production in 2.40 seconds
Notice: /Stage[main]/Lab_profiles::Lab_machine::Firewall/Firewalld_rich_rule[Allow un-restricted ports from campus - tcp]/ensure: created
Notice: /Stage[main]/Lab_profiles::Lab_machine::Firewall/Firewalld_rich_rule[Allow un-restricted ports from off campus - udp]/ensure: created
Notice: /Stage[main]/Lab_profiles::Lab_machine::Firewall/Firewalld_rich_rule[Allow un-restricted ports from campus - udp]/ensure: created
Notice: /Stage[main]/Lab_profiles::Lab_machine::Firewall/Firewalld_rich_rule[Allow un-restricted ports from off campus - tcp]/ensure: created
Notice: Finished catalog run in 10.63 seconds

[root@blingall-72-2 firewalld]# firewall-cmd --list-all
public (default, active)
  interfaces: enp0s3
  sources:
  services:
  ports: 5555/tcp
  masquerade: no
  forward-ports:
  icmp-blocks:
  rich rules:
        rule family="ipv4" source address="<IP_ADDRESS>/8" service name="ssh" accept
        rule family="ipv4" source address="<IP_ADDRESS>/23" accept
        rule family="ipv4" source address="<IP_ADDRESS>/16" service name="rpc-bind" accept
        rule family="ipv4" source address="<IP_ADDRESS>/16" service name="ssh" accept
        rule family="ipv4" source address="<IP_ADDRESS>/16" service name="ssh" accept

[root@blingall-72-2 firewalld]# cat /etc/firewalld/zones/public.xml
<?xml version="1.0" encoding="utf-8"?>
<zone>
  <short>Public</short>
  <description>For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.</description>
  <rule family="ipv4">
    <source address="<IP_ADDRESS>/8"/>
    <service name="ssh"/>
    <accept/>
  </rule>
  <rule family="ipv4">
    <source address="<IP_ADDRESS>/0"/>
    <port protocol="tcp" port="1025-65535"/>
    <accept/>
  </rule>
  <rule family="ipv4">
    <source address="<IP_ADDRESS>/16"/>
    <port protocol="tcp" port="1025-65535"/>
    <accept/>
  </rule>
  <rule family="ipv4">
    <source address="<IP_ADDRESS>/16"/>
    <service name="ssh"/>
    <accept/>
  </rule>
  <rule family="ipv4">
    <source address="<IP_ADDRESS>/16"/>
    <port protocol="udp" port="1025-65535"/>
    <accept/>
  </rule>
  <rule family="ipv4">
    <source address="<IP_ADDRESS>/0"/>
    <port protocol="udp" port="1025-65535"/>
    <accept/>
  </rule>
  <rule family="ipv4">
    <source address="<IP_ADDRESS>/16"/>
    <service name="ssh"/>
    <accept/>
  </rule>
  <rule family="ipv4">
    <source address="<IP_ADDRESS>/23"/>
    <accept/>
  </rule>
  <rule family="ipv4">
    <source address="<IP_ADDRESS>/16"/>
    <service name="rpc-bind"/>
    <accept/>
  </rule>
</zone>

Once I issue firewall-cmd --reload the firewall rules are applied.
[root@blingall-72-2 firewalld]# cat /etc/redhat-release
Red Hat Enterprise Linux Workstation release 7.2 (Maipo)

@brandoningalls are you sure you are including the firewall class (include firewalld ) or are you just defining firewalld_zone resources from the profile without the base class included?  If firewalld is included it should farm out to the exec to reload the firewall upon change....

We do have a problem here, we used to do collector syntax chaining to notify the exec to reload firewalld but now that notify is only valid for resources declared from the class (eg from hiera).  The short term solution is to make sure you notify Exec['firewalld::reload']  from the resource declaration.  I think the best long term fix is to use the autonotify feature in the firewalld zone type (this I can test tomorrow),  that would only be valid for puppet 4.0+ though

An easier (and more backwards compatible)  fix will be just to reintroduce the chaining dependencies from init.pp that we dropped in 3.0.0, I can do that tomorrow as it's a minor bug fix

@BrandonIngalls does #70 solve this issue for you?

I've changed the topic of this issue to reflect the latest discussion, since the older posts were slightly different and fixed in 2.2

@crayfishx PR #70 does resolve this issue for me.
[root@puppet-firewalld-test firewalld-test]# firewall-cmd --list-all
public (default, active)
  interfaces: eth0
  sources:
  services:
  ports:
  masquerade: no
  forward-ports:
  icmp-blocks:
  rich rules:

[root@puppet-firewalld-test firewalld-test]# puppet apply test1.pp
Notice: Compiled catalog for puppet-firewalld-test.local in environment production in 0.91 seconds
Notice: /Stage[main]/Main/Firewalld_rich_rule[Allow IT Access to ALL]/ensure: created
Notice: /Stage[main]/Firewalld/Exec[firewalld::reload]: Triggered 'refresh' from 1 events
Notice: Finished catalog run in 2.55 seconds

[root@puppet-firewalld-test firewalld-test]# firewall-cmd --list-all
public (default, active)
  interfaces: eth0
  sources:
  services:
  ports:
  masquerade: no
  forward-ports:
  icmp-blocks:
  rich rules:
        rule family="ipv4" source address="<IP_ADDRESS>/24" accept

Released in 3.1.0


Lem breaks terminal

Environment: zsh.
After launching lem some times, terminal was broken.
Normal case:
$  ros install cxxxr/lem
Installing from github cxxxr/lem
To load "lem":
  Load 1 ASDF system:
    lem
; Loading "lem"
......
[1/3] System 'lem' found. Loading the system..
[2/3] Processing build-hook..
[3/3] Attempting to install the scripts in roswell/ subdirectory of the system...
Found 4 scripts: lem lem-ncurses-ccl lem-ncurses lem-rpc
/Users/keno/.roswell/bin/lem
/Users/keno/.roswell/bin/lem-ncurses-ccl
/Users/keno/.roswell/bin/lem-ncurses
/Users/keno/.roswell/bin/lem-rpc

After lem:
$  ros install cxxxr/lem
Installing from github cxxxr/lem
                                To load "lem":
                                                Load 1 ASDF system:
                                                                       lem
                                                                          ; Loading "lem"
                                                                                ......
                                                                                [1/3] System 'lem' found. Loading the system..
                                                                                [2/3] Processing build-hook..
                                                                                [3/3] Attempting to install the scripts in roswell/ subdirectory of the system...
                                                                                Found 4 scripts: lem lem-ncurses-ccl lem-ncurses lem-rpc
                                                                                /Users/keno/.roswell/bin/lem
                 /Users/keno/.roswell/bin/lem-ncurses-ccl
                                                         /Users/keno/.roswell/bin/lem-ncurses
                                                                                /Users/keno/.roswell/bin/lem-rpc
                                                                                %

related? https://github.com/cxxxr/lem/issues/218
I also use iTerm2.


Nacos注册中心支持

什么时候可以支持Nacos注册中心呢？

Recently,  https://github.com/dubbo/dubbo-registry-nacos has supported as Nacos registry, You just need to add this dependecies into your project, and the application will be displayed on Ops console, however, it's still not supported to adjust weight of load-balance for Dubbo's services, you have to official integartion.

don't understand

Sorry, because this issue was raised very early, we have closed it temporarily. You can verify whether this problem still exists in the latest code of the develop branch. If this problem still exists, please reopen it at any time.


Only one job can be submitted via sub workflows

Snakemake version
5.14.0
Describe the bug
When using sub workflow combined with job scheduler,
the jobs are submitted one by one, and multiple jobs cannot be submitted at once.
I confirmed this bug by OpenGridEngine and Slurm.
Also, I confirmed that after change directory to sub,
I could submitted multiple jobs at once.
Logs
(base) [koki@n000 CheckSubWorkflows]$ snakemake -j 32 --cluster qsub --latency-wait 600
Building DAG of jobs...
Executing subworkflow sub.
Building DAG of jobs...
Using shell: /usr/bin/bash
Provided cluster nodes: 1
Job counts:
       	count  	jobs
       	100    	rule1
       	100

[Tue Jul 14 13:37:07 2020]
rule rule1:
    output: output/33.txt
    log: logs/33.log
    jobid: 0
    wildcards: sample=33

Submitted job 0 with external jobid 'Your job 2024029 ("snakejob.rule1.0.sh") has been submitted'.
[Tue Jul 14 13:37:17 2020]
Finished job 0.
1 of 100 steps (1%) done

[Tue Jul 14 13:37:17 2020]
rule rule1:
    output: output/82.txt
    log: logs/82.log
    jobid: 1
    wildcards: sample=82

Submitted job 1 with external jobid 'Your job 2024030 ("snakejob.rule1.1.sh") has been submitted'.
[Tue Jul 14 13:37:27 2020]
Finished job 1.
2 of 100 steps (2%) done

[Tue Jul 14 13:37:27 2020]
rule rule1:
    output: output/38.txt
    log: logs/38.log
    jobid: 2
    wildcards: sample=38

Submitted job 2 with external jobid 'Your job 2024031 ("snakejob.rule1.2.sh") has been submitted'.
[Tue Jul 14 13:37:37 2020]
Finished job 2.
3 of 100 steps (3%) done

[Tue Jul 14 13:37:37 2020]
rule rule1:
    output: output/53.txt
    log: logs/53.log
    jobid: 3
    wildcards: sample=53
...

Minimal example
Firstly, I created a main workflow and a sub workflow as follows.
> tree
.
├── Snakefile
└── sub
    ├── Snakefile
    ├── config.yaml
    └── src
        └── job.sh

I wrote these Snakefiles as follows:
Main Snakefile
SAMPLEs = [str(item+1) for item in list(range(100))]

subworkflow sub:
    workdir:
        "sub"
    snakefile:
        "sub/Snakefile"
    configfile:
        "sub/config.yaml"

rule all:
	input:
		sub(expand("output/{sample}.txt", sample=SAMPLEs))

Snakefile in sub1/
from snakemake.utils import min_version

#
# Setting
#
min_version("5.8.1")
configfile: "config.yaml"

SAMPLEs = [str(item+1) for item in list(range(100))]

rule all:
	input:
		expand("output/{sample}.txt", sample=SAMPLEs)

rule rule1:
	output:
		"output/{sample}.txt"
	log:
		"logs/{sample}.log"
	shell:
		"src/job.sh {output} >& {log}"

I am also affected by this issue and this makes it inpractical for me to use the Subworkflow feature in any productive workflow :/


Make private voice channels chat private on vc creation

Right now the VC channels that are created by users are accessible to the public, this should be fixed to make it private to those in the room.

After further investigation, I realized I could stop users from outside the channel don't send messages, but not viewing them.
@geisterfurz007 At this point it's up to you if I should continue with this or not if it's worth it.

Probably not, I think; I am not sure they are used a lot anyway. Should this ever come up, we can still give it a shot but if that's a thing that Discord enforces, I don't see much point trying to work around that without demand for it.


Remove NAT Gateways from private subnets

Step 2 of #1327. This removes the NAT Gateways that have been providing internet access to the private subnets, since we no longer run any services that need internet access in those subnets. They are now only for running services that are completely scoped to our VPC.

🤞


Document design goals and future plans

With all the attention this is getting, now is a good time to spell out my ideas about where this project should go.
Design goals (preliminary)

The safe, efficient path should be the easiest. Favor escaping over not-escaping (safe), but favor streaming into a Write over allocating a String (efficient).

Keep the design and implementation minimal. Any user should understand what is going on underneath.

Stick close to Rust and HTML. Keep the tree structure clear.

The grammar should be LL(k). Life is too short to worry about parsing.

There's no clear action item here, and the existing documentation outlines Maud's key points pretty well. Closing.


Add unit test case for pipelines/k8s file

Closes: RHOAIENG-2177
Description
Unit test case for: frontend/src/api/pipelines/k8s.ts
How Has This Been Tested?
npm run test
Test Impact
Coverage:

Request review criteria:

Self checklist (all need to be checked):

[x] The developer has manually tested the changes and verified that the changes work
[x] Commits have been squashed into descriptive, self-contained units of work (e.g. 'WIP' and 'Implements feedback' style messages have been removed)
[x] Testing instructions have been added in the PR body (for PRs involving changes that are not immediately obvious).
[x] The developer has added tests or explained why testing cannot be added (unit tests & storybook for related changes)

If you have UI changes:

[ ] Included any necessary screenshots or gifs if it was a UI change.
[ ] Included tags to the UX team if it was a UI/UX change (find relevant UX in the SMEs section).

After the PR is posted & before it merges:

[ ] The developer has tested their solution on a cluster by using the image produced by the PR to main

/lgtm
/approve


D407 doens't respect indentation level?

class Plugin(object):

    u"""A wrapper for blah.

    These Python modules (plugins) may have the following properties:

    :attr dict actions:
            A mapping of valid action names to function callbacks.
            These action names can be referenced by additional displayed buttons (see :attr:`buttons`).
            If a called actions does not exists the run() function is taken as fallback.
            example:
                    actions = {
                            'remove': my_remove_funct,
                    }
    :attr str title:
            A short description of the problem
            example:
                    title = _('No space left on device')
    """

ruff --isolated --select D --fix foo.py turns into
class Plugin(object):

    u"""A wrapper for blah.

    These Python modules (plugins) may have the following properties:

    :attr dict actions:
            A mapping of valid action names to function callbacks.
            These action names can be referenced by additional displayed buttons (see :attr:`buttons`).
            If a called actions does not exists the run() function is taken as fallback.

    Example:
    -------
                    actions = {
                            'remove': my_remove_funct,
                    }
    :attr str title:
            A short description of the problem
            example:
                    title = _('No space left on device')
    """

The result is broken, the indentation is not respected. I am unsure what docstring format is that? RST based? at least in sphinx RST is used but I have not seen such thing. Don't know what I expect here. Maybe the ruff config could specify a doc-format.
The second example: is not detected anymore at all.

Another example:
def simple_response(function=None, with_flavor=None, with_progress=False):
    '''If your function is as simple as: "Just return some variables"
    Before::

            def my_func(self, request):
                    variable1 = request.options.get('variable1')
                    variable2 = request.options.get('variable2')
                    flavor = request.flavor or 'default flavor'
                    if variable1 is None:
                            self.finished(request.id, None, message='variable1 is required', success=False)
                            return
                    if variable2 is None:
                    variable2 = ''
                    try:
                            value = '%s_%s_%s' % (self._saved_dict[variable1], variable2, flavor)
                    except KeyError:
                            self.finished(request.id, None, message='Something went wrong', success=False, status=500)
                            return
                    self.finished(request.id, value)

    After::

            @simple_response(with_flavor=True)
            def my_func(self, variable1, variable2='', flavor='default_flavor'):
                    try:
                            return '%s_%s_%s' % (self._saved_dict[variable1], variable2, flavor)
                    except KeyError:
                            raise UMC_Error('Something went wrong')

    '''

turns it into:
def simple_response(function=None, with_flavor=None, with_progress=False):
    '''If your function is as simple as: "Just return some variables"
    Before::

            def my_func(self, request):
                    variable1 = request.options.get('variable1')
                    variable2 = request.options.get('variable2')
                    flavor = request.flavor or 'default flavor'
                    if variable1 is None:
                            self.finished(request.id, None, message='variable1 is required', success=False)

    Return:
    ------
                    if variable2 is None:
                    variable2 = ''
                    try:
                            value = '%s_%s_%s' % (self._saved_dict[variable1], variable2, flavor)
                    except KeyError:
                            self.finished(request.id, None, message='Something went wrong', success=False, status=500)

    Return:
    ------
                    self.finished(request.id, value)

    After::

            @simple_response(with_flavor=True)
            def my_func(self, variable1, variable2='', flavor='default_flavor'):
                    try:
                            return '%s_%s_%s' % (self._saved_dict[variable1], variable2, flavor)
                    except KeyError:
                            raise UMC_Error('Something went wrong')

    '''

There's a couple things going wrong here, but the biggest issue, I think, is that we don't support Sphinx-style docstrings (is that what those are? Pydocstyle doesn't either) -- only NumPy and Google. We do have a setting for this [tool.ruff.pydocstyle.convention], but right now, I think its best-guess is that you're using NumPy-style docstrings, and so it's matching statements like return as section headers.

Pydocstyle has the pep257 which I always use for sphinx-style docstrings but it's not as well supported as the other two conventions in pydocstyle. darglint has full support for sphinx-style docstrings though.
Also, OP's example doesn't look like the usual sphinx style to me... here is an official example: https://sphinx-rtd-tutorial.readthedocs.io/en/latest/docstrings.html For example, the type is usually specified separately.

Yeah, we reimplemented Pydocstyle so we suffer from many of the same limitations. I want to replace it with a darglint-style parser that uses an actual grammar, but it's a big project and I'm prioritizing some other things above it. I know @not-my-profile is interested in that too, though.

Yes, it's sphinx based.

Yes I am working on a docstring parsing library for both a personal project and ruff, and I am planning to support all major docstring formats (epytext, google, numpy and sphinx). It will take me some time to publish that though.

I think this issue is larger than indentation level so going to close for now knowing that it's part of a large change.


RBOVIRT_REST_TIMEOUT parse as integer

When using RBOVIRT_REST_TIMEOUT from passenger environment variable, the value is parsed as String and a exception is thrown.
"can't convert String into time interval"
With this small change the value is sent to rest_client as an Integer type and does not exit.

Makes sense, Thanks @gijsmiddelkamp


Can you change kscript's included java version?

In the image below, I have set java 17 as my default (I use jabba btw), but kscript's java version is java 11.

Nevermind, it seems I have set $JAVA_HOME to 11. Closing.


Support iOS native modal sheet stretching behavior

Originally posted by @habibasseiss in https://github.com/fujidaiti/smooth_sheets/issues/159#issuecomment-2148436779
I'd love to have max stretch like @appinteractive suggested. In the native sheet, the stretch stops at the reduced parent page limits.
Here's the behavior of a basic sheet in SwiftUI:
https://github.com/fujidaiti/smooth_sheets/assets/521863/c189bc02-c0d0-4956-bc7f-31bbbd063442
Source code: https://gist.github.com/habibasseiss/d14c375c40b6a543a8043d2aedc00c36
Having that in addition to the sheet attaching the bottom would be amazing!

Here is my current thought on this topic:
It looks like the native sheet in the video is actually being stretched by a user drag. But the sheets from this package only slide up and down, the actual sheet height doesn't change (I think the name StretchingSheetPhysics is misleading, should be renamed).
The challenge here is that for some technical reasons we can't change the actual height of a sheet along with a drag gesture, so if the sheet is already fully visible but the user keeps dragging it up, it ends up with the bottom of the sheet away from the bottom of the screen, which is not what we want here.

A known workaround is here: https://github.com/fujidaiti/smooth_sheets/discussions/157#discussioncomment-9668540

Thank you @fujidaiti. I think if we can limit the stretch direction like described in #159, the ability to limit the max stretch distance on top with StretchingSheetPhysics(stretchingRange: const Extent.pixels(12)) is enough to have the sheet not invading the top "safe area".