Drop token_based_endpoints

Hello again crashvb,
I'm writing this to suggest that token_based_endpoints config should be dropped and Token Authentication should be the default.
To support this suggestion I'll submit some facts as of today:

Some registries don't support Basic Authentication directly at all -- such as Docker.io and Quay.io. By directly, I mean to supply credentials to the registry itself, rather than to its Auth Server (eg. auth.docker.io/token). Docker registry documentation doesn't even mention that one can use Basic Auth to directly authenticate to a registry -- the only documented way is through the Token auth method.
There are some registry servers that support direct Basic Auth, such as Harbor. Howerver, the default (when no Authorization header is supplied) is token-based auth. This effectively means that every registry not explicitly known to DRCA (by setting explicit creds) will fail anonymous pull request. One interesting case is when trying to force token-auth for Harbor -- it won't work because of this line.
There are no registry server that I know of that don't support token-based auth.

One more related thing that I want to mark is the following use case: At our company we have several docker registries, but all of them have their user identities sync'ed. So, there might be many registries, but I can connect to all of them with the same credentials. Every team is free to spin up their registry for its own purposes, however it's very common for them to be interested in integrating with some automation tools/services that need to access the registry. With the current explicit credentials-per-endpoint approach, this automation tooling (that use DRCA) should explicitly know with what endpoints it will have to operate which is very limiting. It'd be great if there are some default creds to be used if no explicit configuration exist for this endpoint.

You make a compelling argument and this area was developed without a clear design / pattern; most of the effort went into testing against a library/registry image with a basic authentication backend, followed by dockerhub, then quay.io, then OCR on-prem ... which left it kinda hackish.  Let's use this issue to track a revamp.
While it's being developed, it should be possible to seed the default credentials store with either SSO / bearer tokens, or with the desired combination of individually managed endpoints as a workaround; but, I haven't traced through all the combinations / edge cases for token retrieval w/ and w/o basic auth.
This one might take a little longer as the documentation for each auth endpoint appears to be quite scattered, and implementation specific, but in the end it should be possible to produce either a generalized solution, or a modular framework with some built-in defaults for popular endpoints.

While it's being developed, it should be possible to seed the default credentials store with either SSO / bearer tokens, or with the desired combination of individually managed endpoints as a workaround; but, I haven't traced through all the combinations / edge cases for token retrieval w/ and w/o basic auth.

I didn't quite get what you mean -- I don't thing that currently there is a way to set default credentials because every credential is mapped to a specific endpoint, there is no credential for the "mismatch" case.
I'd be very happy to help with testing for private repository access with Harbor, because that's what we're using. However, I don't have access to private repo on docker.io :/

No worries; I think I am a little confused on the use case.
My understanding is that most registry / auth combinations leverage some existing secret (basic auth credentials, certificates, other tokens SSO) to authenticate to the auth endpoint and issue a (scoped) token for interacting with the registry. Some of them also integrate additional metadata / secrets into location redirects when referencing foreign layer locations. ... mainly that a primary authentication method is required to receive the secondary bearer token.
Currently, DRCA leverages the defacto default ~/.docker/config.json (with env override, and add_credentials ) location to attempt to retrieve the primary credentials and an includelist of endpoints to attempt to retrieve the secondary token; with all other endpoints assumed to be anonymous.
From the description above, this design (or lack thereof ;) ) prevents three things: 1) It prevents externally authenticated secondary bearer tokens from being provided without specifying the primary credentials and attempting to retrieved the token directly (bug) 2) It does not provide a method by which a default set of credentials can be used -- unmatched endpoints are assumed to be authenticated (bug / enhancement) 3) The method used to match endpoints is rigid and does not allow for end users to define a pattern or matching method (enhancement).
(Here's where I think I'm missing things, assumptions enumerated) ... Assuming the use case:
(A) multiple registries (disjoint) / multiple registries (mirrored)
(B) all using the same authentication scheme / auth backend (SSO, LDAP, domain authenticated? ... I don't need to know which one)
(C) all issuing secondary tokens to restrict access to content that either disjoint or replicated
If these assumptions hold true, wouldn't each registry be issuing tokens to end users that are only valid within the context of that one instance? (i.e. if using docker-cli, end users would need to docker-login to each endpoint individually ... which would have endpoint-specific entries in the local credentials store) If it were a more complex topology with multiple HA instances and an LB in front then I think the assumption would fail, but also that there would also be token replication on the backend.
Until the fix is implemented, the suggested workaround from above was to make available the endpoint-specific (primary) credentials within the store or using add_credentials, but going over the code again I'm not sure that's possible with the line that you pointed out mandating basic auth =/. In the short term there is always inheritance / duck punching, or I can push out an intermediate solution that refactors the get_credentials method as a default to a developer exposed callback (bring-your-own-auth), with the intention of adding fixes to the three issues listed above in the mid term.

My understanding is that most registry / auth combinations leverage some existing secret (basic auth credentials, certificates, other tokens SSO) to authenticate to the auth endpoint and issue a (scoped) token for interacting with the registry. Some of them also integrate additional metadata / secrets into location redirects when referencing foreign layer locations. ... mainly that a primary authentication method is required to receive the secondary bearer token.

I think your understanding is correct.

Currently, DRCA leverages the defacto default ~/.docker/config.json (with env override, and add_credentials ) location to attempt to retrieve the primary credentials and an includelist of endpoints to attempt to retrieve the secondary token; with all other endpoints assumed to be anonymous.

This is how DRCA operates now. However, this means that DRCA is capable to authenticate to only explicitly enumerated list of endpoints known beforehand. I suggest, DRCA to also support a default set of credentials, if no endpoint from the enumerated ones matches. If default creds are supplied, then all the requests will be assumed to be authenticated, rather than anonymous.
Now, when I think of it... this is up for discussion from security standpoint -- is it safe to send credentials to unknown registries, that might be potentially dangerous...

From the description above, this design (or lack thereof ;) ) prevents three things: 1) It prevents externally authenticated secondary bearer tokens from being provided without specifying the primary credentials and attempting to retrieved the token directly (bug) 2) It does not provide a method by which a default set of credentials can be used -- unmatched endpoints are assumed to be authenticated (bug / enhancement) 3) The method used to match endpoints is rigid and does not allow for end users to define a pattern or matching method (enhancement).

I'm not versed enough to say whether tokens should be supplied directly.
..."unmatched endpoints are assumed to be anonymous". This issue is about whether we need to change the assumption to authenticated when using the default credentials.
This would be great.

(Here's where I think I'm missing things, assumptions enumerated) ... Assuming the use case:
(A) multiple registries (disjoint) / multiple registries (mirrored) (B) all using the same authentication scheme / auth backend (SSO, LDAP, domain authenticated? ... I don't need to know which one) (C) all issuing secondary tokens to restrict access to content that either disjoint or replicated
If these assumptions hold true, wouldn't each registry be issuing tokens to end users that are only valid within the context of that one instance? (i.e. if using docker-cli, end users would need to docker-login to each endpoint individually ... which would have endpoint-specific entries in the local credentials store) If it were a more complex topology with multiple HA instances and an LB in front then I think the assumption would fail, but also that there would also be token replication on the backend.
Until the fix is implemented, the suggested workaround from above was to make available the endpoint-specific (primary) credentials within the store or using add_credentials, but going over the code again I'm not sure that's possible with the line that you pointed out mandating basic auth =/. In the short term there is always inheritance / duck punching, or I can push out an intermediate solution that refactors the get_credentials method as a default to a developer exposed callback (bring-your-own-auth), with the intention of adding fixes to the three issues listed above in the mid term.

For default credentials, I mean only the primary credentials. I don't think the scoped tokens should be shared across registries (I don't know if it's even possible).
I should note something for clarification:

When using Basic Auth we have only "primary credentials" eg. username and pass.
When using Token Auth then we have two types of credentials -- primary and secondary (scoped tokens).

One is for sure though, when using Token Auth, DRCA shouldn't supply our primary creds to the registry! It should only supply primary creds to the auth server. So this line shouldn't be there, IMO.

Ok, @ecolvin and I were able to spend sometime on this today and got something working. The line passing basic auth credentials to the registry was removed; however, the ability to pass basic auth credentials to the authorization service was maintained because certain providers (not blue Hat) require this. Also, there's a flag that was defaulted to True to hopefully not break things.
It should be possible to pass a "default" pattern when adding primary credentials as follows:
async with DockerRegistryClientAsync(fallback_basic_auth=False) as docker_registry_client_async:
    await docker_registry_client_async.add_credentials(credentials=..., endpoint=re.compile(r"^.*$"))

... or, if the token is already known, likewise:
async with DockerRegistryClientAsync(fallback_basic_auth=False) as docker_registry_client_async:
    await docker_registry_client_async.add_token(endpoint=re.compile(r"^.*$"), scope=..., token=...)


Fix output on other clients

Mainframe has been so far developed and tested using the default command line prompt from Visual Studio itself. A quick test showed that the toolkit does not produce the intended results when the application is run through Windows Terminal and PowerShell, for example. This issue aims to work out how to fix building the UI for those. Testing and fixing of the UI for SSH will also be handled.

The issue with bad rendering on Windows Terminal might have been a bug in it related with ignoring the index of the last character in a line to be the its width - 1. The issue has been fixed.


 I'm waiting for the travis test to complete (it had timed-out so I restarted it to see if it'll be faster this time). I'm surprised there weren't any changes required to test_results_win64.csv for the CSP models given how the equations were moved from LK. Did you check with the test_script_ow.lk script that all the simulation results are the same as before?

