Recurrence by email address / username

Did you capture usernames / email addresses in your data set?  Can you determine uniqueness or lack thereof by email addresses?  For example, what fraction of the passwords associated with a specific username (email address if relevant) are unique, and how does that vary with the number of duplicates of the username (i.e., reuse of passwords vs # of times the username is matched in the data set).  Thanks!

Hello!
Yes, i did capture username/email tuples in my data.
It is a great idea, however it is extremely time consuming to do a large-scale analysis on both username and password, because it requires doing a join operation on 1 billion rows.
But it is not as impactful as you might think.

Average number of times each email was found is 1.889.
196.250.369 emails were only found once.
A few email addresses are responsible of raising the average<EMAIL_ADDRESS>was the most common email address, found 90549 times, along with<EMAIL_ADDRESS>(85k times<EMAIL_ADDRESS>(38k times<EMAIL_ADDRESS>(31k times) and so on.

So, i've decided not to process that metric, because it will be too computationally heavy with minimal impact.
If you disagree, please feel free to write so!
Cheers!

Interesting.  For the emails used many thousands of times, I wonder if those should be blacklisted (along with any accounts created using those as secondary accounts) - probably fraud related.
What if you limited it to say accounts which appeared within a smaller range of occurrences - say 10 to 500 times?  This could substantially reduce the computational cost and would seem to still provide important information about reuse of passwords
Thanks for doing the important work you do!

I've filtered accounts which have appeared more than once in a dump (just because i dont think a regular user can register with the same email more than once to a website).
If there were 25 (username,password) tuples with same username and password in a single dump, they were only counted as 1.
This had 2 possible outcomes - Either accounts repeating 90k times also shared the password and did not get processed 90k times, or they had random password, and did not influence the most common passwords list.
Interesting point though, these spam accounts appear in all kinds of lists, and they have very natural looking passwords, so i don't think these accounts skewed the statistics other than most common passwords either.

Hmmmmmmmmmmm interesting breakthrough, i checked some of the more unique-looking passwords used by the mail.ru@hotmail account.

I'm pretty certain people trying to sell these leaks bloated the number of credentials inside, by duplicating accounts and replacing their usernames with these junks.

I've been checking passwords from mystery lists frantically, i was really excited there was something to possibly explain that, but it looks like just a fraction of these passwords are from these spam accounts.

i need the commands for this how do i search for passwords


Curl problem

root@Legion5:/home/luanon404# ./ipv6-proxy-server.sh -s 64 -c 10000 -t http -r 0
IPv6 interface is enabled
IPv6 global address is allocated on server successfully
Network interfaces for IPv6 configured correctly
Test ping google.com using IPv6 successfully
IPv6 network sysctl data configured successfully

All required packages installed successfully

Downloading proxy server source...
Proxy server source code downloaded successfully

Start building proxy server execution file from source...
Proxy server builded successfully
Error: curl package not installed and cannot parse valid IP from interface info
Proxy startup script added to cron autorun successfully
UFW protection disabled, ports for backconnect proxy opened successfully

IPv6 proxy server started successfully. Backconnect IPv4 is available from :30000 to :39999 via http protocol
You can copy all proxies (with credentials) in this file: /root/proxyserver/backconnect_proxies.list
Error: curl package not installed and cannot parse valid IP from interface info

You can see Test ping google.com using IPv6 successfully is done without curl error, but the last one Error: curl package not installed and cannot parse valid IP from interface info error, is that important? do you have any suggest?

only works on debian-based, ubuntu suck

It wont work on WSL, closed.


Hotfix - Tamlin Presentation Changes

Added more comments
Added CI badge
Cleaned up CI workflow files

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@4867f67). Click here to learn what that means.
Patch has no changes to coverable lines.

Additional details and impacted files
@@           Coverage Diff           @@
##             main       #8   +/-   ##
=======================================
  Coverage        ?   75.67%
=======================================
  Files           ?        6
  Lines           ?      111
  Branches        ?        0
=======================================
  Hits            ?       84
  Misses          ?       27
  Partials        ?        0

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 in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Support per-iteration setup

For example, constructing a buffer that will be consumed by the iteration. This needs to not be counted in the elapsed time, but it's hard to do that without per-iteration timing overhead.
I opened this as a ticket for libtest's benchmarking (rust-lang/rust#18043) but if criterion.rs added support first, I would switch for sure.

Was any progress made on this?

Implemented in #62


[switch-to-pyxis] get_fixed_published_image with Pyxis APIs

Jira: CWFHEALTH-1711

@qixiang I resolved your comments; we can also merge this MR if you agree


Set start and end date of rangebar

Hi,
How can I force the exact time range of the rangebar chart? I would like to set the start and end date specifically.

Have you tried setting the following config?
xaxis: {
  min: timestamp,
  max: timestamp
}

Hi,
Thanks, this is exactly what I was looking for!


Create repository for projects

Fixes #509
This is a simple CRUDL repo for projects. The following is not yet implemented:

Not connected to an API yet
No connection to work items yet.
No queries on the list call yet.

Current coverage is 68.18% (diff: 73.52%)

Merging #548 into master will increase coverage by 0.26%

@@             master       #548   diff @@
==========================================
  Files            66         70     +4
  Lines          3485       3655   +170
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits           2367       2492   +125
- Misses          871        897    +26
- Partials        247        266    +19

Powered by Codecov. Last update 843a11a...b341c53

+100 for clean test suite!

[test]

I've renamed stuff as suggested where possible.


copyright infringement

I noticed you deleted the previous issue - that doesn't solve the problem.

I already added your copyright header to the index file :)


Update playground.jsx

This was a test PR i.e to check the lighthouse action. The lighthouse action is all set now. Thus, closing this!


Auth Problem

Describe Your Problem:
Last Time, I promise :D
I have tried to set this plugin for a good friend of me (after it worked so well, thanks again).
But with his Spotify Account (Client ID, Client Secret and AuthCode) I get the error down below.
On his Amazon Echo is the same Spotify account (in Spotify Skill) from which is also the client ID, etc..
I think I did everything exactly like on my Homebridge, don't know where the mistake is.
Could it be, that this isn't working with a Turkish Spotify Account? Because this is the only difference I could tell to mine.
I have tried to delete and create a new App in the developer's dashboard a few times but it still won't work with his account.
I also have tried to generate a new AuthCode by access to:
https://accounts.spotify.com/authorize?client_id="client-ID"&redirect_uri=https://example.com/callback&scope=user-read-playback-state user-modify-playback-state user-read-currently-playing

Logs:
[8/10/2023, 9:59:19 PM] [HomebridgeSpotifySpeaker] Could not authorize Spotify:

 {"body":{"error":"invalid_client"},"headers":{"date":"Thu, 10 Aug 2023 19:59:19 GMT","content-type":"application/json","content-length":"26","set-cookie":["__Host-device_id=AQBQrPAYc5CG5kwPfyqpIfRQI5dupGRSjmOzHCrA52AUE4gbdQ0gfscv8RuV-RK34Ae66K4Pi6WDgvnxvfQdW5RD-doD3E_Z2TY;Version=1;Path=/;Max-Age=2147483647;Secure;HttpOnly;SameSite=Lax","sp_tr=false;Version=1;Domain=accounts.spotify.com;Path=/;Secure;SameSite=Lax"],"sp-trace-id":"881b6a11fa41f164","x-envoy-upstream-service-time":"6","server":"envoy","strict-transport-security":"max-age=31536000","x-content-type-options":"nosniff","via":"HTTP/2 edgeproxy, 1.1 google","alt-svc":"h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000","connection":"close"},"statusCode":400}
[8/10/2023, 9:59:19 PM] [HomebridgeSpotifySpeaker] We could not fetch the Spotify tokens nor authenticate using the code grant flow.
        Please redo the manual login step, provide the new auth code in the config then try again.

Plugin Config:

{
            "name": "HomebridgeSpotifySpeaker",
            "spotifyClientId": „ClientID",
            "spotifyClientSecret": „Client“Secret,
            "spotifyRedirectUri": "https://example.com/callback",
            "spotifyAuthCode": "AuthCode“,
            "spotifyPollInterval": 20,
            "deviceNotFoundRetry": {
                "enable": true,
                "retryDelay": 2000
            },
            "devices": [
                {
                    "deviceName": "Test",
                    "deviceType": "speaker",
                    "spotifyDeviceName": "xxx' 2. Echo Dot",
                    "spotifyPlaylistUrl": "https://open.spotify.com/playlist/xxxxxxPV2ffFrT8yX6sYCT7A_aw",
                    "playlistShuffle": true,
                    "playlistRepeat": false
                }
            ],
            "debug": false,
            "platform": "HomebridgeSpotifySpeaker"
        }

Screenshots:

Environment:

Plugin Version: v.1.3.1
Homebridge Version: v.1.6.1
Node.js Version: v18.15.0
NPM Version:
Operating System: Synology NAS

@epicbenz Turkish shouldn’t be an issue. Since you are able to retrieve an AuthCode, it should work.
Double check these:
"spotifyClientId": "abcd1234",
"spotifyClientSecret": "abcd1234",
…
"spotifyAuthCode": "abcd1234-1234_abcd",

spotifyClientId and spotifyClientSecret should have no special characters, only a-z, A-Z, 0-9.
spotifyAuthCode is the same but can also have _ and -.
Make sure the quotes " are good, too. Only vertical
I noticed from your question some of the quotation marks are curly/angled. The mark should be two vertical lines.
It’s best to use the homebridge ui plug-in and configure that way if you aren’t instead of editing the JSON file.

@epicbenz Turkish shouldn’t be an issue. Since you are able to retrieve an AuthCode, it should work.
I noticed from your question some of the quotation marks are curly/angled. The mark should be two vertical lines.
It’s best to use the homebridge ui plug-in and configure that way if you aren’t instead of editing the JSON file.

Ah it's because of the autocorrection of my mac, my bad.
I used the Homebridge ui to config instead of editing the JSON file and copied step by step, but i will try it again.
Can it be that anything isnt correct configurated on the Echo Dot itself? Actually i only have to Login on the Spotify Skill on the Echo with the same account from which the Client-ID is?

That error is happening before the connection to the echo dot - it is unable to login to Spotify at all.
But yes, as long as the Spotify skill account matches the Client ID (Spotify developer account), you’re all set!

That error is happening before the connection to the echo dot - it is unable to login to Spotify at all.
But yes, as long as the Spotify skill account matches the Client ID (Spotify developer account), you’re all set!

Hmm really dont know where the error could be. If i enter my ID etc. it works, but if i enter his i wont work.

Try this url for the Auth Code and use his Client ID. In the url you provided above, you were missing a key part of the url:
https://accounts.spotify.com/authorize?client_id=abcd1234&response_type=code&redirect_uri=https://example.com/callback&scope=user-read-playback-state user-modify-playback-state user-read-currently-playing

Try this url for the Auth Code and use his Client ID. In the url you provided above, you were missing a key part of the url:
https://accounts.spotify.com/authorize?client_id=abcd1234&response_type=code&redirect_uri=https://example.com/callback&scope=user-read-playback-state user-modify-playback-state user-read-currently-playing

Still the same error :/
I think I have found a difference, my Spotify Account is an old one, his is new and he is in his 30 days trial, and only after that he is a premium user? Maybe its because of that.

Is your sister’s account premium? I believe premium is required.

Another idea: when you ask for the client id from your friend/sister, are they also giving you the auth code? Because whoever the Client ID belongs to must be logged into Spotify in the same browser as the browser used for the Auth Code.

Is your sister’s account premium? I believe premium is required.

Yes it's a Premium Family Account. The account of my friend is a Premium Single Account.

Another idea: when you ask for the client id from your friend/sister, are they also giving you the auth code? Because whoever the Client ID belongs to must be logged into Spotify in the same browser as the browser used for the Auth Code.

Good point, but yes, I have all Loggins from them and have logged into their account on Spotify.com also.
When I enter the address "https://accounts.spotify.com/authorize?client_id={clientId}&response_type=code&redirect_uri=https://example.com/callback&scope={scopes}" with their values I also have to agree some stuff and at the bottom there stands their account (is that you?) like it should.

Before we try that, we know your developer app is working. In the Spotify developer console, you can add more users to your developer app (up to 25).

can you try adding either your sister or friend, then get a new auth code - I would try in a private/incognito browser window to be safe, and then use the same client ID and client secret you have in your homebridge with their auth code. Let me know if that works!

Before we try that, we know your developer app is working. In the Spotify developer console, you can add more users to your developer app (up to 25).

can you try adding either your sister or friend, then get a new auth code - I would try in a private/incognito browser window to be safe, and then use the same client ID and client secret you have in your homebridge with their auth code. Let me know if that works!

You mean i should add the Spotify Email Accounts to my Developer Account under User Management?
Then generate a new AuthCode with my ClientID? Will my previous AuthCode from my Account than invalid?
I am a little worried that I crash my Account also :D

So I have added my sisters account to my Developer Site (from my account that worked)

Then I went In a new private window on my browser to:
https://accounts.spotify.com/authorize?client_id={My Client ID from the Account that worked}&response_type=code&redirect_uri=https://example.com/callback&scope={scopes}
Then I have paste the Code that I got into my Homebride Config (with still my Client ID and Secret ID).
This worked. Do it help to find the error?

Great! So their must be a problem with the other developer apps. It will not cause any issues if you, your sister, and your friend all use the same developer app (Client ID + Secret) since you can add up to 25 users.
I would suggest doing that then. As long as everyone has their own Auth Code from their own Spotify account, then they can only see their own songs, playlists, etc.

I’m still not sure why you were having issues with the other developer apps but we have another solution that will work just the same

Great! So their must be a problem with the other developer apps. It will not cause any issues if you, your sister, and your friend all use the same developer app (Client ID + Secret) since you can add up to 25 users.
I would suggest doing that then. As long as everyone has their own Auth Code from their own Spotify account, then they can only see their own songs, playlists, etc.

Unfortunately, it still does not work. If I now link my sister's Spotify account on the Echo Dot, I get the following log in my Homebridge:
''
[8/12/2023, 9:26:07 AM] [HomebridgeSpotifySpeaker] spotifyDeviceName 'Andreas' 2. Echo Dot' did not match any Spotify devices. spotifyDeviceName is case sensitive.
''

I think we are saying different things.
Client ID and Secret do not determine which Spotify account is used. Auth Code is a replacement for username/password but more secure and required by Spotify.
An Echo dot can only be used for one Spotify account, not multiple. So any Echo dots owned by you should be logged into your Spotify account only.
In order for this to work for all three of you, you need:

Each person needs their own homebridge server
Each person needs their own Echo device logged into their own Spotify account
Each person needs their own auth code that was obtained in a private/incognito window signed into their Spotify account.
Client ID and Client Secret can be the same as long as the users are in the Spotify developer user management

Giving me the username/password won’t be helpful since I cannot access the homebridge server or the Echo dot.
The error message you shared means it logged in successfully - so what devices are listed in the homebridge logs now? If you see your echo dots, that means the Auth Code came from your Spotify account.

I think we are saying different things.
Client ID and Secret do not determine which Spotify account is used. Auth Code is a replacement for username/password but more secure and required by Spotify.
An Echo dot can only be used for one Spotify account, not multiple. So any Echo dots owned by you should be logged into your Spotify account only.
In order for this to work for all three of you, you need:

Each person needs their own homebridge server
Each person needs their own Echo device logged into their own Spotify account
Each person needs their own auth code that was obtained in a private/incognito window signed into their Spotify account.
Client ID and Client Secret can be the same as long as the users are in the Spotify developer user management

Giving me the username/password won’t be helpful since I cannot access the homebridge server or the Echo dot.
The error message you shared means it logged in successfully - so what devices are listed in the homebridge logs now? If you see your echo dots, that means the Auth Code came from your Spotify account.

Yes my English is not the best :D
So again for clarification:
I'm trying to set up on my Homebridge (even deleted and reinstalled the plugin once) with all the variables from my friend's account (Client ID, Client Secret, generated AuthCode) to test it and then if everything works then set it up on his Homebridge (not at the same time of course).
On the Echo Dot I also logged in with his Spotify account with the Spotify Skill.
So I wanted to set up the whole thing from scratch, so to speak, with a different account.
In the Homebridge logs are unfortunately no devices, so far it goes unfortunately not at all. I only get the hint:
We could not fetch the Spotify tokens nor authenticate using the code grant flow.
And:
Could not authorize Spotify
I really don't understand it, I really did everything the same as with the first account. It can't be the Homebridge (but I deleted the plugin to be on the safe side and set it up again), unfortunately without success.

Okay, don't know why but on the completely new Homebridge on the Raspberry Pi it worked!
Can it be, that its not enough to just delete the Plugin to change the Account?
Anyways, it works :D
Thank you very much!

What is the path of the file that is not automatically deleted when the plug in is uninstalled? I uninstalled while troubleshooting another issue and am having auth issues now that I've re-installed.

@cjdrawdy the file is persist/.homebridge-alexa-smarthome located in the homebridge installation directory

@joeyhage the Alexa plugin holds credentials for spotify?

@joeyhage - I'm not seeing this path. I'm using homebridge-ui-x.


very slow on large argument string

Rust program:
extern crate docopt;
extern crate rustc_serialize;

const USAGE: &'static str = "
Usage:
    bindgen [options] \
        [--link=<lib>...] \
        [--static-link=<lib>...] \
        [--framework-link=<framework>...] \
        [--match=<name>...] \
        [--raw-line=<raw>...] \
        [--dtor-attr=<attr>...] \
        [--opaque-type=<type>...] \
        [--blacklist-type=<type>...] \
        <input-header> \
        [-- <clang-args>...]
    bindgen (-h | --help)
Options:
    -h, --help                    Display this help message.
    -l=<lib>, --link=<lib>        Link to a dynamic library, can be provided
                                  multiple times.
    --static-link=<lib>           Link to a static library, can be provided
                                  multiple times.
    --framework-link=<framework>  Link to a framework.
    -o=<outputrustfile>           Write bindings to <output-rust-file>
    --match=<name>                Only output bindings for definitions from
                                  files whose name contains <name>. If multiple
                                  match options are provided, files matching any
                                  rule are bound to.
    --builtins                    Output bindings for builtin definitions
    --ignore-functions            Don't generate bindings for functions and
                                  methods.
Originally reported in: https://github.com/servo/rust-bindgen/issues/46

This is not the cause of the issue, but the parser becomes confused by the lack of a blank line between the "Usage:" lines and the "Options:" lines. This in turn causes the parser to interpret every line in the documentation as list of options/commands. Perhaps worth opening a separate issue for (or not, it's pretty minor, but it is different from the reference implementation).

Nope, I was wrong, this is the same behavior as in the reference implementation: Example

Regarding the actual issue: From what I can tell, for n repeats of one argument and m repeats of another, the method Matcher::states have a complexity of at least O(n*m). In each iteration the involved strings (in MState) are copied and (in most cases) retained until the whole function (Matcher::matches) returns.
Some options from the top of my head:

Increase laziness by replacing the Vec<MState> by some Iterator<MState>. This should improve the best case scenario into becoming linear. This might have the risk of increasing the retention in some cases though.
Increase the sharing, eg. by converting the strings in MState into references of some kind (&/Rc/Cow). This is a case where manual memory management acutally led to worse performance.
Reduce/remove backtracking as much as is possible without rejecting valid cases.
Scrap the whole thing (Matcher) and replace it with some proper parser framework (library or hand written). Nom comes to mind, but it is char/byte oriented, not token-oriented. Might be nice for cleaning up the rest of the parser though.

Below is the final output from states when running with the input --match=1 --match=2 --raw-line=3 --raw-line=4 --match 5 x. During the time, the method is called 205 times (compared to 31 times with just x as argument).
sitional("clang-args")))])])
MState { argvi: 1, counts: {Long("raw-line"): 1, Long("match"): 2}, max_counts: {Long("raw-line"): 0, Long("match"): 0}, vals:
 {Positional("input-header"): Plain(Some("x"))} }
