torchvision.io.read_image() to accept PosixPath ?

🚀 The feature
What do you think about supporting PosixPath objects while reading the images with io.read_image ?
from pathlib import Path
import torchvision.io as io

p = Path("test-image.jpg")
assert p.exists()
mode = io.ImageReadMode.RGB
tensor = io.read_image(p, mode)

Today, it fails with the following error:
RuntimeError: image::read_file() Expected a value of type 'str' for argument '_0' but instead found type 'PosixPath'.

Motivation, pitch

Alternatives
No response
Additional context
No response

Duplicate : https://github.com/pytorch/vision/issues/2962


"Go to Definition" needs to be improved

PHP IntelliSense is very good.But "Go to Definition" needs to be improved.
Look this code:
class ParentItem
{
    public function test()
    {
        echo 'test';
    }
}
class Child extends ParentItem
{

}
$a = new Child;
$a->test();

I can't go to definition$a->test()

https://github.com/felixfbecker/php-language-server/issues/169


registering the package

@JuliaRegistrator register()

Error while trying to register: "Pre-release version not allowed"

@JuliaRegistrator register()

Registration pull request created: JuliaRegistries/General/121435
Tip: Release Notes
Did you know you can add release notes too? Just add markdown formatted text underneath the comment after the text
"Release notes:" and it will be added to the registry PR, and if TagBot is installed it will also be added to the
release that TagBot creates. i.e.
@JuliaRegistrator register

Release notes:

## Breaking changes

- blah

To add them here just re-invoke and the PR will be updated.
Tagging
After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.
This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:
git tag -a v1.0.0 -m "<description of version>" 29a27dbc2193d68a684b248b190d784ef6c25a95
git push origin v1.0.0

Registration pull request created: JuliaRegistries/General/121599
Tip: Release Notes
Did you know you can add release notes too? Just add markdown formatted text underneath the comment after the text
"Release notes:" and it will be added to the registry PR, and if TagBot is installed it will also be added to the
release that TagBot creates. i.e.
@JuliaRegistrator register

Release notes:

## Breaking changes

- blah

To add them here just re-invoke and the PR will be updated.
Tagging
After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.
This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:
git tag -a v1.0.2 -m "<description of version>" 4454bdf41c34db29a34dc69ad5ca7ccb7dc331f5
git push origin v1.0.2

Also, note the warning: Version 1.0.2 skips over 1.0.1
This can be safely ignored. However, if you want to fix this you can do so. Call register() again after making the fix. This will update the Pull request.

@JuliaRegistrator register()
Release notes:
Documentation

added some mathematical formulations for better understanding of the problem.

Code

added some minor verifications to guarantee correctness.

Registration pull request created: JuliaRegistries/General/121601
Tagging
After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.
This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:
git tag -a v1.0.1 -m "<description of version>" f605d512d2ed5e9e30e47f30abc3ee8b30784e73
git push origin v1.0.1

[merge approved]

An unexpected error occurred during registration.

An unexpected error occurred during registration.

Registration pull request updated: JuliaRegistries/General/121601
Tip: Release Notes
Did you know you can add release notes too? Just add markdown formatted text underneath the comment after the text
"Release notes:" and it will be added to the registry PR, and if TagBot is installed it will also be added to the
release that TagBot creates. i.e.
@JuliaRegistrator register

Release notes:

## Breaking changes

- blah

To add them here just re-invoke and the PR will be updated.
Tagging
After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.
This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:
git tag -a v1.0.1 -m "<description of version>" f605d512d2ed5e9e30e47f30abc3ee8b30784e73
git push origin v1.0.1

Registration pull request updated: JuliaRegistries/General/121601
Tagging
After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.
This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:
git tag -a v1.0.1 -m "<description of version>" f605d512d2ed5e9e30e47f30abc3ee8b30784e73
git push origin v1.0.1


Feature request: pull request validation

I would like to request a command which checks if a merge request is valid with the changelog template. Otherwise, it should exit with a non-zero exit code. That would be useful for any pull request pipeline to automatically check if a developer didn't make any mistakes.

lol you are reading my mind, I was going to work on this tomorrow and make it part of the default workflow for all aeon projects since they all follow the same strategy. I was just waiting for the docker image since it simplifies integration with github actions.
https://docs.github.com/en/free-pro-team@latest/actions/reference/events-that-trigger-workflows#issues I think it could be potentially triggered when the issue is opened or updated (only pr).
Additionally, I wanted to check not only if the PR descriptions match the pattern but also how many changes are detected, if less than 1 also returns non-zero status which will fail the workflow/pipeline.
Technically speaking it should also not be very hard to take all commits from the pull request scope, parse them, and append the changelog into the pull request description automatically.

lol you are reading my mind, I was going to work on this tomorrow and make it part of the default workflow for all aeon projects since they all follow the same strategy. I was just waiting for the docker image since it simplifies integration with github actions.
https://docs.github.com/en/free-pro-team@latest/actions/reference/events-that-trigger-workflows#issues I think it could be potentially triggered when the issue is opened or updated (only pr).
Additionally, I wanted to check not only if the PR descriptions match the pattern but also how many changes are detected, if less than 1 also returns non-zero status which will fail the workflow/pipeline.
Technically speaking it should also not be very hard to take all commits from the pull request scope, parse them, and append the changelog into the pull request description automatically.

it was easier than I thought, @michailw could you please confirm that #13 is what you have been thinking about?

it was easier than I thought, @michailw could you please confirm that #13 is what you have been thinking about?

It's perfect, thank you.

It's perfect, thank you.


Zoom is not following the pointer, but the middle of the screen

Two suggestions that would be a large improvement to user experience, in my opinion:

Zooming is not following the position of the arrow/pointer in the image (like Qupath and many other WSI renderers), but always follows the middle of the screen. This makes it hard to navigate the image. Any way to make the zoom center around the arrow instead?

Also, there is now way to navigate the image with the keyboard arrow keys. Navigating a lot of WSIs with the mouse only is very demanding for the wrist and most pathologists use the keyboard arrows as well.

Suggestion (1) is something I have also wanted for a long time. Same with smoother movements including deaccelerations, similar to what QuPath (and OpenSeadragon used for LearnPathology) is doing.

Agreed. This can easily be added here: https://github.com/smistad/FAST/blob/master/source/FAST/Visualization/View.cpp#L702
However, the speed it should move towards the pointer might need to be optimized.
Support for arrow keys is also quite easy to add, but which keys to use for zooming in and out?

Sounds good:) One can always also add "+" and "-" as zoom keys, but I think most people just use mouse scroll together with the arrow keys. The hard part for the wrist is repeated "click-and-drag" movements, much more so than scrolling.

This has now been implemented in FAST and will appear in the next release. See commits https://github.com/smistad/FAST/commit/d4c3311edeb5d8682b56204651330fc6406c28f5 and https://github.com/smistad/FAST/commit/5c72bd86148e5ab0988fb07d3e7d16ab85194dae


Backend - Add User Change Password Functionality to Backend

Add chage password functionality
We need to implement a feature that allows users to change their passwords securely through the backend API.

Create a new endpoint in the backend API specifically for handling password updates.
Ensure that the endpoint follows secure practices such as password hashing and validation.
Implement necessary validation checks to verify the authenticity of the user requesting the password change.

hi @eevan7a9, I would like to implement this issue. Can you assing it to me please

Hello @mucoban ,
Thank you for your interest in contributing.
I can assigned the ticket to you. Feel free to make a PR.
I can update the ticket description to make it easier to understand if needed.
and feel free to ask questions.
Btw, have you managed to run the app on your local machine?

yes, @eevan7a9 , I managed to run the app on my local. Description is clear, thank you. I am starting to implementation. I will create a pr after completing.

@mucoban Thank you for confirming. Take your time. If you have any questions or need assistance along the way, don't hesitate to reach out.

Thank you for your contribution! 🔥🔥🔥


Custom texture format

HCT binary format which is currently just a header and raw data. This is inferior to the current format but enables the architecture required to later implement precalculated mipmaps and GPU texture compression.
All textures need to be reimported from PNG (textures in master have already been reimported in this PR). Textures that need to be reimported will be outputted to the log.
Fixes #785, #787

SonarQube analysis reported 9 issues

 1 major
 8 minor

Watch the comments in this conversation to review them.
8 extra issues
Note: The following issues were found on lines that were not modified in the pull request. Because these issues can't be reported as line comments, they are summarized here:

 AncientFungus:LGEPR: Cppcheck cannot find all the include files (use --check-config for details)
 RenderManager.cpp#L508: The function 'GetAnimations' is never used.
 RenderManager.cpp#L526: The function 'GetDirectionalLights' is never used.
 RenderManager.cpp#L545: The function 'GetLenses' is never used.
 RenderManager.cpp#L565: The function 'GetMaterials' is never used.
 RenderManager.cpp#L583: The function 'GetMeshes' is never used.
 RenderManager.cpp#L602: The function 'GetPointLights' is never used.
 RenderManager.cpp#L624: The function 'GetSpotLights' is never used.

SonarQube analysis reported 8 issues
Note: The following issues were found on lines that were not modified in the pull request. Because these issues can't be reported as line comments, they are summarized here:

 AncientFungus:LGEPR: Cppcheck cannot find all the include files (use --check-config for details)
 RenderManager.cpp#L508: The function 'GetAnimations' is never used.
 RenderManager.cpp#L526: The function 'GetDirectionalLights' is never used.
 RenderManager.cpp#L545: The function 'GetLenses' is never used.
 RenderManager.cpp#L565: The function 'GetMaterials' is never used.
 RenderManager.cpp#L583: The function 'GetMeshes' is never used.
 RenderManager.cpp#L602: The function 'GetPointLights' is never used.
 RenderManager.cpp#L624: The function 'GetSpotLights' is never used.

SonarQube analysis reported 8 issues
Note: The following issues were found on lines that were not modified in the pull request. Because these issues can't be reported as line comments, they are summarized here:

 AncientFungus:LGEPR: Cppcheck cannot find all the include files (use --check-config for details)
 RenderManager.cpp#L508: The function 'GetAnimations' is never used.
 RenderManager.cpp#L526: The function 'GetDirectionalLights' is never used.
 RenderManager.cpp#L545: The function 'GetLenses' is never used.
 RenderManager.cpp#L565: The function 'GetMaterials' is never used.
 RenderManager.cpp#L583: The function 'GetMeshes' is never used.
 RenderManager.cpp#L602: The function 'GetPointLights' is never used.
 RenderManager.cpp#L624: The function 'GetSpotLights' is never used.

