Add --ipv4-cluster-alloc-cidr option to specify IPv4 cluster prefix

Description of requested functionality
I think it would be useful to have functionality like #4313 but for ipv4.
Example use cases
I'd like to specify an overall cluster CIDR for k8s pods. I can't use the --allocate-node-cidrs because I don't want the cloud provider to be aware of the overlay CIDR. The alternative is to specify --ipv4-range on each node's cilium-agent, but that's not easy to distribute via ConfigMaps in a unique way.
The --ipv4-cluster-cidr-mask-size is insufficient because I may want to choose a non <IP_ADDRESS>/8 based CIDR, perhaps a different RFC1918 CIDR that I know will not conflict with any other valid IP range in my corporate network.
According to this page, a node's cluster cidr subnet is chosen based on the last octet of effectively, the eth0 cidr. This means it could pick a node cidr that may conflict with another subnet in my larger private network, which would create a routing ambiguity.

I'd like to specify an overall cluster CIDR for k8s pods. I can't use the --allocate-node-cidrs because I don't want the cloud provider to be aware of the overlay CIDR. The alternative is to specify --ipv4-range on each node's cilium-agent, but that's not easy to distribute via ConfigMaps in a unique way.

Makes sense.

According to this page, a node's cluster cidr subnet is chosen based on the last octet of effectively, the eth0 cidr. This means it could pick a node cidr that may conflict with another subnet in my larger private network, which would create a routing ambiguity.

Agreed. This is meant as a default to get a cluster up and running without providing any configuration. We are thinking about deprecating this behavior.
Can you clarify about what you want specifically? IPv6 has the benefit that we can use a full public IPv4 address in the IPv6 prefix to make it unique. For IPv4, we will probably need a more sophisticated allocation logic.
Let's assume we add --ipv4-cluster-alloc-cidr=<IP_ADDRESS>/16 option to define a base prefix. We would probably need an additional parameter to specify the size of the per node CIDR, let's assume this is --ipv4-node-cidr-size=24. This would then mean we need to allocate the unique per node portion. This could be done in several ways:
kvstore:
Using the existing allocator which would allocate the X in 10.10.x.0/24. The existing lease based system would allow to reuse CIDRs which have been claimed by agents that then disappeared and never reappear.
k8s CRD:
Have a tool which populates a CRD for each available node CIDR and let agents claim from this pool. This has the advantage of not depending on the kvstore but it becomes more difficult to garbage collector CIDR that have been claimed by nodes that then disappear and never disappear.
Node annotations:
We offload the problem entirely to the use and require to annotate the k8s node resource with the PodCIDR to be used. This could be done today already.

Let's assume we add --ipv4-cluster-alloc-cidr=<IP_ADDRESS>/16 option to define a base prefix. We would probably need an additional parameter to specify the size of the per node CIDR, let's assume this is --ipv4-node-cidr-size=24

I was thinking exactly along these lines. If these 2 options are added, then that would preclude the use of either --ipv4-range on a per-node basis, and/or the --ipv4-cluster-cidr-mask-size as well. Just to give another concrete example, I may want to use a different RFC1918 space is like <IP_ADDRESS>/16 for my base prefix, to absolutely ensure there are no conflicts with the rest of the network.
I assume the existing behavior around --ipv4-range uses the kvstore option, and I've had good luck with that already. My personal take is that the kvstore option is best, since it doesn't directly get coupled to k8s then, just the kvstore. In theory, there could be situations where a user might want to use cilium with plain Docker containers and k8s using Docker for its choice of container runtime. The kvstore option feels generic enough to support this.

The CRD based IPAM made available in the 1.6 release allows to plug in arbitrary specification of PodCIDR or list of IPs for pods on a particular node.

My existing cidr range for pods is <IP_ADDRESS>/13.  I am using weave and want to test with cilium.  What should be the appropriate args that I need to pass to cilium-agent.


leela-zero: 0.16 -> 0.17

Motivation for this change
Updating the already existing package to the newest tagged version, v0.17
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[x] Assured whether relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

@GrahamcOfBorg build leela-zero


Linter gets confused if multiple editor tabs are open to the same file

Hi, this plugin is amazing! I ran into trouble, though, when opening the same file in two tabs at once:

Open a file.
Right-click the tab and choose one of the "split" options. Now there are two copies of the file open.
Insert an error in the first tab, see it highlighted.
Fix the error in the second tab.

Expected result: The error message goes away in both tabs.
Actual result: The error message sticks around until you also edit the first tab.

It seems an issue of linter itself.


Small typo in README

The example is molcloud [smiles_file] [output_file] --width 10. However, output_file is an optional argument with the --output_file flag rather than a required positional argument.
It might also be worth linking to the Pygraphviz install instructions to avoid confusion like discussed here: https://twitter.com/flyingchow/status/1543047603658448896.

Thanks! Fixed by 34fb12b4138da7a4a17e2dec5812ff614e457265


2.0.0 build is broken

https://github.com/tomchentw/react-google-maps/blob/master/src/Rectangle.js#L11 _RectangleCreator no longer exists

Thanks! Will fix it soon.
https://twitter.com/ishwr/status/629726314631532545

Closed for #91

Released v2.0.0 and v2.0.1.


Add parallel support and Buildkite support

Add support for the popular Buildkite CI (node-coveralls already has this)
Add configurable parallel: true/false option (default false) to the .coveralls.yml

@keradus @garak can I get a review pls

LGTM

@keradus @garak no merge?

I'm not a maintainer of this repo, so I can't merge

Apologies, my mistake - are there still active maintainers?

Would've been good to get a response from someone.

hey. i'm doing the cleanup etc with the repo. happy to have this reopened

hey. i'm doing the cleanup etc with the repo. happy to have this reopened, @reececomo


[BUG] pip broke painless source code dependencies for Cython, there needs to be a way to do this that works in practice