Oh, no, sorry, I wasn't aware of that script. They passed the existing
regression tests and I informally made sure that the results were the same
before and after (comparing outputs and screenshots of the UI pages). I'll
take a look at this script tomorrow.
(I do think some outputs (intentionally) changed recently, which I noticed
after I merged develop in, but that came from some other changes (from Ty
probably?))
On Wed, May 5, 2021 at 4:38 PM Darice L Guittet @.***>
wrote:

Great job! I'm waiting for the travis test to complete (it had timed-out
so I restarted it to see if it'll be faster this time). I'm surprised there
weren't any changes required to test_results_win64.csv for the CSP models
given how the equations were moved from LK. Did you check with the
test_script_ow.lk script that all the simulation results are the same as
before?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/NREL/SAM/pull/608#issuecomment-833094474, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AHICFB2OG522BQJR7435SR3TMHCFBANCNFSM44C3ZQAQ
.

Pulled and merged-in the latest develop branch changes and then ran
test_script_ow.lk, which returned all OK's  (and an obnoxious level of CSP
logging output...)
On Wed, May 5, 2021 at 10:20 PM Matthew Boyd @.***>
wrote:

Oh, no, sorry, I wasn't aware of that script. They passed the existing
regression tests and I informally made sure that the results were the same
before and after (comparing outputs and screenshots of the UI pages). I'll
take a look at this script tomorrow.
(I do think some outputs (intentionally) changed recently, which I noticed
after I merged develop in, but that came from some other changes (from Ty
probably?))
On Wed, May 5, 2021 at 4:38 PM Darice L Guittet @.***>
wrote:

Great job! I'm waiting for the travis test to complete (it had timed-out
so I restarted it to see if it'll be faster this time). I'm surprised there
weren't any changes required to test_results_win64.csv for the CSP
models given how the equations were moved from LK. Did you check with the
test_script_ow.lk script that all the simulation results are the same as
before?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/NREL/SAM/pull/608#issuecomment-833094474, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AHICFB2OG522BQJR7435SR3TMHCFBANCNFSM44C3ZQAQ
.

@brtietz @sjanzou For some reason the Travis test is hanging. The output test file has 0 lines for a long time before timing out. Have you seen this before? Matt ran the LK test script on his local Windows machine and has updated the results. Is it possible it's only hanging on Linux?

The zeroes mean that no case has successfully finished on Travis. SAM might have a dialog box open, such as a notice. For example the box about a differing number of defaults between the UI forms and the default files will cause this issue. If the script runs ok on Windows, firing up a VM and testing on Linux is a good next step.

Like Brian mentioned...the zeros means that 1) UI forms not loading for a
specific case, 2) defaults not running - missing some new variables, 3)
simulation dialog appearing.
The last time I encountered this issue was when a branch was made from
develop and then attempted to be merged into patch... incorrect repo
branches were used for ssc causing a simulation failure.
Let me know if you want me to test on CentOS7,
Steve
On Thu, 6 May 2021 at 14:37, Brian Mirletz @.***> wrote:

The zeroes mean that no case has successfully finished on Travis. SAM
might have a dialog box open, such as a notice. For example the box about a
differing number of defaults between the UI forms and the default files
will cause this issue. If the script runs ok on Windows, firing up a VM and
testing on Linux is a good next step.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/NREL/SAM/pull/608#issuecomment-833843704, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ABRSQB7OPTUSTKURCE3EMRTTML4YPANCNFSM44C3ZQAQ
.

@dguittet , @Matthew-Boyd the branches ssc_574_SAM_608 based on the branches from @Matthew-Boyd are building and running on travis now. The issue was that the ssc branch being used for the travis builds was the develop branch of ssc and not the develop branch from @Matthew-Boyd.
I can create a pull request from those branches to develop if you would like to replace the ssc PR 574 and the SAM PR 608.
See https://travis-ci.org/github/NREL/SAM/builds/770258958


definition of favorites, listens and interest in track features

My team are conducting an academic research project using your dataset, and we were wondering if you can help us clarify what each of the three columns means

track_favorites
track_listens
track_interest

Specifically, we are looking to understand how these columns are generated and if they can be a good measure of popularity, or if any other columns should be used instead.
Thank you!

All this data comes from the Free Music Archive API. The documentation is unfortunately rather scarce... (I am preparing a table to explain each field in greater details.)

track_favorites is the number of users who starred the track. If you look at the screenshot below, a logged in user can star a track by clicking on the star icon.
track_listens is the number of users who listened to the track. Anybody can increase the count by listening to the sound online by clicking on the play icon.
I don't know exactly what track_interest is. I guess it's a measure of how popular a track is that they use for recommendation. I asked the administrators but did unfortunately not get any answer. Let me know if you can figure it out!

I'd say the first two are solid measures of popularity. The third might be, but we should be sure what it is. You might also consider:

track_comments, the number of comments users wrote about a song.
favorites, listens and comments at the album and artist levels. A user may e.g. star a whole album instead of every individual tracks. If you look at the histograms here, you'll see that users listen much more to whole albums than individual tracks for example.
The number of downloads, as seen on the screenshot below. I did however not collect this because it's not available through the API. But it can be scraped from the website.
Another measure might be how often tracks appear in public mixes. These are playlists created by registered users. I did not collect this either, but it can again be scraped from the website.

Please let us know if you collect additional data and I will mention it here. :)

Todo: add an appendix in the paper which describes where each piece of information comes from, similar to the above.


Fix wrong @types/react version. Changed to latest version.

Fixes an incorrect @types/react version number (5.0.14), changing it to the latest version (15.0.24).
Using<EMAIL_ADDRESS>results in the following error when running npm install:
No compatible version found<EMAIL_ADDRESS>

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

see #16

Fixed in #16


replicationcontroller instead deployment

Following this guide: https://github.com/GoogleCloudPlatform/kubernetes-workshops/tree/master/quickstart
If i run:
kubectl run lobsters --image=gcr.io/google-samples/lobsters:1.0
it returns:
replicationcontroller "lobsters" created
and not:
deployment "lobsters" created

Hi, are you on kubernetes v1.1? This should be a deployment in 1.2 or later

I upgraded and is fixed. Thx


Error on dashboard when no associated beacons!

Should test before dispaying the list.

It is ok now.
Verified if estimote app is configured. If not, an info div displays with how to do it and link to the profile configuration.
If no beacons, show message to buy or add beacons.


Fix azure scaffolder git push auth

Hey, I just made a Pull Request!

Fixed issue https://github.com/backstage/backstage/issues/26368.
When Azure integration is configured to use App Registration or Managed Identity, the Azure:Publish action in Azure Devops Scaffolder module will be configured to authenticate to Git using basic authentication as opposed to Authorization header.
:heavy_check_mark: Checklist

[X] A changeset describing the change and affected packages. (more info)
[ ] Added or updated documentation
[ ] Tests for new functionality and regression tests for bug fixes
[ ] Screenshots attached (for UI changes)
[X] All your commits have a Signed-off-by line in the message. (more info)

Thanks.  I got my first if statement renewal contribution.  Anything else needed from my side?

Thanks. I got my first if statement renewal contribution. Anything else needed from my side?

Just need a review from the maintainers now, once they approve they will also merge. 👍


[WIP] Get Workspace from name only

Add a way to retrieve a Workspace from only the name without requiring the resource ID, subscription ID, resource group or location.
Note that to add a UT that tests passing no subscription ID requires fixing #118.

TODO: add in workaround for TokenFileCredential failure

Closing this in favor of a future endpoint URI implementation.


Search field to filter the torrent list

Hello, it can be handy if there is a search field which would instantly filter out items which name matching the search query. Maybe the Ctrl+F would be sufficing, though quicker would be built in field.
Search case insensitive, all countries aphabets
If easy, thena dding also excluding operator, like:
linux -ubuntu

which software is used to import this project

Hey @slrslr! Late answer, but we added a query language (PQL) in the latest release to filter the torrent list :) Just hit View -> Console.


Irregular Image Size And Improper alignment  of description & Buy Now button Under Sunglass Section

Is there an existing issue for this?

[X] I have searched the existing issues

What happened?
Irregular Image Size And Improper alignment  of description & Buy Now button Under Sunglass Section
Align Images and Button:

Ensure that all images have a uniform size and aspect ratio.
Use CSS to align the Buy Now buttons with the images.

Add Padding Around Images:
Add padding to the images to create a more professional appearance.
@Tejashri-Taral please assign me the task
Add Screenshots / Video Clip

What browsers are you seeing the problem on?
Chrome
Agreements

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSoC contributor
[X] I'm a Hacktoberfest contributor
[X] I want to work on this issue [Optional]
[X] I'm willing to provide further clarification or assistance if needed.

@Tejashri-Taral please check this out

@Tejashri-Taral please assign me this task

@Adarsh-Chaubey03 I am assigning you. Please make these changes in all the product pages.

@Adarsh-Chaubey03 I am assigning you. Please make these changes in all the product pages.

Ok


Customize checked steps icon

I can't seem to find a way to customize the checked steps icon.
The issue is that I would like to make the "primary" color white, and the check mark of the Check svg is white too as far as I can see.
A possible solution could be to allow overriding the icon of checked steps?
Thanks for your help/hint.

This is a reasonable request. Do you think you can create a PR?

(sorry for the late answer) I'll try yes!

Nice! Search for Check in the lib/Steps.svelte file. Then create a prop that will take a component, and finally use <svelte:compoent this={check}/> to replace the <Check/>

re-read your first comment, actually for your case, you can set the light prop to change the color of the icon:
<Steps {steps} primary="white" light="black"/>