MState { argvi: 1, counts: {Long("raw-line"): 0, Long("match"): 2}, max_counts: {Long("raw-line"): 0, Long("match"): 0}, vals:
 {Positional("input-header"): Plain(Some("x"))} }
MState { argvi: 1, counts: {Long("raw-line"): 2, Long("match"): 2}, max_counts: {Long("match"): 0}, vals: {Positional("input-h
eader"): Plain(Some("x"))} }
MState { argvi: 1, counts: {Long("raw-line"): 1, Long("match"): 1}, max_counts: {Long("raw-line"): 0, Long("match"): 0}, vals:
 {Positional("input-header"): Plain(Some("x"))} }
MState { argvi: 1, counts: {Long("raw-line"): 0, Long("match"): 1}, max_counts: {Long("raw-line"): 0, Long("match"): 0}, vals: {Positional("input-header"): Plain(Some("x"))} }
MState { argvi: 1, counts: {Long("raw-line"): 2, Long("match"): 1}, max_counts: {Long("match"): 0}, vals: {Positional("input-header"): Plain(Some("x"))} }
MState { argvi: 1, counts: {Long("raw-line"): 1, Long("match"): 0}, max_counts: {Long("raw-line"): 0, Long("match"): 0}, vals: {Positional("input-header"): Plain(Some("x"))} }
MState { argvi: 1, counts: {Long("raw-line"): 0, Long("match"): 0}, max_counts: {Long("raw-line"): 0, Long("match"): 0}, vals: {Positional("input-header"): Plain(Some("x"))} }
MState { argvi: 1, counts: {Long("raw-line"): 2, Long("match"): 0}, max_counts: {Long("match"): 0}, vals: {Positional("input-header"): Plain(Some("x"))} }
MState { argvi: 1, counts: {Long("raw-line"): 1, Long("match"): 3}, max_counts: {Long("raw-line"): 0}, vals: {Positional("input-header"): Plain(Some("x"))} }
MState { argvi: 1, counts: {Long("raw-line"): 0, Long("match"): 3}, max_counts: {Long("raw-line"): 0}, vals: {Positional("input-header"): Plain(Some("x"))} }
MState { argvi: 1, counts: {Long("raw-line"): 2, Long("match"): 3}, max_counts: {}, vals: {Positional("input-header"): Plain(Some("x"))} }

As you can see, we try every possibility before we check the validity, which is why an iterator would probably help. In this code:
    m.states(pat, &init)
     .into_iter()
     .filter(|s| m.state_consumed_all_argv(s))
     .filter(|s| m.state_has_valid_flags(s))
     .filter(|s| m.state_valid_num_flags(s))

If m.states returned an iterator, we would only need to calculate until the first valid option, which should by the first, since we are greedy by default. However, looking at the output above shows that this is not the case (both counts should be 0). On the other hand, I don't believe we really need to look at all the cases at all, especially not here, but I assume that there are some cases where the greedy algorithm would fail.

@anka-213 Thank you for the analysis. :-)
To give my thoughts here: I'd like to scrap the parser and rewrite it from the ground up. I am personally not a big fan of parser frameworks like nom and would prefer we do it by hand.
Sorry I don't have the time right now to do any more digging with you, but it sounds like you've got it figured out. :-)

By the way, I'm curious about the next few lines in the code. They seem very redundant:
     .collect::<Vec<MState>>()
     .into_iter()
     .next()

Why not just call next() on the first iterator?

Ok. Sounds like a good idea. Might be a lot of work though, especially since there is no formal specification.
Just curious, why do you dislike big parser frameworks?

In this specific case, we have 185*raw-line, 77*blacklist-type, 4*match, 1*(allow-unknown-types, no-unstable-rust, no-type-renaming, no-namespaced-constants, ignore-methods, -o) and 19*<clang-args>. This means that the final copy of Vec<MState> will have length 186*78*2^6*20 = 18570240. Each of those have arrays containing on average 30 strings, which are on average 20 characters long. Thus, we will need at least 10Gb of memory and a lot of time to run this example. ;)