Describe the bug
Pip added build isolation, and sadly this broke painless source code dependencies for Cython for cross-project .pxd import because now every such dependency needs to be fully built (which if it's Cython can take forever) again for each install due to build isolation. Pip has also decided that build isolation is always force-enabled for all packages now, so this makes it impossible to make a Cython package depend on another Cython package for .pxd import without causing the user potentially really extreme and untenable build times. There needs to be a way to do this that works in practice, more concretely, how to specify a Cython dep in pyproject.toml as a build dependency in a way where the package is put in place for import mechanisms to find it but isn't actually built.
From my previous interactions with the pip developers they're pretty clueless and overwhelmed with finding any way to address this and just won't, so this might require some pushing and suggestions from the Cython project side.
Code to reproduce the behaviour:

Make two packages that can be installed via setuptools setup.py or similar. One of them, let's call it package A, should have .pxd packages that end up being installed (via MANIFEST.in or such) into where the final module folder then is in site packages or alike.

Make the other package, package B, then depend on package A by 1. adding to its setup.py a mechanism that uses python's standard mechanisms, currently this would be importlib's importlib.util.find_spec I believe, to locate package A, then 2. use cythonize's include_path option to specify that as a search path for .pxd files, then 3. cimport some .pxd from package A in package B somewhere. Please note you might run into #2886 and somehow need to work around that if your project also uses .pyx/.pxd for the __init__.pyx main module file.

You'll find that you'll need to add package A to package B's pyproject.toml as a build dependency or it won't be found with build isolation enabled. But that will also cause package A to be built even when the build may take hours (that's not an exaggeration for what I've run into on some devices). You'll probably also find out like me that there doesn't seem to be any mechanism to avoid this, e.g. some "this is a build dependency but don't build it itself" flag in pyproject.toml. You'll find that otherwise you'll need to tell end users to use --no-build-isolation which they won't understand why they need it, and also it might cause other issues down the line, like less reproducible and clean builds hiding other bugs, etc.

Expected behaviour
There should be an obvious way how to specify a Cython project as a build dependency in pyproject.toml with some standardized flag that e.g. makes all cythonize calls a no-op by default or something, or something else that requires as little modifications to be widely supported by Cython projects as possible.
OS
All OSes affected
Python version
All Python versions affected if your pip is new enough to enforce build isolation
Cython version
All Cython versions affected
Additional context
No response

(Maybe I should note the kind of severity on this. Basically I sunk literal days into trying to make my project not a pain to install that I planned to open-source, a pretty big multiple thousands of lines graphical program of a few years, and I failed. Because I don't want to require pages of extra ways for a normal user to even try to get it running, I gave up on it for now, waiting for the Cython and pip ecosystem to somehow figure out a non-painful way to do this for both the dev and the user where I feel comfortable subjecting others to my code and the process of getting it to run.)

Thanks for the report. Let me try to understand what goes wrong here.

that will also cause package A to be built even when the build may take hours

Doesn't pip install the other project as wheel? Or does this only apply to packages that do not provide wheels (for a given architecture)?

Thanks for the response! As for wheels, yeah, this is my own stuff and I don't know how to provide wheels. :laughing:  It's also not on pypi. And wheels wouldn't solve it for my own installs of the dev versions to debug stuff, I think.
Also, pip hates cross compilation from last time I've tried it since it doesn't seem to understand when it's pointed at using a cross compiler and can't be made to, which at least from what I've gathered they also intend never to solve (which I think combined with build isolation is a big mistake but that's a whole other can of worms and less so connected to Cython), so that alone would get in the way of me ever reliably providing wheels ever.
But if all that means as a result people can't reasonably install it at all with hours of extra time, that's not really a way I can ever dare release this to others. Right now you basically need to specify --no-build-isolation and if you don't it breaks, but no regular user is going to understand that, so this is kind of untenable.

Wheels are relatively easy to build with cibuildwheel, e.g. on a Github Actions workflow. See what Cython does, for example. You can also cross-compile them for Arm64 and others. That would probably solve your problem, because installing wheels is quick.
As for a development workflow, maybe you can get away with not making your own packages (for which you have a local checkout) build dependencies of your project at all, but to just include their pxd directories in your PYTHONPATH, so that Cython can pick them up? You don't really have to build a package with pip while you are locally working on it.

Thanks for the idea! I think the problem is that the setup.py would need to do that, right? So how would I do that in some friendly maintainable way when I just have the requirements.txt entry to pick up?
I'm not looking to find yet another barely maintainable hack (like the one to work around #2886 ) that makes it unbuildable for others.

Others will probably not have your other packages checked out to build together with those locally. If you provide binary wheels, your users will be fine. Probably you as well, as long as you're not making changes to the pxd files compared to what the binary wheels include. If you make change there, you'll have to point Cython to the local directory where you keep the updated versions.

So is the answer really "sorry, the package just can't be built normally from source then"? :cry:

I thought about this some more, and I think the main problem is that I don't understand why pip rebuilds something from scratch if it's already built and in the site packages. Doing so causes two big issues: 1. it risks for Cython in particular to rebuild with the wrong and not exact matching version causing crashes and corruption if there's e.g. .pxd importing going on but then with a binary incompatible variant, 2. it wastes lots of time even for non-Cython stuff, 3. it doesn't achieve anything of use if it was already just built. Why doesn't it generate a wheel locally (I think it actually does, usually) when that dependency is first installed into site packages, and then just reuse that wheel without rebuilding when inside the build isolation venv for the next thing depending on it? I don't understand that.
I'm probably missing something, but it's all really weird and cumbersome. But hacking around to search .pxd from a counter-intuitive third location that is neither requirements.txt or pyproject.toml manually sure doesn't sound like the correct way to deal with it.

Not really a cython issue, maybe we should continue this on the mailing list and not here.
pip is a package manager. It passes the build task on to a build backend, which in your case is setuptools/setup.py. When you tell pip to invoke the backend to build your package, it wants to do so in a reproducible way. That means creating an isolated environment to build in. (You can override this with --no-build-isolation). Now if your package has dependencies, and those dependencies are wheels, and your internet connection is OK, this isolation is not that painful: it will download and install a handful of wheels (which pip even caches locally to make it faster next time) and then pass the build task off to the build backend. But if you do not have wheels, pip, as a package manager, will look at the dependencies and build each one separately from source. You cannot really tell pip "hey, this is a dependency but it is not a package". If you want something like that, maybe you should not declare dependencies in your pyproject.toml. There are other choices:

add them to your source tree as a submodule
use a build system that knows about dependencies like bazel

So you have to choose: if you use pip to manage your dependencies, you have to buy into their model. I use "buy" intentionally: there is a cost to using the standard.

You cannot really tell pip "hey, this is a dependency but it is not a package".

But couldn't this be solved? All that would be needed is a flag that tells pip that it should still fetch this, place it somewhere, but just not build it. Or alternatively, to make it not rebuild it if it's already in the site packages but simply copy it over.

Basically, when I started this project setuptool's setup_requires was the way to go and there was no build isolation, and everything worked fine even for .pxd imports without hours of rebuilds and without using wheels or anything. Then all these changes happened, and suddenly there is no way to do this anymore, and I just feel like it renders Cython way less practical for huge projects. With how this situation is today, I wouldn't have used Cython anymore, and I think that might be worth solving.

Where is the code to your project? Please open an issue there and ping me so we can continue the discussion somewhere else.

It's currently not set to public because I saw no point, given I currently don't see a way how to make it installable in a way the average pip user understands :woman_shrugging: (which is why I made this ticket here).
Maybe I'm wrong, but I don't think this discussion is very dependent on the actual code. I think all projects that consist of 2+ larger Cython packages that take a while to build where one larger package does .pxd cimports from another larger one will run into this issue. Even with wheels this isn't fixable for building dev versions.

Even with wheels this isn't fixable for building dev versions.

It sounds to me like the only issue that you have is local development. As soon as you release a public version with wheels, the problem goes away.
I don't currently see how we could help you here, so I'll close this ticket. If we find new ideas of what Cython specifically could do to improve the in-development situation of interrelated projects, it's fine to continue the discussion here. Or open a new ticket.

Well, I was hoping you could contact the pip devs and figure out something that works for both sides. I think it's greatly harming the Cython ecosystem, I can't be the only one who finds this kind of untenable in daily work.

As soon as you release a public version with wheels, the problem goes away.

That really seems like window dressing, development work never stops. "Local development" being the "only" issue is a pretty massive issue. Also, small headcount projects simply may not have the resources for a CI to make wheels for all platforms it's used on.

I think all projects that consist of ...

Do you have supporting examples of such projects? A counter example: SciPy cimports numpy, and successfully submits NumPy issues based on developer workflows when NumPy breaks their project, which is often.

I can't be the only one who finds this pretty untenable for daily work

So far it seems so? Without code, it is very difficult to help you or even understand your situation. Feel free to invite me (mattip on github and codeberg) to your private repo so we can continue the conversation there, I can sign an NDA if needed.

small headcount projects simply may not have the resources for a CI to make wheels ..

cibuildwheel goes a long way to making this work across many CI providers, and dovetails well with the meson build system plus ninja to build large cython projects like SciPy or Pandas in parallel. We recently converted NumPy from setup.py/setuptools to meson, as did Scipy, and are happy with the results: build time decreased by at least a factor of 5 if not more.

Could you provide an example of reproducing this issue by simply running git clone and pip install? AFAIK, pip will try to use cached wheels by default. If nothing is going wrong, pip shouldn't build the dependency twice.

AFAIK, pip will try to use cached wheels by default. If nothing is going wrong, pip shouldn't build the dependency twice.

Ah, yeah, that's an important piece of info, that would certainly explain why nobody else is complaining. For me somehow that doesn't work with my current setup.
There's certainly no NDA needed, I just need to make the time to clean up the copyright and license notices to set it public. And/or make a minimal example project to reproduce issue, since apparently it works for everyone else.

Installing directly from a source distribution will make pip build a wheel, regardless of whether there is a matching cached wheel.

I think this might be the problem. I'm always referring to the git repository since this package isn't on pypi, I assume from the quote that pip then just doesn't cache which matches what I'm seeing. Is there a way to fix that?

I have as a consequence of this already decided a while ago that the Python ecosystem, with its combination of slowness and Cython becoming untenable with standard tooling, is better left behind. But it's sad, there's a lot of years of code and work that others could benefit from wasted. So I'm still hoping this will be resolved, but I can't say that I'm particularly positive. There seems to be a bit of apathy from all sides about this problem.

For what it's worth:

So far it seems so?

It seems many devs are generally are fed up with where pip is moving, at the very least, from those I talk to. I'm glad that I'm now heading elsewhere myself. I'm hoping some time the packaging situation of Python will improve, but in the last years it mostly seemed to only get worse and worse which is a shame.


Row too big to fit into CursorWindow

When i try to update or insert documents (pdf file in string base64 format) in loop
an exception is raised when I insert about twenty documents (but it's variable (15 - 20 docs))
Code js :

//call with axios webservice => Reponse.data
var buffer64 = new Buffer(response.data, "binary").toString("base64");
console.log(buffer64.length); => // size of buffer64.length = 185476
updateDocPromise(query, newDoc) {
//return this.insertDocPromise(newDoc);
return new Promise((resolve, reject) => {
dbMongo.update(query, newDoc, { upsert: true }, function(
err,
numReplaced
) {
console.log("FUNCTION : updateDocPromise : " + newDoc.id);
    if (err != null) {
      console.log("FUNCTION : updateDocPromise : ERR ");
      console.log(ERR);
    }

    err ? reject(err) : resolve(numReplaced);
  });
});

}

Exception raised in Android studio logcat :

2019-02-28 16:17:07.092 7059-9470/ W/CursorWindow: Window is full: requested allocation 2127495 bytes, free space 2096688 bytes, window size 2097152 bytes
2019-02-28 16:17:07.092 7059-9470/ E/SQLiteQuery: exception: Row too big to fit into CursorWindow requiredPos=0, totalRows=1; query: SELECT key, value FROM catalystLocalStorage WHERE key IN (?)
2019-02-28 16:17:07.094 7059-9470/ W/unknown:ReactNative: Row too big to fit into CursorWindow requiredPos=0, totalRows=1
android.database.sqlite.SQLiteBlobTooBigException: Row too big to fit into CursorWindow requiredPos=0, totalRows=1
at android.database.sqlite.SQLiteConnection.nativeExecuteForCursorWindow(Native Method)
at android.database.sqlite.SQLiteConnection.executeForCursorWindow(SQLiteConnection.java:904)
at android.database.sqlite.SQLiteSession.executeForCursorWindow(SQLiteSession.java:851)
at android.database.sqlite.SQLiteQuery.fillWindow(SQLiteQuery.java:62)
at android.database.sqlite.SQLiteCursor.fillWindow(SQLiteCursor.java:149)
at android.database.sqlite.SQLiteCursor.getCount(SQLiteCursor.java:137)
at com.facebook.react.modules.storage.AsyncStorageModule$1.doInBackgroundGuarded(AsyncStorageModule.java:97)
at com.facebook.react.modules.storage.AsyncStorageModule$1.doInBackgroundGuarded(AsyncStorageModule.java:81)
at com.facebook.react.bridge.GuardedAsyncTask.doInBackground(GuardedAsyncTask.java:32)
at com.facebook.react.bridge.GuardedAsyncTask.doInBackground(GuardedAsyncTask.java:20)
at android.os.AsyncTask$2.call(AsyncTask.java:345)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:257)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:784)

Exception raised in Visual Studio code by react native :

[18:02:47] [Unhandled promise rejection: Error: Row too big to fit into CursorWindow requiredPos=0, totalRows=1]

node_modules/react-native/Libraries/Storage/AsyncStorage.js:339:22 in convertError
node_modules/react-native/Libraries/Storage/AsyncStorage.js:332:71 in
... 7 more stack frames from framework internals

Unitarily my files are not very big 180 Ko,
if I reduce the file size < 10ko I do not have any problem anymore in collection of 20 items . But I do not understand where the problem comes from,
and if I can solve it
Android version API 28 Android 9
"react-native-local-mongodb": "^2.2.5",
Thanks for your help.

Looks like a limitation with AsyncStorage. I’m planning to change the default storage, but PRs are welcome :)
for now, you can try this https://github.com/antoniopresto/react-native-local-mongodb/issues/42#issuecomment-432898339

Thank you for your quick feedback!
In fact, each row i'm trying to insert are less than 200KB. It seem that the limitations is reach with 20 inserts approximatively, which concords with the 2MB CursorWindow limitation, but i thought that it was a limitation per row...
What do you think, am I misusing anything?

What do you think, am I misusing anything?
I honestly do not have an answer. Feel free to reopen if you believe it is a bug in this lib.

