[SUGGESTION] Name Change

Is your feature request related to a problem? Please describe.
Name is pretty weird and cant be found in any search unless searched for "shuttfup" or "Stfu" u cant find the mod, which is kinda annoying and thats why i didnt realize it existed till now and found it by luck in Fabulously Optimized's github.
Describe the solution you'd like
More clear name that will be able get searched in Modrinth way clearer and will appear in the search would be way better in my opinion.

Just like this one even tho that one is not searchable very much too.
Name suggestions:
Quiet Fix
Chill Out Mojang
Stop It Mojang
and more that you can imagine.
The situation is so bad that even searching "stfu" doesnt help, S should be capitalized...

I was kinda ignoring this issue but just now I saw someone with a new project that got more views in a couple of days than me in months so this issue appears to indeed be bad.

The situation is so bad that even searching "stfu" doesn't help, S should be capitalized...

This is not true tho, you probably searched for it while I was fixing the versions which did weird things with modrinth search and made it so sometimes only searching stfiu worked but nothing else.
Of course this is not as simple as just changing the name, I want a good name with a fitting logo and then still the change will be very confusing for all current users.
For the name itself it probably will have to be something completely different as the name is only because of the original features and does not really make sense anymore.
But i will think about this and we will see what happens...

I'd like to suggest adding various tags (just as plain text) to the mod's description. It would make it easier to find. I've seen this being done before.

That is not ho< modrinth search works i am pretty sure, it only searches actual tags, the name and the short description

That is not how modrinth search works I am pretty sure, it only searches actual tags, the name and the short description.

Yup


Support for nested root finders

I just wanted to confirm that Optimistix supports nested root finders?  I'm getting a ValueError related to closure:
  def __call__(self, x):
>       return self.fn(x, self.args)
E       ValueError: Closure-converted function called with different dynamic arguments to the example arguments provided.

If so, I'll spend more time trying to figure out the problem.

Optimistix does support this! It looks like you're probably running into a known issue when using an old version of Equinox and a new version of JAX. Upgrading to the latest version of Equinox (by coincidence I've also just released v0.11.8, give it a try!) should probably resolve this.

Indeed it was an easy fix -  I'm running with equinox 0.11.8 and Jax 0.4.33 and all works as expected now.  Interestingly, with Jax 0.4.34 I ran into a different error.