SonarQube analysis reported 8 issues
Note: The following issues were found on lines that were not modified in the pull request. Because these issues can't be reported as line comments, they are summarized here:

 AncientFungus:LGEPR: Cppcheck cannot find all the include files (use --check-config for details)
 RenderManager.cpp#L508: The function 'GetAnimations' is never used.
 RenderManager.cpp#L526: The function 'GetDirectionalLights' is never used.
 RenderManager.cpp#L545: The function 'GetLenses' is never used.
 RenderManager.cpp#L565: The function 'GetMaterials' is never used.
 RenderManager.cpp#L583: The function 'GetMeshes' is never used.
 RenderManager.cpp#L602: The function 'GetPointLights' is never used.
 RenderManager.cpp#L624: The function 'GetSpotLights' is never used.


Fix task removing figures

Follow-up to #743.

Unify code for both OS
Fix missing directory specification (specify with cmd line argument)
Fix rm on windows removing the .gitkeep file
Rename script

@vaicecaze can you verify that this works properly on Windows?

Waiting for @vaicecaze validation that the script works on windows. :) (nothing urgent)


realm: Create RealmAuditLog entries for realm linkifiers and custom emoji.

First three commits are for creating RealmAuditLog entries for adding, updating and removing linkifiers.
Last three commits are to use transaction.atomic for do_.. functions for linkifiers.

Related issue - #21268.

I did checked other things that do not have RealmAuditLog entries -

Adding/deleting custom emojis
Adding/updated/removing user groups.
deactivated_redirect field of realm which is added/changed only when a realm subdomain is changed. (we basically log subdomain changed event).
fields which change only on changing plan type which we discussed before and probably decided not to do so.
Creating multiuse invite
Adding/removing a default stream

I did checked other things that do not have RealmAuditLog entries -

Adding/deleting custom emojis
Adding/updated/removing user groups.
deactivated_redirect field of realm which is added/changed only when a realm subdomain is changed. (we basically log subdomain changed event).
fields which change only on changing plan type which we discussed before and probably decided not to do so.
Creating multiuse invite
Adding/removing a default stream

@timabbott this PR is ready for review.

Not related to this PR, but I think we should raise an error here https://github.com/zulip/zulip/blob/e6e4b7b3ef6a08a4ff2d013babb239d5f847f2ac/zerver/lib/actions.py#L8005. Currently if uploading fails we call save() even after deleting and it raises error
ValueError: Cannot force an update in save() with no primary key.
Not sure about cases when this could happen and not much familiar with our upload code, so just wanted to confirm here first before doing any changes.

@timabbott this PR is ready for review.

Thanks for working on this @sahil839! I'm excited to see this close to completion. A few notes:

I think notify_realm_emoji should be using the realm_emoji object passed it, rather than calling realm.get_emoji() again, right?  actions: Pass realm_emoji dict to notify_realm_emoji does this partway, but we don't actually use the value we passed in.
Same issue for the linkifiers code -- we are now calling linkifiers_for_realm in the actions functions, and should pass that in and use it to avoid duplicate work.
I think removed_emoji => deactivated_emoji seems appropriate, since we're deactivating them, not "removing" them, in some sense, at least in the new variable names + dictionary format.

Thanks for working on this @sahil839! I'm excited to see this close to completion. A few notes:

I think notify_realm_emoji should be using the realm_emoji object passed it, rather than calling realm.get_emoji() again, right?  actions: Pass realm_emoji dict to notify_realm_emoji does this partway, but we don't actually use the value we passed in.
Same issue for the linkifiers code -- we are now calling linkifiers_for_realm in the actions functions, and should pass that in and use it to avoid duplicate work.
I think removed_emoji => deactivated_emoji seems appropriate, since we're deactivating them, not "removing" them, in some sense, at least in the new variable names + dictionary format.

@timabbot done all the above mentioned changes.

Merged, thanks @sahil839!


[QUESTION] Is it possible to register custom Stencil filters?

In several cases I'm bumping into the limits of Stencil and StencilSwiftKit's built-in filters, and would like to register my own custom filters. Is this possible in Sourcery?
I know there's .swifttemplate if it can't be done, but I'd prefer to use Stencil if possible.

Sourcery CLI is compiled so how would that work? nothing better than defining processing macros in stencil

Oh right, of course. Thanks for reply, closing issue.


Improve SELinux support

When no policycoreutils-python-utils package is present, let's use non permanent selinux fix for node_exporter to be able to start on hardened linux

@deajan 🥳🚀😎


blueprint-compiler: python3 should be nativeBuildInputs (cross fix)

Description of changes
Fairly basic fix for cross-compilation.
Things done

Built on platform(s)

[x] x86_64-linux
[x] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
22.11 Release Notes (or backporting 22.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Hmm I'm not actually convinced this is a correct fix actually, I might have been fooled by a package depending on a wrongly targeted version of this compiler. I'll triple check and set as draft for now.

OK, having looked at this again (I wrote this PR initially yesterday evening...) I'm reasonably convinced that this is currently fine when used as a nativeBuildInputs dependency of another package, which should be the common case.
It however doesn't cross-build itself because its meson build file is looking for a host python3 install when really I think it should be looking for a target python3 install? This is more involved to fix and not necessary to unblock dependents of this package so I'll just close this for now until someone really wants to use this as a leaf package on a cross-built system, probably never :-) Sorry for the noise.


Support Async Transitions

Something like, always add a callback to a queue,
so default is async, but if hits from the non-async
method then immediately pull the CB off the queue and execute it.
Or, returns a callback and can either execute it or queue it.
Either way, larger effort will be in the transition method to detect
that there is outstanding work and defer the transition (if not async)
or queue it (if async).

What would it take to get this working?  I am trying to transition my SM from a CountdownTimer CountdownTimer and it is failing. :)
Thanks,
Mike

Hi there. I actually don't think this would take much effort, I'm just fairly busy these days, so maybe I can take a look this weekend. Could you describe the failure you are seeing? It looks like the CountDownTimer only issues an onTick(...) call one at a time, so it's not immediately clear why you would need an asynchronous transition unless you're competing with other threads trying to transition the state machine.

Yes, I was calling a state transition from an event fired from another thread.  I ended up using a Handler to do all the transitions, but not 100% ideal.
What changes do you think would need to be made to the library?

I think the general approach would be to put an Executor inside of the base state machine class, with the default being the SingleThreadedExecutor which has a queue size of 1 and runs all tasks blocking in the current thread. Then a private constructor could be added to accept a different Executor instance, one which has an unlimited queue size but only a single runner. That way the order of transitions is preserved, even when they are being run async.
The part that I am unsure about is error handling. If an asynchronous transition fails, presumably all of the queued transitions should also fail. I'd like to take a look at this later in the week to see what's possible, but that's my two cents right now.

That is basically how I have been doing it.  Also illegal state transitions could cause the queue to fail (or be ignored?), not 100% sure if that is ideal or not but that is how I have been handling it as well (I ignore the illegal transition but log it at the moment).


Display LDName for LNodes

Being able to see what LDName (combination of iedName and ldInst) that is associated with an LNode within the substation editor would help to see at glance what IEDs are mapped.
At present only the LNName is repeated upon hover-over.
It might be better if it was actually the LDName instead in the header (since the LNName is already present below the LNode symbol).
Here's a mockup:

At the moment, the only way to tell what iedName is associated with an LNode is to either:

View the xml code of the LNode
View the xml code of the container (e.g. bay, conductingEquipment, function)

Nice idea.Will do


NullPointerException of netflixoss/eureka:1.3.1

hi, guys. I am trying istio1.7.1 on eureka.
First, i find that the rating service not accessable after removing the abort rule for bookinfo sample.
And  i see this log in container which start from image netflixoss/eureka:1.3.1:
...
2018-04-26 14:22:25,234 WARN  com.netflix.discovery.endpoint.EndpointUtils:364 [DiscoveryClient-0] [getZoneOffset] DISCOVERY: Could not pick a zone based on preferred zone settings. My zone - defaultZone, preferSameZone- false. Defaulting to defaultZone
2018-04-26 14:22:34,357 INFO  com.netflix.eureka.registry.PeerAwareInstanceRegistryImpl:525 [ReplicaAwareInstanceRegistry - RenewalThresholdUpdater] [updateRenewalThreshold] Current renewal threshold is : 8
2018-04-26 14:22:34,452 ERROR com.netflix.discovery.DiscoveryClient:1033 [pool-6-thread-1] [fetchRegistry] DiscoveryClient_EUREKA/97a4f14415ca - was unable to refresh its cache! status = null
java.lang.NullPointerException
at com.netflix.discovery.InstanceRegionChecker.getInstanceRegion(InstanceRegionChecker.java:24)
at com.netflix.discovery.DiscoveryClient.updateDelta(DiscoveryClient.java:1302)
at com.netflix.discovery.DiscoveryClient.getAndUpdateDelta(DiscoveryClient.java:1183)
at com.netflix.discovery.DiscoveryClient.fetchRegistry(DiscoveryClient.java:1028)
at com.netflix.discovery.DiscoveryClient.access$2000(DiscoveryClient.java:123)
at com.netflix.discovery.DiscoveryClient$CacheRefreshThread.run(DiscoveryClient.java:1870)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
2018-04-26 14:23:04,457 ERROR com.netflix.discovery.DiscoveryClient:1033 [pool-6-thread-1] [fetchRegistry] DiscoveryClient_EUREKA/97a4f14415ca - was unable to refresh its cache! status = null
java.lang.NullPointerException
at com.netflix.discovery.InstanceRegionChecker.getInstanceRegion(InstanceRegionChecker.java:24)
at com.netflix.discovery.DiscoveryClient.updateDelta(DiscoveryClient.java:1302)
at com.netflix.discovery.DiscoveryClient.getAndUpdateDelta(DiscoveryClient.java:1183)
at com.netflix.discovery.DiscoveryClient.fetchRegistry(DiscoveryClient.java:1028)
at com.netflix.discovery.DiscoveryClient.access$2000(DiscoveryClient.java:123)
at com.netflix.discovery.DiscoveryClient$CacheRefreshThread.run(DiscoveryClient.java:1870)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
2018-04-26 14:23:34,461 WARN  com.netflix.discovery.DiscoveryClient:1234 [pool-6-thread-1] [reconcileAndLogDifference] The Reconcile hashcodes do not match, client : UP_5_, server : UP_11_. Getting the full registry
2018-04-26 14:23:34,467 WARN  com.netflix.discovery.shared.Applications:290 [pool-6-thread-1] [getReconcileMapDiff] The application %s is not found in local cache :
2018-04-26 14:23:34,467 WARN  com.netflix.discovery.shared.Applications:290 [pool-6-thread-1] [getReconcileMapDiff] The application %s is not found in local cache :
2018-04-26 14:23:34,467 WARN  com.netflix.discovery.shared.Applications:290 [pool-6-thread-1] [getReconcileMapDiff] The application %s is not found in local cache :
2018-04-26 14:23:34,468 WARN  com.netflix.discovery.shared.Applications:290 [pool-6-thread-1] [getReconcileMapDiff] The application %s is not found in local cache :
2018-04-26 14:23:34,468 WARN  com.netflix.discovery.DiscoveryClient:1272 [pool-6-thread-1] [reconcileAndLogDifference] The reconcile string is
2018-04-26 14:23:34,468 WARN  com.netflix.discovery.DiscoveryClient:1280 [pool-6-thread-1] [reconcileAndLogDifference] The Reconcile hashcodes after complete sync up, client : UP_11_, server : UP_11_.
...
maybe it's a bug or wrong operation caused? Help please~~~~

