MSRV resolver has surprising behaviour in workspaces with mixed MSRV

Problem
As state by @epage in https://github.com/rust-lang/cargo/issues/13873#issuecomment-2284833685 , a new issue was preferred for this. The issue is that the new MSRV aware resolver leads to surprising and suboptimal behaviour in a workspace with mixed MSRV:

https://github.com/rust-lang/cargo/issues/13873#issuecomment-2282698377
https://github.com/rust-lang/cargo/issues/13873#issuecomment-2284759998
https://github.com/rust-lang/cargo/issues/13873#issuecomment-2282712218

The issue is that (for whatever reason) you have a workspace where one (or more) of you crates is on a much older MSRV than the rest. Then the MSRV aware resolver will attempt to create a lockfile for all of the workspace based on that oldest version even if the dependency in question isn't even used by that old-MSRV crate. In certain cases this can cause there to be no possible solutions to the dependency resolution (as detailed by the comment linked in the third bullet point above).
There are valid reasons to have mixed MSRV, such as the different crates having different MSRV policy. or just that some crates naturally have solver development and don't need to be bumped to a newer MSRV as often as other crates.
I will here describe my use case where I run into this (I cannot speak for the cases where others run into this as what @Darksonn described):
I have a workspace I use to develop a command line program. Having it all the related crates (both the main binary and supporting libraries) all in one workspace makes development much easier, especially during the early phases when everything is evolving rapidly. Some of these crates are generally useful to others as well (file format parsers in my case).
I also have an agressive MSRV policy: only N-2 is guaranteed (but I won't bump MSRV gratuitously just for the sake of it, so actual MSRV can be much further back).
Eventually some of these crates will start to stabilise, especially the "leaf node" supporting crates with simple and clearly defined scope. There is only so many things you need in a library that parses a file format. That means it won't get breaking changes nor get published to crates.io as often. And also that there will be no reason to bump MSRV.
Now the problem here is that this leaf node dependency with older MSRV will now drag down the versions of dependencies that get used for my main crate of the workspace (the "flagship" binary crate).
Steps

Have a (virtual?, I don't know if it affects non-virtual as well) workspace with mixed MSRV
CARGO_RESOLVER_INCOMPATIBLE_RUST_VERSIONS=fallback cargo +nightly -Zmsrv-policy generate-lockfile

Possible Solution(s)
Possible solutions (and why they are suboptimal):

I could bump the MSRV and publish releases to crates.io that are nothing but "bump MSRV". This leads to churn and "pointless" releases from the point of view of everyone else.
I could selectively publish single crates from the workspace (update the MSRV of the dependency crates but don't publish them). It would be error prone:

I would need to ensure that I didn't start depending on any "unreleased commits". Sounds like I need a "cargo-reverse-semver-checks"?
This would be complicated since I automate publishing from CI using release-plz. Partial publishing is as far as I understand not supported with the automated CI/PR workflow, only when publishing locally from your own computer (which is bad practise).

The better option would seem to me that cargo would consider the entire dependency graph when writing the lock file and look at what dependencies are reachable from what crates, and compute the minimum needed MSRV for each dependency.
Notes
No response
Version
❯ cargo +nightly version --verbose
cargo 1.82.0-nightly (2f738d617 2024-08-13)
release: 1.82.0-nightly
commit-hash: 2f738d617c6ead388f899802dd1a7fd66858a691
commit-date: 2024-08-13
host: x86_64-unknown-linux-gnu
libgit2: 1.8.1 (sys:0.19.0 vendored)
libcurl: 8.9.0-DEV (sys:0.4.74+curl-8.9.0 vendored ssl:OpenSSL/1.1.1w)
ssl: OpenSSL 1.1.1w  11 Sep 2023
os: Arch Linux Rolling Release [64-bit]

btw Cargo is a multi-MSRV workspace but we only have two and one of those is "N" so we avoid most of this problem.

So another way to put this is that when you are in a mixed-MSRV workspace, you get proper handling of your lowest MSRV but for all other MSRVs you get one of

Older dependencies than necessary
No MSRV-aware resolver

Depending on the dependency and how "wide" of a version requirement you have.
For older dependencies, the answer is "just pick a higher version req" but then that puts you in the second situation unless you make your MSRV "N".

As this puts this use caae in the "No MSRV-aware resolver" situation, this is no worse off than we are today except for a communication / expectations issue.
The MSRV-aware resolver not being path aware is a fundamental limitation of the "fallback" strategy.   Quoting from https://github.com/rust-lang/cargo/issues/13873#issuecomment-2284632237

When we are evaluating a version requirement, we don't know what all version requirements might apply.  We filter and sort  to find a version we pick and move on.  If a chosen version is filtered out for another version req, we backtrack.  fallback applies to the sorting step, not the filtering step, and never gets re-evaluated unless something else causes enough of a backtrack.  If we sorted per version requirement, what you got would be dependent on the order the dependency tree was walked.
Originally we had considered incompatible-rust-versions = "deny" as the policy.  The quality of the error messages from the current resolver is a blocker to that policy and stopped us from looking any further into this.  In discussing fallback, other workflows came up that wouldn't work with deny, like no-MSRV-dev-dependencies or per-feature MSRVs.
The fallback mechanism was a compromise to get something that works now.
Once we have the PugGrub resolver, we'll also need to figure out how to map package versions back to workspace members back to know which MSRVs apply.

Neither of these facts mean we shouldn't consider ways of improving things.

So far, the only idea I have is that we collect all MSRVs in the workspace and sort the version candidates into MSRV buckets.  If a version req disallows versions in the lowest MSRV bucket, consider the next MSRV bucket on up.
So long as your version requirements are MSRV compatible, you'll get an MSRV-aware resolve.  You just might get older versions than you absolutely need for MSRVs sake but you did say you are compatible with it, so I'm not too worried without mitigating context being brought up.
I just checked cargo add and it checks the MSRV of the package being added to so that will play nicely with this scheme though it may need tweaks for #10608.

Before I forget, it would be very easy for dependency unification to cause a package with a high MSRV to make it so you can't verify a package with a low MSRV, so the mixed-MSRV workflow is already a bit "here be dragons" (which is why we need to be careful with #10608).

A third possible workaround would be to split out "stabilised crates" from your workspace into their own separate git repos. That is slightly non-trivial though (you need to use some arcane git commands if you want to keep the history, you need to set up CI anew, generate new and separate publishing secrets, possibly add contributors again if there are other contributors, etc etc). Doable, but there is a definite barrier to entry.  Monorepos are in many ways a lot nicer to work with.
Frankly it is a bit more work than I have the energy to deal with right now, but I might consider it. Bonus: It would also simplify MSRV CI testing (that is a bit complex in a multi-MSRV repo),

So far, the only idea I have is that we collect all MSRVs in the workspace and sort the version candidates into MSRV buckets. If a version req disallows versions in the lowest MSRV bucket, consider the next MSRV bucket on up.

This sounds similar to my graph suggestion (I guess it depends on what your internal representation is). If it is a full blown graph you could traverse the graph from the workspace crates, and mark each crate with the oldest MSRV it needs to support. Then you have your answer there. Though a complication is that an older/newer version of a dependency might have different dependencies transitive dependencies I guess.

Before I forget, it would be very easy for dependency unification to cause a package with a high MSRV to make it so you can't verify a package with a low MSRV, so the mixed-MSRV workflow is already a bit "here be dragons" (which is why we need to be careful with https://github.com/rust-lang/cargo/issues/10608).

I do put all dependencies (and features that aren't tied to feature flags of my own crates) in the workspace currently. This seems to help a bit with feature unification (without going to a full blown workspace hack, which I have been considering, though the publishing story for that seems complex).
I think it is fine if you get an (somewhat reasonable) error message for these tricky situations though. Unexpected behaviour is worse, but a "Can't resolve tokio due to conflicting MSRV requirements from crate_a and crate_b" is perfectly fine.

A third possible workaround would be to split out "stabilised crates" from your workspace into their own separate git repos. That is slightly non-trivial though (you need to use some arcane git commands if you want to keep the history, you need to set up CI anew, generate new and separate publishing secrets, possibly add contributors again if there are other contributors, etc etc). Doable, but there is a definite barrier to entry.  Monorepos are in many ways a lot nicer to work with.

You don't have to go so far, you can have multiple workspaces in one repo.  Still not great.
Without worrying about transient state like "stabilization level" (unless you coupled MSRV to that), you could break up your workspace by MSRV.  I've been tempted to do that for cargo.

This sounds similar to my graph suggestion (I guess it depends on what your internal representation is). If it is a full blown graph you could traverse the graph from the workspace crates, and mark each crate with the oldest MSRV it needs to support. Then you have your answer there. Though a complication is that an older/newer version of a dependency might have different dependencies transitive dependencies I guess.

If I'm understanding, you are suggesting we traverse the transitive dependency graph, marking packages with the MSRV that they need to uphold.  The problem is we are in the process of building that graph as we go and there can be multiple paths to a single dependency and by the time we walk down the second path to it, it is already selected.  We'd need a solution that allows us to then reject that dependency and try again, like when you resolve for foo = "1.0" and foo = "1.1" with -Zminimal-versions.  We first select 1.0.0 but then find it doesn't work, so back track and try again with.  Worse, we'd then need to re-traverse foos dependencies and make sure they also satisfy the new MSRV.  This only works with incompatible-rust-versions = "deny" which is blocked at this time.

Oh right, you need each graph node to be a set of possible versions (with associated MSRV versions). Or do search with backtracking (which likely won't be performant, it seldom is). And yes indirect dependencies (that may contain subgraphs that are also reachable via other paths, this is a DAG not a tree after all) makes this really annoying.

I would find it really useful if there was a flag to tell cargo what version to use as MSRV when resolving packages. That way, I can at least use that in cases that are too complicated for the tool to handle automatically. I also have a case where I want to resolve using a different version than the MSRV of any crate in the workspace. Specifically, I'd want to resolve using whichever rustc was the latest release when I last used the branch.

That way, I can at least use that in cases that are too complicated for the tool to handle automatically

Say we move forward with my earlier proposal, I assume these use cases would still exist?  Could you describe what the use case if?  Is this something that would need to block any MSRV-aware resolver from being released and, if so, why?

I also have a case where I want to resolve using a different version than the MSRV of any crate in the workspace. Specifically, I'd want to resolve using whichever rustc was the latest release when I last used the branch.

Could you describe the use case and the motivation behind it?
Most likely, we'll want to split the conversation about manually specifying the rust-version to resolve to as a separate issue and it will be important to understand the problems that are being solved with it to know how to prioritize it.  My inclination at this moment would be to not adjust the status from "future possibility".

Manually specifying the MSRV to use for resolution could be a viable workaround for me, since the crates that become stable for me tend to have fairly few and slow moving dependencies.
It could however be risky, should one of those dependencies bump MSRV if I don't notice it. In my case CI would notice that, but that isn't a given for everyone.

Say we move forward with https://github.com/rust-lang/cargo/issues/14414#issuecomment-2294068030, I assume these use cases would still exist? Could you describe what the use case if? Is this something that would need to block any MSRV-aware resolver from being released and, if so, why?

No, no, there's no need to block anything. The solution of having several buckets sounds sensible enough. I suggested manually specifying the version because it seems like there are a lot of different ways you could set up your workspace, and it seems difficult to support all of them with a single system. Having an escape hatch in cases like this is often a good idea.
One use-case is this: I generally want to check that my project works with both with the MSRV rustc and the latest rustc. When checking with the latest rustc I also want to use the latest deps. However, if I go back to an old branch where CI doesn't pass with the newest compiler (e.g., due to new warnings), then I may want to generate a lockfile using the newest rustc that compiles the project warning-free. I can do this by manually telling the tool to resolve according to whichever version that is.
But again, the intent behind the suggestion is as an escape hatch for all of the things we aren't able to think of. I don't necessarily think it's the best solution to any specific case.

One use-case is this: I generally want to check that my project works with both with the MSRV rustc and the latest rustc. When checking with the latest rustc I also want to use the latest deps. However, if I go back to an old branch where CI doesn't pass with the newest compiler (e.g., due to new warnings), then I may want to generate a lockfile using the newest rustc that compiles the project warning-free. I can do this by manually telling the tool to resolve according to whichever version that is.

Interesting use case.  Thanks for sharing!

To lay out the situation more explicitly.
Say you have a workspace:

higher

MSRV: 1.75
depends on

only-higher-incompatible 1.75
only-higher-compatible 1.70
shared 1.70

lower

MSRV: 1.70
depends on

only-lower-compatible 1.70
shared 1.70

The registry has at least

only-higher-incompatible 1.80 with MSRV 1.80
only-higher-incompatible 1.75 with MSRV 1.75
only-higher-incompatible 1.70 with MSRV 1.70
only-higher-compatible 1.80 with MSRV 1.80
only-higher-compatible 1.75 with MSRV 1.75
only-higher-compatible 1.70 with MSRV 1.70
only-lower-compatible 1.80 with MSRV 1.80
only-lower-compatible 1.75 with MSRV 1.75
only-lower-compatible 1.70 with MSRV 1.70
shared 1.80 with MSRV 1.80
shared 1.75 with MSRV 1.75
shared 1.70 with MSRV 1.70

Today, we resolve everything without MSRV and get

higher

MSRV: 1.75
depends on

only-higher-incompatible 1.80 (MSRV incompatible)
only-higher-compatible 1.80 (MSRV incompatible)
shared 1.80 (MSRV incompatible)

lower

MSRV: 1.70
depends on

only-lower-compatible 1.80 (MSRV incompatible)
shared 1.80 (MSRV incompatible)

With the MSRV-aware resolver, we'll resolve with MSRV 1.70 and get:

higher

MSRV: 1.75
depends on

only-higher-incompatible 1.80 (MSRV incompatible)
only-higher-compatible 1.70 (lower than needed)
shared 1.70

lower

MSRV: 1.70
depends on

only-lower-compatible 1.70
shared 1.70

With my proposal in this issue, you'd resolve for 1.70 and 1.75 and get:

higher

MSRV: 1.75
depends on

only-higher-incompatible 1.75
only-higher-compatible 1.70  (lower than needed)
shared 1.70

lower

MSRV: 1.70
depends on

only-lower-compatible 1.70
shared 1.70

The solution of using each crate's MSRV to affect only the things needed by that crate would be obviously correct, but the problem with that would be the complexity of implementation. (Which is why that solution might not be viable, at least with the current resolver.)
The proposal to do MSRV bucketing and prioritization still seems to me like it'll produce unwanted surprises, where in a mixed-MSRV workspace, it's almost like the old MSRV in one crate affects others, but worse, because it sometimes affects others but gets bumped forward if it fails to resolve.
So a crate with a brand new MSRV will still get old dependencies as long as they resolve.
(Assuming I'm understanding the proposed solution correctly.)
I definitely agree that the current state is not ideal, but it is at least really predictable.
It seems like a cargo-hack-style solution of resolving deps for different MSRVs separately would be closer to what people may often want/expect in a mixed-MSRV workspace, such as for testing that the crates with old MSRVs still build with those MSRVs.
On the simpler side, even just forcing the specification of a workspace-wide MSRV for dependency resolution would be the easiest way to get an easily predictable outcome when doing a single workspace-wide dependency resolution.

The really big issue is silent downgrading of crates with no obvious warning that this is because of MSRV (there is a lot of noise about not using the latest version due to indirect dependencies depending on older semver).

My current reporting plan is, in precedence order

Red:  incompatible with MSRV (#14457)
Yellow: MSRV-compatible upgrades are available (path-aware, unlike the resolver)
Plain: upgrades are available but blocked (semver, MSRV)


Can mafia quick load C symbols?

Is it possible to make mafia quick load the C symbols? Maybe not since it would make it not-so-quick.
amos@Amos anemone $ mafia quick test/Test/Anemone/Foreign/Memcmp.hs
GHCi, version 7.10.2: http://www.haskell.org/ghc/  :? for help
[1 of 4] Compiling Anemone.Foreign.Data ( src/Anemone/Foreign/Data.hs, interpreted )
[2 of 4] Compiling Anemone.Foreign.Memcmp.Base ( src/Anemone/Foreign/Memcmp/Base.hs, interpreted )
[3 of 4] Compiling Anemone.Foreign.Memcmp.Export ( src/Anemone/Foreign/Memcmp/Export.hs, interpreted )

ByteCodeLink: can't find label
During interactive linking, GHCi couldn't find the following symbol:
  hs_anemone_memcmp8
This may be due to you not asking GHCi to load extra object files,
archives or DLLs needed by your current session.  Restart GHCi, specifying
the missing library using the -L/path/to/object/dir and -lmissinglibname
flags, or simply by naming the relevant files on the GHCi command line.

Just running mafia repl works, so I wonder whether there's a way to ask cabal to compile just the C stuff, then tell ghci to load the compiled C.
amos@Amos anemone $ mafia repl test
λ :l test/Test/Anemone/Foreign/Memcmp.hs
Ok, modules loaded: Test.Anemone.Foreign.Memcmp.

Putting an issue because I might look into this one day.

You can pass it object files on the command line:
$ mafia quick test/Test/Anemone/Foreign/Memcmp.hs dist/build/csrc/**.o
GHCi, version 7.10.2: http://www.haskell.org/ghc/  :? for help
[1 of 4] Compiling Anemone.Foreign.Data ( src/Anemone/Foreign/Data.hs, interpreted )
[2 of 4] Compiling Anemone.Foreign.Memcmp.Base ( src/Anemone/Foreign/Memcmp/Base.hs, interpreted )
[3 of 4] Compiling Anemone.Foreign.Memcmp.Export ( src/Anemone/Foreign/Memcmp/Export.hs, interpreted )
[4 of 4] Compiling Test.Anemone.Foreign.Memcmp ( test/Test/Anemone/Foreign/Memcmp.hs, interpreted )
Ok, modules loaded: Test.Anemone.Foreign.Memcmp, Anemone.Foreign.Memcmp.Base, Anemone.Foreign.Memcmp.Export, Anemone.Foreign.Data.

... but making it recompile those for you at the right time will probably always require cabal.

That's awesome, thanks!


 support

Is it possible to scrape  tag where there's multiple  inside and at attributes like data-*?

@vedovato this is simply using cheerio please look up the documentation of cheerio for that
x-ray is in fact only a request module bundled with cheerio and a other interface for the code:
$('Scope can be tag or what ever you like').attr

this x-ray implamentation simply exports a function that places the first values and args to cheerio as Scope selector and find commands.

Nice, @frank-dspeed. Thank you


HDDS-5712. no need to wait before start a new balance iteration

What changes were proposed in this pull request?
for now, when a balance iteration ended, we have to wait balancingInterval(default 1 hour , too long) before start the next iteration.
since we already have the following code for waiting for each move option, the only role of the waiting before starting a new iteration is to see whether the balance thread has been interrupt.
ReplicationManager.MoveResult result = future.get( config.getMoveTimeout().toMillis(), TimeUnit.MILLISECONDS);

we can use isInterrupted to see whether it has been Interrupted, and thus we can start the next iteration as soon as possible
this PR avoid balance thread for being interrupted by itself  HDDS-5671
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-5712
How was this patch tested?
no need

@lokeshj1703 @siddhantsangwan PTAL!

@JacksonYao287 We are waiting for datanode to update its utilisation. DN runs du at a default interval of 1 hour.

We are waiting for datanode to update its utilisation. DN runs du at a default interval of 1 hour.

@lokeshj1703  one hour seems too long.  i think maybe we can add a command to force all the target and source datanodes to run du after a balance iteration, so that scm can get the latest disk utilization of these datanode.

@JacksonYao287 We can add a config for that but I don't think that should be the default behaviour since du can interfere with other operations in datanode. This would be a requirement only if user wants aggressive balancing to happen.


Prevent Js error on iOS

Fixes #164 to prevent a Js error on iOS about synchronous request

well.  now after i applied this.  it works on iOS but not on Android.

i have updated the PR to include a try/catch around http.send().  it now works on iOS or Android.

@rickerd why put something there, he use try only for android as i understand.

the error seems harmless when it occurs. instead of trying to prevent or detect it, just swallowing the error works in practice.

Yes but its strange to try something and not catch anything if its for a specific use like Android.
Then maybe a if statement could be written instead of a try catch.

what would the code do then? it could report an error, but it would not be helpful, since the code continues to run normally with or without the try catch. only way i could think to "if" this would be a brittle browser sniff.


Pasting not working

I don't have a particular Use Case for this, but sometimes when my application starts something goes wrong with the editor. Typing and adding of emojis works, but pasting is not working at all. Even a rightclick on the contenteditable is not showing me the copy/cut menu options. Is it a contenteditable problem or a emojionearea problem? Any ideas?

Browser? OS?

OS: Windows/Linux, Browser: Firefox. It seems like something dies during intialization or something like that but keeps the textarea functionally alive except for that part. that's how i initialize it:
var emojionearea = chatWindow.find("textarea").emojioneArea({
    pickerPosition: "top",
    filtersPosition: "bottom",
    tones: false,
    autocomplete: false,
    hidePickerOnBlur: true
});`

Hm, I just tried on Firefox 47.0 on Ubuntu 16.04 - it's works fine.

Can you try paste something on this page with opened firefox's developer js console.
Are there any errors in the console?

We use Firefox 48.0.2 and same Linux and Windows 10. The problem with this issue is that it happens unpredictably on 1 of 10 cases. But when it happens it is annoying. Firebug and the console is not throwing any errors on paste or anything. I am keeping an eye on it right now. If i get it recreated i will show you some screenshots.

Even a rightclick on the contenteditable is not showing me the copy/cut menu options.

It is your OS problems

Let me recreate it and i will show it to you, should've done it in the first place

The first image shows that i don't get any pasting or copy options in the context menu aswell as the keyboard functions for those actions are not getting triggered.

In the second image i have the regular options and get the possibility to copy or paste

As said previous, i don't know what the cause for this is because i don't get any errors thrown from the application. This behaviour happens rarely, but it is not related to any OS because it happens across all of them. It might be an FF issue though, because i haven't tested it that far with other browsers. Is it maybe a problem with contenteditables?

It happend at this page ?

No, in my application it happened. We are using it for our own chat with the consctructor that i posted a few days ago. Sometimes when the application loads, the textarea plugin doesn't let us copy anything into it but accepts typing and addition of emojis. I don't have anything to grab on, because i don't have any more error informations provided by the browser. All i can say it happens directly after starting the webapp. Afterwards creating new textareas doesn't solve the problem. It happens for every instance. They are still not excecuting any paste/copy operations. We are not manipulating the textarea itself, so i don't think that anything from our side is triggering this behaviour.

This issue is from our side confirmed fixed with the newer releases of emojionearea. You can close this issue.


Improve CDDL specs by using any

CDDL has the notion of any which can be used to indicate that something is not specified.  We provided this for Tx and TxId in tx-submission mini-protocol in #4580.  It would be nide to extend this approach to other mini-protocols.

[ ] chain-sync
[ ] block-fetch
[x] tx-submission #4580
[x] local-tx-submission
[ ] local-state-query

I took a look into this. And the rest of the protocols use ouroboros-network-mock and ouroboros-network-api mock types for Point, Block, etc.. types. I am not sure we want to stop using these since they belong to the testing ecosystem and mock the real thing


Version 5.0.1 has major memory retention problem but is not marked as deprecated

The version 5.0.1 has the memory retention problem discussed in https://github.com/dotnet/SqlClient/issues/1810, but dispite multiple comments suggesting that the version should be marked as deprecated or having a bug, the version is till up and unmarked on NuGet.
I just took some days to "rediscover" this problem and am grateful for it being already solved. However I think it would be very helpful for all users of the version.
And as you can see on the nuget stats page for the package, version 5.0.1 was downloaded over 3 million times in the last 6 weeks

So version 5.0.1 is far from not being used, but IMHO should be with this kind of problem.

A lot of downloads of this package come via EF Core 7 and the latest version of EF Core 7 was just Updated to use 5.11

Thank you for providing the feedbacks, we'll look into it and try to improve it on NuGet.org.

A lot of downloads of this package come via EF Core 7 and the latest version of EF Core 7 was just Updated to use 5.11

As of now the version 5.0.1 was still downloaded over 3 million times in the last l weeks

I think a deprecation flag would improve these numbers.

I marked it as deprecated with a recommendation to update to at least 5.0.2: https://www.nuget.org/packages/Microsoft.Data.SqlClient/5.0.1


ImportError: libXrender.so.1

Hi there,
I have pulled the pre-build image from docker hub as well as (as an alternative) rebuilt an image directly from this repository; in both cases, when accessing the Jupiter Notebook server in the container and running the first cell of the paccmann.ipynb, I get the following error (on Docker for Mac 2.0.5/macOS Mojave, latest Docker and macOS releases, without experimental Docker features):
ImportError                               Traceback (most recent call last)
<ipython-input-1-0b1b62746cd1> in <module>
      1 # import all the needed libraries
      2 import pandas as pd
----> 3 from depiction.models.paccmann import PaccMannSmiles, PaccMannCellLine

/opt/conda/lib/python3.7/site-packages/depiction/models/paccmann/__init__.py in <module>
      1 """PaccMann initialization."""
----> 2 from .core import (
      3     PaccMannCellLine, PaccMannSmiles
      4 )

/opt/conda/lib/python3.7/site-packages/depiction/models/paccmann/core.py in <module>
      6 import tensorflow as tf
      7 from paccmann.models import paccmann_model_fn, MODEL_SPECIFICATION_FACTORY
----> 8 from .smiles import process_smiles, get_smiles_language
      9 from ..core import TextModel, get_model_file
     10 from ...core import Task

/opt/conda/lib/python3.7/site-packages/depiction/models/paccmann/smiles.py in <module>
      7 import matplotlib.cm as cm
      8 from operator import itemgetter
----> 9 from rdkit import Chem
     10 from rdkit.Chem.Draw import rdMolDraw2D
     11 from spacy.vocab import Vocab

/opt/conda/lib/python3.7/site-packages/rdkit/Chem/__init__.py in <module>
     22 from rdkit.Chem.rdchem import *
     23 from rdkit.Chem.rdmolfiles import *
---> 24 from rdkit.Chem.rdmolops import *
     25 from rdkit.Chem.inchi import *
     26 try:

ImportError: libXrender.so.1: cannot open shared object file: No such file or directory

Is there a sudo apt-get install libxrender1 missing from the Dockerfile, perhaps? (haven't tested since you nuked /var/lib/apt/lists/* in the image)

Hey @schelhorn many thanks for notifying us. This is related to the temporary lack of test #8 as you noticed :).

Should be addressed in PR #10. The CI cycle has already updated the image on Docker Hub.

Fixed, closing. However, I noticed that the fixed notebook downloads 300 megs from box.com servers. Not sure how that scales with 100 people at ISMB doing that simultaniously over conference Wifi.

Good point, will consider including all the models directly in the image. Thanks again for the bug report.


Research a solution to allow operator rejects requests using not allowed Kubernetes API versions.

Bad actors could deploy workloads using features (API versions) not cover by the admission controller. Thus, bypassing the validations. We should look for a solution of how to prevent this to happen.
Issue from threat #14 of the threat model. One solution proposed during RFC discussions is a policy that rejects all the workloads using API version different from a defined allow list
NOTE: This is an issue created from RFC discussing the admission control threat model. It's created to allow the Kubewarden team discuss the proposed mitigation further and start to work on each actionable item when possible

As an example, there is https://github.com/FairwindsOps/pluto as a CLI tool to discover deprecated apiVersions of resources.


state parameter error in the callback handling when starting the OAuth flow in my custom endpoint

Reproducible in:
The Slack SDK version
@slack/bolt: ^3.13.1
Node.js runtime version
v18.15.0
OS info
ubuntu 22.04
Steps to reproduce:
create express reciever
const expressReceiver = new ExpressReceiver({
    installerOptions: {
        redirectUriPath: '/slack/oauth_redirect',
        callbackOptions: {
            success: (installation, installOptions, req, res) => {
                // metadata undefined in below console.log
                // console.log(installationOptions)
                return res.send('successful!');
            },
            failure: (error, installOptions, req, res) => {
                // Do custom failure logic here
                return res.send('failure');
            },
        },
        stateStore: {
            generateStateParam: async (installUrlOptions, date) => {
                const randomState = crypto.randomUUID();
                await mydb.create(
                    {
                        randomState,
                        installUrlOptions,
                    },
                );
                return randomState;
            },
            // this function is never called
            verifyStateParam: async (date, state) => {
                // fetch saved installOptions from DB using state reference
                console.log(state, date);
                const { installUrlOptions } = await mydb.find(state);
                return installUrlOptions;
            },
        },
    },
    // storing installation in database
    installationStore: customInstaller,
});

expressReceiver.router.get('/slack/custom-install', async (req, res) => {
    const scopes = ['incoming-webhook'];
    try {
        const url = await expressReceiver.installer?.generateInstallUrl({
            redirectUri:
                'lambda-url/slack/oauth_redirect',
            metadata: 'custom metadata depending on req',
            scopes: scopes,
        });
        res.send(url)
    } catch(err) {
	    // error handling
    }
});

Expected result:

after clicking on add to slack button on /custom-install endpoint from express receiver verifyStateParams function should get called
in installer option callback -> success metadata should contain what was specified in generateInstallationUrl parametes

Actual result:

callbackOptions->success logs prints this (if stateVerification is set to false)
installOptions: {  metadata: undefined,  scopes: [ 'incoming-webhook' ],  userScopes: undefined,  redirectUri: 'lambda-/slack/oauth_redirect' }
if stateVerification is set to true, throws Error
error: Error: The state parameter is not for this browser session

Hi @hiteshj-scalex, thanks for asking the question!

error: Error: The state parameter is not for this browser session

The issue you're having is caused by the incomplete processing in your custom endpoint. To make the OAuth flow secure, your app needs to do the same with https://github.com/slackapi/node-slack-sdk/blob/%40slack/oauth%402.6.1/packages/oauth/src/install-provider.ts#L324-L402 (it may be okay to skip some of the operations though). This means just generating the authorize URL and redirecting the installing user is not enough as doing do does not attach a state parameter, which is highly recommended for general OAuth security (see https://auth0.com/docs/secure/attack-protection/state-parameters for details).
I hope this helps.

hi @seratch,
thanks for the reply, i did thorough research again and leaving some info for anyone stumbling here
i ditched the express receiver and am now using InstallProvider from oauth package
i read the documentation and source code in detail again and found that handleInstallation is setting cookie in the browser and handleCallback is checking for the cookie in browser for preventing csrf so according to my use case i have used the legacyStateVerification=true with generateInstallUrl this wont check for browser cookie but will verify the state from database if im correct.

@hiteshj-scalex f you do not utilize browser cookies for maintaining user state, the security measures for the OAuth flow are insufficient in preventing attacks. Specifically, attackers could still perform CSRF by sharing a slack.com/authorize URL with a pre-generated valid state parameter. In such cases, your end users might inadvertently complete the OAuth flow with an unexpected app and/or settings.
Understanding this risk, if you still choose to bypass cookie-based verification, the decision is yours. You can opt for legacy verification, but please be aware that this approach may not be comprehensive for the reasons mentioned above.
If you have no further questions, could you please close this issue?


Fix status report of Antrea-native policies

Signed-off-by: Quan Tian<EMAIL_ADDRESS>

/test-e2e

Codecov Report

Merging #3074 (c1ce15c) into main (9a52de9) will decrease coverage by 9.06%.
The diff coverage is 80.00%.

@@            Coverage Diff             @@
##             main    #3074      +/-   ##
==========================================
- Coverage   60.94%   51.87%   -9.07%
==========================================
  Files         292      292
  Lines       24742    24744       +2
==========================================
- Hits        15079    12836    -2243
- Misses       8012    10435    +2423
+ Partials     1651     1473     -178

Flag
Coverage Δ

kind-e2e-tests
30.67% <70.00%> (-17.42%)
:arrow_down:

unit-tests
40.14% <70.00%> (+0.02%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.


Logstash formatter for grape_logging

Simple formatter, that creates output usable Logstash. Very handy if you run an ELK stack for logging.

Also included a logger that adds the host and status fields to the log data.

Awesome! Thanks for the contribution 👍


Update permission docs with QosPolicy

A note for the community

Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
If you are interested in working on this issue or have submitted a pull request, please let us know in a comment

Problem
These docs need to be updated to include
2023-03-24T18:16:10Z INF collector/collector.go:365 > API request rejected => Insufficient privileges: user 'grafana' does not have read access to this resource Poller=*redacted* collector=Zapi:QosPolicyAdaptive task=data
2023-03-24T18:16:10Z INF collector/collector.go:365 > API request rejected => Insufficient privileges: user 'grafana' does not have read access to this resource Poller=*redacted* collector=Zapi:QosPolicyFixed task=data

Configuration
No response
Poller
poller
Version
23.02
Poller logs
No response
OS and platform
docker
ONTAP or StorageGRID version
9.10.1
Additional Context
No response
References
No response

Verified on 3ffa2eb5


Support Text components

Feature Request

support text components, so the SDK can send any kind of text information to the NEEO Brain

CoS

option to create text components in the SDK
NEEO Brain can display those text elements on the mobile app and on the NEEO remote

implemented in v0.37.2


strawberry-qt6: 1.0.23 -> 1.1.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for strawberry-qt6 is: Music player and music collection organizer
meta.homepage for strawberry-qt6 is: https://www.strawberrymusicplayer.org/
meta.changelog for strawberry-qt6 is: https://raw.githubusercontent.com/jonaski/strawberry/1.1.0/Changelog
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 1.1.0 with grep in /nix/store/5g1wn08h7199gdm2w4sllxn3jggcvn7i-strawberry-1.1.0
found 1.1.0 in filename of file in /nix/store/5g1wn08h7199gdm2w4sllxn3jggcvn7i-strawberry-1.1.0

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

4 total rebuild path(s)

4 package rebuild(s)

First fifty rebuilds by attrpath

strawberry
strawberry-qt5
strawberry-qt6

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/5g1wn08h7199gdm2w4sllxn3jggcvn7i-strawberry-1.1.0 \
  --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 strawberry-qt6 https://github.com/r-ryantm/nixpkgs/archive/f79fe96427aa194017f9a9e386367410ef2a79cb.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/f79fe96427aa194017f9a9e386367410ef2a79cb#strawberry-qt6

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/5g1wn08h7199gdm2w4sllxn3jggcvn7i-strawberry-1.1.0
ls -la /nix/store/5g1wn08h7199gdm2w4sllxn3jggcvn7i-strawberry-1.1.0/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:

strawberry
strawberry-qt6

Maintainer pings
cc @peterhoeg for testing.

Version 1.1.1 is out


[FAB-17433] Add _lifecycle function for querying approved chaincode

This patch adds a function for querying the details of the chaincode definition approved by the organization itself to _lifecycle, so that Fabric peer can provide a function to query them.
Type of change

New feature

Description
Currently, Fabric peer does not provide a function to query the details of approved chaincode definitions.
On the other hand, Fabric admins will need to confirm/use the information after approval for their operations.
So, we propose to add a function for querying the details of the approved chaincode definition to Fabric peer CLI (Refer to https://jira.hyperledger.org/browse/FAB-17401).
As a sub-task of FAB-17401, this patch adds a function for querying the details of the chaincode definition approved by the organization itself to _lifecycle, so that Fabric peer can provide a function to query them.
The following patch has been merged to extend lifecycle protos:

https://github.com/hyperledger/fabric-protos/pull/25

Immediately after this patch has been merged into the fabric repository,  I will submit the following related patches:

https://github.com/satota2/fabric/commit/d6f60009dce9f74caa4df5ac49951d0a0998aac0
https://github.com/satota2/fabric/commit/fec797b75c40163e9dd92dc1e51acadd4756c7a3
https://github.com/satota2/fabric/commit/f4d5fff151dc87a597a058184c203b9e9ce72629

Related issues

Main:

https://jira.hyperledger.org/projects/FAB/issues/FAB-17432

Others:

https://jira.hyperledger.org/projects/FAB/issues/FAB-17401
https://jira.hyperledger.org/projects/FAB/issues/FAB-17432
https://jira.hyperledger.org/projects/FAB/issues/FAB-17434
https://jira.hyperledger.org/projects/FAB/issues/FAB-17435
https://jira.hyperledger.org/projects/FAB/issues/FAB-17436

@jyellick
Thank you for your reviews.
I updated the patch to address the comments.


Running tasks with child_process synchronously

Trying to adopt gulp into daily automation tasks handling file IO with calling other executables. The good part about using js is its native async feature that allows simple and native multi-thread processing. This also becomes the issue since all tasks running child_process asynchronously and returns immediately after child_process.exec(). The expectation is to run a series of tasks calling external executables one by one, but looks like currently gulp can't help handle that since all child_process won't wait until process finish. Current walkaround is to use shell to call each task in the expected order but I feel like using gulp all the way down and don't not want bother to use other tools in the hople of minimizing possible training to users.
I take gulp as a great tool for the streaming system and code over configuration concept, and would like to see it becomes a general automation framework with support to all possible automation logics. Hope this would be considered for future releases. I've tried with gulp4.0 alpha but looks like bach isn't able to know when child_process finishes either.

@Fiery this isn't a gulp problem, it's a node problem. this is how node works - things are async. there are modules that will help you deal with this, go search npm.

Would you mind recommending a module which would help? I totally understand this is not gulp problem that's why I said "The good part about using JS is its native async feature" not "The good part about using  gulp is its native async feature" so there is no point in defending your gulp against my suggestion. I am just wondering if this would be included in the form of a wrapper around the existing solution so that we can have a out-of-box solution from gulp itself, not to find other modules and DIY to make the tool complete.

@Fiery https://www.npmjs.com/ there are plenty of tools for running async things in series. The module I usually use is called async.
gulp is idiomatic node, so we use modules instead of bundling everything in. We have no opinion on control flow so you can use whatever you wish. Enjoy the freedom 🌴


opa: add verdictd OPA submodule upper API

 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.You have signed the CLA already but the status is still pending? Let us recheck it.

Shall we move the codes to verdictd/opa? @liangzhou121 @EmisonLu


Multi-level Classification?

Works with single level classification, however does this support images with multilevel classification, if so could you help me with the classifying my data set, with images more than 60 categories?

This could be done by modifying the single-label cross-entropy loss functions specified in train.py and train_search.py. Sorry but I can't provide more help for specific use cases.


Naming conventions. Starts controller name with lowercase letter

Why controller name starts with capital letter? Resource starts with capital letter because it is class, that returns instances. Controller is ordinary function and must begin with lowercase letter like most of services.

Controller function is a constructor function that is used to create controller instances. It is a common practice to name constructor functions starting with upper-case.

Hopefully that solves the issue :)

Controller function is not a constructor function because you don't use new, and you don't create instances manually as Resource (var phone = Phones.get({id: 123})). Controller function similar to the usual function.
If the controller is similar to the usual function, is invoked as a usual function and works as a usual function, so this is a usual function (regardless of their implementation), and must be named with a lowercase letter.

Controller function is not a constructor function because you don't use new

Framework is actually calling new, so those are closer to constructor functions in the sense that those are used to create instances instead of being called directly


finally revert PR #382 (git with openssl)

if git with openssl is needed, it should be done in a derived image

Codecov Report

Merging #396 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #396   +/-   ##
=======================================
  Coverage   69.66%   69.66%
=======================================
  Files          74       74
  Lines        6323     6323
=======================================
  Hits         4405     4405
  Misses       1918     1918

Continue to review full report at Codecov.

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


Please consider fixing issues detected by repository checker

Notification from ioBroker Check and Service Bot
Dear adapter developer,
I'm the ioBroker Check and Service Bot. I'm an automated tool processing routine tasks for the ioBroker infrastructure. I have recently checked the repository for your adapter kecontact for common errors and appropiate suggestions to keep this adapter up to date.
This check is based the current head revisions (master / main  branch) of the adapter repository
Please see the result of the check below.
ioBroker.kecontact
   -
:thumbsup: No errors found
WARNINGS:

[ ] :eyes: [W034] @iobroker/adapter-core 3.1.4 specified. 3.1.6 is recommended. Please consider updating dependencies at package.json
[ ] :eyes: [W130] Many "common.news" found in io-package.json. Repositorybuilder will truncate at 7 news. Please remove old news.
[ ] :eyes: [W162] js-controller 5.0.0 listed as dependency but 5.0.19 is recommended. Please consider updating dependency at io-package.json.
[ ] :eyes: [W184] "common.materialize" is deprecated for admin >= 5 at io-package.json. Please use property "adminUI".
[ ] :eyes: [W513] "gulpfile.js" found in repo! Think about migrating to @iobroker/adapter-dev package
[ ] :eyes: [W853] .npmignore found - consider using package.json object "files" instead.

SUGGESTIONS:

[ ] :pushpin: [S522] Please consider migrating to admin 5 UI (jsonConfig).

Please review issues reported and consider fixing them as soon as appropiate.
Warnings reported by repository checker should be reviewed. While some warnings can be ignored due to good reasons or a dedicated decision of the developer, most warnings should be fixed as soon as appropiate.
Suggestions reported by repository checker should be reviewed. Suggestions can be ignored due to a decision of the developer but they are reported as a hint to use a configuration which might get required in future or at least is used be most adapters. Suggestions are always optional to follow.
You may start a new check at any time by adding the following comment to this issue:
@iobroker-bot recheck
Please note that I (and the server at GitHub) have always plenty of work to do. So it may last up to 30 minutes until you see a reaction. I will drop a comment here as soon as I start processing.
Feel free to contact me (@iobroker-bot) if you have any questions or feel that an issue is incorrectly flagged.
And THANKS A LOT for maintaining this adapter from me and all users.
Let's work together for the best user experience.
your
ioBroker Check and Service Bot
@mcm1957 for evidence
Last update at Fri, 06 Sep 2024 08:41:14 GMT

Issue outdated due to RECREATE request. Follow up issue #381 has been created.
This issue will be closed.
your
ioBroker Check and Service Bot


Refactor EVE SSO Tokens

Multiple token types
Different scopes + scope storage

Will probably need to go back to the old ways that tokens were stored.
Also will need to create TokenTypes, which can be added by the administrators. These can have varying scopes and purposes.
Forced token types for features like corporations, fleet commanders, etc.
Require a certain token for groups, the possibilities are endless.


How to include curl when using builder:base?

What happened?

What were you attempting to do?
I was trying to setup a docker health check against a Spring Boot application, using the default builder (base)

What did you expect to happen?
I was expected curl or a similar utility to be available to query http://localhost:8080/actuator/health

What was the actual behavior? Please provide log output, if possible.

Build Configuration

What platform (pack, kpack, tekton buildpacks plugin, etc.) are you
using? Please include a version.
Using spring-boot-maven-plugin 2.4.3 and image builder: docker.io/paketobuildpacks/builder:base

Workaround
It works using image builder docker.io/paketobuildpacks/builder:full, but the image size grows from 334 MB to 931 MB.
curl could be included in the base stack as well as the full stack but some people might prefer to keep the base image as small as possible.
I guess having an optional buildpack contributing some utilities would be a better option?
Are there any other option?

At the moment, you have the choice of using the full builder if you'd like more dependencies installed. There isn't an easy way to cherry-pick specific other dependencies that you want to be included in the base image.
There is a concept of mixins, but these are just tags to indicate requirements. It does not provide you with an image containing those dependencies. I believe there is work being done to make this easier under the stack packs RFC, but it's not complete yet.
It is possible to build your own customized image and use that, but it's a non-trivial amount of work, plus it puts you on the hook to update your image or risk not getting critical security updates.
I would recommend just using the full image if it has what you need. The additional size perceived is significant when compared to the base image, but it's insignificant when compared to the amount of storage available in modern systems and when you consider that the storage size consumed is not 931M * the number of containers using that image, but, roughly speaking, 931M for the base layers + (additional app specific size per container * number of containers) (tl;dr images are efficiently stored and common layers are deduplicated).
I'm going to close this as there's nothing that can be done at the Java level to handle this. Hope that helped.

The main consequence of the increased size for us is the increase in startup time (we use AWS Fargate)
~250 MB => pull takes ~15s
~1 G => pull takes ~45s
We'll use the full builder for now.
Do you know what would be the correct repository to ask more questions about recommend setup for docker health checks with buildpacks? I guess if the target is Kubernetes, then it's fine because the http probe don't run within the container, but I think a lot of people use platforms that really on Docker health checks...

Do you know what would be the correct repository to ask more questions about recommend setup for docker health checks with buildpacks?

I would suggest asking in the Paketo Slack: paketobuildpacks.slack.com. You could ask in the #buildpacks channel and see what others are using.
Another option would be coding up a health check client into your application code. Using URLConnection you could set this up without too much fuss. Then your health check command could run java and execute your client (just watch your memory usage, maybe set -Xmx and others) as low as possible on the client.

Just as an FYI, I have opened an RFC to recommend adding a health check buildpack, please see https://github.com/paketo-buildpacks/rfcs/pull/183 for details.


注释掉 JerseyAutoDiscoverable.java

JerseyAutoDiscoverable.java  默认注册的fastjsonprovider满足不了使用者定制fastjsonprovider 的功能，比如失效DisableCircularReferenceDetect

 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.晋元 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? Let us recheck it.

Codecov Report

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

@@             Coverage Diff              @@
##             master    #1395      +/-   ##
============================================
+ Coverage     85.33%   85.34%   +0.01%
+ Complexity     5686     5685       -1
============================================
  Files           134      133       -1
  Lines         20104    20099       -5
  Branches       4489     4488       -1
============================================
- Hits          17155    17154       -1
+ Misses         1919     1917       -2
+ Partials       1030     1028       -2

Impacted Files
Coverage Δ
Complexity Δ

...com/alibaba/fastjson/parser/JSONReaderScanner.java
73.88% <0%> (+1.27%)
45% <0%> (+1%)
:arrow_up:

Continue to review full report at Codecov.

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

see #1396

先关闭啦，有替代方案了


Base Catch Rate Calculation

https://github.com/UnownHash/Golbat/pull/72
we removed capture_1, capture_2, capture_3 from processing because those values are not relevant for users. also worker can influence the capture rate with catch medals, so it's not always the base catch rate
we will need a way to keep track of the base catch rate, and then we can do some calculations in the frontends or poracle :)

there is no additional info needed by Golbat in order to calculate Pokemon catch rates.
As described in a comment on the referenced PR, the only thing Golbat needs to provide is the Pokemon's CP multiplier, which it already does. The frontend then has to collect its base capture rate from the gamemaster, and additionally catch modifiers from 3rd party sources.

Sorry, my bad, Golbat does not provide CPM, but it does provide level. a Level->CPM mapping is provided in the gamemaster, so one additional step for the frontend to get that

They are nullable so will take no space if null (it’s a bitmap that says whether fields are null or not and unless you spill into a new byte…)

i doubt it

Would prefer to just scrub all projects of this data. Never have I heard of someone using this data to make an informed decision. If it's a spawn they want, they're going to try for it regardless.

This was nice because it gave you insight into the catch difficulty. Extreme example, when Niantic puts Legendaries in the wild during events and you see the base catch rate is 0%.

Also, it’s more a barometer for the users. “Catch rate is low, def use a golden razz and ultra ball.” Or, “looks like this catch is pretty much guaranteed. No need to turn off the auto catcher.”


feat: cleanup ci and patch versions

fix #631

added test in aws.deployer.test.js but codecov still complaining (just looks at -g Integration?)


PSCC Paper: Explore replacing :vbdr and :vbdi with expressions

The ACR for introduces auxiliary variables for the voltage drop over a branch. They could all be subsititued out.

see all expression calls in PMs, e.g. https://github.com/lanl-ansi/PowerModels.jl/blob/460b310288787d4196f9e50b1a81127ee4677a97/src/core/expression_template.jl.
It's only possible to use expressions where you can really do subsitution. (e.g. it breaks when using non-full-rank transformation matrices). Neverheless, as long as the transformations are sparse and linear (here: linking only 2 variables), the calculation speeds up and becomes more reliable in my experience. Happy to organize a zoom/meet to discuss :)

I implemented with expression and created a pull req.
I had not removed the definitions of the variables causing the problem.
"the detailed math model should also be added to the docs once merged (#30 )"
Do you mean formulation... I have started writing the formulation (slowly) will be done by the weekend probably.

@frederikgeth I implemented the expression for vbdi and vbdr. Also typed the formulation in overleaf. If you have 15 mins after our meeting on 4th Nov, we can discuss more.
For documentation, I followed the steps but tex files are not compiled (@timmyfaraday  will help me in putting the formulation in docs).


new Feature

I want the user to be able to send a list of strings, how to specify

There are no plans for now for new field types, if that's what you are asking.
If you want to send arbitrary strings and store them as array in your collection, you can use the json field.


Add VSCode extensions

Add helpful VSCode extensions.

This is a comment

This is the second comment

This is the second comment

this is a comment of 2nd comment.

わかった。 ありがとう。
更新をご希望の場合はお知らせください。
I got it. Thank you.
Please let me know if you would like to make any update.


use correct name. text --> buf

It looks as if code from https://github.com/gagern/node-libtidy/blob/db92f2b5aa9211fc00b1007970f6cc2ed1b72a63/src/htmltidy.js
was copied over but not changed correctly everywhere.

Thanks for spotting and fixing this. Fix included in the 0.2.0 release I just published.


Idle time support

This adds support for 'natural breaks' using system-idle-time.
I have only tested this code on Windows.
It adds one settting to the settings screen, but I have not updated the screenshot because Windows will be inconsistent with Mac.

Codecov Report

Merging #93 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #93   +/-   ##
=======================================
  Coverage   87.91%   87.91%
=======================================
  Files           6        6
  Lines          91       91
  Branches       13       13
=======================================
  Hits           80       80
  Misses         11       11

Impacted Files
Coverage Δ

app/utils/defaultSettings.js
100% <ø> (ø)
:arrow_up:

Continue to review full report at Codecov.

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

Hi, I'm trying to build this and give it a test, however, when I run npm install, I'm getting an error: "paulcbetts/system-idle-time is not in the npm registry". Any ideas what the issue might be?

Nevermind, I just figured out that somehow I had two different versions of npm installed and one was much lower version. Uninstalled the lower version and it got past that step, although it still failed with "<EMAIL_ADDRESS>install: 'node-gyp rebuild' Exit status 1". This issue seems to be referenced here: https://github.com/RocketChat/Rocket.Chat.Electron/issues/335 so I'm now trying some of those suggested steps. Did you have to go through such a process at all? Might be worth adding something to the readme about

I didn't have any build failures, but did need to use electron-rebuild to avoid a load failure.
On Linux it will require the XScreenSaver extension dev files (Ubuntu package libxss-dev).

I've updated this with master. No idea if it works, thought.

@mdekstrand could you please explain how your mechanism works? I have hard times understanding it.

seems that author is no longer interested in this so I am closing it. I'm working on new solution at #140

fine with me, i haven't had time to look at it any more since submitting :(


ios support

Do you have a timeframe for when this package will support ios?

Hey, We were wondering the same too.. Is there any update? @vladiH

I will try to do it by June. If someone wants to collaborate on this project, feel free to do so. Thanks.

Hi @vladiH, can't wait to see this awesome package of yours support ios.

Hello everyone,
I hope you are well. I want to thank you for your interest and enthusiasm
regarding the iOS version of the package I am developing. Your inquiries
and comments are appreciated, and I would like to provide you with an
update on this matter.
Currently, I am occupied with ongoing commitments that have limited my
availability. However, starting from September, I will be able to dedicate
more time and effort to advancing the development of the iOS version. I
understand that your patience has been invaluable during this period, and I
want to sincerely thank you for your understanding.
Once again, I want to express my gratitude for your support and patience.
If you have any further questions or feedback, please feel free to reach
out. I am excited to work on this project and bring you the best possible
outcome.
Best regards,
Yuri Huallpa
El vie, 11 ago 2023 a la(s) 15:19, Francis Osei Annin (
@.***) escribió:

Hi @vladiH https://github.com/vladiH, can't wait to see this awesome
package of yours support ios.
—
Reply to this email directly, view it on GitHub
https://github.com/vladiH/flutter_vision/issues/8#issuecomment-1674784894,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AH2DYS5CMPGMEAK5X72MBCLXUYWNVANCNFSM576S5GQA
.
You are receiving this because you were mentioned.Message ID:
@.***>

--
Yuri Vladimir
Software Engineer
@.*** @.***>
+51 931896923
Cusco-Perú
http://yurihuallpa.com/

Super nice package and works nicely with Android, really excited for the iOS support to get released too. If you have any docs for what is needed to support IOS, definitely dont hesitate to share, happy to see if it's something I can assist with

@vladiH Great package you have build! I'm using it on Android: it works smoothly, and I prefer it over the tflite_flutter package :)
Like many others I'm anticipating the upcoming iOS support. You seem busy, and I'm already very grateful for this package, so I don't want to push for a platform integration, which obviously is not easy to complete. But I would appreciate very much if you have an update to the latest status from 11/08, just to understand where we are currently and if iOS support is something that seems achievable in near future :)
Best regards,
André

Hi @vladiH , thanks for this wonderful plugin. Any update for iOS support in near future?

@andretofa
Hi, are you able to train working custom models for live detection using 'tflite_flutter'. If so, I'd love to hear you out on your approach. I've hard a hard time, trying to get custom models ingested into the live object detection example app. NO SUCCESS, if you have found success, kindly let me know the path you trekked!
Many thanks!

Need Update on this one!

@fransay  Have you figured out custom model on tflite_flutter? need help bro.

@XeroDays check these other packages out:

https://github.com/ultralytics/yolo-flutter-app from Ultralytics
https://github.com/spring98/flutter-yolo-realtime-plugin
Hope it helps.


Start with subset of permutations

Instead of starting with all permutations as possibility at the start. start with a random subset of all permutations.
the subset may be selected as:

subset as fraction of total (half of total)
subset dependent on number of player (one per player)
random chance per permutation (50% to include a given permutation)

keep in mind that there should always be at least one permutation to start the game.

player experience is probably related to de deviation from the mean role probabilities. an implementation with fixed standard deviation of roles probabilities can thus be tuned to player experience.


Upgrade omniauth to version 1.5.0

Libraries.io has found that there is a newer version of omniauth that this project depends on.
More info: https://libraries.io/rubygems/omniauth/1.5.0

Waiting on https://github.com/intridea/omniauth-github/pull/70


Algorithm doesn't render dots

Tapping on the SignaturePad to draw dots doesn't render the zero length line.

hi, is there any solution for this bug?

Is there any workaround ? or temporary solution ?

i added this snippet in addPoint function
             if(mPoints.get(0).x == mPoints.get(1).x && mPoints.get(0).y == mPoints.get(1).y &&                     mPoints.get(0).x == mPoints.get(2).x && mPoints.get(0).y == mPoints.get(2).y &&                     mPoints.get(1).x == mPoints.get(2).x && mPoints.get(1).y == mPoints.get(2).y) {                 mPoints.get(1).x = mPoints.get(1).x + mMinWidth;                 mPoints.get(1).y = mPoints.get(1).y + mMaxWidth;                 mPoints.get(2).x = mPoints.get(2).x + mMinWidth;                 mPoints.get(2).y = mPoints.get(2).y + mMaxWidth;             }
just to make sure, I fill 3 mpoints with min and max width
so if you put dot in there, it will make a litle line on that pad
this is the full addpoint function
`private void addPoint(TimedPoint newPoint) {
mPoints.add(newPoint);
    int pointsCount = mPoints.size();
    if (pointsCount > 3) {

        // check if the line from point 0 to poin 1 is in the same spot, means dot
        if(mPoints.get(0).x == mPoints.get(1).x && mPoints.get(0).y == mPoints.get(1).y &&
                mPoints.get(0).x == mPoints.get(2).x && mPoints.get(0).y == mPoints.get(2).y &&
                mPoints.get(1).x == mPoints.get(2).x && mPoints.get(1).y == mPoints.get(2).y) {
            mPoints.get(1).x = mPoints.get(1).x + mMinWidth;
            mPoints.get(1).y = mPoints.get(1).y + mMaxWidth;
            mPoints.get(2).x = mPoints.get(2).x + mMinWidth;
            mPoints.get(2).y = mPoints.get(2).y + mMaxWidth;
        }

        ControlTimedPoints tmp = calculateCurveControlPoints(mPoints.get(0), mPoints.get(1), mPoints.get(2));
        TimedPoint c2 = tmp.c2;
        recyclePoint(tmp.c1);

        tmp = calculateCurveControlPoints(mPoints.get(1), mPoints.get(2), mPoints.get(3));
        TimedPoint c3 = tmp.c1;
        recyclePoint(tmp.c2);

        Bezier curve = mBezierCached.set(mPoints.get(1), c2, c3, mPoints.get(2));

        TimedPoint startPoint = curve.startPoint;
        TimedPoint endPoint = curve.endPoint;

        float velocity = endPoint.velocityFrom(startPoint);
        velocity = Float.isNaN(velocity) ? 0.0f : velocity;

        velocity = mVelocityFilterWeight * velocity
                + (1 - mVelocityFilterWeight) * mLastVelocity;

        // The new width is a function of the velocity. Higher velocities
        // correspond to thinner strokes.
        float newWidth = strokeWidth(velocity);

        // The Bezier's width starts out as last curve's final width, and
        // gradually changes to the stroke width just calculated. The new
        // width calculation is based on the velocity between the Bezier's
        // start and end mPoints.
        addBezier(curve, mLastWidth, newWidth);

        mLastVelocity = velocity;
        mLastWidth = newWidth;

        // Remove the first element from the list,
        // so that we always have no more than 4 mPoints in mPoints array.
        recyclePoint(mPoints.remove(0));

        recyclePoint(c2);
        recyclePoint(c3);

    } else if (pointsCount == 1) {
        // To reduce the initial lag make it work with 3 mPoints
        // by duplicating the first point
        TimedPoint firstPoint = mPoints.get(0);
        mPoints.add(getNewPoint(firstPoint.x, firstPoint.y));
    }
}`

hope it helped

@robinrev How do i put this into the library?

@AndreyNazarchuk please read: https://help.github.com/articles/using-pull-requests/

There is still an issue in the latest build. A single tap on the screen with no motion doesn't create a dot. A small amount of motion is required to get a dot.

When we tap any finger on signature box area, sometimes it does not produce any dot/image but it still saves the empty signature image in the form of bitmap. I have one action to perform in my app which should meet all the requirements including the signatures. Since, there are no signatures drawn in front of the user and it still produces the signature image internally and it allows the user to perform an action by taking the empty signature ahead. Please try to resolve the problem as soon as possible.
Thanks
Varun Goyal

@gcacace Please suggest me a solution for the above problem. I would be grateful to you.

@gcacace Library is perfect but please consider this bug as high priority.
@robinrev It's not working for me. :( Android 7.1.1

I have implemented a function in my code that will check to see that the signature covers at least 60% of the height of the signature area, to make sure that I get a good signature as it is used in further processing. I never actually saw the problem where a dot is not shown but added as a bitmap.


ci: check if goreleaser config is valid

Test passed: https://github.com/rootulp/celestia-app/actions/runs/6473546638/job/17576484916?pr=39#step:3:16


Upgrade msim pointer

Description
Hopefully this fixes the simtest failures where a port cannot be reused for udp after serving tcp connection on the port without graceful shutdown.
Test plan
CI

Release notes
Check each box that your changes affect. If none of the boxes relate to your changes, release notes aren't required.
For each box you select, include information after the relevant heading that describes the impact of your changes that a user might notice and any actions they must take to implement updates.

[ ] Protocol:
[ ] Nodes (Validators and Full nodes):
[ ] Indexer:
[ ] JSON-RPC:
[ ] GraphQL:
[ ] CLI:
[ ] Rust SDK:

Thanks, meant to send this myself!

No problem!


Improvement: Provide an API to parse an arbitrary barcode

We can already get the details of a Barcode instance by checking its valueFormat and afterwards checking the other members (like sms, email, …).
Unfortunately, this is not enough for my use case as I provide a history of scanned Barcodes in my app. Before migrating to Mobile Vision I used ZXing and its ResultParser.parseResult(String) method to build up the details of the history – so I was safe to just persist the rawValue of a Barcode. I can't find a similar API in the Mobile Vision package.
Can you implement such API like e.g. Barcode.parseRawValue(String) or is there another way to achieve this?

Unfortunately, there is no API to parse a value without recognizing it from a barcode first.
The parsing is done in native code, and it's somewhat complex to expose those internals. We'll look into it for a future version; thanks for the suggestion!


[Code Review Request] - INTGW-599 - Rename Wso2Server to Axpserver in startup scripts

change in the Product hub in the following components
-src/main
-----startup-scripts
-----------wso2server.sh
-----------wso2server.bat
-----assembly
-----------bin.xml
Release notes.html
Readme files

Please change the Jenkin's scripts on Nightly build after merging.


Toml based install

Similar to sh-py, except here i had to explicitly exclude docs (and added tests while i was at it)
not sure why it also collects the conf.py from docs in the wheel unless excluded, didn't happen in sh-py

Similar to sh-py, except here i had to explicitly exclude docs (and added tests while i was at it)

would it make sense to explicitly exclude it also in sh-py, even if it doesn't cause issues? did some version change or somehting?

it's why we're doing build inspection. These things are hard to predict. It wasn't added because it seemed like the default settings are fine, but these things are a bit odd at times. We can add it, but I guess it's low priority.


Can't see custom database location?

It seems you take DBs from com.package.packagename/databases/
My DB location is in com.package.packagename/files/myfolder/mydatabase.db .
So, How can I see for custom database. Thanks

We will try to add the feature of adding the custom path in the new release.
Thanks
Amit Shekhar

Thanks, let me know if that features avaliable .

Released new version with this feature.


⚠ ClamAV has degraded performance

In 6c7e167, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 54 ms

Resolved: ClamAV performance has improved in 9c0d8ca.


moved resource link to base theme

Adds resource_link shortcode  to base theme to fix failing builds.

Is this ready for review?

Is this ready for review?

Yes

Is this ready for review?

yes


[RESOLVED] Interface eth0(): High error rate (>2 for 5m)

Problem started at 11:42:29 on 2023.07.28
Problem name: Interface eth0(): High error rate (>2 for 5m)
Host: S100-Primario
Severity: Warning
Operational data: errors in: 1, errors out: 0
Original problem ID: 34422
Event details in Zabbix: http://<IP_ADDRESS>/tr_events.php?triggerid=23483&eventid=34422

Problem has been resolved in 3m 0s at 11:45:29 on 2023.07.28
Problem name: Interface eth0(): High error rate (>2 for 5m)
Host: S100-Primario
Severity: Warning
Original problem ID: 34422


yarn create waku example doesn't work

Fully reproduction video
note: webpage at 00:31 is just a CodeSandbox demo
Environment

system
version

node
v18.13.0

package-management
<EMAIL_ADDRESS>

os
windows 10

What's happened
Waku's counter example doesn't work on yarn create waku, but works on the CodeSandbox demo.
with yarn dev

yarn dev calls waku dev -with--ssr

like the above video, the server component is rendered but suddenly disappears with the below error log.

after several refreshing(F5), the server component now appears but the client component never seems like the below screenshot. the spinner is still spinning...

with yarn build
not only waku dev, but also waku build has failed.
It tried to open C:\Users\user\Documents\GitHub\waku-example\dist\public\RSC\App\props={"name":"Waku"}, but there is no such file.
build result directory looks like this.

open full log
$ yarn build
yarn run v1.22.19
$ waku build
vite v4.4.4 building SSR bundle for production...
✓ 4 modules transformed.
✓ built in 126ms
vite v4.4.4 building SSR bundle for production...
✓ 3 modules transformed.
dist/entries.js                0.59 kB
dist/assets/App-6a21f0cf.js    1.18 kB
dist/assets/rsc0-6c7571303.js  1.25 kB
✓ built in 54ms
vite v4.4.4 building for production...
✓ 37 modules transformed.
../dist/public/index.html                            1.16 kB │ gzip:   0.57 kB
../dist/public/assets/rsc0-6c7571303.js              0.90 kB │ gzip:   0.38 kB
../dist/public/assets/jsx-dev-runtime-4f08db3d.js   42.59 kB │ gzip:  13.54 kB
../dist/public/assets/main-0ebf788c.js             358.79 kB │ gzip: 108.74 kB
✓ built in 2.01s
node:internal/process/promises:288
            triggerUncaughtException(err, true /* fromPromise */);
            ^

[Error: ENOENT: no such file or directory, open 'C:\Users\user\Documents\GitHub\waku-example\dist\public\RSC\App\props={"name":"Waku"}'] {
  errno: -4058,
  code: 'ENOENT',
  syscall: 'open',
  path: 'C:\\Users\\user\\Documents\\GitHub\\waku-example\\dist\\public\\RSC\\App\\props={"name":"Waku"}'
}

Node.js v18.13.0
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

I've never touched any file or code, just install dependencies and run dev or build directly... am I missing something wrong?

Thanks for reporting.
It seems like some issues with Windows filesystem.
I will look for solutions/workarounds, but if someone can help investigating this, it would be very helpful.

Can you please try #108?
https://ci.codesandbox.io/status/dai-shi/waku/pr/108
☝ Find "Local Install Instructions"

oh my god, it completely works fine with no more error logs.
is there anything to check out more?

Thanks for confirming. Great to hear.
For now, I will merge #108 later, but I may ask you for any help again.
(It would be nice if we can do automated tests.)


Update 003-snake-game-p5.md

Added my contribution for snake game page.

Community Contribution
Link to live project, video, or image:
https://lughapp.github.io/p5-snake-game/
Sharing

[x ] I would be happy to have my project shared on The Coding Train's social media!

Great! @lughapp the sketch does not work under Safari 13.1.1

Great! @lughapp the sketch does not work under Safari 13.1.1

I've opened a PR for this issue
https://github.com/lughapp/p5-snake-game/pull/1


Undefined function

There is an undefined function in your code(dataloader.py, line 257, rand_train_test_idx). I can't find the function from your code and imported packages. What is this?

Thank you for catching it. This is a legacy code that we used to test random splits of input data. It is not used in the experiments. Please refer to https://github.com/snap-research/graphless-neural-networks/blob/76da5d1b5d8258d5ea9ae7d4fa63f6a20a47c27c/utils.py#L103 for the updated split function.

Thank you for your quick reply. It's very helpful for me!


ignore warnings for now

Warnings are recorded in recent versions of pytest-reportlog, which would cause the parser to fail. For now, the recorded warnings will be ignored, but a future version might create separate issues.
cc @dcherian

the reason we didn't see this with xarray yet is that the conda-forge package is quite far behind the PyPI version.


Fixed frequency range spectrogram plugin

I'm attempting to plot wav files which can possibly have a sample rate of 250kHz in order to pick up bats or as low as 8kHz. I would assume the plugin would take the sample rate into account and draw the spectrogram from 0kHz to half the sample rate, but that's not the case. The spectrogram plugin seems to only show 0kHz to 24kHz, which isn't useful when producing plots requiring a different range of frequencies.
I can't find any documentation on changing the ranges so was wondering if this is simply not an included feature or am I missing something?

Could it have something to do with the fact that, no matter the sample rate of the file being loaded, wavesurfer.backend.ac.sampleRate is always 48000?

@pcprince may you post some test code?

This is using WaveSurfer 2.0.0-beta01:
var WaveSurfer = require('wavesurfer.js');
var SpectrogramPlugin = require('wavesurfer.js/dist/plugin/wavesurfer.spectrogram.min.js');

var spectrogram = SpectrogramPlugin.create({
    container: "#wave-spectrogram",
    labels: true
});

var wavesurfer = WaveSurfer.create({
    container: '#waveform',
    waveColor: '#FF0000',
    progressColor: '#46B54D',
    hideScrollbar: true,
    plugins: [
        spectrogram
    ]
});

wavesurfer.load('bat.wav');
console.log(wavesurfer.backend.ac.sampleRate);

The bat wav file is a recording at 250kHz. The console outputs 48000 and only shows the spectrogram up to 24kHz. If it actually was a 48kHz file, stopping at 24kHz would make sense. It seems to use that range of 0-24kHz for every file and there doesn't seem to be any way to either change the spectrogram sample rate or make WaveSurfer treat files as having any other sample rates.


rke2-agent not starting

I've successfully deployed a HA cluster but last Ansible fails to start the rke2-agent on the worker node.
Hypervisor=Vagrant/libvirt
OS= Ubuntu-20.04
RKE2-version=1.23.7.rke2r2
server-nodes=3
agent/worker-nodes=1
In the logs it only warns me about flags that will be deprecated.
Any suggestions?

Update, it seems that i used the wrong syntax in the configfiles for the agent/master nodes. Close the issue..


CORS error with Firebase on Firefox Alpha

Describe the bug
When attempting to push changes to a Github repo from the Firefox Alpha, a request goes through to https://stackblitz.firebaseio.com. This is blocked by the browser, as it violates CORS. The exact error is: The resource at “https://stackblitz.firebaseio.com/.lp?start=t&ser=CODE&cb=9&v=5” was blocked due to its Cross-Origin-Resource-Policy header (or lack thereof). See https://developer.mozilla.org/docs/Web/HTTP/Cross-Origin_Resource_Policy_(CORP)#, with CODE replaced with a numerical code.
Link to the blitz that caused the error
https://stackblitz.com/edit/node-t4hhov?file=package.json
Steps to reproduce

Open Stackblitz in Firefox.
Create a project.
Push to Github.

Expected behavior
Once a push has been started, it should take a minute or two to create and push the commit, then complete.
Parity with Local

[X] I have run the project in my local machine and I could not reproduce the issue.

Screenshots
No response
Platform
Browser name  = Firefox
Full version  = 100.0
Major version = 100
navigator.appName = Netscape
navigator.userAgent = Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:100.0) Gecko/20100101 Firefox/100.0
performance.memory = undefined
Hash = 8ed0391dfcfb11f773d5f344dd4a3c2c10c45b09

Additional context
No response

@helloimalastair I checked this internally, and that request should be unrelated to GitHub. Did the interaction with GitHub went through? This firebase thingy is for real-time functionality for non-WebContainer related projects. So in this case it shouldn't really matter and we might want to disable these requests all together.

@helloimalastair I checked this internally, and that request should be unrelated to GitHub. Did the interaction with GitHub went through? This firebase thingy is for real-time functionality for non-WebContainer related projects. So in this case it shouldn't really matter and we might want to disable these requests all together.

I’m not 100% sure what the error is. The only real error I could see was that the request was failing, but the GitHub push never went through, it just continued spinning and spinning, with no visible progress.

Hey 👋 The link provided doesn't work for me so I can't try and reproduce the issue. Is this still an issue?

:wave: We're closing this due to inactivity. Please, feel free to open a new one if you're still encountering any errors.


Doesn't react-native support proxy in 0.64?

In README:

Migration is also not possible for React Native which does not support Proxy.

Doesn't react-native support proxy in 0.64? See https://reactnative.dev/blog/2021/03/12/version-0.64#hermes-with-proxy-support.

I am sorry for my lack of detail. React Native uses a new JS engine during refactoring - Hermes, and it (if < v0.59 or when using the Hermes engine on React Native < v0.64) does not support Proxy on Android, but like you mentioned, the latest version of Hermes already supports it.

I think better to update README and clarify it.


Changing ms.author and author metadata for cmdlets

The change is only affects the docfx.json file. May reassign ownership after further discussions with the dev owners.

@sdwheeler,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docfx.json
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


[Bug]: It doesn't automatically connect anymore even though I am logged in in Chrome on Udemy

What happened?
It doesn't automatically connect anymore even though I am logged in in Chrome on Udemy. I tried deleting cookies and everything and still the same error "Make sure you're looged in Chrome in Udemy, but I am logged in. I don't use any extensions. I have the latest version of DUCE.
Enroller
GUI
OS
Windows
Relevant log output
No response
Terms

[X] I am using the latest available version.

That's weird can you try with any other browser and see if the issue is only with chrome.

I tried with Firefox and it still doesn't work, maybe it needs to ask the user for input of the 6-digits code sent to email from Udemy?

When I try to login with Auto Login I get:
Traceback (most recent call last):
File "D:\PortableApps\Udemy Discounted Course Enroller\Discounted-Udemy-Course-Enroller-master\gui.py", line 200, in
udemy.get_session_info()
File "D:\PortableApps\Udemy Discounted Course Enroller\Discounted-Udemy-Course-Enroller-master\base.py", line 638, in get_session_info
raise LoginException("Login Failed")
even though Udemy is logged in in Chrome
Manu al Login doesn't work because it sends a 6-digits code to email and there is no way to input it, it doesn't ask for the code.

Ahhh You will have to disable 2FA on the account

Hi,
That 2FA or MFA is already disabled in Account security settings in Udemy
but there is the new passwordless login that they've implemented.
I've asked Udemy support if the passwordless login can be disabled and they
said no. So we are stuck with that 6-digits code in the email protocol even
if MFA is disabled.
How do I set Discounted-Udemy-Course-Enroller to recognized the cookies
from Firefox instead of Chrome, which file should I modify to reflect that?
Thank you,
Have an excellent day!
Gabriel M.
În mie., 11 sept. 2024 la 13:13, Name is Techtanic @.***>
a scris:

Ahhh You will have to disable 2FA on the account
—
Reply to this email directly, view it on GitHub
https://github.com/techtanic/Discounted-Udemy-Course-Enroller/issues/171#issuecomment-2343222194,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BFFNAM77KWGEKAJLGOARX4LZWAJWJAVCNFSM6AAAAABN2AI2Y2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNBTGIZDEMJZGQ
.
You are receiving this because you authored the thread.Message ID:
@.***
com>

I see that the Udemy site has a bug where you click disable on the MFA but it doesn't disable it whatsoever. But I could finally disable it from the Udemy Android app. It works now.

You can disable the code requirement by installing the Udemy phone app and
going to Account > Security > and disable the MFA
If it's already disabled then enable it and then disable it. For some
reason this doesn't work in the browser because they have a website bug
making disabling it inefficient. But disabling it works on the phone app!
Glad to help.
Gabriel M.
On Thu, Sep 12, 2024, 06:59 Harsha Lakshan Jayathissa <
@.***> wrote:

Can You Add the Field For Enter The Code That Will Be Helpful For Us.
—
Reply to this email directly, view it on GitHub
https://github.com/techtanic/Discounted-Udemy-Course-Enroller/issues/171#issuecomment-2345219785,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BFFNAMZVIWRH2OZP3J2BTMDZWEGR3AVCNFSM6AAAAABN2AI2Y2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNBVGIYTSNZYGU
.
You are receiving this because you authored the thread.Message ID:
@.***
com>


No link to list all collections / exhibits

To get here: http://lib-pom1.princeton.edu/spotlight

Closed as duplicate of #102.


Margins (like xterm -borderwidth)

The letters in the first/last columns can be difficult to read because they are very close to window borders. It would be nice to have a possibility to create some space similar to xterm's borderwidth option. One can have different settings for vertical and horizontal margins.

There's an option in the config called padding that does this. See alacritty.yml at the repository root if you don't already have it.

Many thanks, somehow I did not spot this option in the config file.


Too many requests

Is it possible to receive an error for too many requests?
Traceback (most recent call last):
Cell In[24], line 43
if filing.header.form == '10-K' and year in str(filing.filing_date):
File /opt/anaconda3/envs/nlp_env/lib/python3.11/site-packages/edgar/_filings.py:1210 in header
sec_header_content = download_text_between_tags(self.text_url, "SEC-HEADER")
File /opt/anaconda3/envs/nlp_env/lib/python3.11/site-packages/edgar/httprequests.py:558 in download_text_between_tags
for response in stream_with_retry(url):
File /opt/anaconda3/envs/nlp_env/lib/python3.11/site-packages/edgar/httprequests.py:238 in stream_with_retry
raise TooManyRequestsError(url)
TooManyRequestsError: Too Many Requests

Change filing.header.form to filing.form.
Some properties like filing.header make an extra http call to get more data like the header information. The library has a lot of internal safeguards against too many requests but it can sometimes be triggered.

Thank you Dwight. I was able to resolve this.

Closed as resolved