REPL here: https://svelte.dev/repl/1d80b51acef342d5bc1420d70958b275?version=3.48.0

Oh Wow! It indeed does exactly what I was looking for :)
(the param naming is a bit strange though :sweat_smile: )
Thanks a lot! I still might try to issue a PR in case you'd want to change the icon :)

:ok_hand:


fix: Correct variable/property name spelling

Why is this change needed?
Describe why this issue should be fixed and link to any relevant design docs, issues or other relevant items.
Merge Checklist
Choose all relevant options below by adding an x now or at any time before submitting for review

[x] PR title adheres to the conventional commits standard
[ ] PR has a changeset
[x] PR has been tagged with a change label(s) (i.e. documentation, feature, bugfix, or chore)
[ ] PR includes documentation if necessary.

PR-Codex overview
This PR primarily focuses on correcting typos related to solanaVerificationsEnabled and processRustCommittedTransaction across multiple files, ensuring consistency in naming conventions and improving code readability.
Detailed summary

Fixed typo: solanaVerficationsEnabled to solanaVerificationsEnabled in hubble.ts, index.ts.
Corrected processRustCommitedTransaction to processRustCommittedTransaction in userDataStore.ts, storeEventHandler.ts, rustStoreBase.ts.
Updated ConnectToMutliAddr to ConnectToMultiAddr in gossipProfileWorker.ts, gossipProfile.ts.

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

@sds Create a new PR!

Thank you

Thank you

Thanks!


creating a new predictor

Hi, I want to create a predictor that just outputs 12 landmarks corresponding to eyes instead of all 68.How should my training xml file reflect to serve my purpose?
can i achieve it by only having 12 co-ordinates in the xml file?
Thanks in advance

I only recently saw this, sorry. I hope you've figured this out but it's as you said. You can download ibug images and remove the coordinates you're not interested in, keeping only the ones around the eyes. Retrain by using http://dlib.net/train_shape_predictor.py.html


Implement auth-only in Python

This is a very nice repository! Good job all!
My question is, if I want to implement the auth-only functionality in Python, where should I look at?
Thanks!

If you want to implement it in plain python you might have to re-implement the whole RDP spec in python. However you could also use libfreerdp via ctypes in python. Have a look client/X11 to see how "authonly" is implemented in xfreerdp and just make the required calls from python.
For the future please ask questions like this on in the irc channel or use our mailing list.


Automatically close the details page of the plug-in

Issue Type: Bug
When I open the details page of a plug-in in VSCode, I switch to other functions in the active column (such as opening the resource manager), and VS code automatically closes the details page that has opened the plug-in, but I don't want to close it.
I have disabled all plug-ins, and this will happen.
 Or is it the nature of web views?

@ramya-rao-a I do not know. May be @joaomoreno ?

@joaomoreno If this was not intentional, then I would add a help-wanted label on this issue.

This was an intentional change. When extensions started appearing in editor places, people feared that they would overtake the editor history list, so there is some garbage collecting behaviour in there.
I suggest we introduce a setting for this and reverse the default behaviour: extensions should be kept open by default. 👍

Thanks @joaomoreno!


AttributeError: 'NoneType' object has no attribute 'state_dim' error

When training to 250 epochs, I get the following error.

Could you help me see what the mistake might be?

Hi, thanks for pointing this out. The main reason is the set error of argument policy_dict in the policy_test function. If the policy name is with "check_point", the policy_dict should be True. Otherwise, it should be False.
I have fixed this bug, and you can try to train with the newest version. Thanks

Thank you so much. I will try to retrain it. However, I just met a new problem when trying to test my newly trained model.

I do not know why the model cannot be pickled. I believe the path to the model is correct.

Hi, I have tested the policy test function in the policy_test.py, and there is no error like yours.
The pickle.load() function is to load the argments that saved in the pickle.dump() in train_process.py, and is only related to the python module pickle. You can test the pickle.dump() and pickle.load() solely to find the main reason. If there are still this error, you may try the other version of pickle

The new version works fine. Thank you so much.


How to custom my own api-gateway use go-micro?

For develop, there is simple to start api-gateway by the command:
$ micro api --registry consul --registry_address localhost:8500

I have these questions:

For production enviroment, should i also use this way to start api-gateway?
If i want to add authentication to api-gateway, how should id do it?

i18n
在开发环境中，使用如下命令能很简单启动一个 api-gateway:
$ micro api --registry consul --registry_address localhost:8500

但是我有几个问题：

在生产环境，我也要用上述方式去启动 api-gateway 吗？
如果我想在 api-gateway 中加鉴权的话要怎么做？

You can add auth and other plugins to the micro toolkit via its plugin api. Currently this requires you to rebuild the micro toolkit. See the plugins doc https://micro.mu/docs/runtime-plugins.html. We will support dynamic loading and an rpc based api in the future.


CLI: Support Foundry contract naming conventions

Fixes #902

Cancelling since Foundry naming conventions are not standard, so should be handled by the caller on the Foundry side before calling the Upgrades CLI.


doesn't work with emacs-ng

I tried to use emacs-ng as the emacsPackage but it gets stuck at installation.
SC:

I can use emacs-ng normally using nix run github:emacs-ng/emacs-ng.
Here is my config
{ pkgs, inputs, config, ... }: {
  programs.doom-emacs = {
    enable = true;
    doomPrivateDir = ./doom.d;
    emacsPackage = inputs.emacs-ng.packages.x86_64-linux.default;
  };
  services.emacs.enable = true;
}

here emacs-ng is a flake input emacs-ng.url = "github:emacs-ng/emacs-ng";

Have you tried building off the binary cache? Try installing Cachix and running cachix use emacsng.

@bobbbay I believe I am using binary cache, as you can see in the screenshot I am using binary cache by using extra-substituters and extra-trusted-public-keys

It getting stuck seems unusual. Maybe ask Nix to be more verbose? I dunno and I don't support emacs-ng so it's up to you to figure out why it's broken, though I'm open for a chat on matrix if you get stuck: @ckie:ckie.dev.

well fwiw here's the screenshot of verbose build

Marking this as wontfix. emacs-ng is really different from emacs.
Also, I don't think upstream supports it neither.


Feature/bye travis the flash

Time to get rid of travis from master branch as well.

Nice name for the branch :)


Where to put effort?

I saw the experimental simd release and tried it. It's a really nice improvement over master. Is there any guess of when that will run on stable rust? I'm thinking about what to do in the meanwhile. If that is years away, then it makes sense to continue working on the non-simd version, but if it's reasonably soon then it's better to focus on the simd branch.
Separate question, could we get a 4.1.0 release of the current master? It has become quite a lot faster since 4.0.

If you're still working on an updated planner, I'd be happy to include that in a 4.1
The biggest hangup for 5.0 is min_specialization. I don't have any hope that that will be stabilized soon.
I see a few options, which I plan to spend the next few weeks thinking about:
1: Wait years until min_specialization is stabilized
2: Find some hack that lets us replace specialization
3: Release AVX support as an opt-in cargo feature - when the feature is disabled, the MSRV is some stable rustc version, and when it's enabled, the MSRV is nightly
As where to direct your focus, I think working on the scalar code is still very important, because there are many users who either work outside of x86_64, or are targeting low-end CPUs like celerons that don't have AVX.

If option 2 existed, that would be my preferred solution. Option 3 is a good last-ditch choice, but I just know there will be many, many users who never realize they have to opt in.

Ok! I took a quick look at min_specialization and it looks more like years than months before that can be ready. If it's possible, option 2 seems like the wisest choice. If not, option 3 looks better than 1!
My idea for the new planner is to do it in two steps:

Split the planning so if first makes a "recipe" for the FFT, then builds the FFT from the recipe. This makes it easy to write tests that check that it picked the right algorithms. This part is almost finished. In itself it doesn't add any value for the end user (it actually makes the planning take a tiny bit longer), but it's necessary for the next step. And testing is of course good.
Make the planner plan several possible recipes, then estimate the processing cost for each one and pick the fastest. My idea here is that it's very difficult to make a set of rules that makes the planner pick the right recipe for every possible case. I'm hoping this can be a more reliable way to get the fastest fft. I have only started looking at how to estimate, there is quite some work left.

I think it would be good to release 4.1 now. The existing planner is pretty good. I think it only picks the wrong algorithm for quite unusual lengths, and then the one it picks is not terrible.  And I don't know how long it will take until the new planner is actually giving any benefits.

4.1 is released, and simd is merged into master, so you won't need to worry about straddling two incompatible versions anymore

Perfect! Closing this issue :)

Just fyi, if you're still working on planner things, I got AVX working on stable and merged it into master.
I split FftPlanner into two different structs. One is FftPlannerScalar, which explicity opts out of any AVX stuff, and the other is a new enum called FftPlanner, which has the logic for choosing which planner to use.
So if you want to test the scalar planner eithout the AVX planner getting in the way, you can switch over to creating instances of FftPlannerScalar directly.


TypeScript Syntax Highlighting Broken

Issue Type: Bug
I updated to latest version 1.26.1 and now code that was viewed properly before no longer has proper syntax highlighting

VS Code version: Code 1.26.1 (493869ee8e8a846b0855873886fc79d480d342de, 2018-08-16T18:37:28.532Z)
OS version: Windows_NT ia32 10.0.17134

System Info

Item
Value

CPUs
Intel(R) Xeon(R) CPU E5-1650 v3 @ 3.50GHz (12 x 3492)

GPU Status
2d_canvas: enabledchecker_imaging: disabled_offflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onnative_gpu_memory_buffers: disabled_softwarerasterization: enabledvideo_decode: enabledvideo_encode: enabledwebgl: enabledwebgl2: enabled

