Regarding the definition of directed modularity

Hi,
I was looking at the get_modularity function from modularity_maximization.utils. Directed modularity is defined as:
Q = \frac{1}{m}\sum_{i,j} \(A_ij - \frac{k_i^{in} k_j^{out}}{m}\) * \detal_{c_i, c_j}
Strictly speaking A_ij should be A_ji, which is 1 when there is an edge from j to i, and 0 otherwise. This is because of the concept that edges j->i should make larger contributions to Q if k_i^{in} or k_j^{out} is small. See Leicht, E. A., & Newman, M. E. J. (2008). Community Structure in Directed Networks. Physical Review Letters, 100(11), 118703, the paragraph following equ.(3).
However, I also believe this is more of a conceptual point, since using either A_ij or A_ji gives the same Q thanks to the (i,j) symmetry in the definition. Please let me know what you think, as I'm still new to the field and am not 100% sure about my 'beliefs' :)

I read the description and it seems like weird to me that they still use A[i,j] when they really mean A[j,i]. If this is the case, do you think networkx's function directed_modularity_matrix is also problematic (I used this one to generate the modularity matrix B) since their A[i,j] is for edges i -> j instead of the weird definition mentioned in the paper?
BTW, I am not a physicist so can you help improve any bugs/misunderstanding of the concepts by reviewing the code I have? If you would like to make this code better, I am happy to have you as a collaborator, especially on making this package correct first.
I copied the docstring as follows:
directed_modularity_matrix(G, nodelist=None, weight=None)
    Return the directed modularity matrix of G.

    The modularity matrix is the matrix B = A - <A>, where A is the adjacency
    matrix and <A> is the expected adjacency matrix, assuming that the graph
    is described by the configuration model.

    More specifically, the element B_ij of B is defined as
        B_ij = A_ij - k_i(out) k_j(in) / m
    where k_i(in) is the in degree of node i, and k_j(out) is the out degree
    of node j, with m the number of edges in the graph. When weight is set
    to a name of an attribute edge, Aij, k_i, k_j and m are computed using
    its value.

    Parameters
    ----------
    G : DiGraph
       A NetworkX DiGraph

    nodelist : list, optional
       The rows and columns are ordered according to the nodes in nodelist.
       If nodelist is None, then the ordering is produced by G.nodes().

    weight : string or None, optional (default=None)
       The edge attribute that holds the numerical value used for
       the edge weight.  If None then all edge weights are 1.

    Returns
    -------
    B : Numpy matrix
      The modularity matrix of G.

    Examples
    --------
    >>> import networkx as nx
    >>> G = nx.DiGraph()
    >>> G.add_edges_from(((1,2), (1,3), (3,1), (3,2), (3,5), (4,5), (4,6),
    ...                   (5,4), (5,6), (6,4)))
    >>> B = nx.directed_modularity_matrix(G)

    Notes
    -----
    NetworkX defines the element A_ij of the adjacency matrix as 1 if there
    is a link going from node i to node j. Leicht and Newman use the opposite
    definition. This explains the different expression for B_ij.

    See Also
    --------
    to_numpy_matrix
    adjacency_matrix
    laplacian_matrix
    modularity_matrix

    References
    ----------
    .. [1] E. A. Leicht, M. E. J. Newman,
       "Community structure in directed networks",
        Phys. Rev Lett., vol. 100, no. 11, p. 118703, 2008.