I've tried using redux-persist-filesystem-storage but I'm still getting this error
Is this the correct setup?
import FilesystemStorage from 'redux-persist-filesystem-storage'
import Datastore from 'react-native-local-mongodb';
let mdb = new Datastore({filename:'name',storage:FilesystemStorage,autoload:true});

how to change AsyncStorage to something else to avoid  CursorWindow issue.


Idle logo addition

Hey, we'd like to add the logo of our token. The website link is https://idle.finance/#/

the changes are not reflecting in the extension, how long would that take?


What's this extension for, exactly?

I can already add tabular discussion notes to multiple work items simultaneously. Can you explain what advantage this extension provides?

Nevermind, I guess it allows you to, for example, add a bunch of different comments, by work item ID, and I wasn't aware that the existing CSV import isn't able to do that.


InternVL2 Truncated Output

When I use InternVL2-40B to do single image inference using personal data, the output is truncated.

Hi, @TJ-Ouyang ,
That is strange, apparently the token number of the output is much smaller than the max_tokens set. Would you please share the content of your test.py so we may help with debugging?

Hi, @TJ-Ouyang , That is strange, apparently the token number of the output is much smaller than the max_tokens set. Would you please share the content of your test.py so we may help with debugging?

We have solved the problem by setting "kwargs_default = dict(do_sample=False, max_new_tokens=512, top_p=None, num_beams=1)" before self.model.chat at line 359 in internvl_chat.py. We used ipdb and found the process did not go chat_inner function, where max_new_tokens was set before.

@TJ-Ouyang ,
I have figured out the cause of this problem: the default max_new_tokens for InternVL2-40B is just 20. I have changed the default kwargs value so that other users will not meet this problem again.

https://github.com/open-compass/VLMEvalKit/blob/e542caea3cf5d362131bccdb97a70ce50839c332/vlmeval/vlm/internvl_chat.py#L177


tor1 and sck1 not appearing in network

Figure out why...
http://pombase2.aska.gen.nz/term_genes/GO%3A1901990
First, me to check EsyN files and other obvious stuff...
(then note to self, make a ticket to ensure the dircetly activates_inhibits get into network building files)

tor1 is on that page.  sck1 doesn't seem to have any annotations to a term with "regulation of mitotic cell cycle phase transition" as a parent?

I mean tor2/sck2.
however this is not a good example of what I was trying to check. This is has_substrate.
anyway, this one is in the file "pombase-go-substrates (1).tsv"
SPBC216.07c	SPAC22E12.14c	PMID:22976295
The fat that these are missing must be an esyN issue, but we won't worry about that......this will go away with
https://github.com/pombase/website/issues/293
Now I will check some "directly_negatively_regulates" and + as I originally intended.....


docs: add links to playground examples in introduction.md

This PR adds 4 links to introduction.md, linking to runnable examples.
Having examples like this throughout the docs would be really useful, but they also have the potential to be a maintenance hassle, e.g. ensuring the dependency versions are handled correctly. I figured it'd be better to start small and add more later.
The first two examples are almost exactly the same as the code shown in the docs. I think the only thing I changed was the imports.
The third and fourth examples needed more work, as they were incomplete.
I've copied some CSS from the core docs to show a Play icon next to the links. The original CSS is here. The core docs are using a custom theme, so I had to make some adjustments to get it working in the Pinia docs.
I put the CSS in a separate file, playground-links.css. Not sure if that was the right decision, as it seems that most other CSS have been added to vars.css. If all custom CSS should go in vars.css then maybe it should be renamed?

This is a really good idea! I will take the time to review each example individually


GitHub full-width layout

Full-width GitHub. Recapture all that useless whitespace in GH's latest styling.

Nicely done, thanks for the contribution! 👍


audit: Port audit_urls to rubocop and add corresponding tests Part 2

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[x] Have you written new tests for your changes? Here's an example.
[x] Have you successfully run brew tests with your changes locally?

#569
And Continuation of #2911 , this PR ports Non strict / Online parts of audit_urls
Opening this PR for review until #2911 gets merged.

Will hold off reviewing until this is rebased on master but thanks for opening early 👍

@MikeMcQuaid Its rebased with master now.

Great work again @GauthamGoli!

Good job, once again @GauthamGoli!!


Objects constructed using spread have incorrect inferred types with optionals

Bug Report
🔎 Search Terms

optional spread

🕗 Version & Regression Information
Issue present v3.3.3333 through v5.0.0-dev.20221205

This is the behavior in every version I tried, and I could not find anything about it in the FAQ.

⏯ Playground Link
Playground link with relevant code
💻 Code
const required: { a: string } = { a: 'test' }
const optional: { a?: string | undefined } = { a: undefined }

const optionalFirst = {
  ...optional,
  ...required,
}
// ^? { a: string } Good

console.log(optionalFirst) // { "a": "test" }

const optionalLast = {
  ...required,
  ...optional,
}
// ^? { a: string } Bad -- Should be { a?: string | undefined }

console.log(optionalLast) // { "a": undefined }

🙁 Actual behavior
The inferred type of an object constructed using spread removes optional typing regardless of order
🙂 Expected behavior
The inferred type of an object constructed using spread should maintain optional properties that are in the last position

This is solved by enabling the exactOptionalPropertyTypes compiler option.

Is there a reason that isn't the default? It seems odd that one must choose not to have this bug.

It was introduced later on and is quite a big breaking change, so it's not a default. The break was considered too big for it to be part of strict as well.

It seems odd that one must choose not to have this bug.

It's technically not a bug, it's working as intended / a design limitation.

Sure it works as it was first implemented (and thus became the design). I would still call it a bug or perhaps a design-flaw. However I understand that it would cause issues if it were fixed. Perhaps exactOptionalPropertyTypes could be set by default when starting a new project by using tsc --init?


LargestEigenValueFinder bugs

The LargestEigenValueFinder class has a bug that will cause it to produce incorrect eigenvectors in some cases.  When the algorithm converges to the eigenvector quickly, it may be the case that the eigenvector of the transpose matrix has not converged yet.  This causes the nextLargestEigenValueFInder method to pass an inaccurate matrix.  Normally this will have no impact on the actual eigenvalues but can significantly impact eigenvectors.  The solution is simple: add an i-var transposeResult (name chosen to be symmetric with result but a better name might be transposeEigenValue) and then modify #evaluateIteration so that it requires convergence on both the eigenvalue and the transposeEigenvalue:
`evaluateIteration
"Iterate the product of the matrix of the eigen vector and the transpose.
(c) Copyrights Didier BESSET, 1999, all rights reserved.
Initial code: 6/1/99 "
| oldEigenvalue oldTransposeEigenvalue |
oldEigenvalue := result.
oldTransposeEigenvalue := transposeResult.
transposeEigenvector := transposeEigenvector * matrix.
transposeResult := transposeEigenvector at: 1.
transposeEigenvector := transposeEigenvector * (1 / transposeResult).
eigenvector := matrix * eigenvector.
result := eigenvector at: 1.
eigenvector := eigenvector * (1 / result).
^oldEigenvalue isNil
	ifTrue: [2 * desiredPrecision]
	ifFalse:
		[((result - oldEigenvalue) abs
			+ (transposeResult - oldTransposeEigenvalue) abs) / 2]`

Here's a matrix which shows the difference:
m := Matrix rows: #((0.5d 0.4d 0.1d) (0.3d 0.4d 0.3d) (0.2d 0.3d 0.5d)).
Any accurate eigenvalue finder will list (value -> vector) -- note that many normalize the eigenvectors so that their last element is 1:
1 -> (1 1 1)
0.34142136 -> (-1.03099482 0.15872440 1)
0.05857864 -> (2.79570070 -3.33520499 1)
whereas the old algorithm gives:
1.0d->#(1.0d 1.0d 1.0d)
0.34142135624741d->#(-1.0609563302115d 0.14632393655588d 1.0d)
0.05857864376269d->#(2.8119936749989d -3.3745397045445d 1.0d)

with the supplied change we get:
1.0d->#(1.0d 1.0d 1.0d)
0.34142135625393d->#(-1.0309948197844d 0.15873440051694d 1.0d)
0.058578643762691d->#(2.7957007035743d -3.33520499022d 1.0d)

I don't use Pharo (I use this code under VW) hence I'm not going to go to the effort of a PR.
BTW, this bug will show up a lot in MCMC algorithms!

Thanks for the feedback, we will investigate this

Thanks for the tests!
This is strange because we originally took the same code from Didier.


[FINE] Shouldn't be able to submit required field without a value

Fix required flag to not accept nil option introduced in https://github.com/ManageIQ/manageiq/pull/17424 as valid value.
Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1555487.

@eclarizio I done goofed, can you review please?
@miq-bot add_label bug

@miq-bot remove_label wip

@eclarizio can you please take another look? it's weird, and i hate it, but it'll work for what the customer wants

hey @tinaafitz 🎁


TreeView becomes invisible when sibling views are expanded

VSCode Version: 1.35.1
OS Version: MacOS Mojave 10.14.5

Steps to Reproduce:

Install https://marketplace.visualstudio.com/items?itemName=42Crunch.vscode-openapi&ssr=false#overview

Increase zoom level twice to make fonts bigger

Unzip xkcd-swagger.json and open it with VS Code.

Switch to "API" view with activity bar.

Collapse all the tree views (GENERAL, PATHS, PARAMETERS and so on)

Start expanding the collapsed tree views starting from the top one ("GENERAL")

By the time the DEFINITIONS view is expanded (depending on the screen size) tree views below it become invisible and there is no indication in the UI (for example a scrollbar) that there is anything hidden below.  See expanded/collapsed screenshots below. The expanded one shows an issue where tree views below "SECURITY" one are not visible.

xkcd.zip

@joaomoreno Seems related to split view overflow?

#64188


Upgrade debug to latest version

older versions are vulnerable to CVE-2017-16137

🏓 can we get this merged?
/cc @stdarg

Sorry for the delay! And thank you!


Clarify the way to access functions from dictionaries

Hi - while writing a package I found this hint needs a bit further clarification, hence this PR. Otherwise, users could interpret field access as #dict(.fun)(...), dict(.fun)(...), or (#dict.fun)(...) like I did.