Here is a benchmark that shows the issue. Each additional letter added doubles the running time:
#[bench]
fn some_bench(b: &mut test::Bencher) {
    const USAGE: &'static str = "
    Usage:
        slow [-abcdefghijklmnopqrs...]
    ";

    let argv = &["slow", "-abcdefg"];
    let dopt : docopt::Docopt = docopt::Docopt::new(USAGE).unwrap().argv(argv);

    b.iter(|| dopt.parse().unwrap());
}

I just realized that the example that makes backtracking necessary is not supported by the original script. I vote for removing backtracking completely. People should put mandatory positional arguments before repeatable positional arguments. Are there any software that uses the feature?
Alternatively, we could keep track of how many mandatory positional arguments are left and not consume more than that. That way we can keep  But that will probably not work in more complex cases. On the other hand, more complex cases are often not very useful anyways, since the structure gets lost. (But that example doesn't need backtracking either).
Here is how to do it for the examples mentioned by keleshev:
prog <x> [<y>] <z>                // Manditory posargs left = 1
prog <x> <y>... <z>               // Manditory posargs left = 1
prog <x>... command <y>...        // Don't do this! It's just confusing for the user.

A hybrid approach would be to keep backtracking, but only do it when explicitly needed by future patterns (eg. command above). This is more complicated and can't guarantee linear time.
Regardless, if we want to keep backtracking, we should only do it for positional arguments. Flags are inherently unordered and it doesn't make sense to enforce multiple copies of the same flag, while at the same time having the flag be repeatable.
TL;DR I don't think backtracking is ever necessary, at least not if we limit ourselves to a sensible subset of commands.

I just realized that the example that makes backtracking necessary is not supported by the original script.

Correct.

Are there any software that uses the feature?

Yes. cp, as the example shows.
I think your analysis about doing backtracking only when necessary (e.g., only on positional arguments) might be worthwhile, but does certainly seem like a pretty complex endeavor.

Actually, thinking a bit more, I wouldn't call the algorithm backtracking. It's more like brute force, since we enumerate (and even save!) every single possibility. (We would need a lazy list like in Haskell for this to be backtracking.) Changing it to do actual backtracking should make the best (and hopefully average) case linear, but I doubt we will ever get rid of an exponential (more specifically n^k, where n is number of supplied arguments and k is the number of repeatable options) time in the worst case if we want to support any possible combination.
// If we consume as little as possible in A in this case:
Usage cmd A... opt B...

// We will (probably) need to check every possibility (4^2) in this case:
Usage: cmd (A -x)... (B -y)... [C...]

cmd a b c d e f g h -xxxx -yyyy

However, ignoring all that, the fix for this particular issue is very simple. There is already a special case for flags inside optional. If we just expand it to support repeated flags inside optional as well, this particular issue goes away completely. I'll submit a pull request shortly.

@anka-213 Awesome! Thank you much. You have no idea how much I appreciate your analysis on this!

So, I guess we could close this issue now and report back at servo/rust-bindgen#46?

Yup! Sorry I forgot about this. Looks like @Yamakaky gave them a heads up.


feat: added endpoint setter to agent InitConfig

Signed-off-by: Jim Ezesinachi<EMAIL_ADDRESS>

Codecov Report

Merging #1278 (b3567b7) into main (115d897) will decrease coverage by 10.45%.
The diff coverage is 66.66%.

@@             Coverage Diff             @@
##             main    #1278       +/-   ##
===========================================
- Coverage   87.04%   76.59%   -10.45%
===========================================
  Files         778      673      -105
  Lines       18573    16489     -2084
  Branches     3157     2831      -326
===========================================
- Hits        16166    12630     -3536
- Misses       2400     3855     +1455
+ Partials        7        4        -3

Impacted Files
Coverage Δ

packages/core/src/types.ts
100.00% <ø> (ø)

packages/core/src/agent/AgentConfig.ts
87.14% <50.00%> (-8.51%)
:arrow_down:

packages/core/src/agent/Agent.ts
78.63% <100.00%> (-17.10%)
:arrow_down:

packages/core/src/utils/TypedArrayEncoder.ts
90.00% <100.00%> (-10.00%)
:arrow_down:

packages/core/src/utils/deepEquality.ts
9.09% <0.00%> (-90.91%)
:arrow_down:

...src/storage/migration/updates/0.1-0.2/mediation.ts
9.09% <0.00%> (-90.91%)
:arrow_down:

...rc/storage/migration/updates/0.2-0.3/connection.ts
14.28% <0.00%> (-85.72%)
:arrow_down:

packages/indy-vdr/src/dids/didSovUtil.ts
15.00% <0.00%> (-82.50%)
:arrow_down:

...ore/src/storage/migration/updates/0.3-0.3.1/did.ts
17.64% <0.00%> (-82.36%)
:arrow_down:

...ages/core/src/storage/migration/UpdateAssistant.ts
8.73% <0.00%> (-80.59%)
:arrow_down:

... and 279 more

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


logger: track system metrics automatically

Right now dvclive doesn't track system metrics, to name a few, CPU, GPU, RAM utilisation. This is useful when comparing experiment results (e.g., I can get +1% accuracy, but what is the price in terms of time/resources?) and analysing how long it takes to run training on different GPUs (e.g., I can rent another GPU model and get 2x speedup?).
The usual practice is to log this somehow manually with https://github.com/giampaolo/psutil and analyse the results later, but because heavy experiments in ML require this quite often, IMO it makes sense to have this functionality out-of-the-box.
Also it would be great to have summary on these metrics in .json file produced in experiment to make quick decisions instead of diving too deep (e.g., the average CPU utilisation was 4 cores, my script doesn't utilise all 32 cores I have; the peak RAM utilisation was 8GB, that means I can rent a smaller server on aws to run this training; etc).
To name one example among ml tools, this is already tracked with W&B, see the bottom of dashboard: https://wandb.ai/stacey/estuary?workspace=user-lavanyashukla
This page states main metrics logged in W&B https://docs.wandb.ai/ref/app/features/system-metrics
If this will be useful, I could gather a list of metrics with notes describing the cases these metrics are helpful to a user in ml tasks.

Well, currently summary is just a gathering of lastly logged metrics. It seems that those system metrics would provide a lot of information that some users might find useful.
Some questions that needs answering before proceeding implementation:

How psutil gathers the data? If its from current point of time, we might get untrustworthy results (since logging usually happens in the end of epoch.
How to store the summary? Make summary.json just log all values? Or update the structure, to contain, for example "metrics", "system_performace_metrics" subdicts?

1. How psutil gathers the data? If its from current point of time, we might get untrustworthy results (since logging usually happens in the end of epoch.

This is in the docs:

wandb automatically logs system metrics every 2 seconds, averaged over a 30 second period.

We could probably achieve that by creating dvclive context that would start "system observer" thread.

This open source repo has a "hardware monitoring" functionality implemented with psutil (and py3nvml for GPUs):
https://github.com/labmlai/labml/blob/master/guides/hardware_monitoring.md
https://github.com/labmlai/labml/search?q=psutil

I think this feature makes more sense to be implemented with a wider scope as part of DVC pipelines

@daavoo Reopening to discuss. Does at least some of this info (CPU, GPU, RAM utilization) make sense in dvclive? For one thing, I think it's important to monitor those in realtime rather than only have a summary at the end.

Reopening to discuss. Does at least some of this info (CPU, GPU, RAM utilization) make sense in dvclive? For one thing, I think it's important to monitor those in realtime rather than only have a summary at the end.

Yes, I think a simple approach that collects the numbers and use log_metric makes sense to be implemented in DVCLive

Would adding methods like log_cpu_utilization, log_ram_utilization and log_gpu_utilization to src/dvclive/live.py work?
E.g.
# src/dvclive/live.py
...
import psutil
import GPUtil # would introduce dependency on https://github.com/anderskm/gputil
...

class Live:
...
  def log_cpu_utilization(self):
      cpu_percent = psutil.cpu_percent()
      self.log_metric("system/cpu_utilization", cpu_percent)

  def log_ram_utilization(self):
      memory_info = psutil.virtual_memory()
      self.log_metric("system/ram_utilization", memory_info.percent)

  def log_gpu_utilization(self):
          gpus = GPUtil.getGPUs()
          for i, gpu in enumerate(gpus):
              self.log_metric(f"system/gpu_{i}_utilization", gpu.load)
              self.log_metric(f"system/gpu_{i}_memory_utilization", gpu.memoryUtil)

  def next_step(self):
      if self._step is None:
          self._step = 0
      self.log_cpu_utilization()
      self.log_ram_utilization()
      self.log_gpu_utilization()
 ...

I ran some tests with it and it seems to be working.
Though, I am not 100% sure the results are trustworthy considering @pared's comment:

How psutil gathers the data? If its from current point of time, we might get untrustworthy results (since logging usually happens in the end of epoch.

yep, I guess we just need to run this code on a separate thread and collect these metrics per second.

So it's probably better to call log_*_utilization inside framework-specific callbacks.

It can/should be inside Live, but as @shcheklein said, there needs to be a background process that collects the values. This is how other loggers do it:
https://github.com/wandb/wandb/blob/main/wandb/sdk/internal/system/assets/interfaces.py#L103


Unable to setup column encryption

Describe the bug
The dashboard on supabase allows you to setup column encryption, however you are not able to set it up for a project running locally
To Reproduce
Steps to reproduce the behavior:

Go to a table
Click on 'Create new column'
Scroll down to 'encryption'
See nothing there

Expected behavior
A section to enable encryption for the column
Screenshots

Desktop (please complete the following information):

OS: MacOS
Browser (if applicable): Chrome
Version of CLI: 1.88.0

Additional context
If there is a way to set up column encryption by SQL commands, that would be great as well.

My bad, this feature is available in the beta channel of the CLI. Closing issue.


refactored acceptance tests to include meaningful error messages when…

refactored acceptance tests to include meaningful error message when a code 400 is returned

Looks good to me :+1:

Good work :+1:

Closing this PR as a duplicate of the changes were done in another branch as that was a lot quicker and simpler than doing the gnarly rebase for this.


Train on own dataset

Hello, you can use this implementation with your own dataset. Please follow the instructions inside the readme

Hello, you can use this implementation with your own dataset. Please follow the instructions inside the readme

thanks I was able to solve it. Cheers！


Aiva

Hi,
i would like to inform you about another AI bot name AIVA(in the past : jarvis bot)
maybe you can work together, below you will find the developper home page:
https://github.com/kengz/aiva
http://kengz.me/aiva/
He works on AI bot since a long time. His experience can benefit to your project.
I have also posted a message on his github project page and hope you can collaborate for the benefit of the community.
i think we are many to wait for the integration with rocket.chat
Thank you for your works
Regards,
YaRi

Looks like a cool project. From what I can tell, AIVA's creator took the more classic approach (using Python NLP tools), whereas I've added additional layers of abstraction to try and make it easier for developers.
With our different approaches, architectures, and even programming languages, I'm not sure how to begin collaborating between the projects. Do you have some ideas on how we might combine our efforts?


Add option to abort notebook and clear all output without reconnecting

This would be on the triple dot alongside the notebook title.
PS: Let's also move the "Fork" + "See on Dashboard" + "Close" to the bottom, "Export" to the top.

I found this issue while looking for something similar. I was hoping there would be a way to interactively clear the output of a particular cell. There already is a button to “amplify output”, would be great if there is a way to “clear” it as well. (see image,

below).

Clearing output while keeping cell status (evaluated/stale/...) is confusing, and we don't want to clear the status for a single cell, because it breaks the expected sequentiality.
Any specific use case you have in mind?


[Task]: Upgrade Avro to 1.11.4 to fix CVE-2024-47561

What needs to happen?
Hello,
I see there's this CVE-2024-47561 related to the Avro version.
I am creating this issue because the only thing I could find regarding this issue was this draft PR that should fix it, but seems abandoned to me. https://github.com/apache/beam/pull/32770
Thanks
Issue Priority
Priority: 1 (urgent / mostly reserved for critical bugs)
Issue Components

[ ] Component: Python SDK
[X] Component: Java SDK
[ ] Component: Go SDK
[ ] Component: Typescript SDK
[ ] Component: IO connector
[ ] Component: Beam YAML
[ ] Component: Beam examples
[ ] Component: Beam playground
[ ] Component: Beam katas
[ ] Component: Website
[ ] Component: Infrastructure
[ ] Component: Spark Runner
[ ] Component: Flink Runner
[ ] Component: Samza Runner
[ ] Component: Twister2 Runner
[ ] Component: Hazelcast Jet Runner
[X] Component: Google Cloud Dataflow Runner

I haven't had a chance to prioritize it yet. I was hoping the upgrade would be trivial, but it doesn't look like it so far

I'm planning on coming back to this soon, though (hopefully this week)


Remove $comment strings

$comment was added to JSON Schema Draft 07 but which is not allowed in the JSON Schema Wright-00 which is used in OpenAPI 3.0. Thus, this tool should remove  such JSON/YAML $comment strings (keys and values) and log their removal when in verbose mode.

version 0.9.0 converts $comment to x-comment in JSON Schemas.
Version 0.10.0 will allow that or deletion of comments. Since that is essentially a breaking change,
but since we're still on major version 0,  major change is allowed in dot releases.


"viewForHeaderInSection" Not going up

Hey,
First of all thanks for 'ECStretchableHeaderView'. Its amazing and really easy to use.
but if you add any section header with '-
(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section' {
}
It will not go all the way to up. can you please give me an Idea how to add section headers with 'ECStretchableHeaderView'

Hi,
Please note that viewForHeaderInSection is a delegate method specific to UITableView, but ECStretchableHeaderView works at the UIScrollView level.
For this reason you are not meant to attach a header created with method viewForHeaderInSection. Instead, you must create your header view separately (programatically or in interface builder), and has to be at the same level in the view hierarchy as the UITableView. IT MUST NOT BE A CHILD VIEW
Please refer to the code example included to see how to achieve this.


Add Barbados holidays

Useful links:

https://en.wikipedia.org/wiki/Public_holidays_in_Barbados
https://www.timeanddate.com/holidays/barbados/

Assign to me please, I'd like to help out.  Possibly even with more.

@arjunanan6 you got it.
Thank you!

@arkid15r Pretty much done here, but I can't commit.. I get a lot of errors relating to the pre-checks:
[INFO] Stashing unstaged files to /Users/arjun/.cache/pre-commit/patch1689880665-42063.
check python ast.........................................................Passed
check builtin type constructor use.......................................Passed
check yaml...........................................(no files to check)Skipped
fix end of files.........................................................Passed
fix python encoding pragma...............................................Passed
mixed line ending........................................................Passed
trim trailing whitespace.................................................Failed
- hook id: trailing-whitespace
- exit code: 1
- files were modified by this hook

Fixing tests/countries/test_barbados.py

black....................................................................Failed
- hook id: black
- files were modified by this hook

reformatted holidays/countries/barbados.py

All done! ✨ 🍰 ✨
1 file reformatted, 1 file left unchanged.

flake8...................................................................Failed
- hook id: flake8
- exit code: 1

holidays/countries/barbados.py:66:100: E501 line too long (110 > 99 characters)

isort....................................................................Failed
- hook id: isort
- files were modified by this hook

Fixing /Users/arjun/Documents/git/python-holidays/holidays/countries/barbados.py

mypy.....................................................................Passed
rst ``code`` is two backticks........................(no files to check)Skipped
rstcheck.............................................(no files to check)Skipped
tox-ini-fmt..........................................(no files to check)Skipped
setup-cfg-fmt........................................(no files to check)Skipped
[WARNING] Stashed changes conflicted with hook auto-fixes... Rolling back fixes...

Any idea what's happening here? I believe I set up everything according to the contributor's guide.

Issue is with: make l10n

@arjunanan6 try to run make pre-commit, this should fix these errors.

@KJhellico Thanks. make pre-commit goes through without a hitch, but when I push my changes it once again fails at "run tests":
run tests................................................................Failed
- hook id: tests
- exit code: 2

make l10n
make[1]: Entering directory 'C:/Users/arjun/Documents/git/python-holidays'
scripts/l10n/generate_po_files.py >/dev/null 2>&1
make[1]: *** [Makefile:27: l10n] Error 1
make[1]: Leaving directory 'C:/Users/arjun/Documents/git/python-holidays'
make: *** [Makefile:15: check] Error 2

The pre-commit runs make check (includes make l10n, make pre-commit, make doc, and make test) command via pre-commit/pre-push hooks.
It seems the problem is w/ scripts/l10n/generate_po_files.py. Its output is suppressed when running via make l10n
Could you run scripts/l10n/generate_po_files.py directly for (hopefully) more descriptive error message?
A link to your exported code branch could also help to troubleshoot it.
My guess is that .po files have some unresolved conflicts (or malformated in some other way).

A link to your exported code branch could also help to troubleshoot it.

I can't commit as it stands, so can't even get the branch pushed. :(
I just ran scripts/l10n/generate_po_files.py and this is the output:
Traceback (most recent call last):   File "C:\Users\arjun\Documents\git\python-holidays\scripts\l10n\generate_po_files.py", line 111, in <module>     POGenerator.run()   File "C:\Users\arjun\Documents\git\python-holidays\scripts\l10n\generate_po_files.py", line 107, in run     POGenerator().process_countries()   File "C:\Users\arjun\Documents\git\python-holidays\scripts\l10n\generate_po_files.py", line 73, in process_countries     create_pot_file(   File "C:\Users\arjun\AppData\Local\Programs\Python\Python310\lib\site-packages\click\core.py", line 1130, in __call__     return self.main(*args, **kwargs)   File "C:\Users\arjun\AppData\Local\Programs\Python\Python310\lib\site-packages\click\core.py", line 1055, in main     rv = self.invoke(ctx)   File "C:\Users\arjun\AppData\Local\Programs\Python\Python310\lib\site-packages\click\core.py", line 1404, in invoke     return ctx.invoke(self.callback, **ctx.params)   File "C:\Users\arjun\AppData\Local\Programs\Python\Python310\lib\site-packages\click\core.py", line 760, in invoke     return __callback(*args, **kwargs)   File "C:\Users\arjun\AppData\Local\Programs\Python\Python310\lib\site-packages\lingua\extract.py", line 426, in main     for message in extractor(real_filename, extractor_options):   File "C:\Users\arjun\AppData\Local\Programs\Python\Python310\lib\site-packages\lingua\extractors\python.py", line 415, in __call__     return parser(token_stream, options, filename, lineno)   File "C:\Users\arjun\AppData\Local\Programs\Python\Python310\lib\site-packages\lingua\extractors\python.py", line 187, in __call__     for (token_type, token, location, _) in token_stream:   File "C:\Users\arjun\AppData\Local\Programs\Python\Python310\lib\site-packages\lingua\extractors\python.py", line 162, in next     token = self._transform(next(self.queue))   File "C:\Users\arjun\AppData\Local\Programs\Python\Python310\lib\tokenize.py", line 452, in _tokenize     line = readline()   File "C:\Users\arjun\AppData\Local\Programs\Python\Python310\lib\site-packages\lingua\extractors\python.py", line 122, in __call__     line = self.readline()   File "C:\Users\arjun\AppData\Local\Programs\Python\Python310\lib\encodings\cp1252.py", line 23, in decode     return codecs.charmap_decode(input,self.errors,decoding_table)[0] UnicodeDecodeError: 'charmap' codec can't decode byte 0x81 in position 2954: character maps to <undefined>

I've tried this out on my win. machine by the way, on my mac it gives me all the errors from my first comment. I tried out the same files on win. where it reports just this issue with l10n.

On Windows, localization process is currently problematic. If you want to try this on Win, to solve encoding problem, you need to set environment variable:
set PYTHONUTF8=1

(and better to delete holidays\locale\pot*.* files, if any exist). So it's easier to try it on Mac, if you can.

on my mac it gives me all the errors from my first comment

It's pre-commit hook output. These errors were fixed by make pre-commit. Now try to run scripts/l10n/generate_po_files.py there, on Mac. What will it show?

I ran scripts/l10n/generate_po_files.py now on my mac and it outputs:
No changes found - not replacing holidays/locale/pot/AM.pot
No changes found - not replacing holidays/locale/pot/AR.pot
No changes found - not replacing holidays/locale/pot/AW.pot
No changes found - not replacing holidays/locale/pot/BA.pot
No translatable strings found, aborting

And this is the output of make pre-commit from the mac:
pre-commit run --all-files
check python ast.........................................................Passed
check builtin type constructor use.......................................Passed
check yaml...............................................................Passed
fix end of files.........................................................Passed
fix python encoding pragma...............................................Passed
mixed line ending........................................................Passed
trim trailing whitespace.................................................Passed
black....................................................................Passed
flake8...................................................................Passed
isort....................................................................Passed
mypy.....................................................................Failed
- hook id: mypy
- exit code: 1

scripts/generate_release_notes.py:82: error: Module has no attribute "BooleanOptionalAction"  [attr-defined]
Found 1 error in 1 file (checked 314 source files)

rst ``code`` is two backticks............................................Passed
rstcheck.................................................................Passed
tox-ini-fmt..............................................................Passed
setup-cfg-fmt............................................................Passed
make: *** [pre-commit] Error 1

I ran scripts/l10n/generate_po_files.py now on my mac and it outputs:

Try to delete holidays/locale/pot/*.pot files first.

scripts/generate_release_notes.py:82: error: Module has no attribute "BooleanOptionalAction"  [attr-defined]

What's your Python version? This argparse option was added in 3.9. @arkid15r , looks like we have a bit of an inconsistency here 🙄

Deleted *.pot files as suggested, but I am not really seeing a difference. My python version is 3.8.5.

Do you think upgrading to 3.9 will help? I have no problems doing that.

Yes, try with 3.9 minimum.

scripts/generate_release_notes.py:82: error: Module has no attribute "BooleanOptionalAction"  [attr-defined]
What's your Python version? This argparse option was added in 3.9. @arkid15r , looks like we have a bit of an inconsistency here 🙄

Yeah, I guess # type: ignore[attr-defined] should be added to L82. It's not a big deal as the script is for internal purposes, but you're right, we should address that.
@arjunanan6 either that or upgrade to python 3.9 should help.

So I am now using python 3.11.1 and have set up a new venv and ran make setup.
Following that, I ran make pre-commit which outputs:
check python ast.........................................................Passed
check builtin type constructor use.......................................Passed
check yaml...............................................................Passed
fix end of files.........................................................Passed
fix python encoding pragma...............................................Passed
mixed line ending........................................................Passed
trim trailing whitespace.................................................Passed
black....................................................................Passed
flake8...................................................................Passed
isort....................................................................Passed
mypy.....................................................................Passed
rst ``code`` is two backticks............................................Passed
rstcheck.................................................................Passed
tox-ini-fmt..............................................................Passed
setup-cfg-fmt............................................................Passed

However, if I were to commit something after that, it is back to the same situation as before:
% git commit -m "Add Barbados holidays"
[WARNING] Unstaged files detected.
[INFO] Stashing unstaged files to /Users/arjun/.cache/pre-commit/patch1690020648-79795.
check python ast.........................................................Passed
check builtin type constructor use.......................................Passed
check yaml...........................................(no files to check)Skipped
fix end of files.........................................................Passed
fix python encoding pragma...............................................Passed
mixed line ending........................................................Passed
trim trailing whitespace.................................................Failed
- hook id: trailing-whitespace
- exit code: 1
- files were modified by this hook

Fixing tests/countries/test_barbados.py

black....................................................................Failed
- hook id: black
- files were modified by this hook

reformatted holidays/countries/barbados.py

All done! ✨ 🍰 ✨
1 file reformatted, 1 file left unchanged.

flake8...................................................................Failed
- hook id: flake8
- exit code: 1

holidays/countries/barbados.py:66:100: E501 line too long (110 > 99 characters)

isort....................................................................Failed
- hook id: isort
- files were modified by this hook

Fixing /Users/arjun/Documents/git/python-holidays/holidays/countries/barbados.py

mypy.....................................................................Passed
rst ``code`` is two backticks........................(no files to check)Skipped
rstcheck.............................................(no files to check)Skipped
tox-ini-fmt..........................................(no files to check)Skipped
setup-cfg-fmt........................................(no files to check)Skipped
[WARNING] Stashed changes conflicted with hook auto-fixes... Rolling back fixes...

I'm at a loss :/

> [WARNING] Unstaged files detected.
> [INFO] Stashing unstaged files to /Users/arjun/.cache/pre-commit/patch1690020648-79795.

Maybe you have unstaged changes made by pre-commit? Try to look with git status and add them with git add if necessary.

Oh damn, that was it.  I can now run commit, however, when I push..:
check python ast.........................................................Passed
check builtin type constructor use.......................................Passed
check yaml...........................................(no files to check)Skipped
fix end of files.........................................................Passed
fix python encoding pragma...............................................Passed
mixed line ending........................................................Passed
trim trailing whitespace.................................................Passed
black....................................................................Passed
flake8...................................................................Passed
isort....................................................................Passed
mypy.....................................................................Passed
rst ``code`` is two backticks........................(no files to check)Skipped
rstcheck.............................................(no files to check)Skipped
tox-ini-fmt..........................................(no files to check)Skipped
setup-cfg-fmt........................................(no files to check)Skipped
run tests................................................................Failed
- hook id: tests
- exit code: 2

make l10n
scripts/l10n/generate_po_files.py >/dev/null 2>&1
make[1]: *** [l10n] Error 2
make: *** [check] Error 2

error: failed to push some refs to 'github.com:arjunanan6/python-holidays.git'

I can however run generate_po_files.py on its own without any errors.

> run tests................................................................Failed
> - hook id: tests
> - exit code: 2

Run make test, you should see errors.

I ran make test now, and indeed, I missed out on a doc change. That''s fixed, and make test runs without errors now. However, I am still getting an error when pushing:
check python ast.........................................................Passed
check builtin type constructor use.......................................Passed
check yaml...........................................(no files to check)Skipped
fix end of files.........................................................Passed
fix python encoding pragma...............................................Passed
mixed line ending........................................................Passed
trim trailing whitespace.................................................Passed
black....................................................................Passed
flake8...................................................................Passed
isort....................................................................Passed
mypy.....................................................................Passed
rst ``code`` is two backticks............................................Passed
rstcheck.................................................................Passed
tox-ini-fmt..........................................(no files to check)Skipped
setup-cfg-fmt........................................(no files to check)Skipped
run tests................................................................Failed
- hook id: tests
- exit code: 2

make l10n
scripts/l10n/generate_po_files.py >/dev/null 2>&1
make[1]: *** [l10n] Error 2
make: *** [check] Error 2

error: failed to push some refs to 'github.com:arjunanan6/python-holidays.git'

Truncated output from make test:
1852 passed in 32.50s

scripts/l10n/generate_po_files.py executed without errors? And scripts/l10n/generate_mo_files.py too?

Yes, both of those execute without any errors.

As I understand, the issue is with 	make l10n. I can run make pre-commit just fine. But if run make l10n, I get this:
scripts/l10n/generate_po_files.py >/dev/null 2>&1
make: *** [l10n] Error 2

And there's no problem executing scripts/l10n/generate_mo_files.py or scripts/l10n/generate_po_files.py.

Does make l10 command fail when you run it explicitly?

It does, weirdly. I've looked at the Makefile and figured out what it does, but I can't seem to figure out why the two scripts execute individually, but not when run with make l10.
Anyway, I've pushed the changes with --no-verify. Thanks a lot for your support and patience!

@arkid15r Sorry, I might need your help again, I've made a PR in the 'right' way, but it looks like it still wants to go to master rather than beta.
I've forked this repo and cloned my fork, switched to the beta branch and then made my own branch. Should do the trick normally. Or did I miss something?

I changed the branch to beta :)

I suppose this one can be closed now @arkid15r.

That's right, I'll take care of it.
It hasn't been auto-closed after the merge as beta isn't the default branch (may be revisited soon).
Implemented by @arjunanan6 in https://github.com/vacanza/python-holidays/pull/1393


How to handle ontap?

Your example app video shows you tapping on the name and then it directs to the profile. I don't find on tap feature. Also the query has to pull the users ID and name from the document . Without ID I can't direct to their profile

For onTap function,
You can use the builder parameter and return a widget of your choice and you can use either InkWell or GestureDetector to implement onTap function.
For UserId,
I prefer to store userId in the document.
Let me know if that's not possible for you, so I'll add a way to do that.

For onTap function,
You can use the builder parameter and return a widget of your choice and you can use either InkWell or GestureDetector to implement onTap function.
For UserId,
I prefer to store userId in the document.
Let me know if that's not possible for you, so I'll add a way to do that.

You mean firebase document right? I have stored the user ID in the user's document. I don't know how you pulled the userId and used it with ontap.
Yes adding a way to do it will be helpful thanks.

For onTap function,
You can use the builder parameter and return a widget of your choice and you can use either InkWell or GestureDetector to implement onTap function.
For UserId,
I prefer to store userId in the document.
Let me know if that's not possible for you, so I'll add a way to do that.

I also have version issues. I use 13.6 😅

You need to pass this argument to FirestoreSearchScaffold, dataListFromSnapshot
Here's an example of such a function
class DataModel {
  final String name;
  final String description;

  DataModel({this.name, this.description});

  //Create a method to convert QuerySnapshot from Cloud Firestore to a list of objects of this DataModel
  //This function in essential to the working of FirestoreSearchScaffold

  List<DataModel> dataListFromSnapshot(QuerySnapshot querySnapshot) {
    return querySnapshot.docs.map((snapshot) {
      final Map<String, dynamic> dataMap = snapshot.data();

      return DataModel(
          name: dataMap['name'], description: dataMap['description']);
    }).toList();
  }
}

I believe what you're trying to do is possible in the current setting, let me know if there's another hurdle you're facing.

You need to pass this argument to FirestoreSearchScaffold, dataListFromSnapshot
Here's an example of such a function
class DataModel {
  final String name;
  final String description;

  DataModel({this.name, this.description});

  //Create a method to convert QuerySnapshot from Cloud Firestore to a list of objects of this DataModel
  //This function in essential to the working of FirestoreSearchScaffold

  List<DataModel> dataListFromSnapshot(QuerySnapshot querySnapshot) {
    return querySnapshot.docs.map((snapshot) {
      final Map<String, dynamic> dataMap = snapshot.data();

      return DataModel(
          name: dataMap['name'], description: dataMap['description']);
    }).toList();
  }
}

I tried with this , but the search doesn't work , it just lists the user names and profile navigation says, no such method error. Even the app bar shows two back arrows. May be this is because I'm not using array in firestore. I used String fields for each data. How is your document fields?


Handle parameter links correctly.

No functional change, as the parameters are now shown the same way as "other" refs.

Corresponding toitdoc generator PR: https://github.com/toitlang/toit/pull/2452


how do I prefix each message, from a named logger with it's name ?

desired scenario:
//create a named logger.
var logger = LFService.createLoggerFactory().getLogger('chatbox');
//write a message to the log. The name of the logger is prefixed.
logger.info('started') => should output 'chatbox: started';
Does your library support this kind of scenario ? If not, can I solve it with a customlogger? How then?

Hello, by default the name is already present (prefixed). In your example the log statement will look similar to:
2016-12-20 17:44:26,216 INFO [chatbox] started

Nice on. Maybe you can add it to the readme documentation?

Good idea, I will leave this issue open to track. Within a few weeks from now I hope to release a new version and will add it.

A new release has been made a few days ago, and the documentation now also shows an example of the logging. Feel free to check it out, there's a chrome developer extension now too.
Closing this issue. :)


Use ApolloInterceptor with autoPersistedQueries()

@omtians9425: Thank you for submitting a pull request! Before we can merge it, you'll need to sign the Apollo Contributor License Agreement here: https://contribute.apollographql.com/


fix: input box password ui error

Types

[ ] 🐛 Bug Fixes

Background or solution
Fix password input box UI error.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.kaizhi seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending?


Registration event not working on ios 9.3.5.

Everything was working fine for android and ios. But after updating the device to ios9.3.5 the registration event is not giving registration ID. When i open the app, it fires init event, which gives a permission pop up in ios "Allow app to send notification", after pressing "Ok" button registration event is called but no registration ID is generated. I tried adding error event to see if any errror is getting generated but seems like error event is not getting called. I cross checked the certificate and provisioning profile and it is fine. Not sure what is the issue here, as it was working fine before. Can you try the plugin in iOS 9.3.5. Please help.

@VishalKryptos run the app in Xcode to see what the logs tell you. Also, check out issue #1154 if you have upgraded to Xcode 8.

I did more testing and tried the app in other ios device and i was able to get the registration ID. But in one of the device running on ios 9.3.5 the issue is still coming. Not sure what is causing the issue. I am using phonegap build to generate the build, cant use xcode and see logs. Will do more testing and try to get more info about the issue.
Closing the issue as of now. Thanks for the help.

I have an ipad which has iOS 10.1 running and the plugin is not able to generate registrationID. I checked issue #1154 as suggested but i cant use it as i am using phonegap build to generate iOS builds. Is there any way we can add push entitlement for phonegap build.

Oct 27 23:47:34 iPod-touch [534] : Push Plugin register called
Oct 27 23:47:34 iPod-touch [534] : PushPlugin.register: setting badge to false
Oct 27 23:47:34 iPod-touch [534] : PushPlugin.register: clear badge is set to 0
Oct 27 23:47:34 iPod-touch [534] : PushPlugin.register: better button setup
Oct 27 23:47:34 iPod-touch [534] : GCM Sender ID (null)
Oct 27 23:47:34 iPod-touch [534] : Using APNS Notification
Nothing comes up after these logs. The app just hungs up.


scan property

Getting an error: 'scan' does not exist on type 'Observable<Message[]>
any pointers?

Same here I was unable to resolve the error so I just cloned this ripo and moved all my code here


Bring torrents to the browser (chrome extension)

Hi everyone
I'm new on this git, but I just wanted to share my idea and see your reactions.
So, what if we created/used a chrome/Firefox extension that downloads and seeds torrent files over the bittorrent and webtorrent network. This way we can close the gap between these networks. And make a 100% browser side torrent client.
From a user's perspective:

goes to website
wants to download torrent/play video
a) torrent file is available on webtorrent network
-> starts direct download
-> seeds to webtorrent network
b) torrent file is not available on webtorrent
-> is asked to install extension
-> starts to download
-> seeds to webtorrent network (&bittorrent)

Does anyone think this is a good idea, is realistic and/or has any value to this project?

I think it is an great ideia!
It would help a lot!
Altought I think we would need some ideias to share the extensions to another users, I mean, why they would change from their current clients to another one?
Also, two another good ideias I've to solve the gap:
A desktop client (can be built with nw.js).
A tool to download files on a seedbox / dedicated server (from udp peers), and share it with webtorrent clients.
This second ideia, I started a project a few months ago, and it's working fine, for my tests.

https://github.com/feross/chrome-net relevant?

+1 for this idea!

We made a working chrome extension for webtorrent for a hackathon, it worked pretty well https://github.com/RosettaLabs/Torrentula (webRTC only). Something changed with the chrome api and local storage and it doesn't run anymore, should be a fairly easy fix though if you guys want to fork it or canabalize it. It has a fully functional add/delete/view torrent manager built in react with a flux architecture.

That's interesting. I think the great thing about using a chrome app for this, though, would be access to the primary bittorrent network.

Thank you for the comments, I'm currently trying to figure out how exactly everything is working.
I think we first should start creating a hybrid client (if this doesn't exist yet).
After that we can try to implement this in a chrome extension.
My current questions:

is there already a hybrid client?
are webtorrent and bittorrent torrent files/ magnet links useable for both (if not how do we link them)?
how do clients find each other?
where/how are the torrent files getting stored?

Also I found this project:
https://github.com/mafintosh/torrent-stream
This project is very simular to this project but uses bittorrent, if there is no hybrid client yet we can use this project to create one.

is ther a difference between webtorrent and bittorrent torrent files/ magnet links (if this is the case how do we link them)?

No, there is no difference, the issue is that webtorrent (in browser) is limited to webRTC, and other clients haven't implemented that connection method

how do clients find each other?
There are two methods of finding peers, a tracker, or a DHT (Distributed Hash Table). You can lookup how either work

where/how are the torrent files getting stored?
I am still not exactly sure about how it is stored in browser. It might be in memory if you download it. This is used, https://github.com/mafintosh/memory-chunk-store but I don't think it does local storage or anything.

Check out https://github.com/feross/webtorrent-hybrid for a bridge between BitTorrent/BitTorrent over WebRTC.

webtorrent-hybrid is just webtorrent with a native wtrc module. Since chrome apps can already do wrtc, I think just net needs to be polyfilled, which is why I posted https://github.com/feross/chrome-net. It says it's used by webtorrent, but it isn't. This makes me think that @feross tried to get webtorrent to work in a chrome app recently.
I think building webtorrent with browserify, substituting chrome-net for net, might work. Somebody should try it.

@devTristan I think you are mistaken about webtorrent-hybrid, it connects to both webrtc and TCP/UDP peers. Webtorrent (non-hybrid) is only for webrtc in the browser, and IIRC only tcp/udp in node.
So you need to use webtorrent hybrid for both. Webtorrent will only do one, or the other, depending on the enviornment.

Right, sorry, that's what I meant. See the source code:
https://github.com/feross/webtorrent-hybrid/blob/master/index.js
https://github.com/feross/webtorrent-hybrid/blob/master/lib/global.js

Looks like net availability is determined here at least, possibly elsewhere... https://github.com/feross/bittorrent-swarm/blob/master/index.js#L320

Great idea! +1

+1
Its definitely doable! Just tried torrent stream chrome extension
It uses bittorrent in a chrome extension. It can stream torrents and its also seekable witch is grate! (think the CPU went up when i tried)

I managed to get this working a while ago. It's an MVP but it runs.
https://gist.github.com/devTristan/b768d2ee571350d5b796
The hard part was aliasing all of the node-only modules and overriding browser excludes. It was pretty easy to find chrome-compatible modules to polyfill things like net and dgram, because @feross already made them! I was also able to grab native-dns to polyfill dns. That just uses the net module provided by chrome-net and gets DNS resolving using the chrome APIs.
What works:

Downloading and seeding on the bittorrent network
Downloading and seeding on the webtorrent network (it's a hybrid client!)
The DHT. My favorite data structure. Thanks, chrome-dgram!
Downloading totally legal torrents and embedding them in video tags. Thanks, blender open movie project!

What doesn't work:

Anything after about 3 minutes. It crashes either the app or the entire browser. Pretty neat, huh?

I don't know why it crashes. I suspect it's something to do with trying to allocate too much in the way of resources - memory, disk space, network connections, etc. When I do profiling, it looks like the JS-Native bridge is the bottleneck with all of the network api calls, but I could be wrong.
You should be able to clone my gist and try it out yourself. Happy hacking.

I'm having the same issue with everything working fine for a couple minutes, but I can actually watch the CPU utilization slowly tick up as well as the Packets in/out.  My guess is it's slowly duplicating processes but I can't figure out why.  This is my background script... https://github.com/loon3/Tokenly-Pockets/blob/master/Chrome Extension/js/webtorrent/bvam-seed.js

Hi @devTristan !,
I try to run your extension, but i can makes work.
I put the bundle.js (not include in your package at same of app.css) and the code retrieve the follows erros:
Failed to load resource: net::ERR_FILE_NOT_FOUND
3extensions::platformApp:17 window.localStorage is not available in packaged apps. Use chrome.storage.local instead.(anonymous function) @ extensions::platformApp:17
2extensions::platformApp:17 window.toolbar is not available in packaged apps.(anonymous function) @ extensions::platformApp:17
2extensions::platformApp:17 window.statusbar is not available in packaged apps.(anonymous function) @ extensions::platformApp:17
2extensions::platformApp:17 window.scrollbars is not available in packaged apps.(anonymous function) @ extensions::platformApp:17
2extensions::platformApp:17 window.personalbar is not available in packaged apps.(anonymous function) @ extensions::platformApp:17
2extensions::platformApp:17 window.menubar is not available in packaged apps.(anonymous function) @ extensions::platformApp:17
2extensions::platformApp:17 window.locationbar is not available in packaged apps.

Hey @eliooses, did you use the npm run watch or npm run watch-js script to kick off your build?
I think all of those warnings are fine, but the net::ERR_FILE_NOT_FOUND error might be related to the aliasing of the fs module as base:/fakefs.js. Make sure fakefs.js is in the same directory as your package.json.

This idea - torrent client as a Chrome extension - was actually one of the first things I did when starting to play with webtorrent. It was very easy to get working. If anyone's interested in the code, I can upload everything I have as-is to a repository.

Hey, I created this https://github.com/aqwsez/webtorrent_chrome repo can you upload it? Thanks

@aqwsez blank repo!!!

Is anyone still working on something here? I would like to contribute. Would be awesome to be able to download regular torrents from the browser and seed them on webtorrent

FYI:

Important: Chrome will be removing support for Chrome Apps on Windows, Mac, and Linux. Chrome OS will continue to support Chrome Apps. Additionally, Chrome and the Web Store will continue to support extensions on all platforms. Read the announcement and learn more about migrating your app.

https://blog.chromium.org/2016/08/from-chrome-apps-to-web.html

To bring this back alive, something I'd like to add.
Building support for the Chrome UDP Sockets API in WebTorrent should also allow us to build WebTorrent support in Android apps via Google's sockets.udp Cordova plugin https://github.com/MobileChromeApps/cordova-plugin-chrome-apps-sockets-udp and even though Google is dropping support for Chrome Apps on Windows, Mac and Linux, I'd argue that Chrome OS support is still important considering that the userbase on that end keeps growing.

FWIW, I think a WebTorrent Chrome App is a great idea for Chrome OS users. I think that it won't help Mac, Windows, and Linux users much since Chrome Apps are deprecated and support will eventually be removed.
Unfortunately, the chrome.sockets API is only available in Chrome Apps not Chrome Extensions, so we can't make a Chrome Extension that allows full torrent network connectivity including over TCP and UDP.
For that reason, I personally don't consider making a Chrome App to be a top priority but if someone wants to take a stab at making one, go for it.


[11.0.x] ISPN-12273 Potential race condition during wiring of EncoderCache

https://issues.redhat.com/browse/ISPN-12273
Fix the race condition in factory auto-instantiation
by allowing all threads that see an EMPTY component wrapper
to create the instance (regardless of whether they registered
the component wrapper or not).

@pruivo @danberindei For what reason is this on hold?  We will need this fixed in a 11.0.x release for WildFly 21.

@pferraro I put it on hold while it would wait approval for the product, but I had forgotten to actually create the JDG issue.

integrated! thanks @danberindei !

Thanks guys!


Support Custom Hash Algorithms in Besu Interoperation SDK

Add support for user customization of the hash algorithm used in the asset exchange protocol in the Weaver Besu SDK (client layer).

@michiboo I believe you are already working on this?


Support using functions for defining custom messages

Is your feature request related to a problem? Please describe.
In different layers, depending on the imported file, we want to show the exact message, which cannot be expressed in one phrase for all cases, as it is implemented now in the form of a template
Describe the solution you'd like
For example, by default, all imports are disallowed
For the UI layer, for hooks (starting with use*), it is allowed to import from use_cases
At the same time, in the other UI modules, import is not allowed and in them we receive a uniform message that says nothing: There is no rule..." although knowing that the file is imported from use_cases into the module is not a hook in the UI layer, I could write "Use_cases are allowed to be imported only into hooks"

Interface suggestion
Hello, this could be done, as you suggested, by supporting the usage of functions in the message property of the configuration. It should receive an object with the information about the current file and the dependency being imported. For example:
{
  rules: {
    "boundaries/element-types": [2, {
      default: "allow",
      message: ({ file, dependency }) => {
          return "${file.type} is not allowed to import ${dependency.type}";
      },
      rules: [
        {
          from: ["helpers"],
          disallow: ["modules", "components"],
          importKind: "value",
          message: ({ file, dependency }) => {
             return "${file.type} is not allowed to import ${dependency.type}";
          },
        },
      ]
    }]
  }
}

This should be supported both in the general message property and in the message property of each specific rule. Properties to be passed should be the same than are passed currently to the templates. And aliases "from" and "target" should be also provided to keep consistency with the templating format for the definition of the rules, because it is pending to be normalized some day.
Workaround
Until this is implemented, there is a possible workaround that you could use for receiving different messages @budarin. You could set a "disallow" rule with a negative pattern and a custom message, which would be more specific that the general "disallow", and, therefore, it would be the one returned. For example:
rules: {
  "boundaries/element-types": [
     2,
     {
       default: "disallow",
       message: "Custom general message",
       rules: [
          {
             // note the usage of "!" to define "in everything except hooks"
              from: "!hooks",
              disallow: ["use_cases"],
              message: "Use_cases are allowed to be imported only into hooks",
           },
           {
              from: "hooks",
              allow: ["use_cases"],
           }
       ]
     }
  ]
}

the same functionality is required for boundaries/entry-point and other configurations, which throws errors


Create 03.SQL 15 Days of Learning SQL.sql

Issue Number:
#34
SQL : 15 Days of Learning SQL
This submission will close the issue #34
Submissions Checklist:

[x] Have you followed the guidelines in CONTRIBUTING.md?
[x] Have you checked there aren't other open Pull Requests for the same hackerrank problem?

[x] Is your file name exactly same as the problem name of hackerrank, followed by the proper extension?
[x] Have you ensured that you have put the files in appropriate folders? (Folders are made according to the subdomain of hackerrank practice problems).

Hacktoberfest Contributor:
megha-vishwakarma

[x] Are you a hacktoberfest contributor?
Yes

Hackerrank Problem Link:
https://www.hackerrank.com/challenges/15-days-of-learning-sql/problem?isFullScreen=true
Submitted Hackerrank Solution Link:
https://www.hackerrank.com/challenges/15-days-of-learning-sql/submissions/code/293556712
Any other changes you made or something you would like to mention?
NA

hey @megha-vishwakarma Why did you made two PRs for the same issue?

hey @megha-vishwakarma Why did you made two PRs for the same issue?

My apologies

@megha-vishwakarma No problem😃.


cilium gatewayClass does not gets accepted.

Is there an existing issue for this?

[x] I have searched the existing issues

Version
equal or higher than v1.16.4 and lower than v1.17.0
What happened?
in a kubernetes cluster created with kubeadm used cilium as cni, enable gateway-api via cilium-cli by running the following command:
cilium install --version "v1.16.4" --set authentication.mutual.spire.enabled=true --set hubble.metrics.enabled="{dns,drop,tcp,flow,port-distribution,icmp,httpV2:exemplars=true;labelsContext=source_ip\,source_namespace\,source_workload\,destination_ip\,destination_namespace\,destination_workload\,traffic_direction}" --set hubble.enabled=true --set hubble.metrics.enableOpenMetrics=true \
    --set authentication.mutual.spire.install.enabled=true --set gatewayAPI.enabled=true --set gatewayAPI.externalTrafficPolicy=Local --set gatewayAPI.enableAlpn=true --set gatewayAPI.enableProxyProtocol=false

The gatewayClass is being created but it never gets accepted.
There is no sign in the cilium operator pod that anything is happening that would try to approve the gatewayClass.
How can we reproduce the issue?
1 install cilium cli
2 cilium install --version "v1.16.4" --set authentication.mutual.spire.enabled=true --set hubble.metrics.enabled="{dns,drop,tcp,flow,port-distribution,icmp,httpV2:exemplars=true;labelsContext=source_ip,source_namespace,source_workload,destination_ip,destination_namespace,destination_workload,traffic_direction}" --set hubble.enabled=true --set hubble.metrics.enableOpenMetrics=true
--set authentication.mutual.spire.install.enabled=true --set gatewayAPI.enabled=true --set gatewayAPI.externalTrafficPolicy=Local --set gatewayAPI.enableAlpn=true --set gatewayAPI.enableProxyProtocol=false
Cilium Version
1.16.4
Kernel Version
Linux ny2-slave-6b4d 6.1.0-16-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.67-1 (2023-12-12) x86_64 GNU/Linux
Kubernetes Version
1.28,2
Regression
No response
Sysdump
cilium-sysdump-20241218-222620.zip
Relevant log output
Nothing related to this issue in the logs.

Anything else?
No response
Cilium Users Document

[x] Are you a user of Cilium? Please add yourself to the Users doc

Code of Conduct

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

In my case similar problem was caused by using >=1.2.0 gateway-api CRDs (despite it is mentioned in docs as prerequisite). When used v1.1 (1.1.0 and 1.1.1) it started work. Kubernetes version doesn't matter (performed tests on 1.29, 1.30 and 1.31), helm chart used by me 1.16.5.

Will test and report back

I deployed the TLSRoute experimental CRD and restarted the operator and it does work.


Share base stores among config selects

Description
The settings of most of our plugins each contain multiple selects which are backed by stores, usually Shopware.apps.Base.store.Payment, Shopware.apps.Base.store.PaymentStatus and Shopware.apps.Base.store.Dispatch.
The situation right now is that for each of these selects, the backing store is loaded twice per subshop. This means that for customers who have more than a few subshops (8, for instance), opening the Pickware Mobile settings causes more than 200 HTTP requests to be made to the server in order to load the same content of three stores. This basically amounts to a small DoS attack on the server and can cause timeout errors to occur.
Here is an example waterfall graph for a standard installation (DE and EN subshops) loading one of our plugins' basic settings page:

This PR improves the situation by changing the getStoreById() method on Shopware.apps.Base.view.element.Select to use a managed store instance which prohibits reloading for all selects that use the same store. When the select requests a filter using the features @svenmuennich has implemented in https://github.com/shopware/shopware/pull/699, the filter gets encoded into the storeId to ensure that each combination of filters uses its own store instance.
In addition to implementing store sharing, I've removed autoload: true from the code that instantiates the store. This was causing all stores to be loaded twice because setValue will force loading of the store anyway and that always gets called when the config form is loaded.
Here's the waterfall graph for the same plugin's basic settings  again after this patch has been applied:

Questions
Answers

Why?
Silly number of requests when loading basic settings pages that use multiple store-backed selects. See explanation above.

BC breaks?
no

Tests exists & pass?
none exist

Related tickets?
None that I know of

How to test?
Use this test plugin.

Requirements met?
yes

Hello,
thank you for creating this pull request.
I have opened an issue on our Issue Tracker for you. See the issue link: https://issues.shopware.com/issues/SW-18790.
Please use this issue to track the state of your pull request.

thanks for your contribution @fixpunkt

Due this change the basic example of https://developers.shopware.com/developers-guide/plugin-configuration/#selectionfield-/-remote-combobox does not work more.
I patched my local shopware copy back and it works normal. I guess the problem is that normal stores like Shopware.apps.Base.store.Category don't have autoLoad, so they would be never loaded.
@fixpunkt i would like create a new pr which adds autoLoad: true to the Base stores to solve the issue or have you a better idea?

Hmm, you could try stepping through setValue to see why store.load is not being called:
https://github.com/VIISON/shopware/blob/bc8c405784bf51abe10d25aca87a76f286fa5df7/themes/Backend/ExtJs/backend/base/component/element/select.js#L85

The value null condition in setValue breaks it, because after the plugin installation is the value null 🙄
I have created a pr: https://github.com/shopware/shopware/pull/1497
Thank you for your idea with the setValue ❤

No worries, thanks for fixing my shit!


content in a drag drop component becomes blurry at non-default zoom on linux

Bug, feature request, or proposal:
Bug
What are the steps to reproduce?

open https://material.angular.io/cdk/drag-drop/overview on chrome 70+ on linux
zoom to 110%
drag the box in the first example around and notice that sometimes it's blurry (it should never get blurry)

The blurriness becomes more frequent/easier to spot if you change the font in the dialog box to 13px (it's at 14px by default). Still, it varies depending on the exact dragged spot, making me think this could be due to some sort of aliasing issue with how the position is set while dragging.
I'm told this also happens at lower and higher zoom levels (though things look fine at 100%).
Which versions of Angular, Material, OS, TypeScript, browsers are affected?
Affected: Linux, Chrome 70
Not affected: Chrome OS,
Is there anything else we should know?
Original internal issue for reference b/120034512

Looks like this is still happening on Chrome 73.0.3683.75 on Linux using the originally-filed steps. Seems like zooming is the key factor; it seems that the fix in #14299 assumes that there is no browser zoom applied. For instance- if a 110% browser zoom is applied, ensuring that the translate3d() transform has values that are divisible by 10px will ensure that no blurriness occurs.

(and actually, not just on Linux, when browser zoom is applied - repro's just as easily on CrOS)

It's because the element is moved with translate3d. Moving it with just translate works without blur.

@crisbeto getting reports that this is still a problem at non-default zoom levels. I'll ask people to provide more details if necessary.

It would be nice to get some more details since I can't think of anything else, off the top of my head that would cause the content to be blurry.

I noted at https://github.com/angular/material2/issues/14283#issuecomment-472221615 that the original steps repro this still, and alur@ noted that the usage of translate3d is the cause. Can you clarify what details would be helpful here?

I managed to reproduce it now. I think that my Chrome might have been out of date the last time I tried to reproduce it.

Closing since this looks like a browser issue, rather than something we can fix on our end (see the discussion on #15695).


"Viet Nam" is one word "Vietnam"

Correct spelling is Vietnam

Thanks @asplogic - I've created a ticket on the source repo here: https://github.com/benkeen/country-region-selector/issues/59
I'll update that this weekend (or feel free to put in a PR!)

Fixed in 1.2.3. Thanks!


feat(slatetohtml): convert line breaks to br tags

Addresses https://github.com/thompsonsj/slate-serializers/issues/32

Although I'll have to add more test cases, to cover nested structures, e.g. within tables or nested div's, etc.

Thanks @steven-prybylynskyi ! Adding support for line breaks in slateToDom/slateToHtml is something that I hadn't gotten around to yet, so I appreciate your adding support for that.
Agreed with the point about adding tests for nested structures such as tables, nested divs ...etc. I plan to look into that at some point.
Merging this as it is a much needed improvement.

Included in 0.0.25

Thx @thompsonsj! It's really great to see your quick response. That's one of the concerns usually when it comes to do contributions to small libraries and 3rd party libs in general.
Bumping the version here


Add missing 'repository' to package.json

I noticed that the npm page didn't have a link to this repo.

Thanks!


python310Packages.flake8-bugbear: 22.3.23 -> 22.4.25

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python310Packages.flake8-bugbear is: "A plugin for flake8 finding likely bugs and design problems in your\nprogram.\n"
meta.homepage for python310Packages.flake8-bugbear is: "https://github.com/PyCQA/flake8-bugbear"
meta.changelog for python310Packages.flake8-bugbear is: "https://github.com/PyCQA/flake8-bugbear/blob/22.4.25/README.rst#change-log"
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 22.4.25 with grep in /nix/store/660m5bqjy7py20fvxpblb43rz3w530r8-python3.10-flake8-bugbear-22.4.25
found 22.4.25 in filename of file in /nix/store/660m5bqjy7py20fvxpblb43rz3w530r8-python3.10-flake8-bugbear-22.4.25

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

4 total rebuild path(s)

2 package rebuild(s)

2 x86_64-linux rebuild(s)
2 x86_64-darwin rebuild(s)

First fifty rebuilds by attrpath
python310Packages.flake8-bugbear
python39Packages.flake8-bugbear

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/660m5bqjy7py20fvxpblb43rz3w530r8-python3.10-flake8-bugbear-22.4.25 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

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

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/660m5bqjy7py20fvxpblb43rz3w530r8-python3.10-flake8-bugbear-22.4.25
ls -la /nix/store/660m5bqjy7py20fvxpblb43rz3w530r8-python3.10-flake8-bugbear-22.4.25/bin

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

2 packages built:

python310Packages.flake8-bugbear
python39Packages.flake8-bugbear

Maintainer pings
cc @newAM for testing.

Result of nixpkgs-review pr 170281 run on x86_64-linux 1

2 packages built:

python310Packages.flake8-bugbear
python39Packages.flake8-bugbear


enhancement: a custom track to show the input range

It will be great if it can show a custom track, like the UCSC genome browser.
Updated:
My goal is to check whether SV break an enhancer or not. Currently, it is not easy to get the location of a certain SV (using a mouse pointer). Thank you.
although it has a custom default track already, another track to show where is the SV segment among this default track will show genes nearby, which is important to the SV.
As an SV may disrupt an enhancer, so it will great to make an (column of) enhancer-centred view, besides the gene-centred view.

It will be great if it can show a custom track, like the UCSC genome browser.

I am working on a feature to allow you to customize the entire view but you will have to use the HiGlass/Resgen(https://resgen.io) ecosystem.
Could you specify what kind of track you would like to load? At the moment you can at least already browse a custom bed track. This might already help you correlate SV with enhancers.

Currently, it is not easy to get the location of a certain SV.

Can you clarify? Navigating to a certain location is simple. Or do you mean something else?

I also made some update about my question.

Currently, it is not easy to get the location of a certain SV.
if a SV is within a custom track, it will be difficult to know the exact location of the SV.

If the custom track on the left is used only to show the SV itself, the nearby genes of the SV will be not shown. Thank you.

I think I get your request. Supporting the structural variations-aware manner would indeed be cool. Unfortunately, I can't give you any time lines as this would be a pretty involved feature.

Showing genomic features, like structural variations, is great. Here a quick way is to use the input of users, not to load structural variations from a public database as the structural variations are relatively sparse in the genome. Thank you.