@ccx1024cc could you please try with release 0.8?


BCL Intellisense not working

BCL Intellisense stops working when the alpha.154 package is added to a .NET Standard 2.1 library.

I saw this as well.

Any idea why this could be happening? The path obj\Release\netstandard2.1\annotated contains netstandard.xml so I have no idea what to do to fix this.

It seems to be hit and miss as to which IntelliSense still works and I can't really figure out what the pattern is.
Working examples:

Array.Length
string.Length
string.IsNullOrWhitespace()
string.Trim()
Comparer<T>.Default

Non-working examples:

string.TrimEnd()
string.Split()
string.SplitAt()
Action<T1, T2>.Invoke()

@mikernet Is this still happening? In VS 16.6.5 I'm getting intellisense for all the above in a project using this in Directory.Build.props:

  <ItemGroup>
    <PackageReference Include="TunnelVisionLabs.ReferenceAssemblyAnnotator" Version="1.0.0-alpha.154" PrivateAssets="all" />
    <PackageDownload Include="Microsoft.NETCore.App.Ref" Version="[3.1.0]" />
  </ItemGroup>

The situation got even worse...not only do I not have intellisense, but I also can't F1 on members to get to docs - it just always goes to https://docs.microsoft.com/en-us/ :/

I think it just so happens that MSDN broke right after I upgraded VS, haha. Bad timing. Intellisense still borked though.

@mikernet Is there a repro project I can look at? It's all working for me in a net472 project with VS 16.6.5, 3.1.0 annotations, and the latest two versions of RAA.

Seems it works for some but not for others. Not working for https://github.com/Singulink/Singulink.IO.FileSystem.
Could be netstandard 2.0 v.s. 2.1?


[MRG] Fix convolutional_barycenter2d kernel for non-symmetric images

Thank you for your awesome package!
The code and examples for ot.bregman.convolutional_barycenter2d assumes a symmetric image. This PR changes the kernel to allow for non-symmetric images and adds a simple test of this functionality.
This addresses Issue #124

This is great, thank you for the PR.
I think one day we should implement a proper convolution instead of those matrix products (or even circular convolution with Fourier as an option).
you can add you name at the top of the file as Author . I will do the merge in the next days. I am still waiting for a few things but I will do a new release shortly.

Agreed a proper convolution does sound useful in some circumstances. Interesting to note a simple usage of scipy.ndimage.filter.gaussian_filter with this kernel is ~4X slower on the example images. I would guess matrix products are simply better optimized at this scale.
def K(x):
    # sigma to match previous behavior
    sigma = [np.sqrt(reg / 2) * dim for dim in x.shape]
    x = gaussian_filter(x, sigma=sigma, mode="constant")
    return x


Remove version: Jackett.Jackett version 0.21.1124

404 - release deleted
Microsoft Reviewers: Open in CodeFlow

URL: https://github.com/Jackett/Jackett/releases/download/v0.21.1124/Jackett.Installer.Windows.exe
Response Error: The remote server returned an error: (404) Not Found.
(Automated message - build 918)


Generated files have mixed imports from ethers umbrella package and @ethersproject sub-packages

The moment a project imports from the umbrella ethers npm package, it already has (almost) all dependencies that can be individually imported via the @ethersproject sub-packages. E.g. my ERC20.d.ts file contains the following imports
import {
  ethers,
  EventFilter,
  Signer,
  BigNumber,
  BigNumberish,
  PopulatedTransaction,
  BaseContract,
  ContractTransaction,
  Overrides,
  CallOverrides,
} from "ethers";
import { BytesLike } from "@ethersproject/bytes";
import { Listener, Provider } from "@ethersproject/providers";
import { FunctionFragment, EventFragment, Result } from "@ethersproject/abi";

Note that bytes, providers and abi are imported as separate npm modules, even though they're contained in ethers. See, e.g. the README of bytes:

Most users will prefer to use the umbrella package, but for those with more specific needs, individual components can be imported.

So I propose that all @ethersproject imports are replaced by the equivalent ethers imports, saving some package dependencies.

Why not use the individual subpackages for the sake of ESM and tree-shaking?

I think realistically, most projects using typechain-generated code would already use ethers, in which case the @ethersproject imports would add unnecessary deps. Note also that the ethers folks themselves suggest to use ethers over @ethersproject in most cases.
Best would be to make this behavior configurable, using ethers by default.

Configurable would be excellent, tbh.


How to disable legend?

I'm trying to disable the legend in my application using the
legend: {
    enabled: false
}

but unfortunately that doesn't seem to work.
Does anybody know how I can disable the legend using highcharts-ng?
All tips are welcome!

Ensure that you are adding this field to .options rather than the base config object itself.

Thanks @benelliott


Language injection is not supported

plugin version:
0.66
Description
https://www.jetbrains.com/help/idea/using-language-injections.html
This can done with strings via intention action or line comment

What is your use case ?

SQL strings :)


Add warnings if users forget to 'yield from'

A common mistake in bluesky is forgetting to yield from a plan. In similar situations, some async libraries will issue warnings ("Did you forget to await ___?") We can do this for bluesky too.
Proof of concept:
import functools
import warnings

class Plan:
    def __init__(self, gen_instance):
        self.gen_instance = gen_instance
        self.pulled = False

    def __iter__(self):
        self.pulled = True
        return (yield from self.gen_instance)

    def __del__(self):
        if not self.pulled:
            warnings.warn(f"The generator {self!r} was not used. Did you forget `yield from`?")

    def __repr__(self):
        return repr(self.gen_instance)

def plan(gen_func):
    @functools.wraps(gen_func)
    def inner_plan(*args, **kwargs):
        return Plan(gen_func(*args, **kwargs))
    return inner_plan

from bluesky import RunEngine
from bluesky.plans import count
from ophyd.sim import det

@plan
def my_count():
    yield from count([det])

def my_great_plan():
    yield from my_count()
    yield from my_count()

def my_mistaken_plan():
    yield from my_count()
    my_count()  # forgot 'yield from'!

RE = RunEngine()
RE(my_great_plan())
RE(my_mistaken_plan())

The last line, which executes a plan that is missing a yield from, issues this warning:
test_plan_dec.py:15: UserWarning: The generator <generator object my_count at 0x7f42b8c48ca8> was not used. Did you forget `yield from`?
  warnings.warn(f"The generator {self!r} was not used. Did you forget `yield from`?")

h/t @tacaswell for figuring out that __del__ gave us a hook to do this.
The downside is that we add yet one more stack layer for every plan and plan stub, making our tracebacks even more verbose. This seems like a significant drawback to me, worth some consideration. As I mentioned in #870, imitating trio's "beautiful tracebacks" might help.

My short wish-list for a plan decorator:

A __repr__ that tells us metadata about the plan (at minimum, the name) and whether or not the plan has been called  yet. This is so in IPython I get something vaguely like:

In [1]: scan
Out[1]: <bluesky plan scan_nd: not initialized>
In [2]: scan(<args>)
Out[2]: <bluesky plan scan_nd: initialized>
In [3]: plan = scan(<args>)
In [4]: RE(plan)
In [5]: plan
Out[5]: <bluesky plan scan_nd: finished>

Instead of the current unhelpful function or generator object. It would help remind us what kinds of objects we're working with (they are plans, not "generators that happen to yield messages") and would help new users acclimate faster.

A way to run the plan through a method call, e.g.

In [1]: scan.run(<args>)

This would be my preferred method over the > operator from the previous issue because it feels like normal Python. This is less terse than the magic operator but still allows us to avoid nested parenthesis with RE. If we name the function call well and implement it in the decorator, it passes the tests of requiring the user to acknowledge that they are actively "doing" something and of being the same activation path across all plans. The last reason I prefer this is a bit selfish, but users at my facility are accustomed to relying on tab complete to remind themselves how to do something, and RE and > are not tab-completable.

(1) sounds good
(2) sounds interesting but worth some caution. I might also want scan.estimate_time(), scan.summarize(), scan.check_limits(), or scan.some_instrument_specific_simulator().
In the spirit of the design principle, "Let the cows roam where they will and later pave the cowpaths," we could create a mechanism for registering plan methods and then experiment for awhile. So, plans would not have any of these methods out of the box (at least for now) but your user / configuration code could add them. For example, this would add a run method to every decorated plan.
@bluesky.register_plan_accessor
class RunAccessor:
    def __init__(self, plan):
        self._plan = plan
    def __call__(self, ...):
        return RE(...)

This approach comes straight from https://xarray.pydata.org/en/stable/internals.html#extending-xarray. It avoids creating a disparity between "blessed" methods and user-defined ones, akin to the problem in matplotlib where "blessed" plotting functions are methods like ax.plot() and user-defined ones can only be functions like my_plot_type(ax).

P.S. I guess (2) is basically equivalent to the proposed device.stage.go(). It just adds .go() a.k.a. .run() to all plans, not just plans that happen to be hanging off of ophyd devices.