Perhaps this should show the concrete field? Unfortunately, there's no way to show the concrete dictionary, too, though.

Sorry, could you clarify what it means by "concrete"? Is it in the sense that the made-up names like dict and fun are not "concrete" since there are made up?

Yes, that. Since the concrete field name is known, we could use it.

Thanks!


Examples integrating with umbrella elixir, phoenix, etc

Would be great to have some examples, maybe some repos integrating this package with real elixir projects.

+1 @mindreframer

@aislanmaia found this demo repo https://github.com/maxohq/surrealix_demo, but more directed instructions would be amazing!

@jamilabreu Yeah, sorry about missing docs. In our project we actually decided to move away from SurrealDB for now and stick to plain Postgres. I solved all the performance troubles we had with SurrealDB with non-trivial amounts of data. Also the visibility and troubleshooting is simpler. Maybe SurrealDB becomes more usable for real-life projects in future, then we will invest more time into documenting the usage of Surrealix, for now this project is non in active use at our company

@mindreframer  what issue did you face with surreal?
Would you advice to approach choosing SurrealDB as a primary data storage with caution?

@lessless we had large rather nested json payloads (JIRA issues), that we were storing in SurrealDB. Not too much, around 30k records. Query performance for single records with relations was good, but doing any searching / filtering / pagination was painfully slow (500ms or longer). Also the indexes at that time were not picked up by the query planner, so that it always had to do a full table scan for any "collections" query.
Those issues were quite visible in Github issues, yet the team was focusing on implementing new features rather than fixing the basics. There were also a couple minor casting issues, documentation discrepancies and overall too much hype around things I personally do not need and less focus on storage basics.
I would suggest generating a realistic amount of data for your app, dumping it into SurrealDB and running some plain queries  to see how it performs. Pay attention to the storage amount on the file system, memory usage during non-trivial queries, query execution times, handling of parallel-running queries. Do it with something simple, maybe use their Node.js SDK or similar. This is a throw-away project, do not over-engineer it. See how it works with low digit GBs, how long does it take to create indexes, are query using them. A database that ignores indexes is mostly useless for real production cases.
See https://surrealdb.com/docs/surrealdb/faqs/#is-surrealdb-ready-for-production-use.
While mine intention was simplifying our stack, it ended up actually complicating it. Switching to Postgres resolved all query issues and I also realized that I did not need the flexibility of SurrealDB that much, as I imagined. Also the tooling around Postgres is so robust, that I could just focus on my app and not bother fixing DB issues.
YMMV, for me it was clear, that it's too early for real production for SurrealDB. Maybe next year it will be more robust, until then this SDK is not maintained.

Thank you for the detailed feedback, @mindreframer. We have a reasonably large dataset, and our queries can take minutes to execute without indexes. So, it's a no-go from the onset.


The "disabled" property does not work for the case when a user deletes selected options with the keyboard.

Version

Vue version: 3

Description
Preconditions: Multiselect has selected options, and the Multiselect has prop disabled set to true.
If, in this case, a user clicks on the Multiselect area (which is greyed out in case the component is disabled) and after that presses the "backspace" or "delete" key on the keyboard, the result will be that the selected option is deleted and not be selected anymore, you can repeat pressing the "backspace" key till all the options are deleted.
Is this intended behavior? Since, in my understanding, the disabled prop should act as the Multiselect is not responsive to user actions in this case. Thank you.
Demo
https://jsfiddle.net/somethinglikethis/d5kncw0g/5/

Thank you for reporting this issue.
I have encountered the same behavior, and I believe this is unintended for the disabled prop. The component should ignore user actions, including the Backspace or Delete keys, when disabled is set to true.
As a temporary fix, you can modify the file @vueform/multiselect/dist/multiselect.mjs at around line 3382, where the case 'Backspace': logic resides.
Here is the original code:
case 'Backspace':
  if (mode.value === 'single') {
    return;
  }

You can update it to the following:
case 'Backspace':
  if (mode.value === 'single' || mode.value === 'multiple') {
    return;
  }

This ensures that Backspace does nothing in both single and multiple modes, effectively preventing the removal of selected options.
Why this is a temporary fix
This approach only works until the package is updated or rebuilt. The proper solution would be for the disabled prop to universally block all user actions, including keypress events like Backspace and Delete.


I have to average the data to every hour for 365 days

saple.xlsx

Description
i have 43 rows and 16000 columns of data
for 365 days data 24 hours to every hour I have 6 values with 10 min interval
some dates are missing and for some hours there is only 3 values with 10 mins interval even though I have to average the data
Steps to reproduce the issue:
1.please check my attached file
2.
3.
Describe the results you received:
Describe the results you expected:
if the entire date or hour is missing it doesn't matter if an hour have  3 values I have to average the value and I want make a single hourly data
Output of go version:
how can i get it

Excelize version or commit ID:
i dont know what does it mean

Environment details (OS, Microsoft Excel™ version, physical, etc.):
Microsoft Excel 2019

Sorry, I can't understand what's your means. Can you show us a complete, standalone example program or reproducible demo? You can check installed Go language version by run go version.

sir
i have attached my data format
please check it
On Thu, Feb 24, 2022 at 7:29 PM xuri @.***> wrote:

Sorry, I can't understand what's your means. Can you show us a complete,
standalone example program or reproducible demo? You can check installed Go
language version by run go version.
—
Reply to this email directly, view it on GitHub
https://github.com/qax-os/excelize/issues/1158#issuecomment-1049887254,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AXIX2YDT4KEOJIAMAWYMR6LU4Y2TPANCNFSM5PGPHM2Q
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you authored the thread.Message ID:
@.***>

It seems still not have enough info of code and attachments to reproduce this issue, so I'll close this issue, if you have any questions, please let me know.


Polymer 3 + ES modules conversion

[ ] wait for vaadin-themable-mixin pre-release to be used here,

[ ] temporarily revert 349bcabf5f5a7a37fe7776a889236d65f1a53f8f to get rid of vaadin-tabs dependency. If we don't do that, we will face the duplicated dependencies issue in all the components until tabs are converted,

[ ] remove meta-data-udpater.html as it doesn't seem to be used anywhere,

[ ] remove dom-bind example and import in the demo,

[ ] after all steps are done and master contains ES modules, release 4.0.0-pre.1

Update: we ended up with deciding not to use vaadin-demo-helpers for next generation.
For basic demos and API docs of LitElement based components, we are using api-viewer.
And we are working on the new docs site that will have Java and TypeScript examples.


chore: use buildx to build docker images

Signed-off-by: Jim Ma<EMAIL_ADDRESS>
Description

Related Issue

Motivation and Context

Screenshots (if appropriate):
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Documentation Update (if none of the other choices apply)

Checklist:

[ ] Code compiles correctly.
[ ] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

Codecov Report

Merging #1018 (91ffacb) into main (4db635f) will decrease coverage by 0.10%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main    #1018      +/-   ##
==========================================
- Coverage   46.00%   45.89%   -0.11%
==========================================
  Files         128      128
  Lines        9134     9142       +8
==========================================
- Hits         4202     4196       -6
- Misses       4459     4474      +15
+ Partials      473      472       -1

Flag
Coverage Δ

Object-compatibility-e2etests
?

e2etests
?

unittests
45.89% <ø> (-0.11%)
:arrow_down:

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

Impacted Files
Coverage Δ

cdn/supervisor/progress/progress.go
91.04% <0.00%> (-5.98%)
:arrow_down:

client/daemon/peer/peertask_stream.go
63.90% <0.00%> (-1.51%)
:arrow_down:

client/daemon/transport/transport.go
57.98% <0.00%> (-1.50%)
:arrow_down:

client/daemon/peer/peertask_conductor.go
56.91% <0.00%> (-0.42%)
:arrow_down:

client/daemon/proxy/proxy.go
9.74% <0.00%> (-0.04%)
:arrow_down:

client/daemon/peer/peertask_manager.go
44.30% <0.00%> (+0.14%)
:arrow_up:

scheduler/resource/peer.go
74.84% <0.00%> (+0.48%)
:arrow_up:


Make window floating by dragging it with mouse

As title says, it would be nice to have something like that. Instead of mod+mouse:272 only move window, also float that window when in a tiled mode.

Good idea, I also believe when you want to drop the window in the tiling stack, you can hold the window over the place you want it, and the other windows move out of the way allowing you to put it there.

@vaxerski this can be closed as well, thx 4 cleanup


Add Contribution guidelines to github

Description
Add Contribution Guidelines that will be shown in github, when PRs are
made.
Status
READY
Requires Backporting
NO
Additional comments
These are contribution guidelines to the mbed TLS repository, no tests or Changelog needed

@Patater Thanks for your comments. I modified according to your comments. Most of the fixed sections were copied from the Readme file, so I guess we should modify the grammer errors\ typos in the Readme as well...
@gilles-peskine-arm @andresag01 I fixed according to your comments in the mail, please review

Can't set status; build succeeded.

Hi @andresag01 I fixed according to most of your comments. There are two comments I don't entirely agree, and answered. Please notice

Hi @hanno-arm I addressed your comments

@hanno-arm / @Patater - Could you please review this and approve if you feel you can? Thanks

Merged via 4b117d9c9


crash server

PocketMine Version: 4.9.1
Plugin version: 1.5.1
Game version: 1.19.31
https://pastebin.com/trm52tfX

The plugin update is scheduled for mid-November.


fix: typos

Features

xx
yy

Feature Docs

Influence

Result

Other

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 81.85%. Comparing base (e40fc66) to head (d326a9b).

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##             main    #1027   +/-   ##
=======================================
  Coverage   81.85%   81.85%
=======================================
  Files         246      246
  Lines       13725    13725
=======================================
  Hits        11234    11234
  Misses       2491     2491

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


"Crash" after starting with a single whitespace in account creation process

Issue description
When starting with a single whitespace in the account creation process, the application "crashes" and buttons don't respond anymore.
Wallet version
v0.4.0
System specification
macOS 11.3 Beta
Is it a repeatable issue?
Y
Steps To reproduce the issue

Click "Create" to create a new account
Type in a single whitespace

Errors

Fix included in the next release.


Associate user with connection in /connz

We need to think a bit harder about PII here in terms of a more global system. For enterprise users this may be wanted and even required.

This already is in with param ?auth=1


Activity Indicator doesn't take numeric value