Memory (System)
31.91GB (16.45GB free)

Process Argv
C:\Program Files (x86)\Microsoft VS Code\Code.exe

Screen Reader
no

VM
0%

Extensions (10)

Extension
Author (truncated)
Version

bracket-pair-colorizer
Coe
1.0.59

gc-excelviewer
Gra
2.1.25

code-beautifier
mic
2.1.0

dotenv
mik
1.0.1

python
ms-
2018.7.1

csharp
ms-
1.15.2

PowerShell
ms-
1.8.3

debugger-for-chrome
msj
4.8.2

code-spell-checker
str
1.6.10

vscode-adaptivecards
tom
1.1.3

Subscribed!
I also face the same problem. Color looks weird and inconsistent.

Here is a link to the file I had screenshot from above:
https://github.com/Microsoft/ConversationLearner-SDK/blob/c0c4f4a511b754c595e6368fcbd7e6b585665898/src/CLRunner.ts#L259
Interestingly I noticed the syntax highlighting on this file is also broken in almost the same locations with same affects on GitHub as it is in VSCode.  Perhaps this can be clue to fix the issue.

Seems fixed in latest insiders build

Let me know if you still see this issue in the current insiders

@gluons Opened https://github.com/Microsoft/TypeScript-TmLanguage/issues/653 for that
In the future please open a separate issue as it makes tracking and management easier

Hmm. I just downloaded the insiders and still see the error. Even disabled all extensions.  Was the version below the one you were using?  Is there a better way for me to verify?
VS Code version: Code - Insiders 1.27.0-insider (6e559261f677793fea424c6eb5cb13d0301ffff1, 2018-08-20T08:36:52.887Z)
OS version: Windows_NT x64 10.0.17134

System Info

Item
Value

CPUs
Intel(R) Xeon(R) CPU E5-1650 v3 @ 3.50GHz (12 x 3492)

GPU Status
2d_canvas: enabledchecker_imaging: disabled_offflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onnative_gpu_memory_buffers: disabled_softwarerasterization: enabledvideo_decode: enabledvideo_encode: enabledwebgl: enabledwebgl2: enabled

Memory (System)
31.91GB (15.03GB free)

Process Argv
C:\Users\mattm\AppData\Local\Programs\Microsoft VS Code Insiders\Code - Insiders.exe

Screen Reader
no

VM
0%

Extensions: none

Oh yeah format on paste fixes this if you copy it from github. Caused by a trailing space messing up syntax highlighting. Opened https://github.com/Microsoft/TypeScript-TmLanguage/issues/654 to track this


Fix: heap corruption in the Graphing mode

What
We've observed some app crash session happening around the graphing calculator. A high-repro-rate approach is launching Calculator twice to the Graphing mode. Tips: using the gflags tool to inspect pageheap can have almost 100% repro.
Root cause
Graphing mode may render curves in two different threads. See more at RenderMain::RunRenderPass() and RenderMain::RunRenderPassAsync(). The former is always executed in the UI thread, while the latter is always going to run on a background thread. Such implementation introduces a complexity of managing inter-thread synchronization, and the current is codebase is not doing good on that.
A minimum fix is do not run render passes on different threads. It helps us get rid of the problem of race condition and data race. It also eliminates the needs of managing the happens-before relationship between the store/load operations over the same piece of memory on different threads, which cannot be achieve by simply locking a critical section.
It's hard to believe that this minimum could lead to a performance problem on rendering, because:

RunRenderInternal() is and must be an efficient function for it's the bottleneck of image presenting.
Render passes are mostly run synchronously in UI thread, in some cases they may run in a background thread. If we are not seeing any problems of rendering performance, we will not see any of them when doing the same work in UI thread asynchronously.
All the graphics are rendered on demand. There is not a stable FPS render running behind the scenes. Hence, if there's any defects in this fix, it won't be amplified.

Changes

Always run render passes on the same thread, i.e. the UI thread.
Use concurrency::task<bool> as coroutine to return the result of RunRenderPassInternal.
Remove the critical_section - RenderMain::m_criticalSection
Removed some unused fields.
Fix some wrong use of IAsyncAction
Add std:: back to Grapher.cpp.

/azp run


Write a C++ program to find largest and smallest numbers in an array

Description
Write a C++ program to find largest and smallest numbers in an array
Input  : [1, 2, 3, 4, 5]
Output : 5, 1

How to contribute

Save the solution in program/FindLargestAndSmallestNumbersInAnArray.cpp file
Add FindLargestAndSmallestNumbersInAnArray.cpp file in find-largest-and-smallest-numbers-in-an-array folder

!assign


conda-forge version is outdated and does not install on Python 3.11.0 environments

Description
psygnal fails to install via conda (https://anaconda.org/conda-forge/psygnal):

the version on conda is outdated (should be 0.7.0, not 0.6.1)
even with 0.6.1, conda fails to install psygnal due to my Python 3.11.0 environment (which again should not be the case)

What I Did
>> mamba install psygnal==0.6.1

Looking for: ['psygnal==0.6.1']

conda-forge/win-64                                          Using cache
conda-forge/noarch                                          Using cache

Pinned packages:
  - python 3.11.*

Encountered problems while solving:
  - package psygnal-0.6.1-py39h1f6ef14_0 requires python >=3.9,<3.10.0a0, but none of the providers can be ...

thanks, will fix

Merged 0.7.0 feedstock.  Should publish within an hour or so


Grant Application - PolkadotComics

Grant Application Checklist

[+] The application-template.md has been copied, renamed ( "project_name.md") and updated.
[+] A BTC address for the payment of the milestones is provided inside the application.
[+] The software of the project will be released under the Apache license version 2.0 as specified in the terms and conditions.
[+] The total funding amount of the project is below 30k at the time of submission.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Thanks for the application and all the effort you put into this. However, I see one big issue here: The Open Grants Program focuses on technology grants and this seems more like a marketing/outreach grant proposal. Maybe the kusama treasury could be interested in this kind of proposal. I suggest to take a look at the following riot channel: #kusama:matrix.parity.io and/or https://kusama.polkassembly.io/

Hello, David! On official website states that grants can also support community engagement - https://web3.foundation/grants/.
"In support of our mission, the Web3 Foundation grants program funds software development, research, technical education, and community engagement efforts in and around the field of decentralized software protocols."
anyway, thanks for the tips!

Thanks for pointing this out. The website is a little bit outdated at the moment, because the team behind it is focusing on the upcoming launch of the network. But I will notify them to at least update this sentence.
We previously also had a grant programs for education and community engagement efforts. I will notify you in case there is a possibility to support your project through one of our grant programs again.


add the option to send an email to<EMAIL_ADDRESS>instead of the hiding box

I'm not quite sure what Amy wanted by the statement in the issue. I'll ask for clarification.


How can I set up server in dot net

Can you please help me with my below doubts?
I am new to flutter and webrtc. I want to set up voip audio call and peer to peer chat in my app. So I could run this sample app successfully. Thank you for this wonderful demo. Since I need to set up the server in dot net, here in your demo app the server url is demo.cloudwebrtc.com. How can I set up the server in C# dot net? What all things I need to do in the server? Can you help me please?

Dear @neenabastin123  I checked the code of the server and it is in Go lang. You have to host it a virtual private server VPS and no way to change it to C# and I know


Crawling process gets connection timed out

Hi,
First of all: thank you for creating this wonderful plugin =)
So I'm having some issues with crawling the page, because there seem to be some connectivity issue.
To give you more context: I host WordPress in a Docker container (virtualization), and outside  URLs such as www.google.com are reachable within the container itself.
So I was wondering what exactly the issue is, why it can't reach the WordPress container itself. Maybe you have some thoughts or technical insights. Did you ever run into a similar problem?
Thanks for your help.
Here's the error log:
$ cat WP-STATIC-EXPORT-LOG.txt
2020-06-05 02:26:03
PHP VERSION 7.3.18
OS VERSION Linux 139a654e3ebc 5.4.0-33-generic WP2Static/wp2static#37-Ubuntu SMP Thu May 21 12:53:59 UTC 2020 x86_64
WP VERSION 5.4.1
WP URL https://www.blog-index.com
WP SITEURL https://www.blog-index.com
WP HOME https://www.blog-index.com
WP ADDRESS https://www.blog-index.com
PLUGIN VERSION 6.6.7
VIA WP-CLI?

Quick point: I've since removed the option in the latest builds of the version 6.x.x that you're using, but I can see that allowOfflineUsage is enabled in your settings. This is only for creating a zip that can be shared on a local filesystem and won't work on a live site. For offline ZIP creation, I now prefer to point people to using something like HTTrack, but I don't think this is what you're after anyway. For now, removing that option will help once the site actually exports properly (it's not the cause of the connection issues).
For Docker, it's usually a matter of the WordPress Site URL setting not matching the actual webserver address used within the Docker container. As WP2Static is crawling from within the container, it needs to be able to resolve that address. It's likely that the container's site is setup for localhost, either on port 80 or 443.
A way to test whether it will work is to SSH into your Docker container and curl/wget your site's url. If it can't resolve this, you may need to add an entry in the /etc/hostsfile.
Now, a bit more on your intended setup. WP2Static (V6 renaming to "Static HTML Output") is designed to run on a development server, ie dev.example.com. You then publish your static site, using the plugin to rewrite the links to example.com or www.example.com.
If you're the only person who develops your site, you can run your Docker instance on your local PC and not use TLS/https, so serve over port 80. In this case, I prefer to directly port map localhost:SOMEPORT for the site, ie docker run -p 4444:4444, allowing for multiple sites. If you only expect one site, you can map 80:80, neither of these require any modification to the Docker host to work well. (If you're interested to run locally, I'm starting a new project, Lokl which allows to quickly spin up large numbers of WP sites with 1 command)
If you have other remote contributors to the site or prefer to host it online, I suggest adding http basic authentication, to keep the dev server private from bots/indexing/malicious attempts.
The above is a bit of a ramble. If you could please tell me a bit more about your intended workflow, I'll better advise a specific solution.