So I looked at the code and also tested the code with a simple example. I believe your code is working correctly!
First of all, the definition in your get_modularity function
Q = \frac{1}{m}\sum_{i,j} \(A_ij - \frac{k_i^{in} k_j^{out}}{m}\) * \delta_{c_i, c_j}
is correct, as it is completely equivalent to the definition proposed by Leicht, E. A., and Newman, M. E. J (2008):
Q = \frac{1}{m}\sum_{i,j} \(A_ji - \frac{k_i^{in} k_j^{out}}{m}\) * \delta_{c_i, c_j}. This is because of the (i,j) symmetry. For example, assuming delta_{c_1, c_2} = 1, we have
(A_12 - \frac{k_1^{in} k_2^{out}) + (A_21 - \frac{k_2^{in} k_1^{out}) = (A_12 - \frac{k_1^{out} k_2^{in}) + (A_21 - \frac{k_2^{out} k_1^{in}).
If you look at newer papers that cited Leicht, E. A., and Newman, M. E. J (2008), you can see that some people take A_ij (your code), while others take A_ji (Leicht and Newman) in the definition of directed modularity. For example, Kim et al. (2010) takes Leicht and Newman's form, whereas Dugue and Perez (2015) take your code's form.
Second, I tested your code with a simple example:
G = nx.DiGraph([(1,2),(2,1),(2,4),(4,3),(3,4),(3,2))])
The best partition should give 2 modules, one has node 1 and 2, the other has node 3 and 4. And the modularity of this partition, as calculated by Newman's definition, should be 1/6. Your code gave the expected partition and modularity value (something like 0.1666666667). So it should be working correctly!
Thus, directed_modularity_matrix should also be working correctly, as either B_ij = A_ij - k_i(out) k_j(in) / m or B_ij = A_ij - k_i(in) k_j(out) / m shouldn't matter.

Great. I'll close this then. Thanks for the effort!


Tmsp proof

@jaekwon Expose merkle proofs in merkle.Tree and extend tests.
Needed for progress on https://github.com/tendermint/tendermint/issues/355

Left a question but otherwise LGTM.


Java Code Linting

Is your feature request related to a problem? Please describe.
Currently only Spotless is included to standardize formatting of Java-based code. However a linter should be included in the build process as well. This helps which finding code smells and bugs.
Describe the solution you'd like
A solution would be a tool like PMD or SpotBugs. Both are available as a Maven plugin.
When a solution is chosen, IDE Plugins should be supported as well.
Describe alternatives you've considered
Additional context

We got SonarLint, why do we need another solution?

Is SonarLint integrated in the build chain? No. The usage of SonarLint depends on an external service (or an IDE plugin) and thus will not work under all circumstances. That's why I suggested to include PMD or SpotBugs that's directly integrated into the Maven build process.
Additionally, not all projects are using SonarLint responsively. That's another reason why we should enforce the use of such tools and make those available locally as well :)

Yeah great, that's good. However I don't see it as a "one or the other" solution. For frontend projects we have ESLint in place. This a tool for code linting. It's embedded inside our build process. You could argue we don't need ESLint because SonarLint can do same things. Linting inside CI/CD and locally is not the same. That's why I suggest to add PMD or SpotBugs, independently of which solution we come up with for CI/CD.

Follow up will be done in: https://github.com/it-at-m/refarch-templates/issues/177 due to a configuration problem.


Trying to display movement of objects

Hello, I just started with vedo.
I want to display a cylinder moving through space (its just the start for a bigger simulation).
######################################################
import vedo

tool = vedo.Cylinder(alpha=0.7)
cube=vedo.Cube()
pl = vedo.Plotter(axes=1)
pl += tool
pl+=cube
p=vedo.vector(0,0,0)
v = vedo.vector(1, 1, 1)

for t in range(1,20):
    print (t)
    p=p+v
    tool.pos(p)
    pl.show()

pl.show(interactive=1)
#################################################

All that is happening is that the display window opens and shows me my 2 objects in the first position. Its static and nothing moves.
When I close the Display Window the vtkOutputWindow opens and prints many lines of text very fast. When I try to interact with the window it crashes.
In the console I can see, that t was 1 when the static display window appeared and 2 once the vtkOutputWindow appeared.
What am I doing wrong here? I tried to simplify the gyroscope1.py example.
Do you have a simple way to animate moving objects and add actors to the running animation? (e.g. add and delete cubes in the animation)
Thank you very much.

You only missed Plotter(axes=1, interactive=0). Consider this - possibly improved - version:
import vedo

world = vedo.Box(pos=(10,10,10), size=(20,20,20))
world.wireframe().alpha(0) # make it invisible
tool = vedo.Cylinder(alpha=0.7)

plt = vedo.Plotter(axes=1, interactive=0)
plt += world
plt += tool
plt += vedo.Cube()
p = vedo.vector(0,0,0)
v = vedo.vector(1,1,1)

# obtained by pressing "C":
cam = dict(pos=(74.2, -21.0, 16.2),
           focalPoint=(9.22, 9.16, 9.75),
           viewup=(-0.0759, 0.0494, 0.996),
           distance=71.9,
           clippingRange=(40.6, 112))

for t in range(1,20):
    tool.rotateX(5).pos(p)
    plt.show(camera=cam, rate=2) # 2 Hertz speed
    p += v

vedo.interactive()

Thank you very much. Keep up the great work :D


issue running ha-bridge and real Hue bridge at the same time on google home

i was able to successfully sync the the HA with the current 4.5.0 file to my google home, but i was forced to remove my real HUE hub before it would give me ability to connect.  now that the HA is up and running with the google home, it only shows "one" hue icon in the home controls section.  how do i also add/re-sync my original HUE hub to the google home so i can have the emulated HUE and my real HUE running at the same time?

If I'm understanding your question, I think you can only have 1 'hue' device.
Habridge would be the main hue device paired with Google Home.
'Real Hue' links to habridge
you control the 'real hue' devices via Google Home & HA Bridge
kind of like this:
Voice Command -> Google Home ->HaBridge -> real hue

That makes sense. I have few items already connected to my ha-bridge, but where I'm really stuck on is how to proxy my real HUE bridge to the Ha-bridge. I see it's possible, but I can't find any write ups or directions on how I go about doing it..  Thanks!

So is this answered based on your other post?

Yes. Thanks!


Fix bad log level field names

Fixes https://github.com/projectcalico/calico-containers/issues/1341

LGTM


Draft: new(libscap): Add support for LSM hook security_file_mprotect

Add kmod, probe and modern probe for LSM hook security_file_mprotect.
int security_file_mprotect(struct vm_area_struct *vma, unsigned long reqprot, unsigned long prot)
Notes:

Introduces new ppm_event_category EC_SECURITY for specifying LSM hooks.
Flattens struct vm_area_struct into 9 fields:

vm_start
vm_end
start_code
end_code
start_data
end_data
start_brk
brk
start_stack

NOTE: This is completely untested.
What type of PR is this?

Uncomment one (or more) /kind <> lines:

/kind bug

/kind cleanup

/kind design

/kind documentation

/kind failing-test

/kind feature

Any specific area of the project related to this PR?

Uncomment one (or more) /area <> lines:

/area API-version

/area build

/area CI

/area driver-kmod
/area driver-bpf

/area driver-modern-bpf

/area libscap-engine-bpf

/area libscap-engine-gvisor

/area libscap-engine-kmod

/area libscap-engine-modern-bpf

/area libscap-engine-nodriver

/area libscap-engine-noop

/area libscap-engine-source-plugin

/area libscap-engine-savefile

/area libscap-engine-udig

/area libscap

/area libpman

/area libsinsp

/area tests

/area proposals

Does this PR require a change in the driver versions?

/version driver-API-version-major

/version driver-API-version-minor

/version driver-API-version-patch

/version driver-SCHEMA-version-major

/version driver-SCHEMA-version-minor

/version driver-SCHEMA-version-patch

What this PR does / why we need it:
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

NONE

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: dwindsor
Once this PR has been reviewed and has the lgtm label, please assign molter73 for approval by writing /assign @molter73 in a comment. For more information see the Kubernetes Code Review Process.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Ei @dwindsor this is amazing :heart_eyes:, thank you very much!! The bad news is that we cannot instrument security_file_mprotect like this because this is not a syscall but a kernel function, for this reason, we need to use something like kprobes that right now is not supported by our BPF instrumentation :(  The good news is that we could reuse part of your BPF code when we will have all in place to support these kinds of hooks :tada:

Ei @dwindsor this is amazing 😍, thank you very much!! The bad news is that we cannot instrument security_file_mprotect like this because this is not a syscall but a kernel function, for this reason, we need to use something like kprobes that right now is not supported by our BPF instrumentation :( The good news is that we could reuse part of your BPF code when we will have all in place to support these kinds of hooks 🎉

Makes sense. Perhaps we could utilize some of Tracee's LSM kprobes.

/milestone 0.11.0

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.
If this issue is safe to close now please do so with /close.
Provide feedback via https://github.com/falcosecurity/community.
/lifecycle stale

Stale issues rot after 30d of inactivity.
Mark the issue as fresh with /remove-lifecycle rotten.
Rotten issues close after an additional 30d of inactivity.
If this issue is safe to close now please do so with /close.
Provide feedback via https://github.com/falcosecurity/community.
/lifecycle rotten

Rotten issues close after 30d of inactivity.
Reopen the issue with /reopen.
Mark the issue as fresh with /remove-lifecycle rotten.
Provide feedback via https://github.com/falcosecurity/community.
/close

@poiana: Closed this PR.

In response to this:

Rotten issues close after 30d of inactivity.
Reopen the issue with /reopen.
Mark the issue as fresh with /remove-lifecycle rotten.
Provide feedback via https://github.com/falcosecurity/community.
/close

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.


GitHub login button doesn't work

Dev Home version
0.503.261.0
Windows build number
10.0.22621.2361
Other software
OS Build Version: 10.0.22621.2361.amd64fre.ni_release.220506-1250
.NET Version: .NET 6.0.21
Steps to reproduce the bug
downloaded the extension, then my program froze, but didn't give me a not responding error.
Ended the task in task manager,
Opened the app again, and pressed the login to GitHub button.
Expected result
A way for me to login to github
Actual result
Nothing happend
Included System Information
Physical Memory: 15.73GB (3.37GB free)
Processor Architecture: x64
Included Extensions Information
Extensions:
Microsoft.Windows.DevHome_0.503.261.0_x64__8wekyb3d8bbwe
Microsoft.Windows.DevHomeGitHubExtension_0.501.261.0_x64__8wekyb3d8bbwe

This is either a dupe of #1634 or #1544. Closing as duplicate. Asking for logs to additional info on these bugs.


cannot find package "github.com/go-redis/redis/v7"

go get -u github.com/go-redis/redis/v7
package github.com/go-redis/redis/v7: cannot find package "github.com/go-redis/redis/v7" in any of:

I got the same problem in which my go app inadvertently pick up the latest in master, and thus keep getting this error duing building:
vendor/github.com/go-redis/redis/cluster.go:16:2: cannot find package "github.com/go-redis/redis/v7/internal" in any of:
    /go/src/github.com/veritone/engine-toolkit/engine/vendor/github.com/go-redis/redis/v7/internal (vendor tree)
    /usr/local/go/src/github.com/go-redis/redis/v7/internal (from $GOROOT)
    /go/src/github.com/go-redis/redis/v7/internal (from $GOPATH)
vendor/github.com/go-redis/redis/ring.go:14:2: cannot find package "github.com/go-redis/redis/v7/internal/consistenthash" in any of:
    /go/src/github.com/veritone/engine-toolkit/engine/vendor/github.com/go-redis/redis/v7/internal/consistenthash (vendor tree)
    /usr/local/go/src/github.com/go-redis/redis/v7/internal/consistenthash (from $GOROOT)
    /go/src/github.com/go-redis/redis/v7/internal/consistenthash (from $GOPATH)
vendor/github.com/go-redis/redis/cluster.go:17:2: cannot find package "github.com/go-redis/redis/v7/internal/hashtag" in any of:
    /go/src/github.com/veritone/engine-toolkit/engine/vendor/github.com/go-redis/redis/v7/internal/hashtag (vendor tree)
    /usr/local/go/src/github.com/go-redis/redis/v7/internal/hashtag (from $GOROOT)
    /go/src/github.com/go-redis/redis/v7/internal/hashtag (from $GOPATH)
vendor/github.com/go-redis/redis/cluster.go:18:2: cannot find package "github.com/go-redis/redis/v7/internal/pool" in any of:
    /go/src/github.com/veritone/engine-toolkit/engine/vendor/github.com/go-redis/redis/v7/internal/pool (vendor tree)
    /usr/local/go/src/github.com/go-redis/redis/v7/internal/pool (from $GOROOT)
    /go/src/github.com/go-redis/redis/v7/internal/pool (from $GOPATH)
vendor/github.com/go-redis/redis/cluster.go:19:2: cannot find package "github.com/go-redis/redis/v7/internal/proto" in any of:
    /go/src/github.com/veritone/engine-toolkit/engine/vendor/github.com/go-redis/redis/v7/internal/proto (vendor tree)
    /usr/local/go/src/github.com/go-redis/redis/v7/internal/proto (from $GOROOT)
    /go/src/github.com/go-redis/redis/v7/internal/proto (from $GOPATH)
vendor/github.com/go-redis/redis/command.go:12:2: cannot find package "github.com/go-redis/redis/v7/internal/util" in any of:
    /go/src/github.com/veritone/engine-toolkit/engine/vendor/github.com/go-redis/redis/v7/internal/util (vendor tree)
    /usr/local/go/src/github.com/go-redis/redis/v7/internal/util (from $GOROOT)
    /go/src/github.com/go-redis/redis/v7/internal/util (from $GOPATH)

Tag v7 is not created yet for the repo?

Duplicate of https://github.com/go-redis/redis/issues/1174


[Minor] Fixing dialog doc padding default value

It seems that when no padding was used, the component was using spaces["small"] as the default value.
The documentation has been updated to reflect that.

Why are we adding a default value for padding? The same scenario happens in the Accordion component and it doesn't have a value by default.

Why are we adding a default value for padding? The same scenario happens in the Accordion component and it doesn't have a value by default.

The default value used in the css is spaces["small"].
This is the same as having small padding as default.
padding: ${(props) =>
props.padding && typeof props.padding !== "object" ? spaces[props.padding] : spaces["small"]};

Why are we adding a default value for padding? The same scenario happens in the Accordion component and it doesn't have a value by default.

The default value used in the CSS is spaces["small"]. This is the same as having small padding as default.
padding: ${(props) => props.padding && typeof props.padding !== "object" ? spaces[props.padding] : spaces["small"]};
I think this should be documented as such.

My question goes a bit further, why it was set as small by default? I don't think we should establish a default padding, what do you think @aweell?

I understand your concerns but I think that can be a different discussion.
This change is aimed to update the documentation to reflect how the component is working now.

My question goes a bit further, why it was set as small by default? I don't think we should establish a default padding, what do you think @aweell?

Totally agree with this Jiale!


n8n: 0.212.1 -> 0.213.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for n8n is: Free and source-available fair-code licensed workflow automation tool. Easily automate tasks across different services.
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS
Warning: a test defined in passthru.tests did not pass
found 0.212.1 with grep in /nix/store/r845i9h9j8p119siskr2f2vxcnw845n1-n8n-0.212.1
found 0.212.1 in filename of file in /nix/store/r845i9h9j8p119siskr2f2vxcnw845n1-n8n-0.212.1

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

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
n8n

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/r845i9h9j8p119siskr2f2vxcnw845n1-n8n-0.212.1 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

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

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/r845i9h9j8p119siskr2f2vxcnw845n1-n8n-0.212.1
ls -la /nix/store/r845i9h9j8p119siskr2f2vxcnw845n1-n8n-0.212.1/bin

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

1 package built:

n8n

Maintainer pings
cc @freezeboy @K900 for testing.

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for n8n is: Free and source-available fair-code licensed workflow automation tool. Easily automate tasks across different services.
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS
Warning: a test defined in passthru.tests did not pass
found 0.213.0 with grep in /nix/store/vzfwqcmsjggdgb8xbv2iq55gg92qkngg-n8n-0.213.0
found 0.213.0 in filename of file in /nix/store/vzfwqcmsjggdgb8xbv2iq55gg92qkngg-n8n-0.213.0

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

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
n8n

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/vzfwqcmsjggdgb8xbv2iq55gg92qkngg-n8n-0.213.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

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

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/vzfwqcmsjggdgb8xbv2iq55gg92qkngg-n8n-0.213.0
ls -la /nix/store/vzfwqcmsjggdgb8xbv2iq55gg92qkngg-n8n-0.213.0/bin

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

1 package built:

n8n

Maintainer pings
cc @freezeboy @K900 for testing.


[Question] Hoek dependency

First of all thank you for mongo-models package, I like it how it slim and thin. I checked its code and found that it is actually don't need hoek dependency as only applyToDefauls used that can be easily replaced by Object.assign(...). Do you mind if I prepare PR that allows to reduce dependencies count by one?

In most cases with simple objects that are not nested, Object.assign would be sufficient. Though Object.assign isn't great at deep cloning on its own.
https://stackoverflow.com/questions/122102/what-is-the-most-efficient-way-to-deep-clone-an-object-in-javascript
The goal of using hoek was to err on the side of safety. In the rare case a more complicated object was passed, we wouldn't want unexpected child nodes to be used by reference, possibly causing hard to debug errors.
Hoek docs:
https://github.com/hapijs/hoek/blob/master/API.md#applytodefaultsdefaults-source-options

I see, thanks.


bug: Lazy window might be too fast

Did you check docs and existing issues?

[X] I have read all the lazy.nvim docs
[X] I have searched the existing issues of lazy.nvim
[X] I have searched the exsiting issues of plugins related to this issue

Neovim version (nvim -v)
NVIM v0.9.0-dev
Operating system/version
WSL2-Ubuntu20.04
Describe the bug
When launching from a fresh state or if there's a new plugin caught by install.missing. The lazy window steals vim.opt settings like vim.opt.number = true.

To deal with that I tried different orientations for loading modules instead of lazy.nvim first and got a number of bugs like keymaps not being set or colorscheme configs not applying.
But I guess that's why it's recommended to to call lazy first. :shrug:
As an aside I was looking at LazyVim and folke/dot as reference but couldn't figure out how the config/options module was being sourced or how/why the mapleader was defined there instead of before lazy.nvim?
Steps To Reproduce

launch neovim nvim -u ./repro.lua
let lazy install missing plugins

Expected Behavior
Options such as vim.opt.numbers = true should be applied to the buffer below lazy.nvim and not the floating window itself.
Repro
local root = vim.fn.fnamemodify("./.repro", ":p")

-- set stdpaths to use .repro
for _, name in ipairs({ "config", "data", "state", "cache" }) do
  vim.env[("XDG_%s_HOME"):format(name:upper())] = root .. "/" .. name
end

-- bootstrap lazy
local lazypath = root .. "/plugins/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
  vim.fn.system({
    "git",
    "clone",
    "--filter=blob:none",
    "--single-branch",
    "https://github.com/folke/lazy.nvim.git",
    lazypath,
  })
end
vim.opt.runtimepath:prepend(lazypath)

-- install plugins
local plugins = {
  -- do not remove the colorscheme!
  "folke/tokyonight.nvim",
  -- add any other pugins here
}
require("lazy").setup(plugins, {
  root = root .. "/plugins",
})

-- add anything else here
vim.opt.termguicolors = true
vim.opt.number = true
vim.opt.relativenumber = true
-- do not remove the colorscheme!
vim.cmd([[colorscheme tokyonight]])

I think you should set options before require("lazy").setup(), then the issue will be solved.
Btw, your reproduce config have two typo: vim.opt.numbers, vim.opt.relativenumbers -> vim.opt.number, vim.opt.relativenumber

your reproduce config have two typos

thanks, I tested it but made the mistake of typing those by hand in the issue description.
I've had some problems with WSL clipboard sharing lately.

I think you should set options before require("lazy").setup()

You're right, In the past day I played with the repro a bit more by adding some of my own module calls in-between. My core/init.lua pulled in other modules options, keymaps and autocmds. And within one of those was some plugin calls that weren't getting loaded without lazy.
With those bugs and the examples I found for setting up lazy, it lead me to believe that, the leader key and some other options HAD to come after lazy for whatever reason.
Either way, it's not lazy, it's just my setup. Thanks.


SAK-42545 Only load rubric association js when needed

Awesome! good idea.
However, I see changes from #7298, am I right?


Services

Hey, congratulations on the first release of the new Blade!
It says you are going to add more services to Blade in your todo list. This seems like a great idea, as Blade could be a single central music player for all services while also playing from your local library, but I'm worried that it'd get bloated as a consequence. If this is the case, do you think it'd be better if additional services (or even including Spotify) are implemented as a plugin that can be installed separately, like Vanilla Music's extra functionality?
Thank you for your efforts thus far, I'm sure Blade will get way more popular once you start adding some essential music player features.

Hi,
Thank you !
For now, the amount of services does not require a "plugin" implementation.
But you are right, when more and more services are available, a plugin implementation might become useful.
I'd rather do that when the time comes, when i can measure the impact in size and RAM usage of the different platforms, then now when it is not as useful.
Thank you for the suggestion ! :))


Changed DefaultValue to Value in step 12

Fix for issue: https://github.com/MicrosoftDocs/azure-docs/issues/14782

@prebenh : Thanks for your contribution! The author, @mikkelhegn, has been notified to review your proposed change.


⚠ Spryr has degraded performance

In 06a4d82, Spryr (https://spryr.com) experienced degraded performance:

HTTP code: 200
Response time: 4535 ms

Resolved: Spryr performance has improved in d4564e6 after 14 minutes.


Will parse-server work with the parse frontend js sdk?

i.e. will the methods described here: https://parse.com/docs/js/guide#objects still work or do we need REST API calls?

The SDKs will work, as fair as they've said. You will simply have to point the SDK to your sever address. Look into this issue: https://github.com/ParsePlatform/parse-server/issues/13#issuecomment-176582460

Yes and in fact it depends on the JavaScript SDK and uses some of its methods.  It exposes Parse as a global.

Great. Thanks!


fix: disable autocrlf

run git config before clone
set core.autocrlf=false, so it'll leave the line endings as is in all files instead of auto converting them on windows

not needed anymore


Add setting index value to array

What this PR does / why we need it:
we can insert a value at a specific index into arrray
yorkie-sdk-js also needs work
Which issue(s) this PR fixes:

Fixes #215
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

Additional documentation:

Checklist:

[x] Added relevant tests or not required
[x] Didn't break anything

@hackerwins
Is it correct to proceed in this direction🤔?? I want to check yorkie-sdk-js before working

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

The users who requested this feature are not currently seeking it. Therefore, I'll close this PR for now and will reopen it when new requests for the feature arise.


[R] Issues with configure script

Describe the bug, including details regarding any error messages, version, and platform.
I found two issues with the latest rewrite of the configure script for the R package:

There's a new script to check whether the library version and the R package version are compatible. This is fine, but for arrow 11, there are versions <IP_ADDRESS> and <IP_ADDRESS> on CRAN. The script does not remove the fourth component, and thus it stops when it finds that 11.0.0 != <IP_ADDRESS>. My understanding is that versions a.b.c.d of the R package should be considered compatible to a.b.c of the library.
LIB_DIR is hardcoded here to something/lib. In many systems, this is lib64, not lib, and pkgconfig provides this info.

Component(s)
R

@nealrichardson Would you mind taking a look at this one?

Thanks for the report!

There's a new script to check whether the library version and the R package version are compatible. This is fine, but for arrow 11, there are versions <IP_ADDRESS> and <IP_ADDRESS> on CRAN. The script does not remove the fourth component, and thus it stops when it finds that 11.0.0 != <IP_ADDRESS>. My understanding is that versions a.b.c.d of the R package should be considered compatible to a.b.c of the library.

Have you encountered a scenario where you have a C++ library with version x.0.0.2 and R package with x.0.0.3? The .d releases are typically things we have to do to patch the R package for CRAN, so there is no corresponding C++ release with .d.

LIB_DIR is hardcoded here to something/lib. In many systems, this is lib64, not lib, and pkgconfig provides this info.

Good catch. It was always hard-coded for the non-pkg-config path, and I found that the previous way we were doing it with pkg-config, of using sed to get it from --libs-only-L, didn't behave well if there were other dirs in the search path, so I just dropped back to the hard-coded for all. But it looks like arrow.pc does include it as libdir, so we can get it as --variable=libdir for that case.

Have you encountered a scenario where you have a C++ library with version x.0.0.2 and R package with x.0.0.3?

No, I've encountered a scenario where I have a C++ library with version x.0.0 and R package with x.0.0.3. That happened with x=11.

The .d releases are typically things we have to do to patch the R package for CRAN, so there is no corresponding C++ release with .d.

Exactly, so my expectation is that R package x.0.0.3 should find C++ library version x.0.0 as compatible. And it does not currently.

Ah, got it, thanks


Chanratty profile update

Submitting profile information for Chantelle Hanratty.

Thank you so much! I couldn't figure out why it was still broken!


Cannot connect after upgrade to 0.5.0

Description
Cannot connect after upgrade to 0.5.0
Expected Behavior
Should be able to connect as normal.
Actual Behavior
The following error is shown:
The node is reachable but returns an internal error. This error might be caused by using a wrong port.
Possible Fix
Downgrade? Have not tried yet.
Steps to Reproduce
Upgrade to 0.5.0 and try to connect to the existing clearnet LND node.
Please note I use wireguard to connect to my server privately, I do not use TOR.
Context
I'm unable to use ZAP at the moment.
Your Environment

Zap version: 0.5.0-beta
Android version: 11
Device: Google Pixel 4A
LND Version: v0.13.1-beta

@mikkoc
Thanks for the issue report.
Have you tried to turn of Tor in the settings? Maybe this already fixes your issue.
If that doesn't work downgrading should definetly work. You can download the older apks directly here from github in the release section.
I will have to look into wireguard (never used it so far) and see I can get it working.
Please let me know if switching of Tor in the settings works for you.

Ah, disabling Tor from the settings does solve the issue indeed, thanks!


An unexpected backtick

found an unexpected backtick while learning

Weird that somehow made it into the codebase! Looks like we never hit this code in a spec? Care to add one, please?

Weird it seems that there are double backticks.
Thanks for the reminder.


Current status of AthenaX

Hi,  I'd like to try out AthenaX and I'm interested in the current status of AthenaX since the last commit is almost a year ago. Is the project still maintained by Uber? And is there any future plan, such as supporting higher versions of Flink?

Hi @link3280. unfortunately uber/AthenaX has been drift off Uber's in-house implementation for a while and we are planning to open-source the components in a separate repo which include most of our advance features like resource estimation and automatic monitoring system. Please stay tune.

@walterddr Thanks for the update. I'm wondering if we should first start with AthenaX or just wait for the new one (we are planning to start in a month). May I ask for your advice? Thanks a lot!

we do not have plan to release any component in a month unfortunately

Get it. Thanks for the information :)


[NSE-943] Optimize IsNULL() function for Row2Columnar

What changes were proposed in this pull request?

Fix C2R benchmark and Add R2C benchmark
Optimize IsNULL() function

How was this patch tested?
(If this patch involves UI changes, please attach a screenshot; otherwise, remove this)

@zhouyuan
Have passed all jenkins test.


parpd: init 2.3.0

Fix https://github.com/NixOS/nixpkgs/issues/345461
Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[x] 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/)
24.11 Release Notes (or backporting 23.11 and 24.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

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

@Aleksanaa Done.


[proposal] destructuring assignment with =.

It would be very convenient to be able to assign to multiple wings simultaneously using destructuring. Lack of a feature like this makes writing code that chains together stateful operations much less ergonomic.
A simple syntax could allow a tuple of wings on the left-hand side as the assignment target. The compiler would type-check that some-hoon-expression produces a pair whose head nests in moves and whose tail nests in +.foo.state.
=.  [moves +.foo.state]  some-hoon-expression
...

A slightly more complex syntax would allow assignment to arbitrary noun shapes. This could ensure type safety in the same way as the simpler version.
=.  [moves [bar -.foo.state] +.foo.state]  some-hoon-expression
...

Presumably, either one of these could also be used in runes that use wings as assignment targets:
=^  moves  [foo +.state]  some-hoon-expression
::
=:  a        whatever
    [b c]    some-pair
    [c d e]  some-triple
==
::  maybe even in %= expressions
::
$(foo t.foo, [bar +.baz] some-pair)

I'm curious what others think of this.

At the %= expression level this will all compile to(whether or not the
syntax is directly available), would the implementation strategy be similar
to the ?= "tiki" lvalue-rvalue fudging, or a nock revision that expands  10
to accept arbitrary nouns of axes? (In general, the challenge here will be
where to put the intermediate consed value; togas dodge this because
destructuring names have no value implications at runtime)
On Wednesday, 12 December 2018, Ted Blackman<EMAIL_ADDRESS>wrote:

It would be very convenient to be able to assign to multiple wings
simultaneously using destructuring. Lack of a feature like this makes
writing code that chains together stateful operations much less ergonomic.
A simple syntax could allow a tuple of wings on the left-hand side as the
assignment target. The compiler would type-check that some-hoon-expression
produces a pair whose head nests in moves and whose tail nests in
+.foo.state.
=.  [moves +.foo.state]  some-hoon-expression
...
A slightly more complex syntax would allow assignment to arbitrary noun
shapes. This could ensure type safety in the same way as the simpler
version.
=.  [moves [bar -.foo.state] +.foo.state]  some-hoon-expression
...
Presumably, either one of these could also be used in runes that use wings
as assignment targets:
=^  moves  [foo +.state]  some-hoon-expression
::
=:  a        whatever
[b c]    some-pair
[c d e]  some-triple
::  maybe even in %= expressions
::
$(foo t.foo, [bar +.baz] some-pair)
I'm curious what others think of this.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/urbit/arvo/issues/940, or mute the thread
https://github.com/notifications/unsubscribe-auth/ABxXhlmvQKxw-P_d7EmdfaDc7S-eS1fjks5u4fnlgaJpZM4ZRCPW
.

I think the most straightforward implementation would be to macro-expand to some code that uses =+ to temporarily store the intermediate result in the head of the subject. That would more or less automate the way we do this now (this is equivalent to the first example):
=+  res=some-hoon-expression
::
=:  moves        -.res
    +.foo.state  +.res
==
...

Well, that's almost equivalent. We'd want it to be a hygienic macro instead of what I wrote.

The ?=(foo (bar baz)) expansions are variants of
=>  v=.
=+  (bar baz):v
?=(foo:v -)
yup
On Thursday, 13 December 2018, Ted Blackman<EMAIL_ADDRESS>wrote:

Well, that's almost equivalent. We'd want it to be a hygienic macro
instead of what I wrote.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/urbit/arvo/issues/940#issuecomment-447087943, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABxXhsTQKkZd8wNCNfyGTMo7FjzoLC7eks5u4qhxgaJpZM4ZRCPW
.

Yeah, that's what I had in mind.
—
~rovnys-ricfer
https://urbit.org
On Thu, Dec 13, 2018 at 11:30 AM Anton Dyudin<EMAIL_ADDRESS>wrote:

The ?=(foo (bar baz)) expansions are variants of
=> v=.
=+ (bar baz):v
?=(foo:v -)
yup
On Thursday, 13 December 2018, Ted Blackman<EMAIL_ADDRESS>wrote:

Well, that's almost equivalent. We'd want it to be a hygienic macro
instead of what I wrote.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/urbit/arvo/issues/940#issuecomment-447087943, or
mute
the thread
<
https://github.com/notifications/unsubscribe-auth/ABxXhsTQKkZd8wNCNfyGTMo7FjzoLC7eks5u4qhxgaJpZM4ZRCPW
.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/urbit/arvo/issues/940#issuecomment-447091152, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AA1Y9QBB3VdSAkno2yEoOfpzrpddKvVIks5u4qrCgaJpZM4ZRCPW
.


Why is Tensorclass implemented as a decorator?

Current Tensorclass interface
To define a Tensorclass, we could write:
@tensorclass
class MyTensorclass:
    foo: Tensor
    bar: Tensor

The @tensorclass decorator then generates a dataclass-like container class, adding various methods to implement (parts of) the TensorDictBase abstraction. Notice that unlike dataclasses, where the __init__ signature may entirely be inferred from the class attribute annotations, the current decorator also augments __init__ with extra keyword arguments batch_size, device and names.
Considering that the decorator has significant (side-)effects to the resulting class, I am confused on why the API has been defined in this way. In this issue, I ask for clarification on this design choice.
Simplified interface (conceptual)
Specifically, would a simplified representation using subclassing not suffice? For example, consider the following notation:
class MyTensorclass(Tensorclass):
    foo: Tensor
    bar: Tensor

The Tensorclass baseclass then has the same effects as @tensorclass, and also:

Enables a more straightforward implementation in tensordict
Works with builtins issubclass and isinstance
Is compatible with static type checking (e.g. extra keyword arguments batch_size etc.)
Is easily understood as canonical Python

Polyfill
To further clarify the effects of the subclass above, here's a quick polyfill that allows the definition of tensorclasses using the subclass-based API above in the current decorator-based paradigm:
from types import resolve_bases
from typing import dataclass_transform, TYPE_CHECKING, Sequence
from dataclasses import dataclass, KW_ONLY
import torch
from torch.types import Device
from tensordict import tensorclass

@dataclass_transform
class _TensorclassMeta(type):
    def __new__(metacls, name, bases, ns, **kwds):
        bases = resolve_bases(bases)
        cls = super().__new__(metacls, name, tuple(bases), ns, **kwds)
        return tensorclass(cls)

@dataclass_transform
class Tensorclass(metaclass=_TensorclassMeta):  # Or: TensorDictBase subclass
    # Demonstrates point (3) above
    if TYPE_CHECKING:
        _: KW_ONLY
        batch_size: torch.Size | Sequence[int]
        device: Device | str | None = None
        ...  # Other  methods

Hey thanks for proposing this!
I agree with all your points, inheritance is easy and understandable for most of the python community, and way less hacky (which is the one thing I do not like about dataclass and consequently tensorclass too).
We thought about that initially, but there are a couple of reasons that made us go for the @tensorclass decorator.
It has mainly to do with the fact that a large community likes @dataclass for the very reason that it does not inherit from anything, you can build a class that is the parent of all subclasses with little trouble.
The idea of tensorclass is to have a dataclass on steroids. If we'd made a TensorClass base, it would have been a mixture of @dataclass and inheritance, a strange class to play with for people used to dataclasses.
Note that we could implement a class & metaclass that implement the isinstance if that makes things easier?
from tensordict import tensorclass, is_tensorclass
import torch

class SomeClassMeta(type):
    def __instancecheck__(self, instance):
        if is_tensorclass(instance):
            return True
        return False
    def __subclasscheck__(self, subclass):
        if is_tensorclass(subclass):
            return True
        return False

class TensorClass(metaclass=SomeClassMeta):
    pass

@tensorclass
class MyDC:
    x: torch.Tensor

c = MyDC(1, batch_size=[])
assert isinstance(c, TensorClass)
assert issubclass(type(c), TensorClass)

That only partially fixes your issues like type checking though.
I'm personally not a huge fan of dataclass but I understand why people like them. I think that most of the time it has to do with typing (i.e., the content is more explicit than with a dictionary). Your solution still offers that so I wouldn't put it aside straight away, but if we consider this we must make sure that it won't harm adoption of the feature for the target audience (ie, users who are accustomed to @dataclass decorator).
RE this point

Notice that unlike dataclasses, where the init signature may entirely be inferred from the class attribute annotations, the current decorator also augments init with extra keyword arguments batch_size, device and names.

I don't see how that relates to the four points you raised about the benefits of subclassing. To me @dataclass suffers from the 4 pitfalls you identified there too, doesn't it?
cc @shagunsodhani @apbard @tcbegley who may have some other thoughts to share on this

Thanks for your swift reply @vmoens! This clears up my main questions on the design choices made.
While I did not intend to advocate immediate alterations to the status quo, I am curious to learn what the intended role of tensorclasses is exactly. From the user perspective, the main reasons listed for using a tensorclass come from the keys being explicitly defined. In that case, weighting the library design in a way that prefers users' code aesthetics (i.e. being similar to @dataclass) over their static type checking capabilities seems a bit off-balance.
Second, was a solution that specifically addresses typing a la typing.TypedDict ever explored?
RE:

It has mainly to do with the fact that a large community likes @dataclass for the very reason that it does not inherit from anything, you can build a class that is the parent of all subclasses with little trouble.

It is my perception that 'it not inheriting from anything' in this context is more relevant to dataclasses than it is to tensorclasses. I would argue:

Dataclasses are a method for defining a class without many implications on functionality. As such, I could understand why one would not want two functionally different dataclasses to share a common base, as the only thing they share is how they were defined and not what they represent. Thus, @dataclass can be interpreted as a code generator that outputs the body of a class.
Tensorclasses are also a method for defining a class, but has significant implications for the functionality. This added functionality is mostly in the form of binding class methods, like would normally be done via a superclass.

Consequently, two tensorclasses will have a larger degree of shared functionality than two dataclasses. This is difficult to define in an exact manner, though.
RE:

I don't see how that relates to the four points you raised about the benefits of subclassing. To me @dataclass suffers from the 4 pitfalls you identified there too, doesn't it?

It does indeed. Let me further elaborate on why I identify this property of init signatures. It is mostly related to problematic typing:

Classes made with @dataclass already have good static type check support (e.g. as shown in Pyright and Mypy)
Until recently (PEP 681), such behavior was non-extensible to other classes with dataclass-like behaviour.

To add typing support for @tensorclass, we could follow PEP 681 and decorate with @dataclass_transform from typing.
However, this would result in batch_size and device missing from the signature at type-check time. To my knowledge, there is no way around this using the decorator-based approach.

If defined as a subclass, we can use @dataclass_transform and TYPE_CHECKING to define the interface of the __init__ method statically in code, providing the user with proper typing using simple and canonical Python.

See code block in the original issue above.

Thank you for your comments, a lot of good points there.
To provide some context on typing: tensordict, like pytorch, is not strongly typed. We do not currently use mypy as part of our CI and it's unlikely that we will in the future.
Regardless of my personal views on type checking (which are not pertinent to this discussion), the potential integration of tensordict's core features into pytorch repo makes it highly improbable that it will ever be type-checked. However, we understand that some users may wish to use mypy with tensordict, and we must consider how to support this.
Proposed Solution
Your suggestion of dataclass_transform looks very cool to me. If I understand correctly, the type checker will only be satisfied with inheritance, correct? This could be a feasible path forward.
Given this, we would find ourselves in the following scenarios based on user requirements:

If a user desires a decorator like dataclass (current status) without typing: all python versions will work.
If a user desires a decorator like dataclass (current status) with typing: This is not possible.
If a user is open to subclassing or compromising the decorator with subclassing and typing: This requires python 3.11.

Would this status quo be acceptable to you? Is the dual usage (as a decorator or subclass) even desirable? It's worth noting that offering two methods to achieve the same result can lead to confusion. Many users are currently familiar with using @tensorclass, so any decision to deprecate it must be carefully considered.
We now need to evaluate the feasibility and implications of these options...

Hey @kurt-stolle I was wondering if you had thoughts about this? #1067
        >>> from typing import Any
        >>> import torch
        >>> from tensordict import TensorClass
        >>> class Foo(TensorClass):
        ...     tensor: torch.Tensor
        ...     non_tensor: Any
        ...     nested: Any = None
        >>> foo = Foo(tensor=torch.randn(3), non_tensor="a string!", nested=None, batch_size=[3])
        >>> print(foo)
        Foo(
            non_tensor=NonTensorData(data=a string!, batch_size=torch.Size([3]), device=None),
            tensor=Tensor(shape=torch.Size([3]), device=cpu, dtype=torch.float32, is_shared=False),
            nested=None,
            batch_size=torch.Size([3]),
            device=None,
            is_shared=False)

The only problem I see atm is that autocomplete doesn't really work (you can have either the tensordict args or the dataclass fields but can't make both).

Hi @vmoens, you mention that autocomplete does not work. When I use my implementation from the original issue above, I do get completions in the editor.

Just to verify, are we talking about the same thing? I did not test the code in #1067.

Hmmm I cannot make this work with python 3.10
What works currently is that all the methods from tensordict / tensorclass appear in the tensorclass object, but the attributes don't appear during construction:

I am not sure how to replicate autocomplete behavior in interactive python, as my experience is limited there. I am also using Python 3.10, however.
I suppose it would work if you remove the __init__(...) function from the interface definition file tensordict/tensorclass.pyi (line 69) and replace it with mocked dataclass fields that represent the keyword arguments. This can be done using KW_ONLY (docs).
Practically, the __init__ definition in tensordict/tensorclass.pyi is removed and the following dataclass field definitions are added/mocked:
_: KW_ONLY
batch_size: Sequence[int] | torch.Size | int | None = None
device: DeviceType | None = None
names: Sequence[str] | None = None
non_blocking: bool | None = None
lock: bool = False

These fields represent the keyword arguments passed to the constructor.
This has the added side-effect that batch_size, device, etc. would become recognized as fields by the language server. I am not sure whether that is desired, e.g. if all these parameters are also accessible as fields after initialization. If not, then they could be wrapped with InitVar (docs).
I am a bit limited in time currently, but if desired I could investigate this and submit an alternative PR to #1067 if I manage to replicate and address the autocomplete issue you desribe.

Upon further inspection, I also see that @dataclass_transform() is not added to the TensorClass in the interface file tensorclass/tensorclass.pyi on #1067. In my example, I added this decorator to both the Tensorclass and its metaclass.

I am not sure how to replicate autocomplete behavior in interactive python, as my experience is limited there. I am also using Python 3.10, however.

Same here, I was just using that to quickly experiment autocompletion. Writing a script isn't different though.

I am a bit limited in time currently, but if desired I could investigate this and submit an alternative PR to https://github.com/pytorch/tensordict/pull/1067 if I manage to replicate and address the autocomplete issue you desribe.

I'm happy with anything as long as existing tests pass!

Upon further inspection, I also see that @dataclass_transform() is not added to the TensorClass in the interface file tensorclass/tensorclass.pyi on https://github.com/pytorch/tensordict/pull/1067. In my example, I added this decorator to both the Tensorclass and its metaclass.

Yeah I tried all combinations (around TensorClass, around the metaclass and around the class in the stub file) and none helped with autocomplete...
By the way, how do you get dataclass_transform to work without parenthesis? (@dataclass_transform())?

I'm happy with anything as long as existing tests pass!

I will submit a PR once I find some time to have a closer look.

By the way, how do you get dataclass_transform to work without parenthesis? (@dataclass_transform())?

That does not work! I see that I made an error while cleaning an excerpt from my own code. It has been corrected.


Stabilize -Zcheck-cfg as always enabled

This PR stabilize the -Zcheck-cfg option as always enabled.
Waiting on https://github.com/rust-lang/rust/issues/82450#issuecomment-1965328542 to complete, but is otherwise ready to be reviewed (in particular the documentation changes). (https://github.com/rust-lang/rust/pull/123501)
Fixes https://github.com/rust-lang/cargo/issues/10554

:umbrella: The latest upstream changes (presumably #13621) made this pull request unmergeable. Please resolve the merge conflicts.

I posted the draft for the announcement blog post: https://github.com/rust-lang/blog.rust-lang.org/pull/1313
It is targeting Rust 1.80 (nightly will branch in 8 days).

While working on https://github.com/rust-lang/rust/pull/124209, I realised that with these documentation changes, Cargo would no longer have a canonical place for the feature.
Which is perhaps a bit annoying, since in rustc we would prefer to direct Cargo users to documentation that focuses on Cargo usage of --check-cfg, specifically for Cargo features and rustc-check-cfg.
We could point users to the cargo::rustc-check-cfg instruction, but this feels sub-optimal.

Cargo would no longer have a canonical place for the feature.

I think what we have for now seems fine.

@Urgau This is still marked as a draft. Is it ready to go?

This is still marked as a draft. Is it ready to go?

@ehuss No, rust-lang/rust hasn't yet updated it's bootstrap compiler to beta 1.79, it's waiting https://github.com/rust-lang/rust/pull/124521.

Why does the bootstrap bump matter?

I think if we try to merge before, we might get into weird behaviours, one I can think of is that bootstrap (the tool) unconditionnaly sets extra --check-cfg args, but since cargo will only set them if it detects that rustc supports them on stable, we will get a discrepancy.
But now that I'm writing this comment, I wonder if we're even using the latest version of Cargo in rust-lang/rust? 🤔

But now that I'm writing this comment, I wonder if we're even using the latest version of Cargo in rust-lang/rust? 🤔

No, rust-lang/rust just uses the beta cargo for building.

In this case, with the CI passing, this PR is ready.

In this case, with the CI passing, this PR is ready.

While this is ready to merge, we'll be holding off until Friday.
Talked with @Urgau about the timing of merging this.  There will be an accompanying blog post for this and we do not want that to overlap with the 1.78 announcement blog post.  The submodule update is scheduled for Friday, meaning that the blog post would at earliest go up Friday anyways if we merged now.  However, just in case we want to do a submodule update early, we will exercise caution.

@bors r+
Thank you everybody!

:pushpin: Commit 388a17f23f2a69a7f4c719dbbf64657b6304b8bb has been approved by weihanglo
It is now in the queue for this repository.

:hourglass: Testing commit 388a17f23f2a69a7f4c719dbbf64657b6304b8bb with merge 7ebc0656735f71e53eb5ea0c10fd8c96c04b3a10...

:sunny: Test successful - checks-actions
Approved by: weihanglo
Pushing 7ebc0656735f71e53eb5ea0c10fd8c96c04b3a10 to master...

Would it make sense to add some common --cfg names from the ecosystem such as #[cfg(loom)] to the allow-list?

Its a bit difficult to decide what is "common" enough to justify inclusion and what level of compatibility we should provide on these.  For now, we are sticking with cfg's that are first-party to cargo.
Something like https://internals.rust-lang.org/t/pre-rfc-mutually-excusive-global-features/19618 would allow registering more configs with Cargo in a declarative manner.
It is unfortunate that hyper and tokio are disabling the lint to avoid the overhead of build scripts

https://github.com/hyperium/hyper/pull/3660
https://github.com/tokio-rs/tokio/pull/6538

Tokio at least has a custom CI job where they check it.  I guess another alternative is a config file with the rustflags set though I always find that annoying when contributing to repos due to my personal workflow.

I understand that including third-party --cfgs is a bit of a can of worms. But I also think that it would significantly reduce the amount of crates that are going to have to silence the lint. You could consider doing a crater run to figure out which flags are common?
In Tokio's case, there's probably no way around disabling it. We use too many --cfg flags for various bespoke ways of configuring the test suite. Making them into features will not work. Build scripts hurt compile times, and rustflags is a bad experience for new contributors. I think that having a dedicated CI run that enables the lint is reasonable compromise.

You could consider doing a crater run to figure out which flags are common?

We did, you can see the results here: https://github.com/rust-lang/rust/issues/120701#issuecomment-1937010106
Deciding what is common enough is difficult since every use-case can be vastly different, the Rust-for-Linux project probably don't want your loom cfg in their build system.
In the stabilization report of --check-cfg I proposed a simple rule for what is constitute a well known cfg, it must be set by a Rust Toolchain tool since that is the least common denominator for all users, everything else is not a well known cfg.

Looks like I'll also have to silence the warning as well: https://github.com/microsoft/windows-rs/pull/3022

I want to reiterate that this creates an issue and a lot of churn for crates that have valid cfg attributes outside of the "expected" list.
Would it be possible for the code itself to define a list of correct (additional) attributes? To give a concrete example, Mio uses two cfg attributes to force a specific implementations. It would be nice if we could add something like the following to our code so that Rust can safe ignore the warnings.
#![expected_cfgs(mio_unsupported_force_poll_poll, mio_unsupported_force_waker_pipe)]

I think this would also solve the "common third party" issue as Loom (and other crates) could recommend to put something like the above into the users code.

See also https://github.com/rust-lang/rust/issues/124800. It's probably best to keep the discussion in one place.


Windows 10 Version 1703 (OS Build 16278.1000) unsupported by RDPwrap.ini

See #194 ?

@lousuan so what? It's different issue, this build is not in the INI file yet.

so. in 16278.10000 i can use trick rfxvmt.dll becajseitjust not listening. butin 16278, it change to not support and not listening

next i want try tonewbuild16281

Not sure what the comments above are relating to, I just would like to know when roughly an entry will be put into RDPwrap.INI for build 16278?

Here is the dll for version 10.0.16281.100
termsrv-10.0.16281.100.zip


Header names should not have underscores

The headers present in the Slim 3.12.0 Request object make use of underscores, whereas those from other frameworks (eg. Diactoros) use dashes. This affects me as I'm trying to implement a reverse proxy with Buzz. I'm taking the Slim request, changing the host and passing it to Buzz with a Curl client. The resulting request hits the server with missing headers (headers containing underscore are not present in the request).
According to the HTTP standard headers with underscores are valid, however servers like nginx silently drop them (unless underscores_in_headers on; is set in it's configuration). I was wondering if this is a bug in Slim or if it's a deliberate decision. A whole class of issues could be avoided if dashes would be used instead of underscore.
Fore reference, here are the headers with slim:
  'HTTP_CONNECTION' =>
    array (size=1)
      0 => string 'keep-alive' (length=10)
  'HTTP_ACCEPT_ENCODING' =>
    array (size=1)
      0 => string 'gzip, deflate' (length=13)
  'HTTP_HOST' =>
    array (size=1)
      0 => string 'test.box' (length=17)
  'HTTP_ACCEPT' =>
    array (size=1)
      0 => string '*/*' (length=3)
  'HTTP_USER_AGENT' =>
    array (size=1)
      0 => string 'PostmanRuntime/7.6.0' (length=20)
  'HTTP_AUTHORIZATION' =>
    array (size=1)
      0 => string 'Basic YjU3NjkzZmQxNWJmMTQyOTlkN2E4M2M4MmMxZDc4YWEzZmQ5YmEzMDo=' (length=62)
  'HTTP_POSTMAN_TOKEN' =>
    array (size=1)
      0 => string '90971226-2211-41c1-bbb6-61c76ba39eb6' (length=36)
  'HTTP_CACHE_CONTROL' =>
    array (size=1)
      0 => string 'no-cache' (length=8)
  'HTTP_X_VALIDATE_RESPONSE' =>
    array (size=1)
      0 => string '1' (length=1)
  'CONTENT_TYPE' =>
    array (size=1)
      0 => string 'application/json' (length=16)
  'CONTENT_LENGTH' =>
    array (size=1)
      0 => string '58' (length=2)
  'PHP_AUTH_USER' =>
    array (size=1)
      0 => string 'b57693fd15bf14299d7a83c82c1d78aa3fd9ba30' (length=40)
  'PHP_AUTH_PW' =>
    array (size=1)
      0 => string '' (length=0)

And here they are with Diactoros:
  'connection' =>
    array (size=1)
      0 => string 'keep-alive' (length=10)
  'content-length' =>
    array (size=1)
      0 => string '58' (length=2)
  'accept-encoding' =>
    array (size=1)
      0 => string 'gzip, deflate' (length=13)
  'host' =>
    array (size=1)
      0 => string 'test.box' (length=17)
  'accept' =>
    array (size=1)
      0 => string '*/*' (length=3)
  'user-agent' =>
    array (size=1)
      0 => string 'PostmanRuntime/7.6.0' (length=20)
  'authorization' =>
    array (size=1)
      0 => string 'Basic YjU3NjkzZmQxNWJmMTQyOTlkN2E4M2M4MmMxZDc4YWEzZmQ5YmEzMDo=' (length=62)
  'postman-token' =>
    array (size=1)
      0 => string 'c850fc9e-0a56-4850-b602-97636ebaef74' (length=36)
  'cache-control' =>
    array (size=1)
      0 => string 'no-cache' (length=8)
  'x-validate-response' =>
    array (size=1)
      0 => string '1' (length=1)
  'content-type' =>
    array (size=1)
      0 => string 'application/json' (length=16)

This is because of the  $_SERVER variable.
See:
https://github.com/slimphp/Slim-Psr7/issues/11
https://github.com/slimphp/Slim/issues/2400

Thank you for pointing out the related issues. Closing this one.

We must make sure that this is 100% fixed in Slim-Psr7!

Note that there's nothing to stop you using Diactoros in Slim 3. Just replace the request and response in the container before you call run().

Would it be enough to use this middleware in Slim 3? Because that's what I'm doing now to create a reverse proxy. https://gist.github.com/sridesmet/a3e0a6f3a3515aaf5d5b4b42479e8c67

Would it be enough to use this middleware in Slim 3? Because that's what I'm doing now to create a reverse proxy. https://gist.github.com/sridesmet/a3e0a6f3a3515aaf5d5b4b42479e8c67

Looks good to me!


angular2-google-maps package update

Their package is deprecating so, can we add new one..

@m2017atTR can you create a pull request with the update after verifying the correct version works well?

Steps according to  docs of angular-google-maps
 > npm uninstall angular2-google-maps
 > npm i @agm/core

app+examples\google-maps
remove: import { AgmCoreModule } from 'angular2-google-maps/core';
add :      import { AgmCoreModule  } from '@agm/core'
app+examples\google-maps add
        <agm-map [latitude]="lat" [longitude]="lng">
        <agm-marker [latitude]="lat" [longitude]="lng"></agm-marker>
         </agm-map>

Thanks @m2017atTR done.


Infer Class base node from Class definition

Given the class's code, we should figure out if it is inheriting from another class and update the model accordingly

This should also effect the generated code so that the base class is loaded prior to the child class


Fixed null pointer and deployment issue on Xenserver with L2 Guest network with configDrive

Description

This PR fixes an issue where an instance fails to deploy due to a null pointer when using an L2 Guest Network with DefaultL2NetworkOfferingConfigDrive on Xenserver. It also fixes migrating an instance to another host.

Types of changes

[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] New feature (non-breaking change which adds functionality)
[x] Bug fix (non-breaking change which fixes an issue)
[ ] Enhancement (improves an existing feature and functionality)
[ ] Cleanup (Code refactoring and cleanup, that may add test cases)

Screenshots (if appropriate):
How Has This Been Tested?

This has been tested by:

Creating an L2 Guest network, using DefaultL2NetworkOfferingConfigDrive as the network offering.
Deploying an instance using the L2 Guest network created.
Migrating the instance away from the host and back

@blueorangutan package

@Spaceman1984 a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress.

Packaging result: ✔centos7 ✔debian. JID-1109

@blueorangutan test centos7 xenserver-65sp1

@nvazquez a Trillian-Jenkins test job (centos7 mgmt + xenserver-65sp1) has been kicked to run smoke tests

Trillian test result (tid-1402)
Environment: xenserver-65sp1 (x2), Advanced Networking with Mgmt server 7
Total time taken: 35354 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr4004-t1402-xenserver-65sp1.zip
Intermittent failure detected: /marvin/tests/smoke/test_privategw_acl.py
Smoke tests completed. 76 look OK, 1 have error(s)
Only failed tests results shown below:

Test
Result
Time (s)
Test File

test_02_vpc_privategw_static_routes
Failure
272.70
test_privategw_acl.py

test_03_vpc_privategw_restart_vpc_cleanup
Failure
256.84
test_privategw_acl.py

test_04_rvpc_privategw_static_routes
Failure
402.47
test_privategw_acl.py

@blueorangutan package

@Spaceman1984 a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress.

@blueorangutan test centos7 xenserver-65sp1

@Spaceman1984 a Trillian-Jenkins test job (centos7 mgmt + xenserver-65sp1) has been kicked to run smoke tests

Packaging result: ✔centos7 ✔debian. JID-1208

@blueorangutan test centos7 xenserver70

@borisstoyanov unsupported parameters provided. Supported mgmt server os are: centos6, centos7, ubuntu. Supported hypervisors are: kvm-centos6, kvm-centos7, kvm-ubuntu, xenserver-71, xenserver-65sp1, xenserver-62sp1, vmware-67u3, vmware-65u2, vmware-60u2, vmware-55u3, vmware-51u1, vmware-50u1

@blueorangutan test centos7 xenserver-71

@borisstoyanov a Trillian-Jenkins test job (centos7 mgmt + xenserver-71) has been kicked to run smoke tests

Trillian test result (tid-1537)
Environment: xenserver-71 (x2), Advanced Networking with Mgmt server 7
Total time taken: 30299 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr4004-t1537-xenserver-71.zip
Intermittent failure detected: /marvin/tests/smoke/test_privategw_acl.py
Intermittent failure detected: /marvin/tests/smoke/test_routers_network_ops.py
Intermittent failure detected: /marvin/tests/smoke/test_scale_vm.py
Smoke tests completed. 75 look OK, 2 have error(s)
Only failed tests results shown below:

Test
Result
Time (s)
Test File

test_02_vpc_privategw_static_routes
Failure
256.08
test_privategw_acl.py

test_03_vpc_privategw_restart_vpc_cleanup
Failure
227.39
test_privategw_acl.py

test_04_rvpc_privategw_static_routes
Failure
360.70
test_privategw_acl.py

test_01_scale_vm
Failure
12.44
test_scale_vm.py

@blueorangutan package

@nvazquez a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress.

Packaging result: ✔centos7 ✔debian. JID-1251

@blueorangutan test centos7 xenserver-71

@nvazquez a Trillian-Jenkins test job (centos7 mgmt + xenserver-71) has been kicked to run smoke tests

Trillian test result (tid-1575)
Environment: xenserver-71 (x2), Advanced Networking with Mgmt server 7
Total time taken: 38207 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr4004-t1575-xenserver-71.zip
Intermittent failure detected: /marvin/tests/smoke/test_iso.py
Intermittent failure detected: /marvin/tests/smoke/test_privategw_acl.py
Intermittent failure detected: /marvin/tests/smoke/test_scale_vm.py
Intermittent failure detected: /marvin/tests/smoke/test_ssvm.py
Intermittent failure detected: /marvin/tests/smoke/test_vpc_redundant.py
Smoke tests completed. 75 look OK, 2 have error(s)
Only failed tests results shown below:

Test
Result
Time (s)
Test File

test_02_vpc_privategw_static_routes
Failure
262.94
test_privategw_acl.py

test_03_vpc_privategw_restart_vpc_cleanup
Failure
223.79
test_privategw_acl.py

test_04_rvpc_privategw_static_routes
Failure
314.26
test_privategw_acl.py

test_01_scale_vm
Failure
20.63
test_scale_vm.py

@DaanHoogland can you review this? Thanks (I'm not following this)

@nvazquez (cc @Spaceman1984 ) I'm leaving this with you for now? it was reviewed and tested. Can you give it a last glance and merge?

@blueorangutan package

@rhtyd a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress.

Packaging result: ✔centos7 ✔debian.

Discussed with @Pearl1594, the operations for config drive are only consumed on the default nics; in case of multiple nics there won't be any regressions.


Load config with viper and enviper

We can use viper for loading configuration from file/environment but the problem is that viper requires the Config struct fields to be tagged with mapstructure which looks ugly and is a maintenance headache
So the solution is to use enviper which is a wrapper on viper which does not requires any tagging to load config from env variables.
It first checks for availability of the config file. If present loads the config from it and overrides any configuration that is stored with env variables.
enviper does not through any error in case the config file is missing, instead it simply tries to load from env variables if present.

Implemented with commit 1da71689da5ac0d54959d564d2b8943f51711141


[Issue] - Health Checker reports missing web.config but information is outdated

Provide Version Number
<IP_ADDRESS>1
Describe the issue
Running Health Checker on multiple Exchange 2019 (CU12 Nov22SU) servers, reports the following:
Missing Configuration File:
        Missing: C:\inetpub\AutodiscoverRoot\web.config
        More Information: https://aka.ms/HC-MissingConfig

Expected behavior
The article referenced in "More Information" relates to an article that seems unrelated and irrelevant.
Additional context
We see no issues with autodiscover, so the missing configuration file might not be a real issue or if so, the provided article is irrelevant for the specific issue.

For some reason you have a virtual directory that would have the configuration files located at c:\inetpub\AutodiscoverRoot\ which is not typical as it should be located inside of the Exchange Install directory. There is something likely additional on your server that we just don't know how to handle because this isn't typical.
Do you have a 3rd site in IIS? Are you able to provide the output from your Health Checker with -Verbose to include the debug log?

@kenmich If you can/want to share the verbose output (.\HealthChecker.ps1 -SaveDebugLog) with us, feel free to email the log to: ExToolsFeedback[at]microsoft[dot]com

Yes, we are running two extra websites in IIS, in order to handle autodiscover redirect. It was done after a Microsoft best practice, although I am unable to find the article at the moment. Maybe it was lost when moving to Microsoft Learn.
It's not a production issue, but just the warning that is irrelevant. I have submitted the debug log via. e-mail as asked.

Is it this article?
https://techcommunity.microsoft.com/t5/exchange-team-blog/configuring-multiple-owa-ecp-virtual-directories-on-the-exchange/ba-p/611217
It states:
Microsoft supports using multiple Outlook Web App (OWA) and Exchange Control Panel/Admin Center (ECP) front end virtual directories on a server with the Exchange 2013 Client Access Server role, when each is in its own website and is named ‘OWA’ and ‘ECP’.  Each virtual directory must be listening on the standard TCP 443 port for the site.
So, if you have multiple AutoDiscover vDirs in place, this might be an unsupported scenario (have to investigate).

No it was not that specific article. it was specifically for autodiscover redirect.

Confirmed - we received your email.
If I remember correctly, there was something like this described for Exchange Server 2007. If you find the article, please share it with us.

There are no more warnings with version <IP_ADDRESS>4. All looks good now!


Started using ros2 parameter to define publish state frequency in server

Signed-off-by: Aaron Chong<EMAIL_ADDRESS>Bug fix
Fixed bug

Closes https://github.com/open-rmf/free_fleet/issues/85
Fix applied

Uses ROS 2 parameterized publish_state_frequency for state publishing frequency, instead of hard coded value.

Mine seems to fluctuate without the fake_client so I believe it is just limited by implementation and our hardware. I'll open another ticket to experiment with the subscribing implementation using waitsets and other functions of the listeners.
aaron@excellence2:~/workspaces/ff_main$ ros2 topic hz /fleet_states
average rate: 40.273
	min: 0.002s max: 0.062s std dev: 0.01574s window: 41
average rate: 42.827
	min: 0.002s max: 0.065s std dev: 0.01373s window: 87
average rate: 43.515
	min: 0.002s max: 0.082s std dev: 0.01332s window: 132
average rate: 43.936
	min: 0.002s max: 0.082s std dev: 0.01309s window: 178


[SUPPORT] Does Hudi supports using Arrow IPC instead of parquet?

I got to know that arrow IPC files have significant performance benefits because the loading is much much faster and compression, while worse than parquet, is still pretty good.
The documentation states that hudi can be used with columnar formats like parquet and orc. Arrow IPC is such a format. I couldn't find any issue or documentation mentioning it.
Is it supported or planned to be supported?

Still planned.


Adding Long Click functionality

Adding the ability to long click touch events for each image.

Hi! Is it released? Because I can't find the long click method in the current version...

Hi @sayyam! Is it possible to accept the pull request and release a new version? Or is this library not maintained anymore?

A workaround:
imagesCarousel.setImageListener { position, imageView ->
    imageView.setOnLongClickListener {
        onLongClick(position)
        return@setOnLongClickListener true
    }

    imageView.setOnClickListener {
        onClick(position)
    }
}


[Gradle] Tool doesn't check for root project dependencies

Currently, in multi-project gradle builds, the gradle dependencies task is only run in the sub-projects. This will cause any dependencies declared in the root project to not be captured. Example repo with sbom . Notice that slack-api-client has been added as a dependency to the root project, but is not captured in the sbom.

@ajmalab, missed you today! Today turned out to be one of those stage 6 days here in Stellenbosch with power out for 8 hours. Will get on this as soon as the electricity is back. If you fancy sending a PR, we just have to remove this if condition here
https://github.com/CycloneDX/cdxgen/blob/master/index.js#L1239


A couple different features form our working session

Based on the work we did on the video call, here's the three changes we made.

Another One


Multiple columns in where condition

Hey!
First of all a big thanks for implementing this wonderful package.
I wanted to know whether we could have multiple sql columns in where condition, I have pasted the code from your example. I want to add more columns in this where block. How to achieve this.
  where: (usersTable, args, context) => {
    return `${usersTable}.id = ${args.id}`  // here I want to put `${usersTable}.email= ${args.email}`
  },

Thanks in advance

Do you mean something like this?
where: (usersTable, args, context) => {
  const whereClause = [];
  if (args.id) {
    whereClause.push(`${usersTable}.id = ${args.id}`);
  }
  if (args.email) {
    whereClause.push(`${usersTable}.email = ${args.email}`);
  }
  // and so on ...
  return whereClause.join(' AND ');
}

Exactly..thanks


Schedule Tasks

It would be nice if we can have the feature to set our future tasks and the approximate time to work on and the desktop app will remind to start the scheduled task.
Thank you for your awesome app.

We have decided not to implement this feature into Toggl Desktop. Thank you for your feedback.


Dust workaround

I have enabled the dust workaround:

I have the following activities for a specific cryptocurrency:

But apparently the dust workaround is not working because the holding is still showing up in ghostfolio with quantity 0 and value 0. Is my understanding correct that the DUST should be zero when the workaround is enabled?

Yes, it should get the total to 0, however it is experimental and apparently broken 😇.
Will put it on the todo list.

@pvieira84 , I have edited some code, if you are feeling brave you can try it. Haven't had the time to test it thoroughly, but it appears to make it a bit better.

@VibeNL should I go ahead and test it or are you still doing adjustments?

Here are the results of my tests. I had around 15 crypto coins with dust and +/- 10 of them were correctly zeroed however the following cryptos were correct before and are now incorrect. On the left you can see the activities before your fix and on the right the activities after your fix.

hmm, I'll have a look 😢

Just to be sure, can you share your config file (or at least the settings configuration)?

Here you go:

Could you give it another go?
I currently have some issues with my installation 😅

Magic :)

All green 💚, merging it to master 😇


Add Redditor.block()

Feature Summary and Justification
This feature provides support for the API endpoint /api/block_user, which I believe is fairly new. Specifically, it adds the Redditor.block() method, which accepts no params and blocks the Redditor it belongs to.
References

https://www.reddit.com/dev/api/#POST_api_block_user

Fantastic addition. Thanks!


Implement shadows

Three.js now supports shadows for point lights. Would be great to have in Vizor as well.
Here is the relevant github issue from three.js
https://github.com/mrdoob/three.js/pull/7153

dupe of #955


Is there a way to see if a local notification has been opened?

I have the following code that triggers the local notification but need an event listener that listeners for when it's been opened / app opens from the notifications
VoipPushNotification.presentLocalNotification({
      alertBody: notification.getMessage()
});

event implemented


[Bug] vcgencmd not available on a headless/lite version

Checklist

[ x] I have read the Contributing Guidelines for this project.
[ x] I agree to follow the Code of Conduct that this project adheres to.
[ x] I have searched the issue tracker for an issue that matches the one I want to file, without success.

Issue Details

MOTD Version:

0.1.0

Operating System:

raspios bullseye arm64lite

Actual Behavior

when logging in to ssh, I get a line at the top of the console "-bash: /opt/vc/bin/vcgencmd: No such file or directory" and a blank temperature readout.
Steps To Reproduce

install your utility on headless raspberry pi os, log in, notice no temp readout.
Expected Behavior

expected to see temperature readout.
Screenshots

Additional Information

I found this article describing a way to grab the temperature on a rpi headless
https://www.pragmaticlinux.com/2020/06/check-the-raspberry-pi-cpu-temperature/

Hello @savage4618, sorry for the delay, I'll do the tests and fix it ASAP.

I think changing the line in the path to /usr/bin/vcgencmd works in Bullseye
I will test in new bookworm launched last October 10, 2023


macOS Sierra Support

It appears that BTHSControl no longer functions with macOS Sierra, as tested with the GM released on September 8th.

I am planning to upgrade to Sierra soon...perhaps I need to hold off a bit until this is resolved

Indeed, I just built it today (on the latest dev release of Sierra), and it does not work. Lots of errors like this in the console:
default	16:22:20.441531 -0700	AVRCPAgent	[establishKernelConnection] Received an error from IOServiceOpen() - 0xe00002c7.  NULLing out io_service_t.
I'm guessing something needs to be updated for new Sierra kernel stuff.

Is there any chance of getting this fixed? I'm not experienced with any form of Mac OS development or I'd attempt to figure this out myself.

Unfortunately Sierra is not on my roadmap at the moment. I've swapped over to Linux for work and have had no free time to tackle this. If anyone does find a fix, or things end up working like ev0rtex suggests, let me know. Other than that, I might potentially have time to look at it when the holidays roll around.

I gave it a shot on 10.12.2 and this gets into the logs:
default	11:45:08.790896 +0100	AVRCPAgent	BTHSControlPlugin installed
default	11:45:08.792618 +0100	AVRCPAgent	Setting Delegate: <BluetoothAVRCPAgent: 0x7f94f6706c90>
default	11:45:08.799402 +0100	AVRCPAgent	[establishKernelConnection] Received an error from IOServiceOpen() - 0xe00002c7.  NULLing out io_service_t.

Not working.

Since no one mentioned and there's no plan for an update, I found this alternative to BTHSControl. The beta version is working here for Sierra -> https://github.com/jguice/mac-bt-headset-fix#beta-version


Fix rust call analysis by explicitly disabling stripping of debug info

Latest rust version (1.77) implemented stripping release binaries by default. This makes the call analysis stop working, so explicitly disable the stripping behaviour when building for analysis.
https://blog.rust-lang.org/2024/03/21/Rust-1.77.0.html#enable-strip-in-release-profiles-by-default

Yes it should be, the flag has existed for a long time, it's just been defaulted to debuginfo.


Single Select - Dropdown is appearing for multiple times on Cell click

Hi Team ,
Am using SingleSelect option , If am trying to select a value from the dropdown  , The dropdown is appearing for multiple time on cell click on left side .
Please help me regarding this issue !

This repo is dead. Are you using mleibman/SlickGrid anyway? The latest repo is at https://github.com/6pac/SlickGrid


Link dropdown doesn't show when markdown hidden

Is the bug present when using the default Obsidian theme?
No
Is the bug present when snippets and plugins are disabled?
Yes
Minimal theme version
7.5.2
Describe the bug
The note selection dropdown doesn't show when typing [[ to link to another note.
Debug info
SYSTEM INFO:
Obsidian version: v1.5.8
Installer version: v1.4.16
Operating system: Darwin Kernel Version 23.3.0: Wed Dec 20 21:30:44 PST 2023; root:xnu-10002.81.5~7/RELEASE_ARM64_T6000 23.3.0
Login status: not logged in
Insider build toggle: off
Live preview: on
Base theme: light
Community theme: Minimal v7.5.2
Snippets enabled: 0
Restricted mode: off
Plugins installed: 19
Plugins enabled: 17
1: Advanced Cursors v0.5.1
2: Advanced URI v1.40.0
3: Calendar v1.5.10
4: Code Editor Shortcuts v1.14.0
5: Contextual Typography v2.2.5
6: Daily notes opener v2.0.2
7: Focus Mode v1.11.4
8: QuickAdd v1.8.1
9: Style Settings v1.0.7
10: Hover Editor v0.11.17
11: Natural Language Dates v0.6.2
12: Recent Files v1.3.10
13: Navigate Cursor History v1.1.0
14: Minimal Theme Settings v7.3.1
15: Archiver v0.26.1
16: Nifty Links v1.2.0
17: Auto Card Link v1.2.3
RECOMMENDATIONS:
Custom theme and snippets: for cosmetic issues, please first try updating your theme and disabling your snippets. If still not fixed, please try to make the issue happen in the Sandbox Vault or disable community theme and snippets.
Community plugins: for bugs, please first try updating all your plugins to latest. If still not fixed, please try to make the issue happen in the Sandbox Vault or disable community plugins.

I cannot reproduce. Please try an again in restricted mode. I suspect this is due to a plugin or snippet.

How do I enable the "hide markdown syntax" without the Style Settings plugin though?
I disabled all plugins except Style Settings and Minimal Theme Settings, but the problem still occurs.


Discussion: What do you guys think about this?

While hacking a Skuba-ish package at REA, one of my colleagues showed me Projen.
This has off-the-bat TypeScript scaffolds but also lets you define your own custom ones. The only thing that annoys me is this but I could live with it:

As opposed to existing templating/scaffolding tools, projen is not a one-off generator. Synthesized files should never be manually edited (in fact, projen enforces that). To modify your project setup, users interact with rich strongly-typed class and execute projen to update their project configuration files.

Hey stranger! Didn't mean to ignore this 😅.
I think that looks pretty cool and seems a bit more along the lines of how sku handles its synthesised files. In theory something like skuba could wire itself up to use Projen under the hood if it's got a lot of upside.
A few points I'd note here:

skuba started out very conservatively with the goal in mind that we could always drop individual features or even the whole package if we didn't get much adoption and/or found that core TypeScript tooling or an alternative toolkit was mature enough to adopt instead. To that end it was written as a collection of extendable configs that could be decoupled (for example, you can use eslint-config-skuba by itself). The Projen/sku approach is definitely more maintainable and I'd probably lean more in that direction if we were to start over with a guarantee that we'd make it into SEEK's technology strategy.
I just skimmed Projen so I'm not sure of the extent of its customisability, but you'll always have a bit more control if you're working off of a fork or maybe even your own superset wrapper. If that matters to you.
There are a few ecosystem concerns (e.g. Yarn Berry, Babel vs tsc, ESM) where you may want to have control over whether/when support should land.


D7 module

Hey team,
I see a D7 module mentioned in this presentation from DrupalCon Dublin as 29:29:
https://www.youtube.com/watch?time_continue=1769&v=rezn59U9CAk
Where may I find that?

The D7 module is on Drupal.org: https://www.drupal.org/project/lcache


Different migration table name

I'd like to use something else (conflict with existing db).
Could you provide it as configuration option?

addressed in https://github.com/theoephraim/node-pg-migrate/commit/fe980014f6c45c8d1a56e461d6c7ce066f948360


check-requirements: add imagemagick

Description
ImageMagick is needed to perform some tasks for files and IIIF (e.g. width and heigth extraction).
Since it is a system package and its installation depends on the OS, it can be checked in the same fashion than in the processors here.
Goal: add a new step here which checks it's existence. Note that the containerized version will need this https://github.com/inveniosoftware/cookiecutter-invenio-rdm/issues/159 to be solved.
It is only needed for:

IIIF
File metadata extraction

So it might not be a "hard" failure if not found but sort of a warning instead?

The command to check the version of ImageMagick behaves differently in CentOS, we need to explore other options to make the command work in different platforms.


Is there Warping Operation available for Ubuntu versions

Using the option fast_reconstruction under Ubuntu's TensorFlow1.4.1 environment, I experienced the following error：
AttributeError: module 'tensorflow.python.user_ops.user_ops' has no attribute 'reconstruction'
Thank you very much for your help

The custom reconstruction op does not have Ubuntu supported now. Please disable this option instead.


GPU mode?

I ran it on 2 GPU, 4 GPU, and 6 GPU on one node, but I don't know why the more GPU the slower it runs

2GPU has 2.9it/s
1GPU has 3.4it/s

What batch sizes did you use with different number of GPUs? With the same batch size, I think a little slow behavior is expected.


chore(deps): Upgrading required versions of deadline and openjd

What was the problem/requirement? (What/Why)
The openjd EntryPoint timeout parameter which is required by the current version mainline version of the plugin is only in openjd 0.8.1 and above.  Openjd 0.8.1 requires pywin32 308, but deadline 0.48.9 required pywin32 306.
What was the solution? (How)
Upgrade dependency versions.
What is the impact of this change?
Plugin should install without complaints about version conflicts.
How was this change tested?
hatch run test
hatch run fmt
hatch run lint
hatch build and pip install
Was this change documented?
No
Is this a breaking change?
No

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

supernit: the commit history on this branch is very complicated maybe you need a rebase?


Add a runtime timeout using context

For embedded use a runtime timeout would make running Awk much safer IMO. I have read using context does impact performance however it doesn't leak goroutines. This was the simplest way I could think of to add a timeout to the runtime of the script.

Might be worth exposing the context from an API perspective as this Lua implementation has.

This is a good idea, thank you. I'll take a look in the next week or so.

I was wondering if creating a Sandbox configuration structure that would be composed in the Config structure. This might help organize the code a bit and allow for more fined grained control over the feature set.
Concept:
// Bitmasked flag of options for sandboxing the awk vm
type SandboxFlag uint8

const (
	// Enable the 'system' call that can execute shell scripts
	Exec SanboxFlag = 1 << iota
	// Allow file reads
	FileReads
	//  Allow file writes
	FileWrites

	EnableAllFlags = Exec | FileReads | FileWrites
)

// Sandbox configurations
type Sandbox struct {
	// List of flags enabled for security it defaults to none
	Flags SandboxFlag
	// Control length of runtime of a script
	Timeout time.Duration
}

Hi @lateefj, thanks for this, I like this idea for safety in an embedded context (eg, a denial-of-service attack caused by a user-submitted BEGIN { while (1); } script or something).
I've played with the idea a bit, and the thing I don't like about this implementation is that if the script does time out, it'll return to the calling code, but the goroutine running execProgram will continue to run merrily in the background, eating up CPU cycles and leaking a goroutine.
So I think we need a way for the interpreter to check for the timeout at various points and terminate if it's timed out. yuin/gopher-lua does this by checking ctx.Done() every time around the bytecode loop, but it adds a lot of overhead. I think in GoAWK we'd need to check in ForStmt, WhileStmt, DoWhileStmt, and the constructs that call os/exec (pass the ctx down). Everything else should terminate ... hmm, but maybe I'm thinking about this wrong.
Also, I can't decide on whether the API should be adding a config.Timeout field as you've done, or adding a new ExecProgramContext function that takes a ctx is its first argument (and you can specify a timeout using context.WithTimeout if you want). I'm leaning towards the latter as it seems more Go-ish (and we could pass the ctx down to os/exec).

I tried to use the context approach to extend the API but I couldn't seem to make it work without leaking coroutines. I created another implementation here for comparison.

Hi @lateefj, I've been playing with this and different approaches. I have a version of it in my working copy, but unfortunately it slows things down by 10% or so even with the timeout turned off (and much more with it turned on). gopher-lua handles this by duplicating the main VM dispatcher loop, but it's only a few lines of code. With GoAWK I'd have to duplicate a lot of code to make this fast. I guess I might be able to use a constant with a build flag to enable it, but I'm not too familiar with that approach.
The other concern I have here is just because a script has a timeout doesn't make it safe for the script to come from user input, because you can fairly easily write an AWK script which uses hundreds of GB of memory and kill resources that way instead (memory instead of time). In general, protecting against resource usage is a hard problem especially in a GC'd language. If you need safety for user scripts (think Go Playground), it's safest to run the whole process in a sandboxed process with OS-enforced limits.
Overall I think I'd rather have this driven off a real use case. I don't have one at this point. Is yours a real use case where you needed a timeout? If so, what is the use case?

@benhoyt I think I generally agree with your assessment. To sandbox it would need to be an upfront design decision. I wanted to experiment with adding json as an input type and use AWK as a general purpose tool for processing it. Build tags are a good idea but not sure how they would work as a library.

Going to close this for now, per discussion above.


Link non-owned games to Steam pages

Feature request from GAF: point the link to the Steam page and point the modbot code to the PM screen

This is the subject of my pull request. Consider it done!

Fixed in #6