Description
Activity Indicator doesn't take numeric value. I tried to use ActivityIndicator in my app, and I found in official documentation, that I can use custom size for. There is also an example in official indicator, so I tried to use it like:
<ActivityIndicator
    animating = { true }
    size = { 75 }
    color = "#0c95b2"
/>

And as result I getting an error:
Invalid UIActivityIndicatorViewStyle '75'. should be one of: (
    0,
    1
)

Additional Information

React Native version: [0.41.2]
Platform: [iOS]
Operating System: [MacOS]

Passing a number to the size prop is only supported on Android.

From the documentation: https://facebook.github.io/react-native/docs/activityindicator.html#size

Size of the indicator (default is 'small'). Passing a number to the size prop is only supported on Android.

Yea this is due to limitations with iOS UIActivityIndicator, if you want to change the size to a custom one you can try using a scale transform, transform: [{ scale: X }].


get started -> interactive tutorial format

:x: Validation status: errors

File
Status
Preview URL
Details

:x:Error

Details

[Error] Cannot sync git repo to specified state. Please make sure the pull request is mergeable. Details: Git merge results in conflict, repository remote url: https://github.com/MicrosoftDocs/azure-docs-sdk-python, working directory: W:\abne-s, target branch: master, target branch commit: 5522df9fe31fb872687e7d24aad0234b2f3d28c4, source branch: updates, source branch commit: .

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.

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

.openpublishing.publish.config.json
:white_check_mark:Succeeded

docs-ref-conceptual/TOC.yml
:white_check_mark:Succeeded

docs-ref-conceptual/python-sdk-azure-get-started.md
:white_check_mark:Succeeded

docs-ref-conceptual/python-sdk-azure-get-started.yml
: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.

:warning: Validation status: warnings

File
Status
Preview URL
Details

docs-ref-conceptual/python-sdk-azure-overview.md
:warning:Warning

Details

.openpublishing.publish.config.json
:white_check_mark:Succeeded

docs-ref-conceptual/TOC.yml
:white_check_mark:Succeeded

docs-ref-conceptual/python-sdk-azure-get-started.md
:white_check_mark:Succeeded

docs-ref-conceptual/python-sdk-azure-get-started.yml
:white_check_mark:Succeeded

docs-ref-conceptual/python-sdk-azure-overview.md

Line 44: [Warning] Invalid file link:(~/docs-ref-conceptual/python-sdk-azure-get-started.md).

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.

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

.openpublishing.publish.config.json
:white_check_mark:Succeeded

docs-ref-conceptual/TOC.yml
:white_check_mark:Succeeded

docs-ref-conceptual/python-sdk-azure-get-started.md
:white_check_mark:Succeeded

docs-ref-conceptual/python-sdk-azure-get-started.yml
:white_check_mark:Succeeded

docs-ref-conceptual/python-sdk-azure-overview.md
: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.

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

.openpublishing.publish.config.json
:white_check_mark:Succeeded

docs-ref-conceptual/TOC.yml
:white_check_mark:Succeeded

docs-ref-conceptual/python-azure-tools.md
:white_check_mark:Succeeded

docs-ref-conceptual/python-sdk-azure-authenticate.md
:white_check_mark:Succeeded

docs-ref-conceptual/python-sdk-azure-get-started.md
:white_check_mark:Succeeded

docs-ref-conceptual/python-sdk-azure-get-started.yml
:white_check_mark:Succeeded

docs-ref-conceptual/python-sdk-azure-install.md
:white_check_mark:Succeeded

docs-ref-conceptual/python-sdk-azure-overview.md
: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.


Singleton datasource

A datasource providing access to a single resource.
Current motivation is for the URL datasource, but could be useful in other scenarios as well.

Out of curiosity, do you know if this is going to be used just for testing, or if there are customer use cases for this as well?

@alissapajer It will be the star of the soon-to-be-released URL datasource.


Add CodeLabs link to references

@schaulinsan @sarahxxu please have a look

Sarah will create a new section "Resources" (above "Reference Documentation") for
codelabs
public webinars
videos (overview/screencasts)
blog posts

As @schaulinsan said, we'll add it in resources instead. closing this PR.


TableRelation

Good day !
There is a way to make a relation between classes based on the relations from the database ?
Like:
@Column(name = "prd_period_type_id")
private TblPeriodType prdPeriodTypeId;

TblPeriodType is a database table.

Sorry, this feature is not supported.


This thread has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar issue, please open a new bug, including the output of flutter doctor -v and a minimal reproduction of the issue.

          This thread has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar issue, please open a new bug, including the output of `flutter doctor -v` and a minimal reproduction of the issue.

Originally posted by @github-actions[bot] in https://github.com/flutter/flutter/issues/69329#issuecomment-895206895
I think I have the same issue
I just started using flutter and after installing it, when I ran the 'flutter doctor' command this is what I am getting
        [  +13 ms] pub gets failed
       command: "C:\Users\user\Development\SDKs\flutter\bin\cache\dart-sdk\bin\dart __deprecated_pub --color --verbose --directory

Development\SDKs\flutter\packages\flutter_tools
get --example"
pub env: {
"FLUTTER_ROOT": "C:\Users\user\Development\SDKs\flutter",
"PUB_ENVIRONMENT": "flutter_cli:get",
"PUB_CACHE": "C:\Users\user\AppData\Local\Pub\Cache",
}
exit code: 69
[   +6 ms]

@danielchukwuemeka
Please don't use a comment from other issues to open a new issue. There are issue templates that you should use, fill out requested details in it so we'll have enough info to properly address the issue. So I suggest you to do the same, ie, use new issue template. Closing for now.


Update virtual-machines-windows-portal-sql-availability-group-tutorial

Change "sqlmd" to "sqlcmd" in example

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. We will now review your pull request.
Thanks,
Microsoft Pull Request Bot

@amtwo : Thanks for your contribution to the Azure documentation! The author, @ms. mikeray, has been notified to review your proposed change.

@MikeRayMSFT Please review these proposed changes. Thanks.

@amtwo, thank you for submitting this update. It is correct. We really appreciate your commitment to quality!
#sign-off


[HOW-TO] How to use realtime object detection example with other models (e.g. with EfficientDet-Lite)

Hi guys I would like to know how can I use the real_time_with_labels.py with other models.
I have an EfficientDet-Lite0 model which works fine since I could test it on pictures but when I would like to use it
with the realtime example (--model mymodel.tflite) It throws this error:
Traceback (most recent call last):
  File "/home/miscope/picamera2/examples/tensorflow/real_time_with_labels.py", line 154, in <module>
    main()
  File "/home/miscope/picamera2/examples/tensorflow/real_time_with_labels.py", line 150, in main
    _ = InferenceTensorFlow(grey, args.model, output_file, label_file)
  File "/home/miscope/picamera2/examples/tensorflow/real_time_with_labels.py", line 101, in InferenceTensorFlow
    for i in range(int(detected_boxes)):
TypeError: only size-1 arrays can be converted to Python scalars

This occurs almost immediately after the preview window had became visible.
 detected_boxes = interpreter.get_tensor(output_details[0]['index'])
    detected_classes = interpreter.get_tensor(output_details[1]['index'])
    detected_scores = interpreter.get_tensor(output_details[2]['index'])
    num_boxes = interpreter.get_tensor(output_details[3]['index'])

    rectangles = []
    for i in range(int(num_boxes)): #throws an error here
        top, left, bottom, right = detected_boxes[0][i]
        classId = int(detected_classes[0][i])
        score = detected_scores[0][i]
        if score > 0.5:
            xmin = left * initial_w
            ymin = bottom * initial_h
            xmax = right * initial_w
            ymax = top * initial_h
            box = [xmin, ymin, xmax, ymax]
            rectangles.append(box)
            if labels:
                print(labels[classId], 'score = ', score)
                rectangles[-1].append(labels[classId])
            else:
                print('score = ', score)

I also asked this on StackOverflow they told me , I should try this:
for i in range(int(num_boxes[0][0])):
After this, the preview window did not close, and I did not get any error message. But for some reason
it's not detecting anything. And the program is not entering into the iterations:
 rectangles = []
    for i in range(int(num_boxes[0][0])):
        top, left, bottom, right = detected_boxes[0][i]
        classId = int(detected_classes[0][i])
        score = detected_scores[0][i]
        print("HelloWorld") #to check whether it is entering or not
        if score > 0.5:
            xmin = left * initial_w
            ymin = bottom * initial_h
            xmax = right * initial_w
            ymax = top * initial_h
            box = [xmin, ymin, xmax, ymax]
            rectangles.append(box)
            if labels:
                print(labels[classId], 'score = ', score)
                rectangles[-1].append(labels[classId])
            else:
                print('score = ', score)

But when I capture the object which should be recognized, the program does not print it on the terminal,
If you need any additional info let me know, I hope you can help.

Hi, I'm afraid I don't really know anything about this, but I might start by printing out and comparing the actual data structures num_boxes and detected_boxes using the original model (that works), and also with your new one. What do they look like, and what's different between them? Please feel free to post some examples here if you'd like to discuss them. Sorry not to be more help!

Is there anything else to look at here? If not I'll consider closing this issue in a few days. Thanks.

I'll probably close this one for now. Please open up a new issue if there's anything else. Thanks!


Repl Migration

Just putting this here to keep on radar:
Replit are moving from repl.it to replit.com.

https://blog.repl.it/dotcom

They say:

Nothing is required on your end -- all urls will automatically redirect.

If this should just be closed, and kept in the back of our minds, then no worries.

I think maybe it is to keep in mind for solution link validations

Probably wouldn't hurt to update our URLs to avoid confusion, when the time comes.

Most of the backend challenges and projects show repl.it...

And in the challenge files...

We could probably update these if we get to it.

@moT01 it could be a good issue to open to first timers, change from repl.it to replit.com

mind if i pick this up

After #41933 is merged, we should audit the whole platform for the change from repl.it to Replit, as per:

https://github.com/freeCodeCamp/freeCodeCamp/pull/41933/files#r621498674

After that, this issue should be closable. I will adjust the OP to reflect.

What still needs to be done:

[ ] Mention of Replit should just be that - Replit, not Replit.com
[x] A link to the Replit platform should link to replit.com - not repl.it
[ ] The example link (placeholder) in SolutionForm.js should also be updated - remember, use the file search in your favourite editor to find the file.
[x] No changes should happen to the other language folders for this issue.