I'd be very happy with the register_plan_accessor approach. After reading your comment, I realize that things like the summarize method could be very intuitive (and more useful than adding new ways to run plans). Teaching users to know about the existence of all of the useful plan utilities is harder than training them to "press tab and pick the right one".

Big :+1: on the decorator and having those convenience methods.

I also support this! I know that you went down the road of object oriented plans before and turned back, this seems like a return (though with a more global class to represent arbitrary plans contained within). @danielballan you have any comment on why that approach was abandoned and why you see this as being different?
P.S I think this kind of functionality would be very useful for any UI that wants to display / interact with plans. Building a GUI that interacts with the useful PlanAccessor methods seems like it would be powerful.

Good question. This feels different from the now-deprecated OO plan objects because:

The core logic of the plans is still encoded in simple generators. We don't need to navigate between methods and class hierarchies to follow the flow of the plan. This was the key motivation for moving to generators.
The "hooks" (pre_stage_hook, pre_run_hook, etc.) aren't part of this.
As you said, @teddyrendahl, we're adding just one new type to the codebase.

In a phone conversation that I hope I am representing accurately here, @tacaswell weighed in against the accessors. He considers the consensus we had around adding .go() to be just a consensus to "do something" but would prefer that that something be more along the lines pushing on IPython input processing as hard as we can. This can include >, customized tab-completion, input-rewriting, etc. If the goal is a more fluid interactive usage, he argues, we should try to achieve that using the interactive tool (IPython) as much as possible before adding more complexity to the library.
This again puts him in the minority of the views expressed so far, which seem warn on the accessor idea. As I suggested on #1238, I think we can take one step at a time here. Let's make the decorator without the accessor registry, give ourselves six months to play with > and other IPython input processing, and then revisit whether we want to add an accessor registry and/or Mechanisms (1) and (2) from #1238.

I'm deploying .go() (or some equivalent) at SLAC regardless of arguments against it, I'll let you know how it goes. If we don't have the accessor registry I'll find some other worse way to do it, and I'll be implementing .summarize() the same way. I'm pretty set on these being essentials for the upcoming deployment at SLAC in early to mid 2020.