For JAX 0.4.34 -- I've just ran into an issue here myself; possibly it's the same one! I've got a possible fix for Optimistix in https://github.com/patrick-kidger/optimistix/pull/87 and for Lineax in https://github.com/patrick-kidger/lineax/pull/111 .
(For reference, Optimistix depends on both Lineax and Equinox, which is why I'm mentioning them here.)
Can you give those a try and see if those fix things for you? If so, great, and I'll do a release! If not I'd love to have a MWE.

I've not ran into this problem since, so closing the issue with my current setup:
optimistix = "0.0.9"
jax = "0.4.38"
equinox = "0.11.10"


Expansion of the metadata object

Describe the solution you'd like
As per my comment here, I think we can improve/expand on the metadata object that was recently added to tree nodes.
In general, metadata is used to provide additional static properties that can be used to provide unique rendering or functionality to the given node.  In many (similar) libraries, we can also use this metadata object to pass mutable data between rerenders. With this in mind, the current scope of the metadata object is too limited. Therefore, I propose that we do 2 things:

Do not clone metadata in the flattenTree function
Allow any object (keys/properties) as metadata

1. Do not clone metadata
As a user, I would expect that metadata object that I pass into a node would be the same object before and after the flattenTree call. In most javascript/typescript libraries, it is generally expected that if you pass an object to a function, then that object is mutable. If you (the user) don't want your data to be mutable, then you (the user) should handle the immutability yourself.
Therefore, we should not be doing a shallow clone of the metadata object as this breaks the expected way in which javascript objects should be handled
2. Allow any object (in the types)
The only reason we currently only allow a non-nested object is so that flattenTree can do a shallow clone. However, users who build their INode trees manually, either through async data calls or through manual data mapping, do not use flattenTree and therefore should not be limited in how metadata is handled in their nodes.
If we are no longer cloning the metadata object (see my first point), then there is nothing stopping us from supporting any object as metadata. This would allow us to pass anything as metadata including nested objects, functions or even an instances of a class.
For example, you could pass a helper function to determine which color to use, rather than having to pass a hard-coded color to the metadata object:
const metadata = {
  defaultColor: 'red',
  getNodeColor: (rendererProps: INodeRendererProps): string => {
    return rendererProps.isSelected
      ? someComplexWayToCalculateColor()
      : renderProps.element.metadata.defaultColor;
  },
}

If there are changes to the interfaces, please describe them here:

Rename IFlatMetadata to IMetadata
Don't use the Record<> helper type. The metadata object is completely user controlled and operated on, we don't do anything with it except detecting if it exists. Therefore, the type of metadata should be unknown.

export type IMetadata = unknown;

We should also allow users to set the type of the metadata when defining the props of their tree. Therefore, we should add generics for metadata to any interface or function that contains a reference to the INode type so that user defined metadata correctly propagates to all internal functions. This includes:
ITreeViewProps
ITreeViewOnLoadDataProps
ITreeViewOnExpandProps
ITreeViewOnNodeSelectProps
ITreeViewOnSelectProps
INodeRendererProps
INodeProps
INodeGroupProps

usePreviousData
isBranchNode
getParent
getAncestors
getDescendants
getChildren
getSibling
getLastAccessible
getPreviousAccessible
getNextAccessible
propagateSelectChange
getAccessibleRange
propagatedIds
isBranchSelectedAndHasSelectedDescendants
isBranchNotSelectedAndHasAllSelectedDescendants
isBranchNotSelectedAndHasOnlySelectedChild
isBranchSelectedAndHasOnlySelectedChild
getTreeParent
getTreeNode
validateTreeViewData

Node
NodeGroup

Describe alternatives you've considered
I'm not sure this applicable here.
Additional context
I would be happy to submit a PR to handle this.

@Pearce-Ropion we took over this library since it was abandoned. We’re trying to add new life to it, but we don’t know it’s history. So I can’t answer why it used clone in the first place. As to why it’s not deep cloned, I don’t think it’s appropriate to have widget bring in a deep clone library due to the size of such libs, so when I PR reviewed the metadata enhancement the contributor and I decided shallow clone was enough.
Anyway, if you can PR this and allow a nested object on metadata and not break the tests, then go for it.
@mellis481 or @kpustakhod do you know why the shallow clone was there in the first place?

Yes, I agree that no cloning would be ideal if it is possible to do so. But I am assuming that cloning was necessary so to the original library creator adding it into the logic.
Anyway, I have type changes that I’ve requested on your PR.

Would be awesome to see a solution. Right now IFlatMetadata is also disallowing booleans to be used.

@donaldpipowitch we’ll accept a PR for the Boolean enhancement. However, I’m less sure of the nested object enhancement since the application code can store the list of nested objects and then you can just have a reference in the state of the tree view. I know I’m not explaining the workaround well, but I don’t see why your widget would have to keep all of your data. But a Boolean, sure. So send us a PR if you’d like for that.

@donaldpipowitch we’ll accept a PR for the Boolean enhancement. However, I’m less sure of the nested object enhancement since the application code can store the list of nested objects and then you can just have a reference in the state of the tree view. I know I’m not explaining the workaround well, but I don’t see why your widget would have to keep all of your data. But a Boolean, sure. So send us a PR if you’d like for that.

In the case you've described, there is no point to even having the metadata property in the first place since you could apply the same logic for anything you can currently store in metadata. The idea with the metadata object is that you don't have to do a nested search through the data in the application because you are already iterating through it in order to render the tree. Therefore, the metadata itself should be treated as a quality of life improvement.

@Pearce-Ropion i understand your perspective, but at this point if I’m my comments can’t be resolved as requested, I honestly don’t have more time to spend on this.
I will absolutely accept a pr that allows booleans. But this nested metadata stuff is more than I think I want to support “in my free time.” I’m considering locking this specific issue as won’t do. It’s a matter of our small team not being able to support all cases for all apps. My workaround above is reasonable and any consumer should be able to utilize linked lists or a hash map to do this in such a way that performance is not a problem.
This repository is meant to focus on the accessibility needs and that’s where our focus will stay. If you want a tree that can handle tons of scenarios, go look at behemoths like KendoUI.
I won’t be replying for a few weeks as I must focus on an important work deadline. In the meantime, if you can make the change without a breaking change, without type casting, without the any keyword, and the tests pass, we will consider it. But I just want to be fair to you to communicate that this is not a high priority feature and therefore our focus is elsewhere. I hope that helps you with prioritizing your own work.


Error with track composite using HLS segments

The egress service works fine on individual tracks and track composite when generating an MP4. Both upload fine to S3 after completion. When attempting to use HLS I get an error below. Wondering if anyone had any insight. Thanks.
{"level":"error","ts":1659482383.8220048,"logger":"egress","caller":"pipeline/pipeline.go:725","msg":"pipeline error","nodeID":"NE_PDiGa63Zs5mz","egressID":"EG_Zy5A33BurgpG","debug":"../libs/gst/base/gstbasesrc.c(3127): gst_base_src_loop (): /GstPipeline:pipeline/GstBin:input/GstAppSrc:videoAppSrc:\nstreaming stopped, reason not-linked (-1)","message":"Internal data stream error.","error":"Internal data stream error.","stacktrace":"github.com/livekit/egress/pkg/pipeline.(*Pipeline).handleError\n\t/workspace/pkg/pipeline/pipeline.go:725\ngithub.com/livekit/egress/pkg/pipeline.(*Pipeline).messageWatch\n\t/workspace/pkg/pipeline/pipeline.go:566\ngithub.com/tinyzimmer/go-gst/gst.goBusFunc\n\t/root/go/pkg/mod/github.com/livekit/go-gst@v0.0.0-20220603230042-cef031256427/gst/cgo_exports.go:128\n_cgoexp_752bbda710ba_goBusFunc\n\t_cgo_gotypes.go:17360\nruntime.cgocallbackg1\n\t/usr/lib/go-1.16/src/runtime/cgocall.go:292\nruntime.cgocallbackg\n\t/usr/lib/go-1.16/src/runtime/cgocall.go:228\nruntime.cgocallback\n\t/usr/lib/go-1.16/src/runtime/asm_arm64.s:1055\nruntime.asmcgocall\n\t/usr/lib/go-1.16/src/runtime/asm_arm64.s:917\nruntime.cgocall\n\t/usr/lib/go-1.16/src/runtime/cgocall.go:164\ngithub.com/tinyzimmer/go-glib/glib._Cfunc_g_main_loop_run\n\t_cgo_gotypes.go:2819\ngithub.com/tinyzimmer/go-glib/glib.(*MainLoop).Run.func1\n\t/root/go/pkg/mod/github.com/tinyzimmer/go-glib@v0.0.25/glib/gmainloop.go:53\ngithub.com/tinyzimmer/go-glib/glib.(*MainLoop).Run\n\t/root/go/pkg/mod/github.com/tinyzimmer/go-glib@v0.0.25/glib/gmainloop.go:53\ngithub.com/livekit/egress/pkg/pipeline.(*Pipeline).Run\n\t/workspace/pkg/pipeline/pipeline.go:210\ngithub.com/livekit/egress/pkg/service.(*Handler).HandleRequest.func2\n\t/workspace/pkg/service/handler.go:59"}

Fixed in https://github.com/livekit/egress/pull/68

Thanks for the quick reply. I'm still getting the error. I've verified chart/app version v1.1.0 and restarted the pods.
{"level":"debug","ts":1659642872.4782152,"logger":"egress","caller":"pipeline/pipeline.go:639","msg":"[src] STREAM-STATUS - Stream status from audioAppSrc: A thread has entered its loop function","nodeID":"NE_i7qAwrwF3dC4","egressID":"EG_biCm3BdmceMQ"}
{"level":"debug","ts":1659642872.478236,"logger":"egress","caller":"pipeline/pipeline.go:639","msg":"[src] STREAM-STATUS - Stream status from videoAppSrc: A thread has entered its loop function","nodeID":"NE_i7qAwrwF3dC4","egressID":"EG_biCm3BdmceMQ"}
{"level":"debug","ts":1659642872.478256,"logger":"egress","caller":"pipeline/pipeline.go:639","msg":"[pipeline] NEW-CLOCK - Got a new clock","nodeID":"NE_i7qAwrwF3dC4","egressID":"EG_biCm3BdmceMQ"}
{"level":"info","ts":1659642872.4783502,"logger":"egress","caller":"service/handler.go:129","msg":"egress updated","nodeID":"NE_i7qAwrwF3dC4","egressID":"EG_biCm3BdmceMQ","status":"EGRESS_ACTIVE"}
{"level":"debug","ts":1659642872.5335274,"logger":"egress","caller":"pipeline/pipeline.go:639","msg":"[x264enc0] LATENCY - Element's latency has changed","nodeID":"NE_i7qAwrwF3dC4","egressID":"EG_biCm3BdmceMQ"}
{"level":"error","ts":1659642872.6043344,"logger":"egress","caller":"pipeline/pipeline.go:725","msg":"pipeline error","nodeID":"NE_i7qAwrwF3dC4","egressID":"EG_biCm3BdmceMQ","debug":"../libs/gst/base/gstbasesrc.c(3127): gst_base_src_loop (): /GstPipeline:pipeline/GstBin:input/GstAppSrc:videoAppSrc:\nstreaming stopped, reason not-linked (-1)","message":"Internal data stream error.","error":"Internal data stream error.","stacktrace":"github.com/livekit/egress/pkg/pipeline.(*Pipeline).handleError\n\t/workspace/pkg/pipeline/pipeline.go:725\ngithub.com/livekit/egress/pkg/pipeline.(*Pipeline).messageWatch\n\t/workspace/pkg/pipeline/pipeline.go:566\ngithub.com/tinyzimmer/go-gst/gst.goBusFunc\n\t/root/go/pkg/mod/github.com/livekit/go-gst@v0.0.0-20220603230042-cef031256427/gst/cgo_exports.go:128\n_cgoexp_752bbda710ba_goBusFunc\n\t_cgo_gotypes.go:17363\nruntime.cgocallbackg1\n\t/usr/lib/go-1.18/src/runtime/cgocall.go:314\nruntime.cgocallbackg\n\t/usr/lib/go-1.18/src/runtime/cgocall.go:233\nruntime.cgocallback\n\t/usr/lib/go-1.18/src/runtime/asm_arm64.s:1181\nruntime.systemstack_switch\n\t/usr/lib/go-1.18/src/runtime/asm_arm64.s:194\nruntime.cgocall\n\t/usr/lib/go-1.18/src/runtime/cgocall.go:167\ngithub.com/tinyzimmer/go-glib/glib._Cfunc_g_main_loop_run\n\t_cgo_gotypes.go:2822\ngithub.com/tinyzimmer/go-glib/glib.(*MainLoop).Run.func1\n\t/root/go/pkg/mod/github.com/tinyzimmer/go-glib@v0.0.25/glib/gmainloop.go:53\ngithub.com/tinyzimmer/go-glib/glib.(*MainLoop).Run\n\t/root/go/pkg/mod/github.com/tinyzimmer/go-glib@v0.0.25/glib/gmainloop.go:53\ngithub.com/livekit/egress/pkg/pipeline.(*Pipeline).Run\n\t/workspace/pkg/pipeline/pipeline.go:210\ngithub.com/livekit/egress/pkg/service.(*Handler).HandleRequest.func2\n\t/workspace/pkg/service/handler.go:59"}
2022/08/04 19:54:32 "msg"="error with read worker" "error"="read tcp <IP_ADDRESS>:60936-><IP_ADDRESS>:443: use of closed network connection"
{"level":"error","ts":1659642872.6049972,"logger":"egress","caller":"service/handler.go:125","msg":"egress failed","nodeID":"NE_i7qAwrwF3dC4","egressID":"EG_biCm3BdmceMQ","error":"Internal data stream error.","stacktrace":"github.com/livekit/egress/pkg/service.(*Handler).sendUpdate\n\t/workspace/pkg/service/handler.go:125\ngithub.com/livekit/egress/pkg/service.(*Handler).HandleRequest\n\t/workspace/pkg/service/handler.go:70\nmain.runHandler\n\t/workspace/cmd/server/main.go:147\ngithub.com/urfave/cli/v2.(*Command).Run\n\t/root/go/pkg/mod/github.com/urfave/cli/v2@v2.3.0/command.go:163\ngithub.com/urfave/cli/v2.(*App).RunContext\n\t/root/go/pkg/mod/github.com/urfave/cli/v2@v2.3.0/app.go:313\ngithub.com/urfave/cli/v2.(*App).Run\n\t/root/go/pkg/mod/github.com/urfave/cli/v2@v2.3.0/app.go:224\nmain.main\n\t/workspace/cmd/server/main.go:65\nruntime.main\n\t/usr/lib/go-1.18/src/runtime/proc.go:250"}

@JacobSteelsmith what does your request look like?

Thanks again for the quick reply and your assistance. I really appreciate it.
I've attached a full log of a single call to the pod. I'm using webhooks and AWS Lambda to get the participant information including tracks when the track is published. It's strange because I see two webhook calls for egress_started but the function is only calling ec.startTrackCompositeEgress(body.room.name, output, audiot, videot) once. I've attached a screenshot of the log events. The event that has info2 is the result of the await call to startTrackCompositeEgress() so from what I see there is one call but two egress events are recorded from the webhook.

logs.txt

it looks like there were 2 egress, with ids EG_9LCMZ4894WWA and EG_qynGC9vkb5wG. I'll have to

Ok. I'll test today with just creating the MP4 rather than using the HLS protocol to see if I see to egress events. The MP4 worked fine the last time I tried but I wasn't looking for two egress events. Thanks again for your time.

I see the same thing  with MP4 and that is failing now. I'm still only seeing one result from startTrackCompositeEgress() in cloudwatch and the info logged matches the first egress_id. But the same second I'm seeing a second, separate egress_id being started in both the pod logs and cloudwatch. The MP4 was working previously. I'll keep testing. I'm going to see what happens with just the video does using startTrackEgress().

I did get the MP4 to work again by reverting back to the v1.0 docker image. I could not get anything to work, even a singleTrackEgress() call until I re-deployed helm manually setting image.tag=v1.0. Then single track and MP4 work again and I see single egress_started calls.

Hi, we are having issues with single track egress also.
We have a different error though EmptyStaticCreds: static credentials are empty
Composite recording all seems fine.

Hi, we are having issues with single track egress also.
We have a different error though EmptyStaticCreds: static credentials are empty
I believe we have a correct setup and have tested sending the credentials as well as having defaults – all works for Composite recording.

Hi, we are having issues with single track egress also.
We have a different error though EmptyStaticCreds: static credentials are empty
I believe we have a correct setup and have tested sending the credentials as well as having defaults – all works for Composite recording.
Just noting here for reference.

@neilkinnish you are describing a very different issue that's unrelated to this one. Please open a new issue if you are still experiencing it. Please provide details about your config and request sent.

You are right @davidzhao, it was confusion our end and is now resolved. I meant to update my comment. Thanks.

@JacobSteelsmith We were able to reproduce this last week, and it should be fixed now in v1.3.0

@frostbyte73 Awesome, thanks so much! I deployed and MP4 seems to be working well. Thanks for your work on this.


Not all inputs have been set

Hello. I attempted to run the example you provided and got a circuit.circom and a circuit.json file. But I found the number of input signals in circuit.json is different from the number needed by circuits.circom. So i got the following error when generating witness.
Not all inputs have been set. Only 1074 out of 17155
circuit: main.cpp:278: int main(int, char**): Assertion `false' failed.
Aborted (core dumped)

Hi, circuit.json is not the entire input.json because it includes just the model weights. You will need to construct your own input and include it in the json file for circuit input.


Nuke the store and recreate the stack when the adding store to the coordinator fails

This is recovery logic in the cases when the DB gets corrupted

Travis is not my friend anymore. Will keep Bitrise only.


Can we rewrite it in Rust?

I have been experiencing performance issues on Ubuntu Linux 16.04. Are there any plans to rewrite it in Rust?

Nocode is actually language agnostic--that's part of it's elegance.
It's the only program whose source is exactly the same in every single language, whether interpreted or compiled.

As a result it also runs pretty close to the metal so it's likely to solve a wide variety of performance bottlenecks in production.

It's already written in rust, you just need to build it manually:
> git clone https://github.com/kelseyhightower/nocode && cd nocode
> touch nothing.rs
> rustc --crate-type=lib nothing.rs
> ls -al libnothing.rlib
-rw-r--r-- 1 wfraser wfraser 2872 Feb  6 23:16 libnothing.rlib


Apply font family and size to privacy info dialog text

Closes #757.

Regarding this info dialog, are we also keeping the screen on as done in dcrandroid

@dreacot the feature is not yet implemented here.


raft: The new added peer with ConfChange is replicated after 1s later.

Let's assume the peer 1 is leader, and then:

1 adds 2 with ConfChange command.
1 applies the command, then sends raft Append entry to 2.
2 will consider this message is stale and ignore it
1 resends heartbeat after 1s later
2 receives the heartbeat and the associated peer is replicated
1 sends snapshot to 2

Although the snapshot flow may be long (> 1s), it is still strange for us that we can't send snapshot immediately but must wait some time (1s) until next heartbeat.
We can see the above case when we start 3 TiKVs at first.
2016-11-23 17:40:50,323 store.rs:530 - INFO  - target peer id: 6 store_id: 4 doesn't exist, stale message MsgAppend.
2016-11-23 17:40:51,914 peer.rs:222 - INFO  - [region 2] replicate peer with id 6
2016-11-23 17:40:51,915 raft.rs:606 - INFO  - [region 2] 6 became follower at term 0
2016-11-23 17:40:51,915 raft.rs:280 - INFO  - [region 2] 6 newRaft [peers: [], term: 0, commit: 0, applied: 0, last_index: 0, last_term: 0]

It is better to distinguish this case with other stale message case, but if it is hard to do, we can keep the way now.
@ngaut @BusyJay @hhkbp2

The second part of step 2 is not true. 1 applies the command and won't send the raft Append entry to 2. Because new peer's progress will be initialized to the last_index + 1, so peer 2 won't get a raft Append entry.

This case will be concerned only when

The heartbeat's interval is large;
The cluster just set up.

If the region has enough replicas (>= 3), a slow peer should not hurt performance.

The second part of step 2 is not true. 1 applies the command and won't send the raft Append entry to 2. Because new peer's progress will be initialized to the last_index + 1, so peer 2 won't get a raft Append entry.

Why 2 is not true? The log target peer id: 6 store_id: 4 doesn't exist, stale message MsgAppend. shows the message is raft Append.

The cluster just set up.

I think this can happen in any ConfChange Add, not only in cluster set up.
As I said before, it is better to handle this case, but I know it is not easy to do.

That's because there is additional raft entries being proposed. If the leader doesn't propose anything in 2s after adding a new peer, there should be no MsgAppend.
If it happens in the cluster setup already, this is not a problem that needs to be concerned because it won't hurt performance.

Got it.
I know this is not a bug, but the log here may confuse user sometimes. So if we can solve this, it is better, if not, we can keep it now.


travis build not failing under doctest failures

As @lgarrison noted, a few (non-critical) doctests are failing currently https://travis-ci.org/manodeep/Corrfunc/jobs/287788986#L1932 but the travis build itself is passing.
While the current failures are non-critical, this issue can pose risk to the overall code health.

Commit f5478e5 fixes this issue. I don't think issue #144 is fixed though


Reordering Pages in admin stopped working

Issue Summary
Reordering Pages in admin stopped working, new state is not saved to database
Steps to Reproduce
As default, pages are ordered by UPDATED. Clicking on "Enable ordering of child Pages" does not change the view to the previously defined order, but ordering stays sorted by UPDATED
When dragging a Page to a new position, a POST request with the correct new order is done, but nothing is saved to the database.
As a result we are not able order pages anymore.

I have confirmed that this issue can be reproduced as described on a fresh Wagtail project: no, only one project/data set is affected

At this point I am assuming this has something to do with our document tree (about 3000 pages, the management command fixtree found issues, but did not resolve the issue). If needed, I might be able to momentarily provide access to an environment where this behaviour occurs.
Technical details

Python version: Python 3.5.2
Django version: 2.0.8
Wagtail version: 2.3
Browser version: Firefox Developer Edition 65.0b4 (64-bit) on macos (doesn't seem to be browser related)

Hi @5in4 - can you share the output of the fixtree command, please?

Hi,
this is the output when I run fixtree now:
$ ./manage.py fixtree
No problems found.
When I ran fixtree before, it found an issue which could be fixed, but it changed nothing in behaviour

Ah, I misread - I thought fixtree was reporting issues that it couldn't fix itself... Thanks for the clarification.
Just to be sure that this isn't the UI issue described in #882 - can you confirm that clicking on "Enable ordering of child Pages" again after doing the POST still shows the pages in the original (updated-at) order?

Yes. With enable ordering enabled, I can drag all items to the position I want them to be, after disabling it again all changes are lost and it reverts to sorting by updated at.

And if you re-enable it again after that, they're still lost?

Yes. Here's a gif showing the behaviour:

In our case we need to order something like chapters in a book and this quite bothering us. The UX for ordering at the moment is confusing. You can order your fields, but you'll only actually see this order when you are busy ordering? Another thing is that a queryset is actually ordered by ord and not by -latest_revision_created_at.
I propose an easy (and backwards compatible) change. At the moment the ordering is like this:
ordering = request.GET.get('ordering', '-latest_revision_created_at')
Change it to:
ordering = request.GET.get('ordering', getattr(parent_page, sort_order, '-latest_revision_created_at'))
It keeps the current ordering so nothing changes, but by setting sort_order to 'ord' it changes the ordering on a per page basis. I feel like this is the best solution as ordering pages is not useful on every page, but this way you can enable it if you need it. You're also able to sort on other fields this way.
A thing to consider is if we should  add a default to the Page object. It might be more clear in the code that the standard ordering will be -latest_revision_created_at, instead of just a getattr fallback.
Let me know if this is acceptable, then I'll create a PR for it.

Hi @NickdeDycker - please see the discussion on #882. The solution proposed there is similar to what you propose, but a bit more involved, as it's changing the database-level ordering too - rather than just making it a display preference in the admin listing - so that the chosen ordering is automatically used on the front-end too.

As of Wagtail 4.0 (RC), this seems to be working as expected, so I’ll close this now. I don’t think we made any changes to this recently so I won’t mark it as fixed in any particular release.
Screen recording of enabling manual sort order, changing the order, switching back to the non-manual ordering, and then again in manual sort order:

Please let me know if I’m not going through this correctly or there is a specific context needed (different browser?)


Include images in documentation

The docs may contain related images which were ignored by MANIFEST.in

This is a good catch, thanks @miohtama


No xbox detected in account

Hello, for some reason, in latest releases, the app no longer detects any xbox to stream from.
Previously, my home xbox was listed and I could play normally, but now is like i didnt had any xbox linked to my account.
I have checked on the xbox app on windows, and I have my console linked as usual and I can stream from it.

Does the xbox show up in the xbox app? Also, which version of the app is this happening?
Since the new 2.0.0-beta1 we switched the endpoints to use the same api that the Xbox app is using.

same issues, tested 1.2.0 and 2.0.0-beta on mac and linux

now the 2.0.0-beta work...
What i do:

start streaming from iphone app
start streaming from a win11 vm
greenlight now work


updated the redirect endpoint + cleaned up styles

Hi @naveedsyedAtBC , I fot some Conflict with
backend/src/utils/createFolder.ts
frontend/package-lock.json


Cannot select Python interpreter in a multi-root folder workspace

VSCode Version: 1.20.0
OS Version: OS X 10.11.6

Steps to Reproduce:

Create a workspace
Add a folder A to the workspace
Add another folder B to the workspace
Set folder-specific Python interpreter for folder B. Folder should now have a .vscode/settings.json file.
Open a Python file in folder B. Import will fail for packages only installed within the virtual environment. Specific interpreter set in folder settings is not used in multi-root workspace. Opening only folder B, vscode loads the correct interpreter.

Does this issue occur when all extensions are disabled?: Yes/No
Yes

Reading your description it seems that the issue originates from an extension and not VS Code itself. Thereby I will close this issue and kindly ask you to report this issue against the extension repository.
Most extensions are on GitHub as well so it should be easy to file it against the extension. If you open an extension on the market place, click on the Support link to find out more.

Thanks again for your feedback!


Aggregated metrics for consumption by Azure monitor and Traffic metrics team

Azure Monitor is working on scraping metrics from envoy sidecar for several scenarios like latency, error and success rate etc. to light up the front end scenarios which provides a rich user experience which makes troubleshooting issues and understanding the mesh behavior easier. As a part of this work we did some analysis on the cost and performance involved to scrape these metrics and to build these scenarios. Below are the issues we see with scraping the metrics directly from the envoy sidecar with no aggregates.

The Azure monitor agent which scrapes the data might hit some issues with resource utilization while scraping all the raw metrics at high scale.
The LA data store which stores these metrics might incur huge cost for the customers since there is no aggregation in place.
The UX queries to load all of the aggregates upon load might see high latencies and will have perf issues.

After talking to the traffic metrics team we realize that they are building a query layer on top of the prometheus store which translates the kube api queries to prometheus queries to get these aggregated metrics. But this will not work for us because of the following reasons.

We do not want to take dependency on the kube api server since calls to the api server might account for load on the api server making it unresponsive and will affect other functionality on the cluster and workloads.
This is also taking dependency on prometheus. As a monitoring platform ourselves we cannot take dependency on prometheus which defeats the purpose of managed monitoring and which also means more work for the customer.

With OSM exposing aggregated metrics, we can query for aggregated metrics directly which will solve the first set of problems and essentially the traffic metrics layer can also leverage this functionality with no dependency on prometheus.
Here is a list of metrics for which aggregates would be required by Azure Monitor and which could be used by Traffic metrics.

Request latencies (P50, P90, P99)
Aggregates with which we can derive toplogy - (See here - https://github.com/servicemeshinterface/smi-spec/blob/main/apis/traffic-metrics/v1alpha1/traffic-metrics.md#topologies)
Request error count and percentage
Request success count and percentage
Bytes sent per second
Bytes received per second
Number of inbound connections to a service
Number of outbound connections to a service
Requests per second

Scope (please mark with X where applicable)

New Functionality          [X ]
Install                    [ ]
SMI Traffic Access Policy  [ ]
SMI Traffic Specs Policy   [ ]
SMI Traffic Split Policy   [ ]
Permissive Traffic Policy  [ ]
Ingress                    [ ]
Egress                     [ ]
Envoy Control Plane        [ ]
CLI Tool                   [ ]
Metrics                    [X ]
Certificate Management     [ ]
Sidecar Injection          [ ]
Logging                    [ ]
Debugging                  [ ]
Tests                      [ ]
CI System                  [ ]
Project Release            [ ]

Possible use cases
Described above.

I have some other questions:
(1) I think offline we both agreed, based on pragmatic experience also, that the latency histograms provided by envoy on prometheus endpoint are very hard to scale per cluster. For this we should explore the possibility to expose directly the latency Ps, which are at least already calculated internally in envoy but not exposed in prometheus endpoint
https://www.envoyproxy.io/docs/envoy/latest/operations/admin#get--stats
(2) For the other ones, we should better understand what "aggregation" do we imply. I think here we have the SMI metrics operator implied, but I'd like to understand for a given metric (say, "5. Bytes per second"), what level of aggregation is expected (per service? per pod? per destination? per mesh?)


hyperlinks: add support for optional id parameter

OSC8 escape sequences allow for marking up hyperlinks in the terminal. An optional id parameter is defined to allow applications to signal to the terminal that (potentially) broken character sequences belong to the same URL and should be treated as if they were connected.
Add support for optional id parameters, set by the application. Update test case for ti.EnterUrl.
Fixes: https://github.com/gdamore/tcell/issues/568
Reference: https://gist.github.com/egmontkob/eb114294efbcd5adb1944c9f3cb5feda#hover-underlining-and-the-id-parameter

This looks good. Only question is, do you want to add your name to the AUTHORS file?

Not needed. Thanks!


Model Type

Is it possible to use "multi-qa-MiniLM-L6-cos-v1" for fast embed or no?

Hey @msj121. Thanks for reaching out.
This library intends to maintain parity with the original implementation.
You can raise an issue at https://github.com/qdrant/fastembed/issues for the addition of the model, if done, it will be reflected here as well.

Wow that was lightning fast! Ok - asked there, hopefully will figure this one out. Thanks!


[#noissue] Add the scatter chart link and inspector link to the alarm mail

I added the Scatter Chart Link and Inspector Link to Alarm Mail. Inspector Link is created only when an agent-related alarm occurs.
When Link is clicked, shows the Inspector of the Agent or the Scatter Chart of the Application at the time the alarm occurred.
before:

after:

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

Codecov Report

Merging #7129 into master will increase coverage by 0.00%.
The diff coverage is 0.00%.

@@           Coverage Diff           @@
##           master    #7129   +/-   ##
=======================================
  Coverage   38.93%   38.93%
=======================================
  Files        3290     3290
  Lines       95791    95805   +14
  Branches    11964    11965    +1
=======================================
+ Hits        37297    37304    +7
- Misses      55520    55529    +9
+ Partials     2974     2972    -2

Impacted Files
Coverage Δ

...avercorp/pinpoint/web/alarm/AlarmMailTemplate.java
0.00% <0.00%> (ø)

...rcorp/pinpoint/web/alarm/checker/AgentChecker.java
40.00% <0.00%> (-3.48%)
:arrow_down:

...rcorp/pinpoint/web/alarm/checker/AlarmChecker.java
42.85% <0.00%> (-3.30%)
:arrow_down:

...navercorp/pinpoint/rpc/common/SocketStateCode.java
82.92% <0.00%> (-2.44%)
:arrow_down:

...cluster/zookeeper/ZookeeperClusterDataManager.java
52.90% <0.00%> (-1.94%)
:arrow_down:

...orp/pinpoint/rpc/server/DefaultPinpointServer.java
80.28% <0.00%> (+0.35%)
:arrow_up:

...vercorp/pinpoint/web/vo/ApplicationAgentsList.java
69.23% <0.00%> (+2.56%)
:arrow_up:

...tor/metric/datasource/DefaultDataSourceMetric.java
78.12% <0.00%> (+3.12%)
:arrow_up:

...rc/main/java/com/navercorp/pinpoint/test/Item.java
73.33% <0.00%> (+3.33%)
:arrow_up:

...rp/pinpoint/web/mapper/stat/AgentStatMapperV2.java
69.04% <0.00%> (+9.52%)
:arrow_up:

... and 1 more

Continue to review full report at Codecov.

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

I will modify the commit and upload it again.


Popcnt optimization

This patch optimizes count-set-bit functions into a call to LLVM's popcnt intrinsic. This is not only good for binary size but, also improves performance.
To enable the best result, we have to tell llvm the target architecture. If we do this, then (on CPUs that support it) the call to the popcnt intrinsic can be optimized to a single popcnt instruction.
Here are some examples (notice, no jumps and no branches):
Input 1
func test(_ _x: Int) -> Int {
    var x = _x
    var c = Int()
    while x != 0 {
        c += 1;
        x &= (x - 1);
    }
    return c
}

New output
_$s3run4testyS2iF:
	pushq	%rbp
	movq	%rsp, %rbp
	movq	%rdi, %rax
	shrq	%rax
	movabsq	$6148914691236517205, %rcx
	andq	%rax, %rcx
	subq	%rcx, %rdi
	movabsq	$3689348814741910323, %rax
	movq	%rdi, %rcx
	andq	%rax, %rcx
	shrq	$2, %rdi
	andq	%rax, %rdi
	addq	%rcx, %rdi
	movq	%rdi, %rax
	shrq	$4, %rax
	leaq	(%rax,%rdi), %rax
	movabsq	$1085102592571150095, %rcx
	andq	%rax, %rcx
	movabsq	$72340172838076673, %rax
	imulq	%rcx, %rax
	shrq	$56, %rax
	popq	%rbp
	retq

New output (haswell and later, not tested)
_$s3run4testyS2iF:
	popcnt  %rax, %rdi
	retq

Old output
_$s3run4testyS2iF:
	pushq	%rbp
	movq	%rsp, %rbp
	testq	%rdi, %rdi
	je	LBB1_1
	xorl	%ecx, %ecx
	.p2align	4, 0x90
LBB1_3:
	movq	%rcx, %rax
	incq	%rax
	jo	LBB1_7
	movq	%rdi, %rdx
	decq	%rdx
	jo	LBB1_8
	incq	%rcx
	andq	%rdx, %rdi
	jne	LBB1_3
	popq	%rbp
	retq
LBB1_1:
	xorl	%eax, %eax
	popq	%rbp
	retq
LBB1_7:
	## InlineAsm Start
	## InlineAsm End
	ud2
LBB1_8:
	## InlineAsm Start
	## InlineAsm End
	ud2

Input 2
func test(_ _x: Int) -> Int {
    var x = _x
    var c = Int()
    var o = 0
    while x != 0 {
        c += 1;
        o += c;
        x &= (x - 1);
    }
    return c - o
}

New output
_$s3run4testyS2iF:
	pushq	%rbp
	movq	%rsp, %rbp
	xorl	%eax, %eax
	popq	%rbp
	retq

Old output
_$s3run4testyS2iF:
	pushq	%rbp
	movq	%rsp, %rbp
	testq	%rdi, %rdi
	je	LBB1_1
	xorl	%edx, %edx
	xorl	%ecx, %ecx
	.p2align	4, 0x90
LBB1_3:
	movq	%rdx, %rax
	incq	%rax
	jo	LBB1_9
	addq	%rax, %rcx
	jo	LBB1_10
	movq	%rdi, %rsi
	decq	%rsi
	jo	LBB1_11
	incq	%rdx
	andq	%rsi, %rdi
	jne	LBB1_3
	subq	%rcx, %rax
	jo	LBB1_12
LBB1_8:
	popq	%rbp
	retq
LBB1_1:
	xorl	%eax, %eax
	xorl	%ecx, %ecx
	subq	%rcx, %rax
	jno	LBB1_8
LBB1_12:
	## InlineAsm Start
	## InlineAsm End
	ud2
LBB1_10:
	## InlineAsm Start
	## InlineAsm End
	ud2
LBB1_11:
	## InlineAsm Start
	## InlineAsm End
	ud2
LBB1_9:
	## InlineAsm Start
	## InlineAsm End
	ud2

This patch is almost ready for @swift-ci to test and benchmark (I'm not sure we'll see a huge improvement, though). I sill need to:

[ ] fix the issue with loops
[ ] tell llvm the architecture (this should probably be its own patch, though)

Just my 2c: we already have FixedWidthInteger.nonZeroBitCount (https://swiftdoc.org/v4.2/protocol/fixedwidthinteger/#var-nonzerobitcount_-int), which is likely a better solution IMO because it’s a language-level fix rather than an optimisation which may or may not happen if your code deviates from the very specific pattern which this recognises.
See this comment thread: https://news.ycombinator.com/item?id=11760293

Do you mean that the optimization should call out to nonZeroBitCount, or that it means we don't need the optimization? If the latter, I think we should keep the optimization because it still helps in cases where people count set bits in another loop. Also, for what it's worth, clang has a similar optimization.

If there's an LLVM-level optimization for this already, then Swift code should already benefit from it.

There's an intrinsic (which already has a corresponding builtin? I couldn't find it when I made this patch). The intrinsic can be optimized if llvm knows the CPU.

You said that "clang has a similar optimization", which I took to mean turning a popcount loop into the popcnt intrinsic, but I would guess that it's really LLVM applying that optimization. If so, then it ought to already do the same for Swift.

And you can see the same optimization applies in Swift, if you manually avoid the overflow checks:
https://gcc.godbolt.org/z/_kbvlF
So a better approach to enabling this optimization in Swift might be to improve Swift or LLVM's interval analysis to be able to eliminate the overflow checks that will never be triggered in the normal case.

...though x &= x - 1 does actually need to be x &= (x &- 1) to be correct, since otherwise this will crash if x == Int.min.

@jckarter thanks for the links and insight!

You said that "clang has a similar optimization", which I took to mean turning a popcount loop into the popcnt intrinsic, but I would guess that it's really LLVM applying that optimization. If so, then it ought to already do the same for Swift.
You can see that LLVM does the optimization by removing -emit-llvm from the compiler flags here:

I thought clang emitted the unoptimized LLVM IR but it might be optimized. Anyway, if you add the compiler flag -march=haswell you can see that the LLVM IR has a call to the popcnt intrinsic.  I took this to mean that clang did the optimization itself (turning a popcount loop into the popcnt intrinsic).

And you can see the same optimization applies in Swift, if you manually avoid the overflow checks:

Interesting -- I wish I had seen this before putting this patch together :P Maybe it is actually LLVM doing the optimization.
If we can guarantee that this will be optimized into a call to the popcnt intrinsic, we could probably safely get rid of the conditional fail.
How do you think I should proceed on the swift end? I'll see if I can track down the popcnt intrinsic optimization on the LLVM side and then see if I can update it to work with this example too.

The most broadly beneficial place to address this would be in LLVM, adding functionality to determine that the trip count of the loop is limited, so count += 1 will never overflow, so that the optimizer can eliminate the overflow check and trap and thereby unblock the popcnt optimization. I'm not familiar enough with LLVM to know how best to approach that, though.

.nonzeroBitCount already lowers directly to the LLVM intrinsic:
Sandbox % cat popcnt.swift
func foo(_ x: Int) -> Int {
  x.nonzeroBitCount
}
Sandbox % swiftc popcnt.swift -O -emit-ir
; ModuleID = '-'
source_filename = "-"
target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-apple-macosx10.15.0"

@__swift_reflection_version = linkonce_odr hidden constant i16 3
@llvm.used = appending global [1 x i8*] [i8* bitcast (i16* @__swift_reflection_version to i8*)], section "llvm.metadata"

; Function Attrs: norecurse nounwind readnone
define i32 @main(i32, i8** nocapture readnone) local_unnamed_addr #0 {
entry:
  ret i32 0
}

; Function Attrs: nounwind readnone
define hidden swiftcc i64 @"$s6popcnt3fooyS2iF"(i64) local_unnamed_addr #1 {
entry:
  %1 = tail call i64 @llvm.ctpop.i64(i64 %0), !range !13
  ret i64 %1
}

; Function Attrs: nounwind readnone speculatable
declare i64 @llvm.ctpop.i64(i64) #2

attributes #0 = { norecurse nounwind readnone "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "target-cpu"="penryn" "target-features"="+cx16,+fxsr,+mmx,+sahf,+sse,+sse2,+sse3,+sse4.1,+ssse3,+x87" }
attributes #1 = { nounwind readnone "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "target-cpu"="penryn" "target-features"="+cx16,+fxsr,+mmx,+sahf,+sse,+sse2,+sse3,+sse4.1,+ssse3,+x87" }
attributes #2 = { nounwind readnone speculatable }

!llvm.module.flags = !{!0, !1, !2, !3, !4, !5, !6, !7, !8}
!swift.module.flags = !{!9}
!llvm.linker.options = !{!10, !11}
!llvm.asan.globals = !{!12}

!0 = !{i32 2, !"SDK Version", [2 x i32] [i32 10, i32 15]}
!1 = !{i32 1, !"Objective-C Version", i32 2}
!2 = !{i32 1, !"Objective-C Image Info Version", i32 0}
!3 = !{i32 1, !"Objective-C Image Info Section", !"__DATA,__objc_imageinfo,regular,no_dead_strip"}
!4 = !{i32 4, !"Objective-C Garbage Collection", i32 83953408}
!5 = !{i32 1, !"Objective-C Class Properties", i32 64}
!6 = !{i32 1, !"wchar_size", i32 4}
!7 = !{i32 7, !"PIC Level", i32 2}
!8 = !{i32 1, !"Swift Version", i32 7}
!9 = !{!"standard-library", i1 false}
!10 = !{!"-lswiftCore"}
!11 = !{!"-lobjc"}
!12 = distinct !{null, null, null, i1 false, i1 true}
!13 = !{i64 0, i64 65}

It would be nice to teach the compiler to generate the same optimized code for naive loops, but we really want people to just use the existing Swift operation instead.

I don't think there's any need for changes at the Swift level to support this; this should probably be purely an LLVM optimization (but I also haven't thought about it in that much detail yet).

This all does raise the vaguely interesting question of where exactly the ctpop Builtin is currently getting defined, given that you thought you had to add it and a simple search doesn't turn it up, but somehow the stdlib is able to use it from the Builtin module anyway:
swift % grep -ri ctpop .
./validation-test/stdlib/Prototypes/PersistentVector.swift.gyb:    return Int(Builtin.int_ctpop_Int32(_bits._value))
./validation-test/stdlib/Prototypes/PersistentVector.swift.gyb:    return Int(Builtin.int_ctpop_Int64(_bits._value))
./validation-test/stdlib/Prototypes/PersistentVector.swift.gyb:    return Int(Int32(Builtin.int_ctpop_Int32(_bits._value)))
./stdlib/public/core/IntegerTypes.swift.gyb:        Builtin.int_ctpop_Int${bits}(self._value)

I'm sure there's a simple explanation, but it's late here and I'm not seeing it.

Yes, I was also curious about that. The built IntegerTypes.swift file has references to the builtin, but I cannot find the builtin defined anywhere. Is it possible that it is just falling back to indexing an llvm intrinsic?

Builtin.int_<intrinsic_name> automatically references an LLVM intrinsic by name.

@jckarter good to know, thanks :)

As discussed, this should be an llvm change, not a swift change. Closing.


MWPW-142617: Microsoft Edge & Chrome Win - progress bar not completely loaded

Description
This PR fixes the PEP prompt progress bar bug, on Microsoft Edge 121 & Win, where the bar was not completely loaded at the end of the CSS animation.
Related Issue
Resolves: MWPW-142617
Testing instructions
Open the test URL on Microsoft Edge 121 & Win
Test URLs
Milo:

Before: https://project-pep--milo--adobecom.hlx.page/drafts/rbogos/pep-prompt?martech=off&imsClientId=fedsmilo
After: https://mwpw-142617-project-pep--milo--robert-bogos.hlx.page/drafts/rbogos/pep-prompt?martech=off&imsClientId=fedsmilo

The eslint error is fixed in another pending PR, but I fixed it in here too so we can have green on all tests.


Parent (%) operator seems not to work

Simple example:
JSON:
{
  "Account": {
    "AccountName": "Firefly",
    "Order": {
      "test": "test"
    }
  }
}

Query:
Account.Order.%.AccountName
Works in Exerciser and Javascript library.
In .Net: The symbol % cannot be used as a unary operator'

Yes, for now it's not implemented, as mentioned at
https://github.com/mikhail-barg/jsonata.net.native#operators

I have no ETA on implementing this yet (

Sorry, we read that then too. Is there a way to help out here, or is this a somewhat very complicated feature?

Well, this feature was one of the reasons to create custom json parser/dom as it became clear that Json.Net is not capable of supporting this properly.
But since then I haven't got enough time and will to look through it once again. And yes, the feature it a bit complicated.
But since you are interested, I'll try to find some time for another attempt.

Okay, I've made an implementation for the operator behavior. The implementation is quite different from the on in the original jsonata-js (which I hardly understand), but it passes all the tests, except 4 tests with another unsupported operators, and except another one which is kinda really weird.
I have raised an issue regarding this last test. And I'd like to wait for a feedback from original Jsonata team regarding this one, before releasing a new package version.

Hi there, thank you so much - that was really quick!

Published changes in v2.3.0 release. Still no answer regarding that strange issue from jsonata team.


TM1py returns hierarchy nodes in wrong “level” fields

Describe what did you try to do with TM1py
I am trying to get dimension data (with hierarchy) from TM1, to use in Power BI reports. The python script I used is:
with TM1Service(**config["tm1dev"]) as tm1:
    dimAccount = tm1.power_bi.get_member_properties(
        dimension_name="Accounts - AusG One",
        hierarchy_name="Accounts - AusG One",
        skip_consolidations=True
    )

Describe what's not working the way you expect
For each leaf node in the hierarchy, I expected each of its parent nodes to be returned in a field that corresponds to the level in the hierarchy the parent belongs to. E.g. the root node should be in "level000" field, the next level down should be in the "level001" field, and so on. This would allow me to easily filter data based on any hierarchy node in Power BI.
However it appears that get_member_properties returns the parent nodes in the wrong "levelNNN" fields. In the screenshot below, you can see that for each leaf node (account), it returns its parent in "level016", its parent's parent in "level015", and so on. But since the hierarchy is ragged, we end up with the root node (ARP_Statement of Financial Position) in various "levelNNN" fields (depending on how deep in the hierarchy the leaf node lives), instead of only in "level000".

The problem with this, is that for any given hierarchy node, it can appear in multiple "levelNNN" fields, instead of just appearing in the one level. And this makes it very difficult to filter data on any given hierarchy node.
Version

TM1py 1.5.0
TM1 Server Version: 11.x

Question
Is it possible to have get_member_properties populate the levelNNN fields in ascending order starting with the root node (ARP – Statement of Financial Position) in level000, followed by level001, and so on, until the leaf node is reached?

Hi @carltoncheung,
TM1py is just the messenger. It's forwarding the (MDX-) level names as they are defined in TM1.
Also, PowerBI expects the dataset to be in this kind of format (= element-name, level4, level3, level2, level1, level0) in order to be able to aggregate.
I think the core of the problem is that PBI is just not good at dealing with ragged dimensions.
Here are some ideas

I'm not entirely sure if this is a viable suggestion for your situation, but you may have to break the dimension into consistent pieces.
Like you could bring in the dimension as multiple datasets, that are in itself consistent w.r.t. the levels.
So you could perhaps display the first few levels (e.g. level000 to level006) in an aggregated widget and retrieve and display more detailed views (e.g. LOB-INTINC) as individual datasets.

Perhaps you could also define custom attributes that reflect the structure that you would like to see in PBI. Then you could retrieve those attributes instead of the levels.

Perhaps when doing this kind of TM1-typical analysis over custom ragged dimensions you may want to use a different front-end.
I am sure you know about dedicated TM1 front ends like IBM PAW or Apliqo UX. Obvisouly you can work with ragged dimensions in those front-ends much more comfortably.

I hope this helps
Marius

Hi @carltoncheung,
I think there may be a better solution to dealing with ragged dimensions in PBI.
I'm curious to hear what you think. If you like the approach I could adjust the get_member_properties functions.
So in your example, in the first row, we would repeat the APR Statment of Financ... from level008 to level000.
Then it would like in this sample:

Cube

Dimension data set in PBI

Data widget

Would that suit your requirement?

Hi @MariusWirtz ,
Thanks for taking the time to reply and for your suggestions. I really appreciate it!
Using the arc tool to test the TM1 APIs directly, we can see that the API follows the historical way that TM1 has labelled its hierarchy levels (level 0 = leaf node, and highest level is the top level root node):

However the TM1py function get_member_properties is not passing the hierarchy nodes into the correct levelNNN fields:

Screenshot above shows that it is treating the leaf node (105120 - Petty Cash) as level 17, putting the leaf's parent (ARP - Cash on Hand) into "level016", the leaf's parent's parent (ARP - Cash & Cash Equivalents) into "level015", and so on.
So there is definitely a discrepancy between the hierarchy level labels in TM1/API vs what TM1py function returns.
Assuming this discrepancy is resolved, it still doesn't solve the problem for Power BI and ragged hierarchies.
It appears that with Planning Analytics v2.x, TM1 is moving from the historical way of labelling hierarchy levels to the industry standard MDX way, which is to make the root node Level 0, and the leaf node the highest level number:
https://www.ibm.com/support/pages/new-hierarchy-level-behavior-planning-analytics-set-editor.
The good news is that Power BI can handle ragged hierarchies perfectly well, as long as the hierarchy levels are labelled according to industry standard MDX way - i.e. root = level 0. We have used Power BI for reporting SAP hierarchies for several years now, and because the SAP connector follows root = level 0, it works perfectly even for ragged hierarchies.
Now my question is, given that the function get_member_properties needs to be fixed (to address above discrepancy) anyway, and given that the primary purpose of the PowerBiService class is to support Power BI connectivity, do you think we could change this function to return hierarchy level names in line with industry standard MDX, i.e. root = level 0?
I had a quick look at the get_member_properties code, and I'm guessing the reason the function is putting hierarchy levels into the wrong fields is because the get_level_names  function is returning level names in descending order by default:

Thanks again, and happy to have a conference call to discuss if required.
Kind regards,
Carlton.

Hi @Carloncheung,
thanks for your detailed answer. I appreciate the feedback on the PowerBI functionality.
With regard to ascending and descending levels, TM1py is currently bringing through the MDX levels.
I think we could make this dynamic and add an optional argument to the get_member_properties function to control if you want TM1-levels (ascending from leaves to root) or MDX-levels (ascending from root to leaves).
I will look into this!

The good news is that Power BI can handle ragged hierarchies perfectly well

I am happy to hear that! Let's change the functions so that it can fulfill its primary purpose to support Power BI connectivity.

do you think we could change this function to return hierarchy level names in line with industry standard MDX, i.e. root = level 0?

Please see my post above. https://github.com/cubewise-code/tm1py/issues/476#issuecomment-771491648
t1 (the root of the hierarchy) is level000 in every line. Is this not what you are asking for?
I sent you a connection request on LinkedIn. Happy to continue this conversation on Microsoft Teams or Zoom.

Hi @MariusWirtz
I think TM1py will bring back MDX levels (root=0) correctly, only if the hierarchy is even. If the hierarchy is ragged, like in my example above, the get_member_properties  function doesn't return parents in the correct levelNNN fields.
Image below shows a ragged hierarchy where the leaf node (105120 - Petty Cash) is only 6 levels away from the root, but it is treated as level 17 because the hierarchy has other leaf nodes which are 17 levels away from the root.

The correct result would be that level005, level004, level003, level002, level001, level000 fields are populated with the parent nodes (and level016 - level006 fields are left blank).
Thanks,
Carlton.

Hi @carltoncheung,
I understand that the levels need to be aligned "on the right" in order for PBI to aggregate.
Please install the branch with pip and verify if the levels are now in the "right" fields.
pip install https://github.com/cubewise-code/tm1py/archive/issue/powerbi-levels.zip --upgrade

Hi Marius,
Thanks a lot for the quick fix. The results look good. The hierarchy node levels are being put into the correct "levelNNN" fields according to the MDX standard (root = level 0).
There is only one small thing I've noticed. Previously the "Description" field would contain "ID - Description" (e.g. "105120 - Petty Cash"), for ALL members of the dimension:

Now, after the bug fix, the "Description" column is blank for all members, except those members that belong to the highest level of the hierarchy (i.e. level 17).
It appears the bug fix has "moved/shifted" the contents of the Description field into the highest "levelNNN" field:

I think to avoid confusion, it would be better to leave all the leaf nodes in the "Description" field (which is quite useful for reporting), and only have parent nodes in the "levelNNN" fields. So in the above example, I would expect level006 to be blank.
Kind regards,
Carlton

Hi @carltoncheung,
thanks for the catch. I shifted one column too much (in your case the last attribute: Description).
Please upgrade and test again.

Hi Marius,
All fixed now. Thanks!
Happy to close this issue.
Kind regards,
Carlton.

Thanks


Pre-commit for documentation not working on windows

due to a at least dependency on "grep", "sed" command the pre-commit is not working on windows

Do you have a link to a workflow run that uses a callable workflow from this library as an example of this issue?

After some discussions elsewhere I think to have located the issue. It has to do with the linux commands used in the pre-commit hooks - not the callable workflows (which all run in a unix environment).


How can I use a fixed sequence of jobs?

The API documention shows how to do this using the in_sequence and the in_direct_sequence modifiers, but how can I do this using the java code? Thank you.

Those are only available in the Graphhopper RouteOptimization API, but Stefan posted something similar a while back covering different use cases:
http://stackoverflow.com/a/24467964
Maybe this will serve you as an inspiration.

Oh that's perfect! Thank you. Besides, is it better to use a Soft Constraint based on costs or a Hard one for this kind of problem?

I use hard constraints. Please use the forum for such questions. Thanks.


"Contactame" button isn't being rendered

Describe the bug
"Contactame" button isn't being rendered, probably because of Tailwind 2.0 update.
Expected behavior
A clear and concise description of what you expected to happen.

Screenshots

Duplicated


Igniteui-angular2 with angularcli giving error as Cannot read property 'igGrid' of undefined issue

Hi,
I am trying to use igniteui-angular2 igrid with angularcli. I am using Visual Studio Code as IDE
But when i run the application in the browser in chrome i get error as
Uncaught TypeError: Cannot read property 'igGrid' of undefined
at index.js:185
at __decorate (index.js:10)
at index.js:531
at Object.s (index.js:536)
at webpack_require (bootstrap 7e9d76b…:52)
at Object.489 (app.component.ts:11)
at webpack_require (bootstrap 7e9d76b…:52)
at Object.368 (src async:7)
at webpack_require (bootstrap 7e9d76b…:52)
at Object.618 (main.bundle.js:343)
at webpack_require (bootstrap 7e9d76b…:52)
at webpackJsonpCallback (bootstrap 7e9d76b…:23)
at main.bundle.js:1
(anonymous) @ index.js:185
__decorate @ index.js:10
(anonymous) @ index.js:531
s @ index.js:536
webpack_require @ bootstrap 7e9d76b…:52
489 @ app.component.ts:11
webpack_require @ bootstrap 7e9d76b…:52
368 @ src async:7
webpack_require @ bootstrap 7e9d76b…:52
618 @ main.bundle.js:343
webpack_require @ bootstrap 7e9d76b…:52
webpackJsonpCallback @ bootstrap 7e9d76b…:23
(anonymous) @ main.bundle.js:1
Could anybody help me in this
Srcwithsomerequiredfiles.zip

Could anybody please help in this issue?

@rishisharma1510 Hi there. We're sorry that we still haven't been able to get to investigating this issue. We will look at it within the next couple of days and we will update you.

@rishisharma1510, you'll have to download include references to igniteui into scripts in angular-cli.json file:
"scripts": ["../node_modules/jquery/dist/jquery.min.js",
		"../node_modules/jqueryui/jquery-ui.min.js",
		"../igniteui/infragistics.core.js", "../igniteui/infragistics.lob.js" ]

Note that reference to jquery-ui is also required

Hello,
I have the same issue but I already added the items to my angular-cli.json
Here is my angular-cli.json. I started from a clean install and just added jquery, jquery-ui and infragistics core and lob.
`{
"$schema"<EMAIL_ADDRESS>"project": {
"name": "ox-aankoop"
},
"apps": [
{
"root": "src",
"outDir": "dist",
"assets": [
"assets",
"favicon.ico"
],
"index": "index.html",
"main": "main.ts",
"polyfills": "polyfills.ts",
"test": "test.ts",
"tsconfig": "tsconfig.app.json",
"testTsconfig": "tsconfig.spec.json",
"prefix": "app",
"styles": [
"../node_modules/ignite-ui/css/structure/infragistics.css",
"../node_modules/ignite-ui/css/themes/infragistics/infragistics.theme.css",
"styles.css"
],
"scripts": [
"../node_modules/jquery/dist/jquery.min.js",
"../node_modules/jquery-ui-dist/jquery-ui.min.js",
"../node_modules/ignite-ui/js/infragistics.core-lite.js",
"../node_modules/ignite-ui/js/infragistics.lob-lite.js"
],
"environmentSource": "environments/environment.ts",
"environments": {
"dev": "environments/environment.ts",
"prod": "environments/environment.prod.ts"
}
}
],
"e2e": {
"protractor": {
"config": "./protractor.conf.js"
}
},
"lint": [
{
"project": "src/tsconfig.app.json"
},
{
"project": "src/tsconfig.spec.json"
},
{
"project": "e2e/tsconfig.e2e.json"
}
],
"test": {
"karma": {
"config": "./karma.conf.js"
}
},
"defaults": {
"styleExt": "css",
"component": {}
}
}
The error i'm now getting is:
`Unhandled Promise rejection: Template parse errors:
Can't bind to 'widgetId' since it isn't a known property of 'ig-grid'.

If 'ig-grid' is an Angular component and it has 'widgetId' input, then verify that it is part of this module.
If 'ig-grid' is a Web Component then add "CUSTOM_ELEMENTS_SCHEMA" to the<EMAIL_ADDRESS>of this component to suppress this message.
("

<ig-grid [ERROR ->][(widgetId)]='gridId' [(options)]='gridOptions' [(dataSource)] ='gridData'>"): AppComponent@4:9
Can't bind to 'options' since it isn't a known property of 'ig-grid'.

If 'ig-grid' is an Angular component and it has 'options' input, then verify that it is part of this module.
If 'ig-grid' is a Web Component then add "CUSTOM_ELEMENTS_SCHEMA" to the<EMAIL_ADDRESS>of this component to suppress this message.
("

<ig-grid [(widgetId)]='gridId' [ERROR ->][(options)]='gridOptions' [(dataSource)] ='gridData'>"): AppComponent@4:31
Can't bind to 'dataSource' since it isn't a known property of 'ig-grid'.

If 'ig-grid' is an Angular component and it has 'dataSource' input, then verify that it is part of this module.
If 'ig-grid' is a Web Component then add "CUSTOM_ELEMENTS_SCHEMA" to the<EMAIL_ADDRESS>of this component to suppress this message.
("

<ig-grid [(widgetId)]='gridId' [(options)]='gridOptions' [ERROR ->][(dataSource)] ='gridData'>"): AppComponent@4:57 ; Zone:  ; Task: Promise.then ; Value: SyntaxError {__zone_symbol__error: Error: Template parse errors:
Can't bind to 'widgetId' since it isn't a known property of 'ig-grid'.…, _nativeError: ZoneAwareError, __zone_symbol__currentTask: ZoneTask, __zone_symbol__stack: "Error: Template parse errors:↵Can't bind to 'widge…ttp://localhost:4200/polyfills.bundle.js:2813:35)", __zone_symbol__message: "Template parse errors:↵Can't bind to 'widgetId' si…rce)] ='gridData'>"): AppComponent@4:57"} Error: Template parse errors:
Can't bind to 'widgetId' since it isn't a known property of 'ig-grid'.

If 'ig-grid' is an Angular component and it has 'widgetId' input, then verify that it is part of this module.
If 'ig-grid' is a Web Component then add "CUSTOM_ELEMENTS_SCHEMA" to the<EMAIL_ADDRESS>of this component to suppress this message.
("

<ig-grid [ERROR ->][(widgetId)]='gridId' [(options)]='gridOptions' [(dataSource)] ='gridData'>"): AppComponent@4:9
Can't bind to 'options' since it isn't a known property of 'ig-grid'.

If 'ig-grid' is an Angular component and it has 'options' input, then verify that it is part of this module.
If 'ig-grid' is a Web Component then add "CUSTOM_ELEMENTS_SCHEMA" to the<EMAIL_ADDRESS>of this component to suppress this message.
("

<ig-grid [(widgetId)]='gridId' [ERROR ->][(options)]='gridOptions' [(dataSource)] ='gridData'>"): AppComponent@4:31
Can't bind to 'dataSource' since it isn't a known property of 'ig-grid'.

If 'ig-grid' is an Angular component and it has 'dataSource' input, then verify that it is part of this module.
If 'ig-grid' is a Web Component then add "CUSTOM_ELEMENTS_SCHEMA" to the<EMAIL_ADDRESS>of this component to suppress this message.
("

<ig-grid [(widgetId)]='gridId' [(options)]='gridOptions' [ERROR ->][(dataSource)] ='gridData'>"): AppComponent@4:57
at SyntaxError.ZoneAwareError (http://localhost:4200/polyfills.bundle.js:3259:33)
at SyntaxError.BaseError [as constructor] (http://localhost:4200/vendor.bundle.js:64688:16)
at new SyntaxError (http://localhost:4200/vendor.bundle.js:5720:16)
at TemplateParser.parse (http://localhost:4200/vendor.bundle.js:17572:19)
at JitCompiler._compileTemplate (http://localhost:4200/vendor.bundle.js:47634:68)
at http://localhost:4200/vendor.bundle.js:47517:62
at Set.forEach (native)
at JitCompiler._compileComponents (http://localhost:4200/vendor.bundle.js:47517:19)
at createResult (http://localhost:4200/vendor.bundle.js:47399:19)
at ZoneDelegate.webpackJsonp.608.ZoneDelegate.invoke (http://localhost:4200/polyfills.bundle.js:2601:26)
at Zone.webpackJsonp.608.Zone.run (http://localhost:4200/polyfills.bundle.js:2393:43)
at http://localhost:4200/polyfills.bundle.js:2980:57
at ZoneDelegate.webpackJsonp.608.ZoneDelegate.invokeTask (http://localhost:4200/polyfills.bundle.js:2634:31)
at Zone.webpackJsonp.608.Zone.runTask (http://localhost:4200/polyfills.bundle.js:2433:47)
at drainMicroTaskQueue (http://localhost:4200/polyfills.bundle.js:2813:35)
consoleError @ zone.js:522
handleUnhandledRejection @ zone.js:527
_loop_1 @ zone.js:562
drainMicroTaskQueue @ zone.js:566
zone.js:524 ZoneAwareError {__zone_symbol__error: Error: Uncaught (in promise): Error: Template parse errors:
Can't bind to 'widgetId' since it isn't …, rejection: SyntaxError, promise: ZoneAwarePromise, zone: Zone, task: ZoneTask}`
`

The lite version of IgniteUI does not contain igGrid
"../node_modules/ignite-ui/js/infragistics.core-lite.js",
"../node_modules/ignite-ui/js/infragistics.lob-lite.js"

You need to download  and install the full version infragistics.core.js and infragistics.lob.js

@dkamburov
Thank you very much! Now it works!
Just had to change the css files because I had issues with them see #96 at the bottom.

Hmm I still have one problem, I can do a normal build but when I want to do a production build it gives an error. See screenshot.
Thanks in advance.

My suggestion would be to check the import statements. IgGridComponent should be imported from index.js while the error says it's trying to import it from index.d.ts.

Where do I need to change that? I tried doing it like this, but it still gives the same error:
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { FormsModule } from '@angular/forms';
import { HttpModule } from '@angular/http';

import { IgGridComponent} from 'igniteui-angular2/index.js';

import { AppComponent } from './app.component';

@NgModule({
  declarations: [
    AppComponent,
    IgGridComponent
  ],
  imports: [
    BrowserModule,
    FormsModule,
    HttpModule
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }

Can you demonstrate this in isolated sample with steps to reproduce?

Here you can download my project:
https://we.tl/tdw2wjT7OF
When I do ng server or ng build in my root folder, everything works fine.
But when I do ng build --prod it get the import error.
The only files I changed I already mentioned in the above posts.
I found this in the other issue but don't know how to apply it. And it's not entirely the same because it does find the file in the server and normal build.

Node can't find the ignite-angular.js file at all. One solution is to rename the igniteui.angular2.js file to index.js, the other one would be to set the main property in the package.json file.

Many thanks for looking into this!

try using ng build --prod --aot=false.  I don't think it works with AOT yet.

@gulbdoug Thanks for the reply!
Now I can build the project but when I deploy it, it gives me template parse errors. So I do think I need to change the index file somehow.
Unhandled Promise rejection: Template parse errors:
Can't bind to 'widgetId' since it isn't a known property of 'ig-grid'.
1. If 'ig-grid' is an Angular component and it has 'widgetId' input, then verify that it is part of this module.
2. If 'ig-grid' is a Web Component then add "CUSTOM_ELEMENTS_SCHEMA" to the<EMAIL_ADDRESS>of this component to suppress this message.
 ("
</h1>

<ig-grid [ERROR ->][(widgetId)]='gridId' [(options)]='gridOptions' [(dataSource)] ='gridData'></ig-grid>"): t@4:9
Can't bind to 'options' since it isn't a known property of 'ig-grid'.
1. If 'ig-grid' is an Angular component and it has 'options' input, then verify that it is part of this module.
2. If 'ig-grid' is a Web Component then add "CUSTOM_ELEMENTS_SCHEMA" to the<EMAIL_ADDRESS>of this component to suppress this message.
 ("
</h1>

<ig-grid [(widgetId)]='gridId' [ERROR ->][(options)]='gridOptions' [(dataSource)] ='gridData'></ig-grid>"): t@4:31
Can't bind to 'dataSource' since it isn't a known property of 'ig-grid'.
1. If 'ig-grid' is an Angular component and it has 'dataSource' input, then verify that it is part of this module.
2. If 'ig-grid' is a Web Component then add "CUSTOM_ELEMENTS_SCHEMA" to the<EMAIL_ADDRESS>of this component to suppress this message.
 ("
</h1>

<ig-grid [(widgetId)]='gridId' [(options)]='gridOptions' [ERROR ->][(dataSource)] ='gridData'></ig-grid>"): t@4:57
'ig-grid' is not a known element:
1. If 'ig-grid' is an Angular component, then verify that it is part of this module.
2. If 'ig-grid' is a Web Component then add "CUSTOM_ELEMENTS_SCHEMA" to the<EMAIL_ADDRESS>of this component to suppress this message. ("
</h1>

[ERROR ->]<ig-grid [(widgetId)]='gridId' [(options)]='gridOptions' [(dataSource)] ='gridData'></ig-grid>"): t@4:0 ; Zone: <root> ; Task: Promise.then ; Value: e {__zone_symbol__error: Error: Template parse errors:
Can't bind to 'widgetId' since it isn't a known property of 'ig-grid'.…, _nativeError: y, __zone_symbol__currentTask: t, __zone_symbol__stack: "Error: Template parse errors:↵Can't bind to 'widge…/polyfills.b22ebf26490bb940fe10.bundle.js:36:667)", __zone_symbol__message: "Template parse errors:↵Can't bind to 'widgetId' si…s' [(dataSource)] ='gridData'></ig-grid>"): t@4:0"} Error: Template parse errors:
Can't bind to 'widgetId' since it isn't a known property of 'ig-grid'.
1. If 'ig-grid' is an Angular component and it has 'widgetId' input, then verify that it is part of this module.
2. If 'ig-grid' is a Web Component then add "CUSTOM_ELEMENTS_SCHEMA" to the<EMAIL_ADDRESS>of this component to suppress this message.
 ("
</h1>

<ig-grid [ERROR ->][(widgetId)]='gridId' [(options)]='gridOptions' [(dataSource)] ='gridData'></ig-grid>"): t@4:9
Can't bind to 'options' since it isn't a known property of 'ig-grid'.
1. If 'ig-grid' is an Angular component and it has 'options' input, then verify that it is part of this module.
2. If 'ig-grid' is a Web Component then add "CUSTOM_ELEMENTS_SCHEMA" to the<EMAIL_ADDRESS>of this component to suppress this message.
 ("
</h1>

<ig-grid [(widgetId)]='gridId' [ERROR ->][(options)]='gridOptions' [(dataSource)] ='gridData'></ig-grid>"): t@4:31
Can't bind to 'dataSource' since it isn't a known property of 'ig-grid'.
1. If 'ig-grid' is an Angular component and it has 'dataSource' input, then verify that it is part of this module.
2. If 'ig-grid' is a Web Component then add "CUSTOM_ELEMENTS_SCHEMA" to the<EMAIL_ADDRESS>of this component to suppress this message.
 ("
</h1>

<ig-grid [(widgetId)]='gridId' [(options)]='gridOptions' [ERROR ->][(dataSource)] ='gridData'></ig-grid>"): t@4:57
'ig-grid' is not a known element:
1. If 'ig-grid' is an Angular component, then verify that it is part of this module.
2. If 'ig-grid' is a Web Component then add "CUSTOM_ELEMENTS_SCHEMA" to the<EMAIL_ADDRESS>of this component to suppress this message. ("
</h1>

[ERROR ->]<ig-grid [(widgetId)]='gridId' [(options)]='gridOptions' [(dataSource)] ='gridData'></ig-grid>"): t@4:0
    at e.y (https://www.site.be/OX-AANKOOP/polyfills.b22ebf26490bb940fe10.bundle.js:36:2553)
    at e [as constructor] (https://www.site.be/OX-AANKOOP/vendor.ac94e36912eb3304b943.bundle.js:534:811)
    at new e (https://www.site.be/OX-AANKOOP/vendor.ac94e36912eb3304b943.bundle.js:954:736)
    at t.parse (https://www.site.be/OX-AANKOOP/vendor.ac94e36912eb3304b943.bundle.js:1220:1522)
    at t._compileTemplate (https://www.site.be/OX-AANKOOP/vendor.ac94e36912eb3304b943.bundle.js:1633:6611)
    at https://www.site.be/OX-AANKOOP/vendor.ac94e36912eb3304b943.bundle.js:1633:4119
    at Set.forEach (native)
    at t._compileComponents (https://www.site.be/OX-AANKOOP/vendor.ac94e36912eb3304b943.bundle.js:1633:4090)
    at i (https://www.site.be/OX-AANKOOP/vendor.ac94e36912eb3304b943.bundle.js:1633:1819)
    at t.invoke (https://www.site.be/OX-AANKOOP/polyfills.b22ebf26490bb940fe10.bundle.js:36:9337)
    at n.run (https://www.site.be/OX-AANKOOP/polyfills.b22ebf26490bb940fe10.bundle.js:36:5061)
    at https://www.site.be/OX-AANKOOP/polyfills.b22ebf26490bb940fe10.bundle.js:36:2128
    at t.invokeTask (https://www.site.be/OX-AANKOOP/polyfills.b22ebf26490bb940fe10.bundle.js:36:10021)
    at n.runTask (https://www.site.be/OX-AANKOOP/polyfills.b22ebf26490bb940fe10.bundle.js:36:5710)
    at a (https://www.site.be/OX-AANKOOP/polyfills.b22ebf26490bb940fe10.bundle.js:36:667)
o @ polyfills.b22ebf2….bundle.js:36
i @ polyfills.b22ebf2….bundle.js:36
r @ polyfills.b22ebf2….bundle.js:36
a @ polyfills.b22ebf2….bundle.js:36
polyfills.b22ebf2….bundle.js:36 y {__zone_symbol__error: Error: Uncaught (in promise): Error: Template parse errors:
Can't bind to 'widgetId' since it isn't …, rejection: e, promise: t, zone: n, task: t}

This sounds like a third party issue.
Can you check if mangle: { screw_ie8 : true, keep_fnames: true } resolves this for you
https://github.com/angular/angular-cli/pull/1662

@dkamburov Thanks for the reply but where do I need to add this?

In webpack.optimize.UglifyJsPlugin

@dkamburov Yeah that I found but in what file?

It should be in webpack. If you don't have it in your project update the angular cli.
Or in angular-cli.json - similar to this issue https://github.com/angular/angular-cli/pull/5192

@dkamburov I added it to my angular-cli.json and now it complains that property 'uglifyOptions' is not allowed. I still can do ng serve and ng build, but still the same error.
ERROR in Unexpected value 'IgGridComponent in ../angular-cli/OX-AANKOOP/node_modules/igniteui-angular2/index.d.ts' declared by the module 'AppModule in ../angular-cli/OX-AANKOOP/src/app/app.module.ts'

ERROR in ./src/main.ts
Module not found: Error: Can't resolve './$$_gendir/app/app.module.ngfactory' in '..\angular-cli\OX-AANKOOP\src'
 @ ./src/main.ts 4:0-74
 @ multi ./src/main.ts

My .angular-cli.json:
{
  "$schema"<EMAIL_ADDRESS>  "project": {
    "name": "ox-aankoop"
  },
  "apps": [
    {
      "root": "src",
      "outDir": "dist",
      "assets": [
        "assets",
        "favicon.ico"
      ],
      "index": "index.html",
      "main": "main.ts",
      "polyfills": "polyfills.ts",
      "test": "test.ts",
      "tsconfig": "tsconfig.app.json",
      "testTsconfig": "tsconfig.spec.json",
      "prefix": "app",
      "styles": [
        "../node_modules/ignite-ui/css/structure/infragistics.css",
        "../node_modules/ignite-ui/css/themes/infragistics/infragistics.theme.css",
        "styles.css"
      ],
      "scripts": [
        "../node_modules/jquery/dist/jquery.min.js",
        "../node_modules/jquery-ui-dist/jquery-ui.min.js",
        "../node_modules/ignite-ui/js/infragistics.core.js",
        "../node_modules/ignite-ui/js/infragistics.lob.js"
      ],
      "environmentSource": "environments/environment.ts",
      "environments": {
        "dev": "environments/environment.ts",
        "prod": "environments/environment.prod.ts"
      },
      "uglifyOptions": {
        "mangle": {
            "keep_fnames": true
        }
      }
    }
  ],
  "e2e": {
    "protractor": {
      "config": "./protractor.conf.js"
    }
  },
  "lint": [
    {
      "project": "src/tsconfig.app.json"
    },
    {
      "project": "src/tsconfig.spec.json"
    },
    {
      "project": "e2e/tsconfig.e2e.json"
    }
  ],
  "test": {
    "karma": {
      "config": "./karma.conf.js"
    }
  },
  "defaults": {
    "styleExt": "css",
    "component": {}
  }
}

Can you update your angular-cli to the latest version?

I updated the angular version but still have the same problem.
   / \   _ __   __ _ _   _| | __ _ _ __     / ___| |   |_ _|
  / △ \ | '_ \ / _` | | | | |/ _` | '__|   | |   | |    | |
 / ___ \| | | | (_| | |_| | | (_| | |      | |___| |___ | |
/_/   \_\_| |_|\__, |\__,_|_|\__,_|_|       \____|_____|___|
               |___/
@angular/cli: 1.0.0
node: 6.9.4
os: win32 x64
@angular/common: 2.4.10
@angular/compiler: 2.4.10
@angular/core: 2.4.10
@angular/forms: 2.4.10
@angular/http: 2.4.10
@angular/platform-browser: 2.4.10
@angular/platform-browser-dynamic: 2.4.10
@angular/router: 3.4.10
@angular/cli: 1.0.0
@angular/compiler-cli: 2.4.10

My suggestion would be to check the import statements. IgGridComponent should be imported from index.js while the error says it's trying to import it from index.d.ts.

I never tried this because I didn't know where to do it, do you know where and what I need to change so I can check this one?

I investigated this one and in my opinion it's an issue in the cli. It should resolve when we add support for AOT, until then use the non minified and non compressed bundles.

@dkamburov Ok, thank you for all your help! Do you have an eta for the AOT support?

I cannot tell for sure when it would be ready, but you can check on issue #133
Once we got it resolved, we would have AOT support.

This should be resolved by now.


feat: Add network change receiver

There is no network register at present to check the availability of network connection after the user logs in.
Steps to reproduce:
After logging in the application, switch the network connection.
Expected behaviour:
Network changer register should be available. A proper toast message should be shown when no network connection is available.

I would love to work on this issue.


Add study to sample Ag3 metadata

It would be useful to have a "study" field with the MalariaGEN study ID in the sample metadata.

Is there already a place we can publicly source the MalariaGEN study ID, or will we have to retroactively add that to our data releases?


Grunt uglification

Minified js file
This has been tested and works great!

Actually, I don't think bower modules should be serving minified files at all. See e.g.:

https://groups.google.com/d/msg/twitter-bower/P8TbooJPacs/dE5OdIGVEkQJ
https://github.com/bower/bower/issues/368

This is the only project I am currently using that doesn't have one. You're right though, I could uglify the code myself but this project is the odd one out currently and I wanted to bring it up to scratch in this regard with projects such as query and angularjs itself

Yup, I'm not very invested in this opinion and a pragmatic way could indeed be adding minified file.
@witoldsz thoughts?

The idea seems really stupid, the minified version should be present in NPM Repositories, not the source code. The only problem is with Bower which I wish was never adopted by the community.
I have stopped using Bower long time ago, but I am not the only one here, so OK, the minified version will enter the Git "source" code repository. Just one question no one answered me yet: how often should we smudge the repo with updated minified file: on each commit/pull-request, on each release?

on each commit/pull-request, on each release?

Release.

Thanks @simison, just found your other answer to this a while ago :)
Will try to merge, build and release a new version today/tomorrow.

Thanks guys :)


ci: use fedora 28 for devstack

skip skydive-go-fmt skydive-unit-tests skydive-compile-tests skip skydive-functional-tests-backend-elasticsearch skydive-functional-tests-backend-orientdb skip skydive-scale-tests skip skydive-selenium-tests

run skydive-devstack-tests

run skydive-vagrant-tests

run skydive-devstack-tests


fix: bind mouse events in web worker

Web workers do support addEventListener ( aka. EventTarget ) and requestAnimationFrame, but worker do not have the global object window.
Instead of window, we should use a better option to get the global object. globalThis is the best option indeed, but we can't use it due to its poor compatibility. Browser and worker both support self, and it has very good browser compatibility. Using self can be a better option than using window.
This PR generally enables OffscreenCanvas support of zrender, which may greatly improve the performance of echarts.
Ref: https://github.com/apache/incubator-echarts/issues/9232

Good catch!
But maybe it's unnecessary to instance a handlerProxy?
I had bypassed the proxy and used the handler directly in a different case.

I had bypassed the proxy and used the handler directly in a different case.

I'm not sure I understand what you mean, but do you mean using zrender.handler directly?
I know I can access zrender.handler by using echartsInstance._zr.handler, but I don't know if it's a good idea of accessing the private _zr property. But AFAIK trigger mouse events using dispatchEvent is a much easier way to reuse existing code.

Got it. It's reasonable in echarts.
I'm using zrender alone. Considering some non-browser environments, I keep dom event things away to make it easier.

I have tried bypassing handlerProxy by calling echartsInstance._zr.zrender.trigger directly (zrX, zrY and friends are set before), and got various errors.
I gave up,  and reverted back to dispatchEvent on OffscreenCanvas.

It has been more than 1 year, any chance to review this?

@CarterLi Sorry for missing this PR.
addEventListener in web worker is for receiving messages. It doesn't have the function of listening to mouse events. Ignoring it and still treat it as in the dom environment may lead to other problems in the further.
About mouse event. Perhaps you can reference to the code in ECharts GL.
https://github.com/ecomfe/echarts-gl/blob/master/src/util/EChartsSurface.js#L140
It does a similar thing.

Thanks @pissang


[WIP] tough-cookie override poc

Description

How Has This Been Tested?

Test Impact

Request review criteria:

Self checklist (all need to be checked):

[ ] The developer has manually tested the changes and verified that the changes work
[ ] Commits have been squashed into descriptive, self-contained units of work (e.g. 'WIP' and 'Implements feedback' style messages have been removed)
[ ] Testing instructions have been added in the PR body (for PRs involving changes that are not immediately obvious).
[ ] The developer has added tests or explained why testing cannot be added (unit or cypress tests for related changes)

If you have UI changes:

[ ] Included any necessary screenshots or gifs if it was a UI change.
[ ] Included tags to the UX team if it was a UI/UX change (find relevant UX in the SMEs section).

After the PR is posted & before it merges:

[ ] The developer has tested their solution on a cluster by using the image produced by the PR to main

Wasn't this change already covered in https://github.com/opendatahub-io/odh-dashboard/pull/2889 ?


issues running ycsb client

I am having issues running the YCSB shell. When i run any shell command, the J2SE binary dies. Any inputs. ?Please let me know if you need any more details. I am trying to run the YCSB  Shell on a windows machine

Hello,
I am working on benchmarking mysql. When I pass the workload I get this error
Ashwin@Ashu /cygdrive/c/Users/Ashwin/Downloads/ycsb-0.1.4
$ ./bin/ycsb load jdbc -P workloads/workloada properties.dat -s > mysql1.load.txt
Error: Could not find or load main class com.yahoo.ycsb.Client
Please help me out

Hi @Ash140, let's try to keep this on your new issue, #257 rather than bringing this thread back to life.

H,
I  m using ycsb 0.2.0 for benchmarking mongodb2.6.7 on windows platform. For basic database it works but when I write following command

c:\Python27\python.exe bin\ycsb load mongodb -P workloads\workload a -p companies.json -s > mogotest.txt
it doesnot work.

pls help me out

@mydata28 please keep your request on #630. most folks won't get notifications on this older closed issue.

What error message are u getting?
On Feb 23, 2016 7:52 AM, mydata28<EMAIL_ADDRESS>wrote:H,
I  m using ycsb 0.2.0 for benchmarking mongodb2.6.7 on windows platform. For basic database it works but when I write following command
c:\Python27\python.exe bin\ycsb load mongodb -P workloads\workload a -p companies.json -s > mogotest.txt
it doesnot work.
—Reply to this email directly or view it on GitHub.


'grapesjs-plugin-borders@*' is not in this registry

Hi there! This nice plugin is not registered on npm yet:
npm ERR! code E404
npm ERR! 404 Not Found - GET https://registry.npmjs.org/grapesjs-plugin-borders - Not found
npm ERR! 404
npm ERR! 404  'grapesjs-plugin-borders@*' is not in this registry.
npm ERR! 404 You should bug the author to publish it (or use the name yourself!)

Updated


Make internal menu time out + small fixes

Improve handling of default local options.
Add timeout to internal menu.
Allow menus to be lazified (as in the Round face).
Rename options.active to options.activeFg, restoring consistency and avoiding a name collision.
Fix broken bounding box logic for drags.
Defer screen clear on face reset to reduce blinking.

Thanks!
Just a note but please can you use the 0.02 style version numbers the other apps use, with a ChangeLog? I'm not sure if the App Loader will be able to recognise 0.0.2 properly and prompt for updates accordingly. I'll tweak it here after merge

Ok.
On Mon, 13 Dec 2021 at 02:12, Gordon Williams @.***>
wrote:

Thanks!
Just a note but please can you use the 0.02 style version numbers the
other apps use, with a ChangeLog? I'm not sure if the App Loader will be
able to recognise 0.0.2 properly and prompt for updates accordingly. I'll
tweak it here after merge
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/espruino/BangleApps/pull/1070#issuecomment-992306936,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AWGZ2FWGLSLB4WAS2AJHVKLUQXBJHANCNFSM5J4ZA2QQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

…Sorry, I missed the change log step in the checklist!
On Mon, 13 Dec 2021 at 09:00, Stephen P Spackman @.***> wrote:

Ok.
On Mon, 13 Dec 2021 at 02:12, Gordon Williams @.***>
wrote:

Thanks!
Just a note but please can you use the 0.02 style version numbers the
other apps use, with a ChangeLog? I'm not sure if the App Loader will be
able to recognise 0.0.2 properly and prompt for updates accordingly.
I'll tweak it here after merge
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/espruino/BangleApps/pull/1070#issuecomment-992306936,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AWGZ2FWGLSLB4WAS2AJHVKLUQXBJHANCNFSM5J4ZA2QQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.


Copier should autoignore files if a .tmpl-suffixed one exists

This terminal session shows the problem:
root@6d41e6e965f0:~# ls template/
README.md  README.md.tmpl
root@6d41e6e965f0:~# cat template/README.md
1
root@6d41e6e965f0:~# cat template/README.md.tmpl
2
root@6d41e6e965f0:~# copier template/ copy

    create  README.md
  conflict  README.md
 Overwrite /root/copy/README.md? [Y/n] y
     force  README.md

As the template has both README.md and README.md.tmpl files, there will always be a conflict.
README.md should be ignored always, automatically.
If this were supported, it would be very helpful for cases like README files, where your template might have a README which is different from the README that will be generated in the copy. The same goes for files such as .gitlab-ci.yml, .travis.yml, .pre-commit.yml, etc.

Workaround: add this copier.yml:
_exclude:
  - README.md

Nope, the workaround doesn't work. It doesn't detect changes when copying the 2nd time.

Thank you for all your notes. They're warmly welcome.
I am not commenting on their content right now, but be assured I will consider all of them for my next development sprint.


refactor: Add validation to the set_idempotent_data method in cementService and fill in the test case

What's changed and what's your intention?
refactor: Add validation to the set_idempotent_data method in cementService and fill in the test case
Checklist

[x]  I have written the necessary rustdoc comments.
[x]  I have added the necessary unit tests and integration tests.
[x]  This PR does not require documentation updates.

Refer to a related PR or issue link (optional)
close #545

cc @socutes


Doesn't work on M3 Mac

Hi,
Does anyone has a problem with multi networking on Mac with M3 chip?
It doesn't resolve network correctly. It reached the docker container but it doesn't resolve any url path.
Can you please help me to resolve this issue.
After listing brew services I saw an error:
Name                   Status     User File
docker-mac-net-connect error  256 root ~/Library/LaunchAgents/homebrew.mxcl.docker-mac-net-connect.plist

It works on M2 chip with the same configuration.

UPDATE:
After grep network details by IP I found out that on M2 chip the Gateway is set utun0 and on M3 chip is utun6
$ sudo netstat -rnf inet | grep 10.100

Destination           Gateway         Flags               Netif
10.100.200/24      utun6              USc                 utun6

@gregnr can you please take a look?

@gregnr I found a bug which was not on that package but in Django Framework which wrapped CORS error to 404 for no reason.
Sorry for open an issue for no reason. I'm closing it now because it works like expected!

All good! Glad you solved it 👍


install.bat not found

when I install the exe file , it gives an error"install.bat not found "

Hi @lisontowind it turned out there is some compiling issue on last release of 3gs, we are looking at it and will update you when it's fixed


Rename fullname to reponame

1. Does this PR affect any open issues?(Y/N) and add issue references (e.g. "fix #123", "re #123".):

[ ] N
[ ] Y

2. What is the scope of this PR (e.g. component or file name):

3. Provide a description of the PR(e.g. more details, effects, motivations or doc link):

[ ] Affects user behaviors
[ ] Contains syntax changes
[ ] Contains variable changes
[ ] Contains experimental features
[ ] Performance regression: Consumes more CPU
[ ] Performance regression: Consumes more Memory
[ ] Other

4. Are there any breaking changes?(Y/N) and describe the breaking changes(e.g. more details, motivations or doc link):

[ ] N
[ ] Y

5. Are there test cases for these changes?(Y/N) select and add more details, references or doc links:

[ ] Unit test
[ ] Integration test
[ ] Benchmark (add benchmark stats below)
[ ] Manual test (add detailed scripts or steps below)
[ ] Other

@peefy PTAL

Pull Request Test Coverage Report for Build<PHONE_NUMBER>8
Details

10 of 47 (21.28%)  changed or added relevant lines in 3 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.02%) to 40.651%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

pkg/client/client.go
8
11
72.73%

pkg/package/package.go
1
11
9.09%

pkg/package/modfile.go
1
25
4.0%

Totals

Change from base Build<PHONE_NUMBER>3:
-0.02%

Covered Lines:
3196

Relevant Lines:
7862

💛  - Coveralls

Hi @officialasishkumar 😄
Add more test cases, for example, compile a KCL package that relies on a git submodule as a dependency and output the correct result.

@zong-zhe Added it. Please have a look.
cc: @Peefy


This script is not stoppable by keyboard interrupt

Ctrl+C has no effect on this program. This is rather frustrating as it apparently kept going during the time it was not supposed to.

Hi,
If you want to support a use case of terminating the process with Ctrl+C, you can simply modify the set_signal_handling method, and add support for a SIGINT case.
That should support your requirement.
Regards,
Doron

Is there any reason this isn't supported out of the box?

Hi,
This script was designed to provide an example of the logs downloading logic, and to enable customers to develop it further as they wish, or replicate its logic to other scripting language.
Regards,
Doron

Could you add that to the readme? It's not clear from the provided information in the reop that this was primarily PoC/example.

Hi Nathan,
Thanks a lot for your input. It is described in our official documentation that this is a sample Python script, and that Incapsula does not maintain this script. It is hosted in GitHub and managed by the open source community.
You can read the official documentation here:
https://docs.incapsula.com/Content/management-console-and-settings/log-integration.htm
Regards,
Doron


Add inequality helpers

@homu r+

:pushpin: Commit c25730a has been approved by martndemus

:zap: Test exempted - status


SG conformity

Fixes to match C# code for SG module

@mdwhitten please sanity check this against NISystemsEngineering/rfic-reference-design-libraries-csharp#88. Especially ConfigureBurstedGeneration if you don't mind.


python3Packages.ray: re-add empty set fallback

Now that nixpkgs recurses into python313 this has broken https://github.com/nix-community/nixpkgs-update-github-releases. It would be better to handle to try and handle these cases in nixpkgs-update-github-releases but for now I'd like to merge this to unblock package updates.
error:
        … while calling the 'listToAttrs' builtin
          at /nix/store/cpgc7nj9axliidxbqk9wm5kcxv1v4xc0-source/loadMetaFromPath.nix:42:3:
            41| in
            42|   pkgs.lib.listToAttrs filtered
              |   ^
            43|
        … while calling the 'filter' builtin
          at /nix/store/cpgc7nj9axliidxbqk9wm5kcxv1v4xc0-source/loadMetaFromPath.nix:40:14:
            39|     (pkgs.lib.splitString "\n" (pkgs.lib.fileContents universeFile));
            40|   filtered = pkgs.lib.filter (x: x != null) versions;
              |              ^
            41| in
        (stack trace truncated; use '--show-trace' to show the full, detailed trace)
        error: attribute 'cp313' missing
        at /nix/store/6jgvs97718i2c81f8dyldglpc3hf49xi-source/pkgs/development/python-modules/ray/default.nix:90:14:
            89|       platform = "manylinux2014_x86_64";
            90|       hash = binary-hashes.${pyShortVersion};
              |              ^
            91|     };
        Did you mean one of cp310, cp311 or cp312?

Things done

Built on platform(s)

[ ] 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

[ ] 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

[ ] 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
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
25.05 Release Notes (or backporting 24.11 and 25.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

[ ] Fits CONTRIBUTING.md.

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

Thanks!


⚠ Bofrost.es has degraded performance

In 787ed0a, Bofrost.es (https://www.bofrost.es) experienced degraded performance:

HTTP code: 200
Response time: 1324 ms

Resolved: Bofrost.es performance has improved in b1d2f36 after 8 minutes.