I'll continue with this.

@ShaunSHamilton  Question: In file \freeCodeCamp\cypress\integration\learn\challenges\projects.js, I am changing the link to<EMAIL_ADDRESS>but the original<EMAIL_ADDRESS>is giving a 404 error.  Do you know what it should be?  Or maybe it doesn't matter? I'm not sure what the code that has it is doing anyway so not sure about the link.  Thanks!!

@gmfuster Cypress is our testing framework. The link does not actually exist - never has. It is merely used as some input to test the sites behaviour.
Hope this clarifies.


Impossible to not save to persistent store

Hi. I just fully integrated RestKit into my iOS app but I'm running into this issue since a couple of days and it's driving me nuts.
I'm incapable of fetching and mapping objects to CoreData without automatically persisting them on disk. I want to be able to use CoreData as an in-memory store, and optionally persist the data if the user wants to download it.
I was always using getObjectsAtPath but I coded a separate RKManagedObjectRequestOperation specifically so that I could set operation.savesToPersistentStore = FALSE;, but even then, the data gets persisted anyhow to the MainQueue. Am I misunderstanding/misusing something, or is this an issue?
Thanks a lot

Hi @YBthebest,
It seems to me, that it works as intended.
From the documentation:
/**
 A Boolean value that determines if the operation saves the mapping results to the persistent store upon successful completion. If the network transport or mapping portions of the operation fail the operation then this option has no effect.

 When `YES`, the receiver will invoke `saveToPersistentStore:` on its private managed object context to persist the mapping results all the way back to the persistent store coordinator. If `NO`, the private mapping context will be saved causing the mapped objects to be 'pushed' to the parent context as represented by the `managedObjectContext` property.
*/

@property (nonatomic, assign) BOOL savesToPersistentStore;

savesToPersistentStore will still save data to its private context first and its parent context after.
When using getObjectsAtPath, the parent context is mainQueueManagedObjectContext (RKObjectManager.m line 661) :
NSManagedObjectContext *managedObjectContext = [object respondsToSelector:@selector(managedObjectContext)] ? [object managedObjectContext] : self.managedObjectStore.mainQueueManagedObjectContext;

It's very likely for mainQueueManagedObjectContext to be saved at some point, and because it is a child of persistentStoreManagedObjectContext, data will be written to disk.
I suggest, you make sure that your ManagedObjectOperation doesn't have a context which relates to mainQueueManagedObjectContext, or to create two separate CoreData stacks (use two different ObjectManager), with two different configurations.

Hi @valeriomazzeo, first of all thank you so much for taking the time to answer as I'm really becoming a bit desperate.
You're completely right: it is the intended behaviour. I've been doing some more research and it does work exactly as it should.
I'm still lost regarding this simple question: is it possible to use RestKit with CoreData without necessarily persisting all the data? How can I use CoreData just as a temporary database, while persisting when I need to?
I suppose I indeed have to use two different ObjectManagers, but I'm a bit lost as to how I should solidly implement this on initializiation.
Right now my launch looks like this:
`RKObjectManager *objectManager = [RKObjectManager managerWithBaseURL:[NSURL URLWithString:@"URL"]];
objectManager.requestSerializationMIMEType = RKMIMETypeJSON;
[RKObjectManager setSharedManager:objectManager];

NSURL *modelURL = [[NSBundle mainBundle] URLForResource:@"XXXDataModel" withExtension:@"momd"];
NSManagedObjectModel *managedObjectModel = [[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL];
// Initialize managed object store
RKManagedObjectStore *managedObjectStore = [[RKManagedObjectStore alloc] initWithManagedObjectModel:managedObjectModel];
objectManager.managedObjectStore = managedObjectStore;
[managedObjectStore createPersistentStoreCoordinator];

NSString *storePath = [RKApplicationDataDirectory<EMAIL_ADDRESS>NSString *seedPath = [[NSBundle mainBundle] pathForResource:@"RKSeededDB" ofType:@"sqlite"];
NSError *error;
NSPersistentStore *persistentStore = [managedObjectStore addSQLitePersistentStoreAtPath:storePath fromSeedDatabaseAtPath:seedPath withConfiguration:nil options:nil error:&error];
NSAssert(persistentStore, @"Failed to add persistent store with error: %@", error);

// Create the managed object contexts
[managedObjectStore createManagedObjectContexts];

// Configure a managed object cache to ensure we do not create duplicate objects
managedObjectStore.managedObjectCache = [[RKInMemoryManagedObjectCache alloc] initWithManagedObjectContext:managedObjectStore.persistentStoreManagedObjectContext];`

and after this I add my ResponseDescriptors, like this:
RKResponseDescriptor *establishmentsResponseDescriptor =     [RKResponseDescriptor responseDescriptorWithMapping:[Establishment entityMappingForManagedObjectStore:managedObjectStore]                                                  method:RKRequestMethodGET                                             pathPattern:@""                                                 keyPath:nil                                             statusCodes:[NSIndexSet indexSetWithIndex:200]];     [objectManager addResponseDescriptor:establishmentsResponseDescriptor];
Now I just have to have a better understanding of CoreData's functioning to figure out the best way to handle two different contexts (because when I will have persisted the data, I will want to retrieve data from a certain context if it is persisted, and otherwise check if it is in my regular in-memory context, and if neither, fetch and drop it into my in-memory context, basically).
Anyways, all help would be greatly appreciated, thanks a bunch!

Although, in theory you don't really need two managers. if you go down that road (two ObjectManager) you will also need two ManagedObjectStore.
Each ManagedObjectStore deals with one and only one, PersistentStoreCoordinator, you are just using a convenience method: addSQLitePersistentStoreAtPath that creates a Core Data Stack backed by a SQLite for you.
No one stops you to use directly initWithPersistentStoreCoordinator: to be able to back the ManagedObjectStore with an InMemory Core Data Stack instead.
I suppose you could load the same model into two different persistent stores, but then you will need to have something in between that handles the replication. It looks a bit overkill for what you have to do.
Have you considered using just RKManagedObjectOperation without the ObjectManager? That way you have full control on which ManagedObjectContext a RKManagedObjectOperation will use.
If you'd still like to take advantage of the routing, that the ObjectManager provides, be aware that you can use some helpers methods such as:

requestWithObject
managedObjectRequestOperationWithRequest

To create your own RKManagedObjectRequestOperation, once you have that, you can easily change the managedObjectContext property to what you desire.
Or, you could subclass ObjectManager to provide an helper method that is equivalent to getObjectsAtPath but that returns you a RKManagedObjectRequestOperation that you can manipulate.
I'd recommend for simplicity to avoid having two core data stacks, as it looks to me that for your simple scenario, all you have to do is to orchestrate the context the way you prefer.
Either way, I'd recommend to whoever uses RestKit to have a good understanding of how Core Data works.

I honestly can't thank you enough. You've just managed to push me over the edge of comprehension far enough that it all suddenly made sense. I'm using my two contexts now, and it's working smoothly. Thank you so, so, so much.

Glad to be helpful 👍
I should dig more into the implementation details to be able to answer your question correctly, but I suppose you can't really get advantage of the cache if you are not saving the objects.
In fact, one of the purposes of the cache is to avoid duplicated objects, and there's no way to achieve that if you are not saving them back to the persistent store.
If you look at RKObjectManager.m line: 623:
operation.managedObjectCache = self.managedObjectStore.managedObjectCache;

You can see that calling that method from [RKObjectManager sharedManager] , applies the same cache that is defined on the ManagedObjectStore attached to the ObjectManager.
I suppose, in your case, you can set that to nil for your RKManagedObjectRequestOperation as you don't really get any advantage from that without saving the objects, and that should also get rid of the error.
If you'd like to know more about the managedObjectCache you can find some documentation here:

The managed object cache associated with the managed object request operation.
The cache is used to look up existing objects by primary key to prevent the creation of duplicate objects during mapping. Please see the above discussion of 'Managed Object Caching' for more details.
@warning A nil value for the managedObjectCache property is valid, but may result in the creation of duplicate objects.

And a detailed discussion at line 45 of the same file (RKManagedObjectRequestOperation.h):

Identification Attributes & Managed Object Caching
When object mapping managed objects it is necessary to differentiate between objects that already exist in the local store and those that are being created as part of the mapping process. This ensures that the local store does not become populated with duplicate records. To make this differentiation, RestKit requires that each RKEntityMapping be configured with one or more identification attributes. Each identification attribute must correspond to a static attribute assigned by the remote backend system. During mapping, these attributes are used to search the managed object context for an existing managed object. If one is found, the object is updated else a new object is created. Identification attributes are configured on the [RKEntityMapping identificationAttributes] property.
Identification attributes are used in conjunction with the RKManagedObjectCaching protocol. Each managed object request operation is associated with an object conforming to the RKManagedObjectCaching protocol via the managedObjectCache proeprty. This cache is consulted during mapping to find existing objects and when establishing relationships between entities by one or more attributes. Please see the documentation accompanying RKManagedObjectCaching and RKConnectionDescription classes for more information.

Ps: perhaps mapping is slow because is trying to log a lot of errors in the console, you can verify this disable the logging.


I managed to get the tests to work... now what

Hello,
This is not an issue, more of a thanks & a question of what are the limitations?
I first cloned the ...bl602-boufallo-arduino and hesitantly compiled and then downloaded to a DT-BL10. Magically (not really) it worked.
Brief background: I don't know if you are aware of "Hacker Boxes" but a while back, Dec. 2020, they had a kit that included the DT-BL10 module. I never got it to work because they suggested Linux on Windows and I was not ready for that.
Now that blink works, I wonder what else I can do?
I followed up the Arduino framework by cloning the sdk-test. I had no confidence that it would work, but when I started to see that Platform IO was downloading files related to the bouffalo framework, I became very hopeful of success. Of course, it all worked.
SO, the real question... are there any limitations? Other than my imagination. What I'm getting at is, will I enter any black holes, by trying to get WiFi working or any of the other peripherals?
I have been pursuing, getting a working set of tools for this little board, and what you provided in Platform IO makes this easy. So many of the Bouffalo repositories and the Pinecone Read the Docs guide have "pot holes" where things kind of work but not without a lot of chasing your tail.
Thank you again, you have helped me spark some life into that little module and I just hope that I can make the little thing into something more than a paper weight!
Vin... (AKA Vince)