🙌  Thanks a lot for your answer :)
I only wanted the local environment to test if it's working. What I really want to do is the following: 1. Download the website locally while replacing the url with a different one
2. Run a script which alters the content a little bit
3. Copy all the website files into a nginx docker container, upload the docker container and host it on the server with the url.
About the connection timeout: I added the blog-index.com to the hosts file and it's now redirecting to localhost, but it's not redirecting the port from 443 to 80. I played around with iptables in the container, but couldn't find a solution yet.
I get "curl: (7) Failed to connect to localhost port 443: Connection refused"
I already moved the WordPress site to a development environment, thank you for the suggestion :)

@crechberger thanks for providing more info.
Based on that workflow, you may like something more like what I'm using in Appish
That currently requires bash and wget to be installed on the machine, but you can see the scripts it's using in the GitHub repo. Basically, just wget --mirror'ing the site and replacing all strings: https://github.com/Appish/appi.sh/blob/master/launch.sh
You should be able to have some fun chaining that all up with some docker build or Packer or such to deploy the site.
I'd suggest considering the performance benefits of deploying to a CDN like CloudFront or Cloudflare if you want globally fast speeds. As you'd already have the processed static site files, you could use AWS CLI to sync to S3 or Cloudflare's Workers CLI tool (has some size limitations though) or any other CDN backed static site hosting method, pretty much any "serverless" hosting will support it.
Back to the current issue, is the SSL being handled within the docker container hosting WordPress or in another load balancer/proxy in front of it? Please share as much as you can about the WP setup, ie docker compose file if you have one

Thanks, I'll try Appish out. :)
By the way: A readme is still missing ;)
CDN would be a good idea, but I'll a script which is modifying the contents of the webpage, so it will be a slightly different version than from the WordPress original homepage.
So on the server, there's a reverse proxy (traefik) which ensure that all the communication with the outside world is with https and it redirects to the correct containers. Inside the server all communication is still http. But the issue is still inside the container itself, since I want to redirect the ports. Maybe I can find a solution for that.

I tried Appish, but there are still some issues (look at the screenshot)

Ah well, I forgot to put it in a webserver, so the images now load, but the console errors are the same.

@crechberger cool, I was thinking to just recommend pulling parts out of the Appi.sh script, but cool that it worked.
There seems to be a cpl issues there:

mix of www.localhost and localhost <- where's that coming from?
the CSS and JS files are probably containing a 404 error page from WP?

I would try just pulling out the wget command from the appi.sh script, then inspect the downloaded site and make sure everything's there as expected. Look out for the assets in case they've ended up with query strings in filename.
Then if it's all good, use the sed command that should also be in that launch.sh script to replace all instances of the original domain with the new intended destination you'll host on.
You've probably got PHP installed, so this one liner can be a good quick static web hoster:

cd into directory of static site files
php -S <IP_ADDRESS>:80 (assuming loose address binding is OK and nothing else on port 80, else when doing test exports, export to localhost:3333 or such and serve with that from php, that can save messing around with nginx configs and copying files around while testing

sorry, reading your earlier comment after last

CDN would be a good idea, but I'll a script which is modifying the contents of the webpage, so it will be a slightly different version than from the WordPress original homepage.

What kind of script are you going to use to modify the output? Based on that, may be some more appropriate tooling out there. Also, wget is not the best option for downloading sites if you have control over the server. There are more which will do multi-threaded/connection downloading, which should be a lot faster, I don't have the names in mind, but bit of searching around wget multi-threaded download is what led me to them before.
Also may depend on how big this operation is for you / how many sites you plan to deploy with custom modifications like this. A scraper written in Python/Ruby/language of preference may do the whole process for you nicely, with better tools than PHP for HTML manipulation (Beautiful Soup, Nokogiri). If it's not too complex a rewrite, then just bash, sed, awk and whatever downloader. There is also a CLI HTML library, like jq for json, called pup, great for parsing, not so sure about generating.

So on the server, there's a reverse proxy (traefik) which ensure that all the communication with the outside world is with https and it redirects to the correct containers. Inside the server all communication is still http. But the issue is still inside the container itself, since I want to redirect the ports. Maybe I can find a solution for that.

I think that's a challenge with such a Docker setup, allowing the web container to resolve the proxy's host in a way that crawling from within WP will work. It may be possible, if you can have that proxy use the same port as the webserver, but seems unnecessarily complicated.
I think for the least amount of disruption to your current setup, if you can drop the proxy and terminate the SSL in the webserver's box, it will work fine (with same port mapped host:guest).
Easier yet, stick with wget, it's available everywhere, free and good at what it does. For some ideas of preventing query strings being saved in filenames: https://superuser.com/questions/61025/how-can-i-make-wget-rename-downloaded-files-to-not-include-the-query-string

Unfortunately a SSL port can't be just simply redirected to HTTP, because it throw a certificate error, so I went for the solution to run the wordpress site on localhost and it works.

w00t! Which deploy method did/well you end up using?

I found the reason for the syntax errors. Here for the example "us.core.min.js".
So the JS file on the wordpress site is referred to with using the version as an additional parameter "us.core.min.js?ver=7.5" and Appi downloads and saves the file as "us.core.min.js?ver=7.5", but in the original WP site, the file name of it is "us.core.min.js". So that maybe an enhancement for Appish to ignore the url parameters for JS files.

So I could make it work on localhost without using Appish, but your plugin, following your instructions:

If you're the only person who develops your site, you can run your Docker instance on your local PC and not use TLS/https, so serve over port 80. In this case, I prefer to directly port map localhost:SOMEPORT for the site, ie docker run -p 4444:4444, allowing for multiple sites. If you only expect one site, you can map 80:80, neither of these require any modification to the Docker host to work well. (If you're interested to run locally, I'm starting a new project, Lokl which allows to quickly spin up large numbers of WP sites with 1 command)

Also regarding Appish: It would be really cool to have an editable config file so that the export can be automated and the launch script doesn't ask you for user input.
But that's just another item on the wish list :D
At this point I already want to thank you for your amazing help and super fast response time 🙌 🥳  Thank you so much :)

closing this one now. have added a guide to debugging this issue at https://www.staticword.press/t/failed-during-crawling-initial-file-list-please-consult-the-help-tab-for-where-to-get-assistance/

Thanks! Let me know once the Appish changes are available on Github so I can provide feedback :)
Yes, and thanks for your tools, which you are providing for free :)
All the best on your health and also thanks for creating the plugin guide on this issue.


Getting new.info file that contains api coverage data. [DNM]

Do not merge.

Please do not push branches to upstream. Push them to your fork instead.


Error when creating Reservation

I am seeing this error when manually creating a Reservation:
E0503 06:55:19.628850       1 reservation_controller.go:77] Error when getting PeeringCandidate fluidos/reservation-sample before reconcile: PeeringCandidate.advertisement.fluidos.eu "peeringcandidate-fluidos.eu-k8s-fluidos-fa8bdf95" not found
2024-05-03T06:55:19Z    ERROR   Reconciler error        {"controller": "reservation", "controllerGroup": "reservation.fluidos.eu", "controllerKind": "Reservation", "Reservation": {"name":"reservation-sample","namespace":"fluidos"}, "namespace": "fluidos", "name": "reservation-sample", "reconcileID": "00eb1568-0281-4dd5-b613-5674f988005d", "error": "PeeringCandidate.advertisement.fluidos.eu \"peeringcandidate-fluidos.eu-k8s-fluidos-fa8bdf95\" not found"}
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler
        /go/pkg/mod/sigs.k8s.io/controller-runtime@v0.15.1/pkg/internal/controller/controller.go:324
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem
        /go/pkg/mod/sigs.k8s.io/controller-runtime@v0.15.1/pkg/internal/controller/controller.go:265
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2
        /go/pkg/mod/sigs.k8s.io/controller-runtime@v0.15.1/pkg/internal/controller/controller.go:226
E0503 06:55:19.654411       1 reservation_controller.go:77] Error when getting PeeringCandidate fluidos/reservation-sample before reconcile: PeeringCandidate.advertisement.fluidos.eu "peeringcandidate-fluidos.eu-k8s-fluidos-fa8bdf95" not found
2024-05-03T06:55:19Z    ERROR   Reconciler error        {"controller": "reservation", "controllerGroup": "reservation.fluidos.eu", "controllerKind": "Reservation", "Reservation": {"name":"reservation-sample","namespace":"fluidos"}, "namespace": "fluidos", "name": "reservation-sample", "reconcileID": "df59614a-84b4-44c8-ba6a-da05b885b3af", "error": "PeeringCandidate.advertisement.fluidos.eu \"peeringcandidate-fluidos.eu-k8s-fluidos-fa8bdf95\" not found"}

Note that the peering candidate exists:
% kubectl get -n fluidos peeringcandidates
NAME                                               AGE
peeringcandidate-fluidos.eu-k8s-fluidos-fa8bdf95   2m54s

And that is the content of the reservation manifest:
apiVersion: reservation.fluidos.eu/v1alpha1
kind: Reservation
metadata:
  name: reservation-sample