This is a recap of what I said on the call (plus a bit extra).
The reason that we abandoned the Plan class objects is that they also had the idea of extending plans by subclassing and overriding methods that "hooked" at various places in the plan on the theory that yield from was too different to be widely adopted.  However, the classes pretty quickly collapsed under their own weight as to work with them you had to keep track of way too many things (what all of the hooks are, exactly which one were already hooked, what those hooks did etc) and to work on one you ended up having to flip between 5 classes and 3 files.  In that sense, this is very different as the instance here is not providing the plan, it is providing a way to "subclass" generator to provide us with the better repr, the non-use detection, etc (very much like @asyncio.coroutine did in py34 which has now been replaced by async def and await) [1]
The previous version also had the notion of soft-caching / runtime configurable defaults (so what ever the *args/ kwargs at __init__ time were were the defaults to __call__ which were exposed via user-facing properties that could be changed or overridden at call time, something like:
my_plan = Plan(..., xstart=0, xstop=10)
RE(my_plan())
RE(my_plan(xstart=-5))
my_plan.xstart = -5   # wolud have to look up exactly how we spelled this
RE(my_plan())

I may have the details slightly wrong, but it was very stateful.
We went down this path trying to make things "simpler" but, complexity is (at best) conserved and the classes ended up being much harder to work with than the 'raw' generators (I have a vision of pushing down on the middle of a water balloon and then having it explode in our faces).

While I see the upside of the registry with a slight typing saving and if you expect to do a lot of method chaining (which I am generically not a fan of, but that is a different matter) and slightly less typing, I'm not sure it is worth it.  Even if we use a registry, it is only a bit better than monkey patching and we are likely to end up with similarly/same named, but different, methods patched on.  If those methods don't escape from a given beamline this is probably ok, but if downstream utilities starts to expect that those extra methods are there we may want those to migrate between beamlines / facilities and could run into conflicts.
It was briefly mentioned on the call that we could have two sets of input so I just want to push on that.
@Plan_dec
def my_plan(*arg, **kwargs):
    ...

my_plan(*plan_args, **plan_kwargs).sumaray()  # not super great to type, hard to get tab-complete
my_plan.sumaray(*plan_args, **plan_kwargs)  # this seems nice to type, implicitly calls `my_plan`, get tab-complete

However, in the second case, if we need to put arguments into sumaray where do we put them in? We could abuse __getitem__ and do my_plan.summary[*sargs](*plan_args, **plan_kwargs) but that seems a bit too clever and only gives us positional args
If any of the 'standard' and user plans start to have extra methods, than they should be uniform across plans, and if we put go on any of the plans, then not being able to put kwargs into RE is a bit annoying (although, not fatal as I think the plan decorator should force a md kwarg` so there will still be ways to inject meta-data.

> are not tab-completable.

You can use the IPython completion machinery to put tab-completion on > and have it only show plans
If the goal here is to make the command line usage more fluid, then we should exhaust the (pretty whacky!) things that IPython can do for us to tune both the ergonomics and tab-completion paths.  You can inject your own tab-completion logic based on either string matching or regex and have a chance to re-write the cell (what IPython calls a multi-line block of user input) both before it is set to Python to be parsed (via text manipulation) and after it has been parsed but before it has been executed (via AST manipulation).  I am also confident that we can work with upstream to get anything extra we need in.  There is still a lot of space here that we have not really started to explore.
For example, we have been talking about using < as the run alias, we could have <s be the short cut to summary and <e be the shortcut to estimate time.

If it is worth writing a script / function that does something it is a question of when (not if) you will want to use that as part of a bigger automation.   Eventually, something.go is going to end up in a function, and eventually you are going to want to use that function is something that was otherwise a plan.  If that happens the pragmatic solution is not to go back and re-write your function to be a plan it will be do do sed s/yield from \(.*\)$/\1.go().

I'm deploying .go() (or some equivalent) at SLAC regardless of arguments against it,

This is committing to forking our nascent community and seems in contradiction to https://github.com/bluesky/bluesky/issues/1238#issuecomment-521530384

I'm pretty set on these being essentials for the upcoming deployment at SLAC in early to mid 2020

Why?

[1] it may be possible to make all plans as async functions, but that would require some careful thought (and being a bit more honest that the RE run loop is an event loop).

@ZLLentz I may have add the chronology of when you posted your last comment and our call wrong.  I was responding to you having posted after our call but now looking at the timestamps more carefully I think you posted it before / during the call?

@tacaswell Correct, I posted my comment in the first couple minutes of the call. My current stance is:

The most useful features of the decorator are the repr and the yield from warning, despite my insistence that other things will be very useful
The most exciting extension methods would be summarize and a more generic version of check_limits. I'm not sure what to think about passing extra args to these in the ergonomic but limited plan.summarize(<plan args>) scheme, I was imagining a set of plan utilities whose only argument was a plan but clearly this isn't true. I have some vague dreams of plans that summarize themselves differently than others (e.g. adaptive plans) or plans that check other specific things aside from motor limits, but no concrete implementation ideas.
I'm very anti-magic because I like the feel of a normal python cli/workflow, but I could get used to the idea of <, <e, and <s over time. I still think this is harder to use than planname.|tab| and read out my options, unless you're imagining something like <|tab| and seeing <estimate, <summarize, etc., which I think would be really nice. The key here is that the user shouldn't need to remember that <e will estimate their completion time, though they certainly could as they transition to a power user.

Q responses:

Rather than make a fork, I was planning to do an obnoxious monkeypatch of the decorator. I appreciate the fact that putting a way to register extra methods inside the core library will encourage API divergence, so I support the reluctance to put it in, but I want to experiment with these ideas.
I'm having second thoughts about go due to some of your arguments, but I'm going to insist on having at least summarize and perhaps other plan inspection utilities as methods on the plan decorator because I think they're really powerful features and I want to encourage their use. This makes it more likely that my users will write plans instead of ignoring the run engine entirely, something that is dangerously close to happening in a facility that has a standalone high-rate maestro named the "daq" who rules over timing and data collection.

Reading this back at the very end, I realize that these don't strictly have to be on the plan decorator, but I'm very excited by the idea of them being very readily accessible whenever you have a plan in hand, and the decorator seems like a natural fit to a programmer who doesn't believe in magic.


Suggestion: Light version for banner use only.

Is it possible to run a light version of<EMAIL_ADDRESS>As code per usage use, so for banner, video, mobile ... each with their own optimized .js

Would like to take suggestions (or PRs) about how to structure this repo so that the various use-cases could be combined or separate as desired. Would prefer to avoid too many versions of the creative out on the open source CDN, but it would be fine to have creative.js, creative-banner.js, creative-native.js, creative-mobile.js, and any combinations needed.
Requirements confirmatiopn wanted as well: what combinations are valid? i.e. should we have creative-banner-native.js, creative-banner-mobile.js, creative-mobile-native.js?

Just to bring up a point to consider. What's the relative uncached download vs cached rate of the current script? If we had an idea of that, then we'd have an idea of the relative value of this optimization. At least part of the value of using a third party CDN is that it allows for long cache TTLs on the objects and with enough widespread Prebid usage we would expect the download hit to be shared across sites and to have a high cache rate across sites for each user.
That aside, in terms of approach, if the concern is execution or parsing then an approach similar to creative.js?load=banner,native,amp,mobile-banner could maximize flexibility with minimal downside if the primary concern is execution or parse time and not code size.  There may even be a way to reconfigure a universal creative code with targeting parameters or other information that flows from Prebid, I haven't dug into code and capabilities enough to know for sure it would work.
If the primary concern is size, then we need to make sure we aren't trading size for uncached downloads.


City not found in weather api

https://acmusicext.com/api/weather-v1/ar/1428
AR Being ISO code for Argentina
1428 the postal code. Tried 01428 to no avail and other codes. This postal code belongs to the city of Buenos Aires. I tried accessing the code that checks the weather api but found the URL called belongs to you so I assume you're running a backend somewhere processing these requests?
Let me know if I can help, I'm a programmer. Bye!

I see now this is a duplicate issue.


RuboCop spaces -> tab indentation generates overly indented output.

I'm using the following somewhat minimal configuration:
AllCops:
  DisabledByDefault: true

Layout/IndentationStyle:
  Enabled: true
  EnforcedStyle: tabs

Layout/InitialIndentation:
  Enabled: true

Layout/IndentationWidth:
  Enabled: true
  Width: 1

Layout/IndentationConsistency:
  Enabled: true
  EnforcedStyle: normal

Layout/EndAlignment:
  Enabled: true
  EnforcedStyleAlignWith: start_of_line

Layout/BeginEndAlignment:
  Enabled: true
  EnforcedStyleAlignWith: start_of_line

Layout/ElseAlignment:
  Enabled: true

Layout/DefEndAlignment:
  Enabled: true

Layout/CaseIndentation:
  Enabled: true

Layout/CommentIndentation:
  Enabled: true

Layout/EmptyLinesAroundClassBody:
  Enabled: true

Layout/EmptyLinesAroundModuleBody:
  Enabled: true

Style/FrozenStringLiteralComment:
  Enabled: true

And I'm applying it to this code, which apparently has no issues:

# frozen_string_literal: true

describe Protocol::Redis::Methods::Scripting do
	describe '#script' do
		describe "#debug" do
					let(:mode) {"YES"}

					it "can generate correct arguments" do
							expect(object).to receive(:call).with("SCRIPT", "DEBUG", mode)

							object.script("DEBUG", mode)
						end

					it "will convert subcommand symbols to strings" do
							expect(object).to receive(:call).with("SCRIPT", "debug", mode)

							object.script(:debug, mode)
						end
				end
	end
end

This code was actually originally generated from code which used spaces for indentation, but RuboCop generated the above conversion (which is not really correct).
In other words, given this input:
# frozen_string_literal: true

describe Protocol::Redis::Methods::Scripting do
  describe '#script' do
    describe "#debug" do
      let(:mode) {"YES"}

      it "can generate correct arguments" do
        expect(object).to receive(:call).with("SCRIPT", "DEBUG", mode)

        object.script("DEBUG", mode)
      end

      it "will convert subcommand symbols to strings" do
        expect(object).to receive(:call).with("SCRIPT", "debug", mode)

        object.script(:debug, mode)
      end
    end
  end
end

With the above configuration, it generates poorly indented output.

Can you add the configuration to enable Layout/BlockAlignment in your .rubocop.yml?
# .rubocop.yml
Layout/BlockAlignment:
  Enabled: true

For more details about this configuration, please refer to https://docs.rubocop.org/rubocop/1.65/cops_layout.html#layoutblockalignment.

Okay, I'll try it, thanks :)

Okay, I can confirm, the code is generated correctly with that change.

Thanks for your quick reply :)

You are welcome! It's good to hear that the issue has been resolved :-)

Well, it was user error :)


sink(cdc): clean some stale code

What problem does this PR solve?
Issue Number: ref #8132
What is changed and how it works?
Clean some stale code.
Check List
Tests

Unit test

Questions
Will it cause performance regression or break compatibility?
Do you need to update user documentation, design documentation or monitoring documentation?
Release note
None

/merge

Unit tests failed.


collins

Hi @reecevinto, kindly change your directory name to lowercase. I also noticed you have an open PR https://github.com/ALX-SE-Algorithmia/Demo-Project/pull/37. Kindly close https://github.com/ALX-SE-Algorithmia/Demo-Project/pull/37 if you don't need it to be reviewed

Hi @reecevinto, kindly change your directory name to lowercase. I also noticed you have an open PR #37. Kindly close #37 if you don't need it to be reviewed

Hello @reecevinto kindly change your directory name to your username in lowercase.

Hi @reecevinto.
I shall close this PR, and open another one.


FDG-6461 AFG Overview - Apply Copy Updates

https://federal-spending-transparency.atlassian.net/browse/FDG-6461
Merge FDG-8015 first
Coverage: 90.03%

APIs failing to return values for $ amount on topic cards


Scheme pretty json

So I patched the library to do it now.
I probably need to refactor this patch.  I finally got to it, but I am away from home and I had to do the work over ssh to my development machine.

I meant to make the PR on this branch the first time :/

I forgot I need to fix all of the formatting.

So, I need to make the display-level function consistent with the other display commands concerning it's use of ports.
One thing I was thinking was using with-output-to-string (it probably is less performant, but I think it would be simpler and more flexible).  That way we could have all of the json writing in the library use stdout implicitly and just catch it in a string.
Well, new idea on the options for simplification:

use with-output-to-string and then use a wrapper function to handle the port for writing.
Just use display with stdout as default.  Then the tool can just print stuff to the screen when unspecified, or it can be wrapped up in with-output-to-file (I think that is the right name?) when we need it to write configs and such.

I guess I actually think that option # 2 is the simplest way.  I am also down to write a collection of wrappers into the library, so there is less boiler plate in implementations.  What do you think about this?

The library already had generality, as json-write accepts an argument port. You can already pass it a port to write to a string, bytevector, stdout, a file, etc. (display x p) writes thing to port p.

It might be preferable if you actually keep the json-write procedure as is, and move the stuff you're writing to json-pretty-print or something similarly named?

Regarding your last comment:
I was also thinking I should just replicate it with the patches, and leave the original alone.
I'll do that in my next group of commits.

Now one of the final hurdles is handling the exercise tags.  If I replace all -'s with _s there then it will mess up the exercise UUIDs, so I guess I will just have flip a switch on the right inputs for modifying the string.

Hey, after more reflection concerning switching between - and _ I have some more thoughts about it.

It will be a lot of clutter in the json lib to make it aware of the last key before rendering a json array.  Passing the associated key through write-any seems like it is a bad practice, and he's left avoided.
It is unfortunate that the website wants snake_case in these few places, but it is written in Rails, so it is to be expected.
Scheme has the flexibility advantage.  Given that we are working with an inflexible system it might be best for use to leverage Scheme's flexibility to avoid a needless conversion.

Of course I still want all the data to be first and foremost in scheme for the track.
I am suggesting that we just let the symbol names in our scheme objects use _ instead of - for cases where the rest of the system expects snake_case.

What do you think about that?  It really seems to me that never changing the casing convention on the exercise topics and the json keys would be a winning approach.
I did check to see if the json reader in the library does this conversion on its own.  I assume that is it's default behavior.  Regardless, I will look through everything again to figure out where it is happening, and then I will put up some more work that handles things with this new approach.
I support converting any snake_case that will need to be in our user facing files. I think it will just be simpler to let the sbake_case invade the boundaries of our project (very shallowly) instead of forcing this transition on the literal edge.
What thoughts do you have in response to this?

Is there a reason for the trailing whitespace in the code/config.ss file?

Okay, so per my questions/musings above I decided to try out using _ in the scheme config object only where it was necessary to match with the json required by configlet and the Rails website.
Honestly I think this is the probably the most maintainable solution to this problem (aside from our tendency to write - automatically).  I really wish that ruby didn't insist on using snake_case for symbol names, but there's not much that I can do about it.

So, there could be benefit from more extensive refactoring, but for now I just wanted to get an idea up that removes all of the repeated code.
What do you think about all this?  I'll hold off on more commits for now until you have had a chance to look at this PR again.

Closing this to move the work to the main scheme repo


In Type Compatibility chapter, something seems ambiguous.

As we see under Private and protected members in classes  headline.
This allows a class to be assignment compatible with its super class  seems ambiguous.I thought it might be This allows a instance of a class to be assignment compatible with its super class
class Animal {
  feet: number;
  constructor(name: string, feetNumber: number) {}
}

class Cat extends Animal {
  constructor(theName: string, theFeetNumber: number) {
    super(theName, theFeetNumber);
  }
}
// the Cat class and it's super class
let tom: Animal = Cat;

// the instance of Cat class and the Cat's super class
let jessica: Animal = new Cat('jessica', 4);

If I'm wrong, please fix it.

tom is considered an instance of Animal in this case:
let tom: Animal = Cat; // failed

If you want to specify the class itself, you have to use something like Constructor:
type Constructor<T> = new (...args: any[]) => T;

let tom: Constructor<Animal> = Cat; // passed

Try this in VSCode:
let cat = Cat; //let cat: typeof Cat let kitten = new Cat('Pat', 4); //let kitten: Cat let dog = Animal; //let dog: typeof Animal let puppy = new Animal('Alice', 4); //let puppy: Animal
As @ikatyang said, you cannot convert those types like that.
Cat and Animal are Constructors, they do NOT equal to the type Cat and Animal, respectively.

In the future, consider asking questions like this in StackOverflow. Thanks!

I understand, thanks!

Automatically closing this issue for housekeeping purposes. The issue labels indicate that it is unactionable at the moment or has already been addressed.


Local code not shown in Kite completions

Problem Description
Kite provides function completions for functions defined in a local file that is referenced/imported into the current file.
What steps reproduce the problem?

create a file things.py with the following content:
one = 1

def two():
        return 2

class Three:
        me = "3"

create another file test.py in the same directory

in test.py type
from things import one, two, Three

On a new line, type:
two().
(period at the end)
What is the expected output? What do you see instead?
Expected: Completions should show int methods including real, imag, and bit_length
Actual: Shows nothing
See video: https://www.screencast.com/t/CJqsVt04Hu2
Versions

Spyder version: latest spyder beta
Python version:
Qt version:
PyQt version:
Operating System name/version:

Thanks for reporting. We'll take a look at it after we release Spyder 4.

This could be solved once we make Kite take precedence over the LSP.

based on my investigation, it looks like completions aren't requested at all in this case (two().‸), so seems to be unrelated to the precedence issue.

@andfoy could you take a look?

based on my investigation, it looks like completions aren't requested at all in this case

I think that's correct.
@metalogical, how critical do you think this is for Kite? I mean, we'd really like to receive your help here if this is really important to you because @andfoy is very busy with other things right now.

@ccordoba12 do you know why completions aren't being requested in this case? I don't think this is critical for the first version of the integration with Kite, but if we had more context on why this wasn't triggering, we could figure out how to help out here.

do you know why completions aren't being requested in this case?

I don't know if that's an issue in our side or a problem/limitation with Jedi or the LSP, to be honest (most probably it has to do with the later).
@andfoy, do you know what's happening here?

Most probably we're preventing dot completions after a parenthesis

Got it. We can dig into this in the coming weeks.

It seems the issue is that dot completions after a parenthesis aren't requested. Both local (ex above) and global function like requests.get().$ show no completions after the . but show after Ctrl+Space

@metalogical can you take a look at this?


added_new_infos

Thank you for providing a very useful project for beginners. It really helped us to start our journey on git hub.

Thank you for your contribution @Anup-subedi


Kill LibreOffice? Save a pid file?

I'm using unoserver with my own projects. Maybe it would be a good idea to add an option like "--pidfile filename".
Then we can save the pid in a file and use it to kill LibreOffice.
Especially for Windows users then it is easier to shut down the server.
Or is there an other option for doing this?

Done

Done

Thank you. I appreciate your work.


Normalise various text string in UI

What
Normalises various text strings as per #2724. The writing rules are now made explicit in design/writing_rules.md.
Fixes #2724
Checklist

[x] I have read and agree to Contributor Guide and the Code of Conduct
[x] I've included a screenshot or gif (if applicable)
[x] I have tested demo.rerun.io (if applicable)

PR Build Summary
Docs preview
Examples preview

I added a bunch of nit comments 🤓

Well spotted 👍🏻 I actually found a bunch more to fix along the way. I fully expect that there are more lurking 😅


Silence CMake Policy Warning CMP0054

When configuring the [Boost].µT project with CMake, I receive the following warning:
CMake Warning (dev) at cmake-build-debug/_deps/ut-src/CMakeLists.txt:41 (elseif):
  Policy CMP0054 is not set: Only interpret if() arguments as variables or
  keywords when unquoted.  Run "cmake --help-policy CMP0054" for policy
  details.  Use the cmake_policy command to set the policy and suppress this
  warning.

  Quoted variables like "MSVC" will no longer be dereferenced when the policy
  is set to NEW.  Since the policy is not set the OLD behavior will be used.

It looks like setting the minimum CMake version to 3.1 would silence this, according to the documentation of CMP0054.

@krzysztof-jusiak, thanks! 😁


Minibook: Interfacing Fortran with Python

Tracking issue for creating a minibook on language intercompatibility of Fortran with Python.
This is a non-comprehensive list of method to interface Fortran and Python, feel free to edit this list:

ctypes: dynamic loader for C libraries
cffi: Python wrapper generator for C
SWIG: Python wrapper generator for C
numpy.f2py: wrapper generator for Fortran
cython: compiler for Python C-extensions
fwrap: wrapper generator for Fortran
forpy: bindings to CPython
f90wrap: wrapper generator for Fortran
fmodpy: wrapper generator for Fortran
F2x: template-based wrapper
Forthon: wrapper generator for Fortran
gfort2py

Aspects to cover:

ease of use, constraints (bind(C) requirement, derived type support, finalization, ...)
memory management, function callbacks
build system integration (compiling of extension modules, distribution, ...)
stability (frequent tool chain changes), portability (platforms, Python implementations), runtime overhead
integration with OpenMP, MPI, CAF (mpi4py, ...)

The Fortran Wiki has a Python page listing many of the packages above and few others.
Fortran should subsume other languages, not merely interoperate with them :).
But seriously, one way to speed up Python with Fortran is to translate it to Fortran with pyccel, an active project.

I've added a few from the Python wiki. It would be interesting to learn what the standards committee thinks of this. There seems to be huge interest in using Fortran from Python (I suppose either for reasons of calling legacy code, or speeding up critical parts).
Personally, I've only ever used the Cython route. On Linux it worked very well, but on Windows I struggled with binary compatibility issues. It's not fully clear to me how the people who support numpy and SciPy manage to pull it off. I know I've read some interesting blog posts about it, but couldn't find them anymore.

Another route is to use pybind11 and follow the path Fortran --> C --> C++ --> Python. It was demonstrated by @hsnyder on Discourse: https://fortran-lang.discourse.group/t/iso-c-binding-pass-an-array-from-c-to-fortran-edit-python-interop-content/514/8

Following from the discussion here, I would be interested in contributing to this. As I noted in the last post there, I think it would be useful to work on this in a real-time collaborative markdown environment (e.g. GitBook) at first and then transfer to fork/pull request route once its more finalised.
I see different levels of complexity and different use cases which could be covered here. For something on Fortran-lang.org I argue that focusing on established and well-maintained tools is the way to go. There are many packages out there that are either abandoned or have rapidly changing APIs. As I see it, there are two practical approaches to accessing Fortran code from Python:

Explicitly write explicit C interface, build shared library and access via ctypes, cffi, Cython etc.
Use interface generators which take care of everything under the hood and directly produces importable Python objects. Here the most mature would be f2py which is used in production-grade code like numpy and scipy.

Code generators like Pyccel, Numba, Cython are in my view a bit of a different topic as their main goal is to enable users to write Python-like code that runs faster and not to actually generate Fortran code that could be used for something else. The user would be fairly agnostic whether it is Fortran, C or something else that is generated under the hood.

I’m actively working on mixed Python-Fortran projects with work right now.. I’ll keep this thread in mind and share anything I produce that I think might be useful. I’m working on something right now that involves fortran calling python, rather than the opposite way around. It will be a few days before it’s useable outside my immediate application though.

I made some prototype page on HackMD. If this way of working looks attractive to people I could create a "team" and we could create the minibook there.

Sure, I would be happy to contribute an example with intermediate complexity involving (polymorphic) derived types.

Thanks @kjelljorner! That looks like a nice way of working on the minibook

I create a space on HackMD to work on this. It can be accessed only if you login, while the individual notes themselves can be shared to anyone. @awvwgk and others, iIf you create an account and let me know the username I can add you to the team as admins. There's a quite nice comments function that we can use to discuss different parts of the text.

If you create an account and let me know the username I can add you to the team as admins.

Thanks, I'm going under @awvwgk there as well.

I'm currently working on a Python interface to a legacy Fortran code, involving sending Python callback functions to Fortran. Also considering the options for multi-platform packaging on PyPi using scikit-build + cmake and cibuildwheel. Maybe would be a good time to try to revive this effort @awvwgk?

I currently have shifted my priorities from the Fortran-lang webpage to the fpm documentation (see https://awvwgk.github.io/fpm-docs). Hopefully, the framework explored there will find adoption for other Fortran-lang resources in the future (stdlib? minibooks?), especially since we now actually have first class internationalization support there.

I've seen that - it looks really good! I might add some of the work on callbacks and error handling that I have been investigating over the next few weeks and then see if there is anyone on the Discourse that wants to join in.


Working with Package directories

I have a project structure like this:
├── main.go
└── package
│   └── mypackage.go
└── templates
├── admin
│   └── index.html
└── index.html
When I run go run or go build from main.so directory, everything works as expected. the mypackage.go contains a line like box := packr.NewBox("./templates/")
However, when i run packr build in the same directoy I get the following error.
Error: could not find folder for box: /package/templates
How can I get this working?
Thank you

Use ./package instead of /package. The first is relative the second is absolute path.

Where?
I'm using packr.NewBox("./templates/") as ./templates/ is correct relative to to the main.go.
packr seems to be looking for something relative to ./package/.  Which is not what I expect.

Paths are relative to where the NewBox is declared. So for example if you use NewBox in the package directory to use the templates folder it would be ../templates. Does that help?

Mark Bates
On Nov 26, 2017, 7:57 PM -0500, Shawn Butts<EMAIL_ADDRESS>wrote:

Where?
I'm using packr.NewBox("./templates/") as ./templates/ is correct relative to to the main.go.
packr seems to be looking for something relative to ./package/. Which is not what I expect.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

That works.
Thanks for the prompt response.


[#133513945] Increase delay of clean_concourse plugin to 2s [ci skip]

#133513945 Upgrade concourse 2.4.0
What?
This plugin assumes that all the elements are present and the page
rendered after 10ms, and if not, it fails because it cannot find the
right DOM elements.
The new version of concourse 2.4.0 takes longer to completely render in
the dashboard screen, specially when we have 3 frames as we do. Because
that the script does not work in our dashboard.
In this commit we workaround this issue by delaying the execution of
the script much more longer, up to 2000ms or 2s.
A more elegant solution should be waiting/polling until all elements are
present and then apply the changes. But as this is a simple script for
our dashboards it is not so relevant.
How to test?
I applied this to the dashboard. check that works. Check the code.
Dependencies
After merge, pull and checkout master in the dashboard, refresh the extensions
in chrome and refresh the build dashboard.
Who?
Anyone but @keymon

applied to the dashboard


[ESLint Plugin] Run test suite in CI

It currently does not run in CI. Furthermore, CI should also ~build~ run the analyze step for all our SDKs using the updated plugin to check if there are any inconsistencies with the updated rules.

cc @praveenkuttappan

@deyaaeldeen, am guessing this is the matter of adding a tests.yml file and then a pipeline would get added for the plugin?
@willmtemple, would this be a problem since we don't really publish this package?
cc @KarishmaGhiya if there is anything she can recall from past conversations

@deyaaeldeen  @ramya-rao-a: I will look into this and see what we can do to enable building all packages when eslint is changed. I will check if we can add this path as trigger to existing pipelines so any change in this plugin will make sure to test all packages.

@ramya-rao-a I don't think it's a problem.
@praveenkuttappan , I wonder if there's a good way to bake this into the pipeline logic using Rush? It seems like any time we change any package, what we really want to do is run CI on that package and all of its dependents (rush -f does this on the CLI, but I don't know how it would work with the path-based triggers in the pipelines). Would it be possible to do that for all of our rush-linked packages automatically? Since every client package is a dependent of the eslint plugin, that logic would encapsulate what we're trying to do here.

@willmtemple : What I am trying out is to add path to eslint plugin into trigger path in CI.yml which will ensure to trigger that CI job when any change is done in eslint plugin. This change will be required in all CI.yml as opposed to adding a new pipeline which runs test of all packages.

Are we planning to have only scheduled runs of this or run this in PRs that touch the plugin project or both?

My vote is for both if possible. If not, I would vote for running in the plugin PRs as the priority.

Each package's scheduled daily run will be running the lint step for itself. So, am wondering the benefits of having a scheduled run here.

@ramya-rao-a good point but maybe it is worth it for things that do not have nightly runs? perhaps internal packages?

Can we not rely on the PR CI of the internal packages instead?

rely on the PR CI of the internal packages instead

I am fine with that.

PR pipeline is created for ESLint
https://dev.azure.com/azure-sdk/public/_build?definitionId=2490&_a=summary


Fix result arity check on select_t opcode

Typed select must have exactly one result. Reported in issue #2402.

wasm_mini_loader.c seems to have the same issue.

Thanks, done.


No safetensors in HF model card?

Hello everybody,
I have noticed that there are only .bin files and no .safetensors files in the model card (https://huggingface.co/mistralai/Mistral-7B-v0.1/tree/main). Could this be officially added? There appear to be some other models on HF Hub that have safetensors or other formats: https://huggingface.co/alpindale/mistral-7b-safetensors, but I was wondering if an official .safetensors release could be added?

Seems to have been added a few days ago. Can see the files in the official repo.

Great!


[SQL] Rename MathematicalExpression UnaryMathExpression, and specify BinaryMathExpression's output data type as DoubleType.

Two minor changes.
cc @brkyvz

LGTM

Merged build triggered.

Merged build started.

Test build #33567 has started for   PR 6428 at commit 5910df5.

I've merged this in master & branch-1.4.

Test build #33567 has finished for   PR 6428 at commit 5910df5.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
abstract class UnaryMathExpression(f: Double => Double, name: String)
case class Acos(child: Expression) extends UnaryMathExpression(math.acos, "ACOS")
case class Asin(child: Expression) extends UnaryMathExpression(math.asin, "ASIN")
case class Atan(child: Expression) extends UnaryMathExpression(math.atan, "ATAN")
case class Cbrt(child: Expression) extends UnaryMathExpression(math.cbrt, "CBRT")
case class Ceil(child: Expression) extends UnaryMathExpression(math.ceil, "CEIL")
case class Cos(child: Expression) extends UnaryMathExpression(math.cos, "COS")
case class Cosh(child: Expression) extends UnaryMathExpression(math.cosh, "COSH")
case class Exp(child: Expression) extends UnaryMathExpression(math.exp, "EXP")
case class Expm1(child: Expression) extends UnaryMathExpression(math.expm1, "EXPM1")
case class Floor(child: Expression) extends UnaryMathExpression(math.floor, "FLOOR")
case class Log(child: Expression) extends UnaryMathExpression(math.log, "LOG")
case class Log10(child: Expression) extends UnaryMathExpression(math.log10, "LOG10")
case class Log1p(child: Expression) extends UnaryMathExpression(math.log1p, "LOG1P")
case class Rint(child: Expression) extends UnaryMathExpression(math.rint, "ROUND")
case class Signum(child: Expression) extends UnaryMathExpression(math.signum, "SIGNUM")
case class Sin(child: Expression) extends UnaryMathExpression(math.sin, "SIN")
case class Sinh(child: Expression) extends UnaryMathExpression(math.sinh, "SINH")
case class Tan(child: Expression) extends UnaryMathExpression(math.tan, "TAN")
case class Tanh(child: Expression) extends UnaryMathExpression(math.tanh, "TANH")
case class ToDegrees(child: Expression) extends UnaryMathExpression(math.toDegrees, "DEGREES")
case class ToRadians(child: Expression) extends UnaryMathExpression(math.toRadians, "RADIANS")

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/33567/
Test PASSed.


Explore link has been moved

In the function moveMarketplaceLinkToProfileDropdown(), a "Explore" link in the drobdown is wanted.

https://github.com/sindresorhus/refined-github/blob/04f3763c3d41dc3687d7d6c11a5b3b2d87cded3d/src/content.js#L109-L113

But this link is not anymore in the dropdown, and has been moved to the navbar.

Then an error is raised in the console.

chrome-extension://hlepfoohegkhhmjieoechaddaejaokhf/content.js:650 Uncaught (in promise) TypeError: Cannot read property 'insertAdjacentElement' of null
    at moveMarketplaceLinkToProfileDropdown (chrome-extension://hlepfoohegkhhmjieoechaddaejaokhf/content.js:650)
    at onDomReady (chrome-extension://hlepfoohegkhhmjieoechaddaejaokhf/content.js:843)
    at <anonymous>

The side note is that following js tweaks are not processed…

Thanks for the report! Can you send a PR to fix this?

@

I would love to, but it depends on how you want to manage this change:

Simply remove the function?
Add the link after another item? (but which one?)

I've been mostly AFK for awhile, so I didn't see this. I've now disabled this feature to make Refined GitHub work again until we can fix it for real. And done a new release.

@LeoColomb Should be placed after "Your Gists" with a divider between. Like this:


rust: Add support for defining auto data vars and auto types

In particular, added the following methods to BinaryViewExt:

define_auto_data_var
undefine_auto_data_var
define_auto_type
undefine_auto_type
undefine_user_type

I'd like feedback on the names - should they include auto in order to maintain consistency with define_auto_symbol, or should they instead reflect the underlying FFI calls and not include them? I like the dichotomy of user/auto more than user/nothing - it seems clearer
Additionally, I decided to have define_auto_type take a source parameter that it uses to auto-generate the id, rather than taking a pre-generated id, to improve usability. Users can get the id back by calling BinaryViewExt::get_type_id if they need to undefine the type. Is this ok to do?

Yeah, hiding the ID is a good call. I also prefer the explicit auto/user.


Partial not properly inferred from generic types

TypeScript Version:  2.1.4
function test1<O>(): Partial<O> {
  return {};
}

function test2<O extends Object>(): Partial<O> {
  return {};
}

function test3<O extends {}>(): Partial<O> {
  return {};
}

Expected behavior:
No errors.
Actual behavior:
Type '{}' is not assignable to type 'Partial<O>'.

Since Partial makes every property optional, we should expect {} to be assignable to every Partial<O>, regardless of what the generic type O is.
Random speculation: Is this intended behavior because O could include required properties on its prototype that aren't on {}, even if all of the properties on O itself are optional? If that's the case, is there a way to specify that we don't care about the prototype's properties?

I think this should be changed to a bug rather than a suggestion, as you could expect this work in cases such as the above linked issues.

These work as expected now


PT-BR - By RcFarah

Like this, alright? That's my first time using GitHub, sorry for the inconvenience!

Yeah, that's it, thanks for the PR.


Update some versions, remove unused spray references

Looks good for the rest

We could do the package rename in a different PR perhaps?

Looks good for the rest, so merge away if you agree to do the package rename in another PR

That'd indeed make the most sense


Use sigmajs for realtime monitoring ?

Can i update nodes/edges of an existing graph dynamically in sigma.js ? Suppose i need to update color of a nodes in graph. is it possible ?

Yes you can. Just update said node and call sigInst.refresh();.

Hi Yomguithereal. Can i update a single node/edge without updating the entire canvas ?

No. This is not possible. Updating a single node will repaint the canvas. Repainting only some part locally would be as costly as repainting everything in terms of computation for 99% of cases.

Cool..just for curiousity what is the order of computation for repainting the entire canvas?

Hello @melvilgit. Sorry for the delay. Approx ~O(n), being the number of currently displayed nodes & edges.
Typically, some use cases such as changing only the color of the node could be handled with O(1) but those cases are rare and need to be handled through custom rendering logic to remain viable (else you would have to perform object diff which remains costly).

Thanks a lot.
I have one more doubt. How can i add arrow attributes in sigma js.
s.graph.edges().forEach(function(edge){
   edge.type = "arrow";

});

will create arrow heads. But that is not clearly visible.! how can i
increase the size of arrow heads?
On Fri, Oct 16, 2015 at 5:53 PM, Guillaume Plique<EMAIL_ADDRESS>wrote:

Hello @melvilgit https://github.com/melvilgit. Sorry for the delay.
Approx ~O(n), being the number of currently displayed nodes & edges.
Typically, some use cases such as changing only the color of the node
could be handled with O(1) but those cases are rare and need to be handled
through custom rendering logic to remain viable (else you would have to
perform object diff which remains costly).
—
Reply to this email directly or view it on GitHub
https://github.com/jacomyal/sigma.js/issues/659#issuecomment-148703189.

--
--------------------
skype-melvilsk
9611691444
Inmobi
Bangalore

@melvilgit, you should try to fiddle with the minArrowSize and maxArrowSize settings of your instance.

i have tried these.
s.graph.edges().forEach(function(edge){
   edge.type = "curvedArrow",

   minArrowSize = 25;

});

even that didn't worked
On Mon, Oct 26, 2015 at 3:26 PM, Guillaume Plique<EMAIL_ADDRESS>wrote:

@melvilgit https://github.com/melvilgit, you should try to fiddle with
the minArrowSize and maxArrowSize settings of your instance.
—
Reply to this email directly or view it on GitHub
https://github.com/jacomyal/sigma.js/issues/659#issuecomment-151085281.

--
--------------------
skype-melvilsk
9611691444
Inmobi
Bangalore

In your example, you only seem to initialize a global variable called minArrowSize. This won't do anything beyond polluting your global scope. Try the following when instantiating sigma:
var s = new sigma({container: 'whatever', settings: {minArrowSize: 25}});

even that also didn't worked. iam using sigma   Version: 1.0.2. is it have
to do anything ?
On Mon, Oct 26, 2015 at 3:37 PM, Guillaume Plique<EMAIL_ADDRESS>wrote:

In your example, you only seem to initialize a global variable called
minArrowSize. This won't do anything beyond polluting your global scope.
Try the following when instantiating sigma:
var s = new sigma({container: 'whatever', settings: {minArrowSize: 25}});
—
Reply to this email directly or view it on GitHub
https://github.com/jacomyal/sigma.js/issues/659#issuecomment-151088521.

--
--------------------
skype-melvilsk
9611691444
Inmobi
Bangalore

Try with this repository version. I don't remember whether v1.0.2 had this option yet.

it worked .is this new version splitted main sigma.min.js to a no of files
based on functionalit?
On Tue, Oct 27, 2015 at 12:12 AM, Guillaume Plique<EMAIL_ADDRESS>
wrote:

Try with this repository version. I don't remember whether v1.0.2 had this
option yet.
—
Reply to this email directly or view it on GitHub
https://github.com/jacomyal/sigma.js/issues/659#issuecomment-151243887.

--
--------------------
skype-melvilsk
9611691444
Inmobi
Bangalore

I don't understand what you mean @melvilgit. Could you please reformulate?

Hi,
I have a similar problem with refresh method. I have done my code to include the nodes and the edges with a for loop. Each iteration, I push my edge on the graph, and then I used the refresh method over sigma instance.
The problem is that when I run my HTML code, I don't see the refresh, but when I execute my code adding a breakpoint , I can see how the graph draw each edge at each iteration.
My number of nodes is 3669 and my number of edges is 3961.
I don't think that the amount of data damage the execution.
If any can help me... Thank you so much!!
My code is this:
`var sigInstance = new sigma({
container: 'graph-container',
});
setTimeout(function() {
empezar(0,50);
}, 5000);
setTimeout(function() {
empezar(50,1000);
}, 5000);
function empezar(a,b)
{
for(var i=a; i<b;i+=1)
{
edgeAhora = edges[i];
source = edgeAhora.source;
target = edgeAhora.target;
var sourceNode = findNodes(nodes,source);
var targetNode = findNodes(nodes,target);
build(sourceNode,targetNode);
}
}
function build(sourceNode,targetNode)
{
var esCiertoSource = contains(existingNodes,sourceNode);
var esCiertoTarget = contains(existingNodes,targetNode);
if(esCiertoSource == false){
sigInstance.graph.addNode(sourceNode);
existingNodes.push(sourceNode);
}
if(esCiertoTarget == false){
sigInstance.graph.addNode(targetNode);
existingNodes.push(targetNode);
}
sigInstance.graph.addEdge(edgeAhora);
sigInstance.refresh();
}
function contains(existingNodes,nodeCont)
{
var esCierto;
if(existingNodes.length == 0)
{
esCierto = false;
existingNodes.push(nodeCont.id);
}
else
{
for(var h=0;h<existingNodes.length;h+=1)
{
if(existingNodes[h].id == nodeCont.id)
{
esCierto = true;
break;
}
else
esCierto = false;
}
if(esCierto == true)
{
}
else
{
esCierto = false;
}
}
return esCierto;
}
function findNodes(nodes,idNodeAct)
{
var nodeAct;
for(var j=0; j<nodes.length;j+=1)
{
if(idNodeAct == nodes[j].id)
{
nodeAct = nodes[j];
}
}
return nodeAct;
}`

https://github.com/jacomyal/sigma.js/tree/master/plugins/sigma.parsers.json


SignalMixin this.createComputed throws EffectCycleDetectionError

Hi Rody,
EffectCycleDetectionError is thrown while building around SignalsMixin
class A extends State<SmthWidget> with SignalsMixin {
  late final $a = this.createSignal<smth?>(null);
  late final $$c = this.createComputed<smth?>(() {
      final base = $a(); // This line throws Instance of 'EffectCycleDetectionError'
      return smth;
    });
}

Can you confirm this?
Thanks.

Can you provide a complete example?

This is the whole exemple.
Any registration to a createSignal inside createComputed throws.
But everything is OK when I manually create the computed from initState.

Will work on a hot fix!


chore: :bug: fix bug with incorrect collapsing spaces between tag

PR Details
Fix bug with incorrect collapsing spaces between tag on HTML minification

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Mojibar 2.0.0

Thanks!

Updated!

Thank you for the contribution. It was merged directly as 8cf723d77f962a7e0b50d3fd7cffc1d1eda59bd5 to keep commit history cleaner. Your contribution is still credited to you.


Raspberry and PC examples, cleaned up.

Adds examples
Adds helper scripts
Adds some documentation
Fixes the race condition with Linux multi threading

Also did some changes to constness

Needs testing on arduino/node. Certainly test RGB, as it has many changes.

Fixes #57 and #45


Add more detail to connection failure errors.

Troubleshooting connection errors.
The current text in the log is : "NOTE: Failure threshold met"
We would like more detail as to what failed. I .E connect time out, connection rejected, failure on name look up. etc

This an issue for ATS and should be written against ATS.


Identity in *-to-one  association builder

Added the ability to set identity with associations through the ClassMetadataBuilder / AssociationBuilder classes.
Added multiple tests to ensure that all association scenarios behave as expected.

@guiwoda the alignment in the code is messed up. Also, please only test bits relevant to your changes.

@Ocramius you mean in the tests?
I copy-pasted almost everything from previous tests. Could you point exactly what alignments are messed up? Or how would you do a less fragile assertion?
Also, all the tests I commited are related to my change. Please review it again if that's not clear.

I copy-pasted almost everything from previous tests

Please build smaller assertions then, checking things such as $this->assertSame(['foo' => 'bar'], $metadata->getIdentifier());

Poking @beberlei for a decision on whether we want this or not

Decided to merge, but will do as soon as I have free time to check it carefully.

Will merge as-is. If the tests are too fragile, we can reduce their scope later on.

Merged after a rebase at doctrine/doctrine2@a13143b1acb1f349ff9badfffb89992e365b5382

Please see https://github.com/doctrine/doctrine2/commit/b3a6fb7fde9e6c3e3c56f4fe7b9d2e1055de58b4 for some changes to this behavior.

Great! I always found the "is" syntax confusing as a setter.


Getting "Depth must be 0" when em Client attempts a principal search

Hi,
I've just installed the latest (3.0.2) version of sabre-dav, and I'm running the test groupware server for Cal/CardDav (as that's all I need).
I'm using the latest em Client (6.0.22344.0) and I'm getting errors when composing a new email and partially typing contact names in.
Looking at the em Client logs it appears to be doing a REPORT that sabre is interpreting as a Bad Request and rejecting (see logs below).
I'm not sure how to diagnose further, or if the problem lies on the client or server side.  Looking at the code I can see in Plugin.php that it's from the method "principalPropertySearchReport":
if ($this->server->getHttpDepth('0') !== 0) {
            throw new BadRequest('Depth must be 0');
        }

sadly my php knowledge is lacking so I'm not sure what that means.  Happy to investigate further if you want to give me a steer.
Log file from em Client follow:
06:44:22.355|021|   C: PrincipalSearchCommand http://<IP_ADDRESS>/sabreDAV/syno.php/principals/admin/
06:44:22.355|021|   <?xml version="1.0" encoding="utf-8"?><D:principal-property-search test="anyof" xmlns:D="DAV:"><D:property-search><D:prop><D:displayname /></D:prop><D:match match-type="starts-with">mag</D:match></D:property-search><D:property-search><D:prop><first-name xmlns="http://calendarserver.org/ns/" /></D:prop><D:match match-type="starts-with">mag</D:match></D:property-search><D:property-search><D:prop><last-name xmlns="http://calendarserver.org/ns/" /></D:prop><D:match match-type="starts-with">mag</D:match></D:property-search><D:property-search><D:prop><email-address-set xmlns="http://calendarserver.org/ns/" /></D:prop><D:match match-type="starts-with">mag</D:match></D:property-search><D:prop><D:displayname /><calendar-user-type xmlns="urn:ietf:params:xml:ns:caldav" /><email-address-set xmlns="http://calendarserver.org/ns/" /></D:prop><D:apply-to-principal-collection-set /></D:principal-property-search>
06:44:22.585|021|   S: REPORT http://<IP_ADDRESS>/sabreDAV/syno.php/principals/admin/
06:44:22.585|021|   BadRequest Bad Request
06:44:22.585|021|   Response, stream length:
-1, 258
06:44:22.585|021|   Content:
<?xml version="1.0" encoding="utf-8"?>
<d:error xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns">
  <s:sabredav-version>3.0.2</s:sabredav-version>
  <s:exception>Sabre\DAV\Exception\BadRequest</s:exception>
  <s:message>Depth must be 0</s:message>
</d:error>

Read:
https://www.udemy.com/learn-php-programming-from-scratch/#10things
In particular this segment:

This report is only defined when the Depth header has value "0";
other values result in a 400 (Bad Request) error response.  Note
that [RFC3253], Section 3.6, states that if the Depth header is
not present, it defaults to a value of "0".

Couldn't be more clear, and therefore definitely a client issue. When in doubt, it's the client's fault ;)

Fair enough, I shall go hassle them :)
(it's all angle-brackets to me)

for completeness and future issue archaeologists, I suspect the link should have been to:
https://www.ietf.org/rfc/rfc6578.txt

Actually it was :
http://tools.ietf.org/html/rfc3744#section-9.4
Had a different link still in my buffer apparently =) Curious what Em Client's response will be.

Grab some popcorn and watch here:
https://forum.emclient.com/emclient/topics/when-creating-an-email-typing-in-the-to-box-i-get-an-error-pop-up-whilst-it-looks-up-email?rfm=1&topic_submit=true
To be fair to them, as I've worked my way through a number of Cal/CardDAV options they've been pretty responsive to acknowledging problems.
I'm trying to find the "one true local-mail client" to replace Outlook and it may well be em.

Em Client is pretty great =)
But yea just so you're aware, you referenced the wrong rfc.

I've edited to avoid confusion


Sanakoyeu 2018 transformer modules

@jbueltemeier I've rebased, refactored and fixed a little here and there :smirk:


Scrollable Chart (WinForms) BindingAssistant

Hi,
I'm having problems to compile the Scrollable Chart (WinForms) example.
Code on https://lvcharts.net/App/examples/v1/wf/Scrollable (WinForms).
Code Behind line 73 BindingAssistant is not found.
Regards,
Luciano

Hi
Sorry for that, you are right, here is the source code of that sample
https://github.com/Live-Charts/GearedExamples/tree/master/WinForms/ScrollableChart
Documentation will have a full review soon.

Hi,
Thank you for your prompt reply.
It is working fine with the source code.
Thanks.
Luciano


Updates and first commit.

qrcode 7.4.2
Destination channel: {defaults}
Links

PKG-4856
Upstream repository

Explanation of changes:

Update to current standards

Linter check found the following problems:
ERROR conda.cli.main_run:execute(125): `conda run conda-lint /tmp/abs_a77xwuroo_/clone` failed. (See above for error)
The following problems have been found:
===== WARNINGS =====

clone/recipe/meta.yaml:45: missing_description: The recipe is missing a description

===== ERRORS =====

clone/recipe/meta.yaml:45: missing_documentation: The recipe is missing a doc_url or doc_source_url
clone/recipe/meta.yaml:45: missing_dev_url: The recipe is missing a dev_url
clone/recipe/meta.yaml:45: missing_license_family: The recipe is missing the about/license_family key.
===== Final Report: =====
3 Errors and 1 Warning were found


Missing Graph if Colon in Node

The Graph is will be missing if a colon is put in the Node Id.
"http://example.org" -> "http://example2.org"

Fixed by 60508d2 22b73ed

Thanks! Works now: https://pg-format.github.io/pg-formatter/?pg="http%3A%2F%2Fexample.org"+->+"http%3A%2F%2Fexample2.org"