What I'm getting at is, will I enter any black holes, by trying to get WiFi working or any of the other peripherals?

Arduino does not support the WiFi stack and development of https://github.com/pine64/ArduinoCore-bouffalo has mainly ceased.
However, I remember getting EMails from official Bouffalo people asking about the Arduino core. Maybe if I take 10 seconds of googling, I'll find that the BL60x people created their own much more advanced and complete Arduino core already and we should integrate that?


How to modify to get a production build?

I am able to successfully run localhost dev server. However I just wanted to test if i can get a production build so i can run index.html with bundle.js. I think i have make changes to web config and package.json. but not sure what changes exactly.

You have found the answer?

http://moduscreate.com/optimizing-react-es6-webpack-production-build/


[Bug] [Config UI] invalid cronConfig: expected exactly 5 fields, found 1: [manual]

Search before asking

[X] I had searched in the issues and found no similar issues.

What happened
When I create a blueprint and set it to manual type, the error show: invalid cronConfig: expected exactly 5 fields, found 1: [manual]

What you expected to happen
The blueprint created successfully
How to reproduce
Just create blueprint set it to manual type
Anything else
No response
Version
main
Are you willing to submit PR?

[ ] Yes I am willing to submit a PR!

Code of Conduct

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

@long2ice  Hi Jinlong, which branch are you using? I just checked by main branch, it works fine

The main branch

@long2ice @warren830 @klesh This is a consequence of having 'manual' as a frequency mode rather than a pure cron expression. There is already a separate flag for tracking manual mode, isManual I believe is the key, which UI is already correctly setting it to true when manual is selected, however current Backend logic expects cronConfig to be a pure cron expression string.
This can be solved in one of 2 ways:

On the frontend, the Blueprint Manager Hook settings payload for the blueprint should be updated to check if  cronConfig's value is string 'manual' and/or if isManual is true to post one of the existing cron presets, daily or hourly or any valid cron expression etc so a valid cron value is stored.

# Example patch in Blueprint Manager Hook (Reference Only)
`cronConfig: cronConfig === 'manual' || mode === BlueprintMode.MANUAL ? : '0 * * * *` : cronConfig

On the backend, assuming this is possible with the current design, api should add some exception to allow manual as a valid value.

isManual fix on frontend has been added in PR #2534 @long2ice @warren830 @klesh


Custom compiler(transpiler) options for ngtools/webpack

🚀 Feature request
Additional compiler(transpiler) options for ngtools/webpack
Command (mark with an x)
- [ ] new
- [x] build
- [ ] serve
- [ ] test
- [ ] e2e
- [ ] generate
- [ ] add
- [ ] update
- [ ] lint
- [ ] xi18n
- [ ] run
- [ ] config
- [ ] help
- [ ] version
- [ ] doc

Description
Setting different compiler is needed sometimes, especially if we would like to use custom TypeScript transformers. In this particular case the best option is "ttypescript" but there could be other as well. It should only support compilers that have same interface as "typescript".
Describe the solution you'd like
It would be great if we could set which compiler will be used, as in https://github.com/TypeStrong/ts-loader compiler option. The perfect location for choosing the compiler in MY opinion would be tsconfig
Describe alternatives you've considered
I've tried to use custom loaders and override tsx files compilation, but the issue in this case is that everything that's done in ngtools/webpack will be left out, like including html templates, and probably many other things related to AoT.

@ipetrovic11 currently folks are applying custom transformers using ngx-build-plus. @d3lm can give further details.
Let me know if what you want is doable with the current extension points we provide.

@ipetrovic11 If you'd like to run custom TS transformations then you can indeed use ngx-build-plus. You can define your own plugin and add your transformers to the _transformers array of the AngularCompilerPlugin. You can decide if you wanna run them before or after any other Angular transformers.
Do you mind elaborating on your specific use case? What are you trying to achieve?

Closing the issue for now. @ipetrovic11 if ngx-build-plus cannot resolve your issue, feel free to open a new one with a minimal demo where we can reproduce it.

@mgechev @d3lm thanks for help.
Didn't have time to try it. But will do it soon.
Our case is that we are using using interfaces to define communication both in back between microservices and front. We use fastest-validator to check issues in runtime. We've built our own transformer to create json schema from TS Interface - ts-transformer-json-schema .

Sounds like an interesting approach!

Yep, this is a perfect use case where you can leverage ngx-build-plus. Just plugin your transformer there as a platformTransformer. You have to remove the "current" AngularCompilerPlugin, and instantiate a new one with the same options including your transformers.
Let us know if you are stuck or if this doesn't solve your problem.


Temporary heap allocation cleanup

Lower the number of mallocs for temporary storage.

First off: thanks for the positive feedback. (You might remember one of my first e-mails to you where I said something about trying to make sure we have a somewhat 'compatible' approach on developing software and collaboration. I explicitly did this because of the rather bad experience I had with the rawspeed project. Your constructive feedback is pretty much the opposite of what was 'standard' there. :-) )
I'm completely happy with dropping the thread_local optimization (will add a commit). But I'd still like to respond to your statements:

First, thread_local doesn't have much benefit in multi-thread environment if threads are not reused

That is not true, decoding a qrcode image (in one thread) allocates the 2-3 temporary variables multiple times, as you saw with your own allocation-counter test. If you'd decode another image after that you'd get even more savings and only those would not be gained if the implementation would choose a different thread then.

Second, in case of unsupported, you substitute it with static which would create race conditions in multi-thread setups.

Yes, that is why I said so in the code comment in ZXConfig.h :).

Also, since these are only temporary variables, I feel it's wrong to make them live longer than the scope where they are created and used.

Yes, the memory will be 'wasted' until the program dies. But we are only talking about a couple hundred bytes.

That will be harder for code maintenance.

In what way? (Please only answer if you feel like having a really not important conversation about a technical detail ;)).

The result is 3222 locations

That is interesting. My numbers (the ca. 1300) are from valgrind. So it seems operator new does not always call malloc(), or your STL implementation behaves differently compared to my Apple-clang one.

(which is awesome!)

Thanks.

To answer your question on what make thread_local in this case harder for code maintenance:
Working (especially debugging) with code that don't keep and reuse states is way easier that code that do. Static methods are expected to be stateless (caching is another story), which is not the case here. Granted that the usage here only for optimization and will not change code's behavior, but it's not that obvious for a new person to pick up the code (e.g. for one thing: theses variables are assigned via function arguments, not with operator= ).


Is there structure learning approachs in this package?

Hello.
I'm newcomer to GitHub.
I want to learn bayesian network from a dataset with continuous values and i need to use score based approachs for structure learning.
I want to know is there structure learning approachs in this package?
Thanks.

As far as I have checked there is no official structure learning support.
Is there anything in development stage that I could get my hands on and contribute? Or maybe there is something that you would recommend to use in tandem with bayespy for structure learning?
I would be very happy to use the bayepy, but my current projects are all focused on structure learning.

Thanks for the interest! Could you provide a simple example of what you'd like to achieve? I haven't thought about this much before but I guess it's either difficult, impossible or inefficient with the current status of BayesPy. However, I'd like to see some concrete example(s) so I can think if some particular problem is possible to solve or if it'd be possible to implement some more general tools in BayesPy.

Well I am looking for a software to learn a structure of underlying Bayesian Network given some data.
E.g, (simplest case). I have a set of n-samples of p-dimensional boolean random variables. (Table of 0s and 1s). I know that the join distribution can be described as a Bayesian Network (with p-vertices), but I don't know its structure. I want to estimate the most likely Bayesian Network for these data.
A more complicated case is when the distribution of the p-vector is continuous.
I am looking for something that works with continuous data and be easily adapted to python 3.
There is some software around that is close to the design e.g.:
pomegranate: categorical data, python 3
bnfinder: continuous data, python 2
But there is none (to my knowledge) for:
continuous data, python 3.


Poor contrast of Status Center flyout in dark mode

Describe the bug
Compared to light mode the status center flyout has poor contrast with the page background in dark mode.
To Reproduce
Steps to reproduce the behavior:

Open Status Center flyout at bottom right

Expected behavior
We should improve this so users understand the Flyout is present
Screenshots

Desktop (please complete the following information):

OS Version: Dev Channel
App version: v0.20.2

Status Center is lacking dropshadow.

It has a drop shadow for me and I personally find the contrast alright.

Drop Shadows are not very effective in Dark Themes, and so perhaps a highlight border around the flyout/dialog should be added (set to Transparent in Light Theme)

@duke7553 This issue should be resolved once we switch the colors of the content area with the colors of the sidebar.

@yaichenbaum I'm not sure I follow. We need to change the background color of the Flyouts to something which differentiates it from the page background in dark mode.

@mdtauk As always, thank you for these awesome visuals.
We can definitely consider adding a border to the flyouts in dark mode, but I feel like it is more of an issue with the color itself because WinUI assumes apps use the default background color in dark mode. Since we use custom colors, the flyouts seem less differentiated when visible.
I'd wonder if there are there better background colors we can use exclusively with Flyouts rather than the defaults.


Training as BackgroundJob in FastAPI