spec:
  solverID: solver-sample
  # Retrieve from configmap
  buyer:
    domain: fluidos.eu
    ip: <IP_ADDRESS>:30000
    nodeID: xbjnoc2npb
  seller:
    domain: fluidos.eu
    ip: <IP_ADDRESS>:30001
    nodeID: tn3ndwttnh
  partition:
    architecture: amd64
    cpu: "1000m"
    memory: "1Gi"
    pods: "50"
  # Set it to reserve
  reserve: true
  purchase: false
  peeringCandidate:
    name: peeringcandidate-fluidos.eu-k8s-fluidos-fa8bdf95

spec.seller and spec.buyer information are retrieved from the Discovery and ConfigMap, respectively.
Am I missing something?

Hi @stefano81 .
Did you also change the .spec.peeringCandidate.name value according to the PeeringCandidate you're trying to connecto to?

OK I see you did.
That's strange as you should be able to see the peering candidate after the discovery.
Do the .spec.seller information match the one available into the PeeringCandidate CR?


Support Java 7

Looks useful, but I am on Java 7 for a while yet. A java 7 build would be nice

I'll see what I can do :D


Blurry chart lines

Interactive example: https://codepen.io/ZsharE/pen/NWGBpoZ
Expected Behavior
The sparkline chart should be sharp. The straight line should be white.
Current Behavior
The sparkline chart is blurry.
Steps to Reproduce (for bugs)
Go to: https://cdpn.io/ZsharE/debug/NWGBpoZ/GnAnbOoNqEZA
Browser zoom level 100%: the line chart is blurry.

Browser zoom level 125%: the line chart is sharp.

Environment

Chart.js version: 2.9.3
Browser name and version: Chrome, Firefox (latest version)
Resolution: 1920 x 1080 (native)

I don't know if this is the issue, but one thought I have: Drawings on canvas need to be aligned to 0.5 pixel. helpers._alignPixel does this, but is called only for the grid. This might make some drawings blurry since the controllers and elements generally don't account for this. We could consider just translating the canvas by (0.5, 0.5) once instead of adding (0.5, 0.5) to every point we draw

HTML canvas does anti-aliasing.
Try setting the borderWidth to a bit higher value (1.5 or 2 for example)
1px:

1.5px:

2px:

I don't know if this is the issue, but one thought I have: Drawings on canvas need to be aligned to 0.5 pixel. helpers._alignPixel does this, but is called only for the grid. This might make some drawings blurry since the controllers and elements generally don't account for this. We could consider just translating the canvas by (0.5, 0.5) once instead of adding (0.5, 0.5) to every point we draw

That one depends on the device too. With devicePixelRation of 2, it makes no difference. With 1.25 translating by 0.5 its going to be 0.25 pixels off. I think translating by (devicePixelRatio % 2) / 2 would be optimal for straight horizontal / vertical lines, but its actually worse for curves.

its actually worse for curves

Is there any optimal behavior for curves or should we just ignore trying to align curves?

Is there any optimal behavior for curves or should we just ignore trying to align curves?

The behavior of drawing "between pixels" was probably chosen to make images look better by default. It works well for anti-aliasing. Only drawback is the 1px vertical / horizontal lines that are not sharp.
Translating only the h / v lines makes them half a pixel off compared to other lines. Bar chart bars could be aligned too, to make them sharper and look good both sides of the origin (origin needs to be reserved its width though).

One thing to keep in mind with translating with the devicePixelRatio is that it can change with time. ctrl + mousewheel zoom will change it, and different monitors could have different ratios. If we can reliably detect these scenarios, that would be good.

ctrl + mousewheel zoom will change it

i think you'd have to poll for it, as [1] seems insufficient :(
[1] https://stackoverflow.com/questions/28905420/window-devicepixelratio-change-listener/29653772#29653772


Partition based Sync not supported in new Apps

How frequently does the bug occur?
Always
Description
I am trying to create a new cluster and App to load data from an existing realm database but it seems it is no longer possible to create a partition based sync app.
Can someone explain how to load a local realm database that is a backup from an existing partition based sync app into one of the new flexible sync apps.
There seems to be a very long explanation for how to migrate and existing app from partition based to flexible sync but that doesn't help because I need to load the new app from a javascript client code that reads the old database and then uses that data to load the new flexible sync database.
Presumably it should just be a matter of connecting to the new App by opening the Realm() with flexible sync.  Does that mean that all the existing clients will need to be upgraded to open the app with flexible sync and not partition based sync ?
Pretty confusing the explanations in documentation particularly because it says that no client side code change is required.
Stacktrace & log output
No response
Can you reproduce the bug?
Always
Reproduction Steps
Existing javascript client code opens the realm and loads data but sync fails.  No errors appear on the client side code.
Assuming the database can be loaded into the new flexible sync realm what if any Swift client side code changes need to be made to connect to and sync with the flexible sync app.
Documentation seems to indicate that no client side code changes are required.
You assistance will be much appreciated - thanks
Version
JS 11.10.2 Swift 10.42.4
What Atlas Services are you using?
Atlas Device Sync
Are you using encryption?
No
Platform OS and version(s)
macOS Sonoma
Build environment
Xcode version: 15.4
Dependency manager and version: SPM

@tgoyne - Thomas not sure if you see these tagged comments - but if you do I would appreciate it if you could help solve loading a local realm file into a flexible sync realm.  The javascript program supplied originally by yourselves appears to fail with an error and it seems it might be related to needing to create subscriptions before writing to the realm.
Given we sync the entire database we presumably need to create subscriptions for all objects - but when doing so the javascript program throws an exception
Error, objectType must be of type 'string', got ([object Object])

@duncangroenewald can you file a support ticket at http://support.mongodb.com and the team will assist you there. They could enable creation of partition-sync apps for your account or offer other alternatives for a seamless migration.

I have raised a ticket with them but my experience is they end up referring to some of the realm folks here who seem to have the detailed technical expertise.
We need to do a schema update so may as well migrate to flexible sync - but we sync the entire database to all clients so flexible sync seems overkill.  Presumably our clients would just need to subscribe to all objects and things would function much like partitioned sync.

OK - my bad. I was not using a string to define the class/object in the subs.add() function !!!


modify http link

Codecov Report
All modified lines are covered by tests :white_check_mark:
:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.

Files
Coverage Δ

plugin/link/httplink/wrapper.go
64.86% <100.00%> (+0.97%)
:arrow_up:

... and 1 file with indirect coverage changes
:loudspeaker: Thoughts on this report? Let us know!.


(🎁) Rule for class member definition order

class A:
    def f(self): ...  # erm, methods should come after class methods
    @classmethod
    def c(cls)   # erm, class methods should come before methods
    def __str__(self): # erm, dunders should come before methods
    s: str  # erm, attriubutes should be declared first

I want some kind of linting for the ordering of class members, I would like to enforce a consistent style for my codebase.
I don't know what the best practices would be, the code block is just for demonstration.
Things to consider:

attributes
__new__/__init__
static methods
class methods
properties
methods
dunders

Yes, I assumed it would already be raised, so I spent ages looking in the issue tracker, couldn't find anything though. Maybe you should add something like typescripts "🔍 Search Terms" section.


Check your environment (MovieLens SQL)

Tutorial URL: https://developers.sap.com/tutorials/hxe-aa-movielens-sql-01.html
At step #2: the repository https://tools.hana.ondemand.com/oxygen/ doesn't contain the SAP HANA Tools Package (anymore?)
It can be found currently only in the https://tools.hana.ondemand.com/2019-03 repository, which doesn't install on Eclipse 2019-06.
Eclipse Error:
An error occurred while collecting items to be installed
session context was:(profile=D__Programs_Eclipse_jee-latest-released_eclipse, phase=org.eclipse.equinox.internal.p2.engine.phases.Collect, operand=, action=).
No repository found containing: osgi.bundle,org.eclipse.andmore.base,<IP_ADDRESS>605181018

very sorry for the issue.  we will re-write this tutorial link to reference the repository correctly.


[ownership] Convert SILOptimizer/cast_folding_objc_generics.swift to …

…work with ownership serializing after serialization at -Onone.
I added an extra run with the relevant flag enabled for this purpose.