I would like to use training in BackgroundJob in FastAPI because I need to initiate the training process with one HTTP request, and I would like to use a second HTTPS request to check the training status (I use a custom callback for this). Unfortunately, there is an issue with the training in BackgroundJob:
model.fit(
  File "/usr/local/lib/python3.11/dist-packages/keras/src/utils/traceback_utils.py", line 70, in error_handler
    raise e.with_traceback(filtered_tb) from None
  File "/usr/local/lib/python3.11/dist-packages/keras/src/engine/data_adapter.py", line 949, in _peek_and_restore
    peek = next(x)
           ^^^^^^^
ValueError: generator already executing

I use this in my code:
async def run_training():
    app.model.fit(
        ....
        )
    await asyncio.sleep(3)

@app.post("/train")
async def handle_train(train_req: TrainRequest, background_tasks: BackgroundTasks):
    background_tasks.add_task(
            run_training,
            train_generator, num_train, num_val, batch_size, epochs, callbacks
            )

What is the correct way to execute the training process in a BackgroundJob?

Hi,
This issue does not seem to be related to Keras, it's specific to FastAPI.
You can close the issue here and open a new issue in FastAPI repo https://github.com/tiangolo/fastapi/issues


Support IPython style _repr_mimebundle_ notation

Describe the bug
Some objects in Python land use the _repr_mimebundle_ function to denote representing itself with a variety of media types mimetypes.
class Example:
    def __init__(self, content="This is my _example_"):
        self.content = content

    def _repr_mimebundle_(self, include=None, exclude=None):
        return {"text/markdown": self.content}

Example()

I realize marimo supports _repr_markdown_ but there are already libraries that have _repr_mimebundle_ that I'd like to use without having to add shims to.
Environment
{
  "marimo": "0.9.20",
  "OS": "Darwin",
  "OS Version": "24.1.0",
  "Processor": "arm",
  "Python Version": "3.12.2",
  "Binaries": {
    "Browser": "130.0.6723.117",
    "Node": "v20.11.0"
  },
  "Dependencies": {
    "click": "8.1.7",
    "docutils": "0.18.1",
    "itsdangerous": "2.2.0",
    "jedi": "0.19.1",
    "markdown": "3.7",
    "narwhals": "1.13.5",
    "packaging": "23.2",
    "psutil": "5.9.0",
    "pygments": "2.18.0",
    "pymdown-extensions": "10.12",
    "pyyaml": "6.0.1",
    "ruff": "0.5.5",
    "starlette": "0.37.2",
    "tomlkit": "0.13.2",
    "typing-extensions": "4.12.2",
    "uvicorn": "0.30.3",
    "websockets": "12.0"
  },
  "Optional Dependencies": {
    "altair": "5.0.1",
    "anywidget": "0.9.13",
    "duckdb": "1.1.2",
    "pandas": "2.2.3",
    "polars": "1.12.0",
    "pyarrow": "18.0.0"
  }
}

Code to reproduce
class Example:
    def __init__(self, content="This is my _example_"):
        self.content = content

    def _repr_mimebundle_(self, include=None, exclude=None):
        return {"text/markdown": self.content}

Example()

Oops, this should have been a feature request not a bug. Sorry!

We do already support _repr_mimebundle_. We just render text/markdown as a markdown code editor, which might not be the desired effect. What are you expecting?

At least for compatibility, I'd want it to render the markdown.

Makes sense. I've added it here https://github.com/marimo-team/marimo/pull/2881


Create custom landing page for docs

The home page (aka landing page) for fortls should be nicer and not just a TOC.
Fix that.

Fixed via #116


 For one thing
I can scan them to see if were doing anything really dumb in codegen.
It's helpful for Luite to compare the results on other platforms with
a bigger example that's more likely to trigger nondeterministic
behaviour from GHC.

FYI @luite

Yikes, maybe nondeterminism already :/

The diffs appear in some generated names like go6 and so on. I don't know where this number comes from - it's not the GHC unique, we ignore that, it's something else...

Oops. Apparently I uttered the magic words that made GH close this PR :sweat_smile: And I can't reopen it because I pushed. What a pain.


Required properties in Metadata schema

The Metadata schema doesn't describe any required properties.
Does this mean that none of them are required?

Correct, nothing is required

Thanks @bergie


Updated README to include an Arch Linux install guide (yaourt).

Added a new install entry to README for Arch Linux users since Black Screen is available for automated install via yaourt (AUR).

Is there a way to automate AUR builds? Or maybe we could provide two packages: black-screen-bin and black-screen, where the latter would clone master and package the app on a user's machine?

@christianwico the project was renamed to upterm. Would you be able to update the AUR package name?

Unfortunately, I wasn't the host of the AUR build so I can't make any sort of changes to it. Here's the link to the AUR page. Seems it was submitted by a tensor5...

I've flagged the AUR as Outdated. The maintainer should be notified.

@christianwico the maintainer changed the name. Could you please update the PR? https://aur.archlinux.org/packages/upterm/

Made the new commit to this branch.

Thanks, @christianwico!


[DNM] Revert "[BitwiseCopyable] Don't derive on @unchecked field"

The patch looks to have introduced source compat issues.  PR to revert while investigating.
Reverts apple/swift#71242

@swift-ci please smoke test

@swift-ci please smoke test macos platform

Source compat failures are fixed by https://github.com/apple/swift/pull/71288 .


[Post-launch] Clean up HTML/CSS separation

After launch craziness is over, payoff technical debt by moving CSS rules specified in style tags to a SASS/CSS file.
I volunteer to do this.

Thanks! 🙂


1857: Add email open/deliver/bounce events to NewRelic

Ticket
Resolves FFS-1857.
Changes
This commit updates our email terraform to forward email delivery events
to NewRelic via EventBridge. (We don't need an SNS topic, as a result.)
The Email events are in NewRelic as custom events named "AWSSESEvent",
broken down with attributes for the SES event type and the message ID,
so we can make a funnel.
Context for reviewers
Unfortunately, we won't be able to tie these to the CBV Flow or
invitation just yet, but perhaps we can add a custom email header.
If we want to tie these in with CBV Flow or invitations, we could
instead send these to our application as HTTP webhooks using
EventBridge (by duplicating the code here).
Testing
Tested by running terraform locally to deploy this to our demo environment.
Then I sent a few emails to myself, and it seems to work!

Cool, thanks for de-linting it for me @allthesignals .


Dynamically update a message status

Firstly thank you for an awesome library, I hope this enhancement will be accepted let me know if you need me to change anything. I am happy to update the docs should this update be accepted.
As per issue #20
The code changes allows the user of the library to dynamically update a specified message's status,
effectively allowing them to update the status icon. Also it allows the library user to turn off coloring of the status icon should they wish to keep the original color of the supplied status icon.

Feature: Update mesage status allowing message status icon drawable to be updated
Feature: Enable or disable status icon colorizer (set to enabled by default)

@wprenison Thanks for your contribution 👍
Would you add wrapper function in ChatView to call  updateMessageStatus
from ChatView?
like this.
fun updateMessageStatus(message: Message, status: Int) {
     messageView.updateMessageStatus(message, status);
}

cf. https://github.com/bassaer/ChatMessageView/blob/master/chatmessageview/src/main/kotlin/com/github/bassaer/chatmessageview/view/ChatView.kt#L201-L203

Ok cool I'll make the update and submit it soon, thanks

@bassaer Ok done looks like it's auto added to this pull request?
I'm a bit noob at contributions so this would be my first one :)


PiFM Translator

Of particular importance for @rajgiriUW  and @kongjy , we are migrating basically all translators out of pycroscopy into their respective packages (most of them go to SciFiReaders). Please advise as to how we should handle the pifm translator. One option is to move it in with the other USID-based translators, which are now in BGLib.

Jess is no longer involved in PiFM so I don't think she has a strong opinion here. But, regarding this case, I think moving the SciFiReaders makes sense, in which case I'll need to update it as I haven't had to use it in awhile.

Thanks! It can be ported to bglib without change, but in scifi readers it
will need to be changed to sidpy datasets. The change shouldn't take long,
though.
On Fri, Feb 12, 2021, 3:43 PM Rajiv Giridharagopal<EMAIL_ADDRESS>wrote:

Jess is no longer involved in PiFM so I don't think she has a strong
opinion here. But, regarding this case, I think moving the SciFiReaders
makes sense, in which case I'll need to update it as I haven't had to use
it in awhile.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/pycroscopy/pycroscopy/issues/244#issuecomment-778444392,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADNDQFOJLBDDCBR62DD6LF3S6WHIZANCNFSM4XRJEYUA
.

I agree that it makes sense to move it to SciFiText given the specific scope of BGLib. Thanks for volunteering to do it, @rajgiriUW. Do let me know if I can help in anyway.

I've written a roughly working version in SciFiReaders that converts to sidpy Datasets and then writes via pyNSID to HDF5.
https://github.com/pycroscopy/SciFiReaders/blob/raj-pifm/SciFiReaders/readers/microscopy/spm/afm/pifm.py
I'll submit a PR when it's validated on a few more sets. Right now having trouble getting the laser power spectrum to write correctly

The PiFM translator is still in pycroscopy. I don't mind where it moves, though BGLib is fine since Phoenix reorg is still ongoing for Pycroscopy

We can certainly move it to BGLib for the time being. Would you like me to do so?

Sure, I think that's fine to move there for now-- it doesn't make too much sense there but I guess the idea is hopefully people use the SciFiReaders one once I check it out a little further.


Unable to install any package due to 7zip installation fails.

Discussed in https://github.com/microsoft/vcpkg/discussions/22404

Originally posted by vishalvaza January  7, 2022
Here I tried to install any library i got following error message.
vcpkg install zyre
Computing installation plan...
The following packages will be built and installed:

czmq[core]:x86-windows -> 4.2.1
vcpkg-cmake[core]:x64-windows -> 2021-12-20
vcpkg-cmake-config[core]:x64-windows -> 2021-12-28
zeromq[core]:x86-windows -> 4.3.4#2
zyre[core]:x86-windows -> 2019-07-07#3
Additional packages (*) will be modified to complete this operation.
Detecting compiler hash for triplet x64-windows...
A suitable version of powershell-core was not found (required v7.2.0). Downloading portable powershell-core v7.2.0...
Extracting powershell-core...
A suitable version of 7zip was not found (required v19.0.0). Downloading portable 7zip v19.0.0...
Downloading 7zip...
https://www.7-zip.org/a/7z1900-x64.msi -> C:\TestDev\vcpkg\downloads\7z1900-x64.msi
Error: Failed to download from mirror set:
https://www.7-zip.org/a/7z1900-x64.msi: WinHttpSendRequest() failed: 12030
https://www.7-zip.org/a/7z1900-x64.msi: WinHttpSendRequest() failed: 12030
https://www.7-zip.org/a/7z1900-x64.msi: WinHttpSendRequest() failed: 12030
https://www.7-zip.org/a/7z1900-x64.msi: WinHttpSendRequest() failed: 12030

Tried with different libraries but the error remains the same.

Please unzip this file, put it to VCPKG_ROOT/downloads and try again.
Thanks.

Found this thread and thought I'd share. This was due to a permission problem under windows for me. I had downloaded it to C:/ initially and that messed everything up I guess. A fresh clone in my user directory and this issue went away.