(I also turned off perf inlining/func sig opts on this test to guarantee that stripping ownership after serialization does not run into any weird issues from having a stdlib that isn't compiled with ownership stripping at the end of the guaranteed pipeline).

@swift-ci smoke test


New built-in Jupyter editor fails to run bash kernel

Issue Type: Bug
Back in the old notebook editor (from the Jupyter extension, I think? The one that now shows a banner saying "This editor is deprecated and we'll remove it after 1.59 of VS Code."), I could choose the bash kernel and execute code cells with bash content without any issues.
Now, with the built-in notebook editor, I can still choose the bash kernel but code cells are marked as "plain text" (and if I try to change it, Markdown is the only option) and running the cell doesn't appear to do anything at all.
VS Code version: Code 1.59.1 (Universal) (3866c3553be8b268c8a7f8c0482c0c0177aa8bfa, 2021-08-19T11:53:52.479Z)
OS version: Darwin x64 20.6.0
Restricted Mode: No

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz (12 x 2600)

GPU Status
2d_canvas: enabledgpu_compositing: enabledmetal: disabled_offmultiple_raster_threads: enabled_onoop_rasterization: enabledopengl: enabled_onrasterization: enabledskia_renderer: disabled_off_okvideo_decode: enabledwebgl: enabledwebgl2: enabled

Load (avg)
2, 2, 2

Memory (System)
64.00GB (35.37GB free)

Process Argv
--crash-reporter-id ceee662b-29e9-4b7b-a765-b7c469595b44

Screen Reader
no

VM
0%

Extensions (22)

Extension
Author (truncated)
Version

Bookmarks
ale
13.1.0

githistory
don
0.6.18

gitlens
eam
11.6.0

prettier-vscode
esb
8.1.0

terraform
has
2.14.0

beautify
Hoo
1.5.0

rest-client
hum
0.24.5

git-graph
mhu
1.30.0

vscode-docker
ms-
1.16.0

vscode-kubernetes-tools
ms-
1.3.3

python
ms-
2021.8.1147840270

vscode-pylance
ms-
2021.8.2

jupyter
ms-
2021.8.1236758218

remote-containers
ms-
0.191.1

remote-ssh
ms-
0.65.7

remote-ssh-edit
ms-
0.65.7

remote-wsl
ms-
0.58.2

vscode-remote-extensionpack
ms-
0.21.0

material-icon-theme
PKi
4.9.0

vscode-commons
red
0.0.6

vscode-yaml
red
0.22.0

code-settings-sync
Sha
3.4.3

A/B Experiments
vsliv368cf:30146710
vsreu685:30147344
python383cf:30185419
pythonvspyt700cf:30270857
pythonvspyt602:30300191
vspor879:30202332
vspor708:30202333
vspor363:30204092
vstes627cf:30244335
pythonvspyt639:30300192
pythontb:30283811
pythonvspyt551:30345470
pythonptprofiler:30281270
vshan820:30294714
vstes263cf:30335440
pythondataviewer:30285071
pythonvsuse255:30340121
vscod805:30301674
pythonvspyt200:30340761
vscextlang:30333561
binariesv615:30325510
pythonvssor306:30344512
bridge0708:30335490
vstre464:30350172
bridge0723:30353136
vsdyn420:30354109

thanks for the issue @judge-red. We'll discuss in our next triage meeting


Unable to download WACC's recorded Vimeo videos.

Hello.
Is there a way to download these hidden Vimeo videos with youtube-dl like this example?
$ youtube-dl -v http://wacc.aspireonemedia.com/601/5803/23116
[debug] System config: []
[debug] User config: []
[debug] Command-line args: [u'-v', u'http://wacc.aspireonemedia.com/601/5803/23116']
[debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2015.09.28
[debug] Python version 2.7.3 - Linux-3.2.0-4-amd64-x86_64-with-debian-7.9
[debug] exe versions: avconv 1.2.12, avprobe 1.2.12, ffmpeg 1.2.12, ffprobe 1.2.12, rtmpdump 2.4
[debug] Proxy map: {}
[generic] 23116: Requesting header
WARNING: Falling back on generic information extractor.
[generic] 23116: Downloading webpage
[generic] 23116: Extracting information
ERROR: Unsupported URL: http://wacc.aspireonemedia.com/601/5803/23116
Traceback (most recent call last):
File "/home/ant/bin/youtube-dl/youtube_dl/extractor/generic.py", line 1240, in _real_extract
doc = parse_xml(webpage)
File "/home/ant/bin/youtube-dl/youtube_dl/utils.py", line 1656, in parse_xml
tree = xml.etree.ElementTree.XML(s.encode('utf-8'), **kwargs)
File "/usr/lib/python2.7/xml/etree/ElementTree.py", line 1301, in XML
parser.feed(text)
File "/usr/lib/python2.7/xml/etree/ElementTree.py", line 1643, in feed
self._raiseerror(v)
File "/usr/lib/python2.7/xml/etree/ElementTree.py", line 1507, in _raiseerror
raise err
ParseError: not well-formed (invalid token): line 6, column 568
Traceback (most recent call last):
File "/home/ant/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 660, in extract_info
ie_result = ie.extract(url)
File "/home/ant/bin/youtube-dl/youtube_dl/extractor/common.py", line 288, in extract
return self._real_extract(url)
File "/home/ant/bin/youtube-dl/youtube_dl/extractor/generic.py", line 1838, in _real_extract
raise UnsupportedError(url)
UnsupportedError: Unsupported URL: http://wacc.aspireonemedia.com/601/5803/23116
I cannot seem to find its location to properly download it. :( Thank you in advance. :)

https://skyfiregcs-a.akamaihd.net/exp=1443500158~acl=*%2F420732761.mp4*~hmac=66077a43d655a98ef65ccaa630aa96561a786df98ea977be1949f705c66a5c58/vimeo-prod-skyfire-std-us/01/3138/5/140693865/420732761.mp4

RingoTheDog: How did you get that URL? From youtube-dl?

It's easy antdude. When the page is loaded, just open "developer console" (press F12 if using chrome, ctrl+shift+q if using mozilla). And navigate in the console to find the link.
Or there's one more way, the easy way. when the page is loading, open developer console and navigate to "Network" tab and in the filter tab, write "media". You'll see the links, copy paste them in a new tab and you'll get the video.

Xonshiz: Hmm, I use SeaMonkey that is based on Gecko's engine and don't seem to have that option. The closest I got as a media was https://f.vimeocdn.com/p/flash/moogaloop/6.2.2/moogaloop.swf?clip_id=140693865&z=1443496053308 ...

https://addons.mozilla.org/en-us/seamonkey/addon/web-developer/
try this... install this addon.. it should be fine...

Xonshiz: I have it installed after downloading and restarting my web browser. I assume it is "Web Developer Extension", but I couldn't seem to find this "Developer Console". So many options. :/

I don't use the browser you are using.. So, can't really help you there. I'd recommend installing mozilla too... Side by side, you know.. Mozilla is best when it comes to things like this.

It is based on Mozilla's Gecko engine. ;) It would be nice if YouTube-dl could find this URL to download the video.

You could request the website to be added in that case.. that would be a better solution to your problem.. :)


Update Gradle Version and Add Github Workflow CI/

Working CI
https://github.com/smallshen/KotlinDL/actions/runs/1297655373

Looks interesting, thanks for this PR, I need a time to check on my fork and return with the results

In the Kotlin compiler, lambda is compiled into an object (without compiler flags).
https://github.com/MicroUtils/kotlin-logging/issues/34
And this causes performance issues
Plus the recent log4j RCE has made more people change logging frameworks, (for example, in my organization we are not allowed to use Apache related frameworks).
This implementation is lightweight and easy to extend without any loss of functionality.

Hi, @smallshen you did a really great job, but this migration will be postponed for a few months to clarify the situation on the market among our users who embed the KotlinDL functionality in their apps.

Log4j/logback and others is popular among Java/Kotlin backend developers and have widely known configuration
Replacement of the logging framework could lead to new bugs and CVE but they will be not found so fast as in the log4j case
In a framework like KotlinDL we will be not affected by performance issues due to a very tiny percentage time of logging methods execution in comparison to tensor calculations

But I suggest keeping this PR (probably marked as draft or something else) to revisit the problem in the next two months.
Now it contains a lot of mixed proposals (Gradle update (it's done), Github CI, DSL for building neural networks (we have a separate PR for that as I remember), and a proposal for a new logging module (which is postponed))

Log4j/logback is supported with Log4JFactory.setup(), and users don't need to change anything on their configs

But I suggest keeping this PR (probably marked as draft or something else) to revisit the problem in the next two months.
Now it contains a lot of mixed proposals (Gradle update (it's done), Github CI, DSL for building neural networks (we have a separate PR for that as I remember), and a proposal for a new logging module (which is postponed))

I agree with this

@zaleslaw

Log4j/logback and others is popular among Java/Kotlin backend developers and have widely known configuration

Creating loggers is handled internally by the log4j API, so the logging behavior stays the same using Log4JFactory and does not require any changes.
https://github.com/smallshen/KotlinDL/blob/master/logging/logging-log4j/src/main/kotlin/org/jetbrains/kotlinx/dl/logging/log4j/ Log4JFactory.kt
and everything is handled by log4j's internal logger.
https://github.com/smallshen/KotlinDL/blob/master/logging/logging-log4j/src/main/kotlin/org/jetbrains/kotlinx/dl/logging/log4j/ LoggerWrapper.kt#L30


Fix Plot auto_bounds when LinkedAxisGroup one axis

Without this change there was a bug with center_y_axis = false but it was centered anyways.

Sure. Thank you.


Impressions and auto-refresh

how to calculate Impressions or ad loaded status sent to server and auto-refresh

Hey 👋,
I no longer maintain this project but here's a rough idea on how you could do this.
You can implement tracking impressions or ad load from relevant callbacks in AdListener.
Same goes for ad refresh as well, use the onAdLoaded callback to set up a refresh logic.


New documents

This PR contains the work to allow Editors to create new Documents. So far we've only added CMA Case as a format, but it's set up in such a way that adding new formats should be pretty painless. The interesting stuff is going on in Document and CmaCase models. We do some metaprogramming to set up the attr_accessors for the format specific stuff.
We've added an Integration test to make sure new Documents can be created. The models are light on logic it doesn't make much sense to have a unit test.
I've also added the views for the form, the frontend toolkit for colours and select2 for the multi-selects.
This PR requires https://github.com/alphagov/gds-api-adapters/pull/388 to be merged and the version bumped here in order to pass. Ticket.

Are there some screenshots showing how the UI looks?

@fofr It's pretty much the exact same as the current one.

🎉 ALRIGHT PULL REQUEST PEOPLE 🎉
I've either amended commits or added new ones pertaining to everyone's comments. Have another look please and someone hit merge so I can get stuck into rebase hell this afternoon.


OPi.GPIO has no attribute setboard

Hello,
I have stumbled upon an error.
When trying to run the blink_led.py example there is a message:
The start of the code:
import OPi.GPIO as GPIO
from time import sleep
GPIO.setboard(GPIO.H616) # in my case its H616
GPIO.setmode(GPIO.BOARD)
GPIO.setup(11, GPIO.OUT)
The error occurs at line 8:
'module' object has no attribute 'setboard'.
as OPi.GPIO is our module there seems to be a problem there. Inside the OPi file I can only see one Init file which doesn't include any attributes.
Is there an attribute file missing?
Thanks for your help in advance

Hello IZTOK71,
Could you please tell us how did you install the OPI.GPIO package.
This repository is developped upon other implementation of OPI.GPIO and if you download it without specifying this github path directly, you might donwload that version (which not implement the functions for the H616 board)


User page: update profile button doesn't work for web sites with www subdomains

We're failing here, eg authed user nature.com isn't object owner [] {}:
https://github.com/snarfed/bridgy-fed/blob/f34d1b43a3b32b82e09cba101251be4484bbb23a/models.py#L937-L942
Full example log:
Running receive task<PHONE_NUMBER>1792088871
Params: [('authed_as', 'nature.com'), ('obj', 'ahBicmlkZ3ktZmVkZXJhdGVkch8LEgZPYmplY3QiE2h0dHBzOi8vbmF0dXJlLmNvbS8M')]
Receiving web person https://nature.com/ AS1: {
  "objectType": "person",
  "id": "https://www.nature.com"
  "displayName": "Nature",
  "summary": "Nature is the foremost international weekly scientific journal in the world and is the flagship journal for Nature Portfolio. It publishes the finest ...",
  "url": "https://www.nature.com",
  "urls": [{ "value": "https://www.nature.com" }],
  "image": [
    { "url": "https://www.nature.com/static/images/favicons/nature/favicon-48x48-b52890008c.png" },
    { "url": "https://www.nature.com/static/images/favicons/nature/favicon-32x32-3fe59ece92.png" },
    { "url": "https://www.nature.com/static/images/favicons/nature/favicon-16x16-951651ab72.png" },
    { "url": "https://www.nature.com/static/images/favicons/nature/favicon.ico" }
  ],
}
Key('MagicKey', 'www.nature.com') use_instead => Key('MagicKey', 'nature.com')
Wrapping in update: {
  "objectType": "activity",
  "verb": "update",
  "id": "https://nature.com/#bridgy-fed-update-2024-07-24T04:36:22.656467+00:00",
  "actor": "https://www.nature.com",
  "object": {
    "objectType": "person",
    "id": "https://www.nature.com"
    "displayName": "Nature",
    "summary": "Nature is the foremost international weekly scientific journal in the world and is the flagship journal for Nature Portfolio. It publishes the finest ...",
    "url": "https://www.nature.com",
    "urls": [{ "value": "https://www.nature.com" }],
    "updated": "2024-07-24T04:36:22.656467+00:00",
    "image": [
      { "url": "https://www.nature.com/static/images/favicons/nature/favicon-48x48-b52890008c.png" },
      { "url": "https://www.nature.com/static/images/favicons/nature/favicon-32x32-3fe59ece92.png" },
      { "url": "https://www.nature.com/static/images/favicons/nature/favicon-16x16-951651ab72.png" },
      { "url": "https://www.nature.com/static/images/favicons/nature/favicon.ico" }
    ],
  }
}
Key('MagicKey', 'www.nature.com') use_instead => Key('MagicKey', 'nature.com')
Returning 403: authed user nature.com isn't object owner [] {}

On a semi-related note, web sites with www also aren't getting linked to their user pages in their profile footers. See eg https://indieweb.social/<EMAIL_ADDRESS>vs https://indieweb.social/<EMAIL_ADDRESS>.

Fixed in #1490


Added  Move Started and Move Canceled Event, only for android

As GoogleMap documentation makes available in the links below, I added two more methods, one to monitor the camera's start of movement and what is its reason and another to alert its cancellation.

https://developers.google.com/android/reference/com/google/android/gms/maps/GoogleMap
https://developers.google.com/android/reference/com/google/android/gms/maps/GoogleMap.OnCameraMoveStartedListener
https://developers.google.com/android/reference/com/google/android/gms/maps/GoogleMap.OnCameraMoveCanceledListener
https://developers.google.com/android/reference/com/google/android/gms/maps/GoogleMap.OnCameraChangeListener

Thanks @carlosdelfino will take a look when I get a chance.  Could you add in iOS support as well?
I'm thinking willMove and idleAtCameraPosition on GMSMapViewDelegate are the iOS equivalent, which could be added in here: https://github.com/dapriett/nativescript-google-maps-sdk/blob/master/src/map-view.ios.ts#L51

Thanks @carlosdelfino will take a look when I get a chance. Could you add in iOS support as well?
I'm thinking willMove and idleAtCameraPosition on GMSMapViewDelegate are the iOS equivalent, which could be added in here: https://github.com/dapriett/nativescript-google-maps-sdk/blob/master/src/map-view.ios.ts#L51

@dapriett  I have no way to develop for Android, because I no longer have compatible equipment or account in the cloud of NativeScript.


Still not working - Re: https://github.com/AzureAD/microsoft-authentication-library-for-js/issues/2524

Core Library
MSAL.js v2 (@azure/msal-browser)
Core Library Version
2.14.2
Wrapper Library
MSAL React (@azure/msal-react)
Wrapper Library Version
None
Description
I still get null when I try to get all or the current accountId.
// APIClient.getMsAccountHomeAccountId() is our cookie stored version of account.HomeAccountId which we aquired when we logged in the first time with  msalInstance.acquireTokenPopup().
// When we try to refresh we would like to use the acquireTokenSilent function of msalbrowser. But it requires the account object.
// But it returns a null value
const currentAccount = msalInstance.getAccountByHomeId(APIClient.getMsAccountHomeAccountId());

// So instead we use the account.username value (our cookie stored version is: APIClient.getMsAccountUserName())
// to refresh.
// this works perfectly.
// But we would ideally like to use the acquireTokenSilent function of msalbrowser
const refreshTokenRequest = {
  loginhint: APIClient.getMsAccountUserName(),
};
var refreshTokenResponse = await msalInstance.acquireTokenPopup(refreshTokenRequest);

MSAL Configuration
No response
Relevant Code Snippets
No response
Identity Provider
Azure AD / MSA
Source
External (Customer)

Ps. We use @azure/msal-browser directly in our reactjs code. We do not use MSAL React (@azure/msal-react).

@gomobileas what gets returned by getAllAccounts(), do you see you homeAccountId in the list of accounts that are returned?


[BUG] mx::core::concatenate cannot concat a null tensor with a filled tensor

I have been using a paradigm in my modeling work to repeatedly concatenate tensors of the same shape to a null/empty tensor.
import torch

a = torch.Tensor()
print(a.size())  # torch.Size([0])

b = torch.tensor([[1, 2], [3, 4]])
for _ in range(3):
    a = torch.cat([a, b], dim=1)

print(torch.cat([a, b], dim=1))
# tensor([[1., 2., 1., 2., 1., 2., 1., 2.],
#         [3., 4., 3., 4., 3., 4., 3., 4.]])

However, it seemst that mx::core::concatenate does not work with a null tensor followed by a tensor with values.
/*
clang++ a.cc \
 -std=c++17 \
 -I$HOME/miniforge3/envs/mlx/lib/python3.9/site-packages/mlx/include\
 -l mlx \
 -L$HOME/miniforge3/envs/mlx/lib/python3.9/site-packages/mlx/lib/ \
 -Wl,-rpath,$HOME/miniforge3/envs/mlx/lib/python3.9/site-packages/mlx/lib/
*/
#include <iostream>

#include "mlx/mlx.h"

using namespace mlx::core;

int main() {
  array x({});
  array y({1.0, 2.0, 3.0, 4.0}, {2, 2});
  std::cout << x << std::endl;
  std::cout << y << std::endl;
  std::cout << concatenate({y, y}, 1) << std::endl;  // it works!
  std::cout << concatenate({x, y}, 1) << std::endl;  // it fails!
  return 0;
}

I could build the above C++ program. However, when I run it, I got:
array([], dtype=float32)
array([[1, 2],
       [3, 4]], dtype=float32)
array([[1, 2, 1, 2],
       [3, 4, 3, 4]], dtype=float32)
libc++abi: terminating due to uncaught exception of type std::invalid_argument: [concatenate] Invalid axis (1) passed to concatenate for array with shape (0).
Abort trap: 6

Indeed, this is expected, we follow NumPy semantics so you have to concatenate arrays with the same number of dimensions.  To get the behavior you want explicitly make the empty array have the correct number of dimensions like so:
  auto x = reshape(array({}), {2, 0});
  array y({1.0, 2.0, 3.0, 4.0}, {2, 2});
  auto out = concatenate({x, y}, 1);
  eval(out);


fix: Fix import bug

What this PR does / why we need it:
Add your description
Which issue(s) this PR is related to (optional, link to 3rd issue(s)):
Fixes #
Reference to #

Special notes for your reviewer:
/cc @your-reviewer

Release note:

NONE

/lgtm

I am wondering how it passes CI.

CI is not passed, I am updating code, the PR is merged, I am very surprise too.


What to do in this situation？

i present the navigation controller with navigationBar, which is the subclass of BottomPopupNavigationController. custom the height is 400. it manage controller A.
in some case, i need push a controller( just call B) from A, and B controller height is same as the keywindow, just like the nomal push action.
What to do in this situation?

and if i present B is also has a issue