issue with Neovim 0.10

Just upgraded Neovim to 0.10 and then folded a code section in a markdown file, and saw lots of error messages:
:messages
...ack/paqs/start/pretty-fold.nvim/lua/pretty-fold/init.lua:85: dlsym(RTLD_DEFAULT, curwin_col_off): symbol not found
stack traceback:
^I[C]: in function '__index'
^I...ack/paqs/start/pretty-fold.nvim/lua/pretty-fold/init.lua:85: in function <...ack/paqs/start/pretty-fold.nvim/lua/pretty-fold/init.lua:69>
...ack/paqs/start/pretty-fold.nvim/lua/pretty-fold/init.lua:85: dlsym(RTLD_DEFAULT, curwin_col_off): symbol not found
stack traceback:
^I[C]: in function '__index'
^I...ack/paqs/start/pretty-fold.nvim/lua/pretty-fold/init.lua:85: in function <...ack/paqs/start/pretty-fold.nvim/lua/pretty-fold/init.lua:69> functi
on: builtin#18 ...ack/paqs/start/pretty-fold.nvim/lua/pretty-fold/init.lua:85: dlsym(RTLD_DEFAULT, curwin_col_off): symbol not found
stack traceback:
^I[C]: in function '__index'
^I...ack/paqs/start/pretty-fold.nvim/lua/pretty-fold/init.lua:85: in function <...ack/paqs/start/pretty-fold.nvim/lua/pretty-fold/init.lua:69>
...ack/paqs/start/pretty-fold.nvim/lua/pretty-fold/init.lua:85: dlsym(RTLD_DEFAULT, curwin_col_off): symbol not found
stack traceback:
^I[C]: in function '__index'
^I...ack/paqs/start/pretty-fold.nvim/lua/pretty-fold/init.lua:85: in function <...ack/paqs/start/pretty-fold.nvim/lua/pretty-fold/init.lua:69> functi
on: builtin#18 ...ack/paqs/start/pretty-fold.nvim/lua/pretty-fold/init.lua:85: dlsym(RTLD_DEFAULT, curwin_col_off): symbol not found
stack traceback:
^I[C]: in function '__index'
^I...ack/paqs/start/pretty-fold.nvim/lua/pretty-fold/init.lua:85: in function <...ack/paqs/start/pretty-fold.nvim/lua/pretty-fold/init.lua:69> functi
on: builtin#18 ...ack/paqs/start/pretty-fold.nvim/lua/pretty-fold/init.lua:85: dlsym(RTLD_DEFAULT, curwin_col_off): symbol not found
stack traceback:
^I[C]: in function '__index'
^I...ack/paqs/start/pretty-fold.nvim/lua/pretty-fold/init.lua:85: in function <...ack/paqs/start/pretty-fold.nvim/lua/pretty-fold/init.lua:69>
...ack/paqs/start/pretty-fold.nvim/lua/pretty-fold/init.lua:85: dlsym(RTLD_DEFAULT, curwin_col_off): symbol not found
stack traceback:
^I[C]: in function '__index'
^I...ack/paqs/start/pretty-fold.nvim/lua/pretty-fold/init.lua:85: in function <...ack/paqs/start/pretty-fold.nvim/lua/pretty-fold/init.lua:69> functi
on: builtin#18 ...ack/paqs/start/pretty-fold.nvim/lua/pretty-fold/init.lua:85: dlsym(RTLD_DEFAULT, curwin_col_off): symbol not found
stack traceback:
^I[C]: in function '__index'
^I...ack/paqs/start/pretty-fold.nvim/lua/pretty-fold/init.lua:85: in function <...ack/paqs/start/pretty-fold.nvim/lua/pretty-fold/init.lua:69> functi
on: builtin#18 ...ack/paqs/start/pretty-fold.nvim/lua/pretty-fold/init.lua:85: dlsym(RTLD_DEFAULT, curwin_col_off): symbol not found
stack traceback:
^I[C]: in function '__index'
^I...ack/paqs/start/pretty-fold.nvim/lua/pretty-fold/init.lua:85: in function <...ack/paqs/start/pretty-fold.nvim/lua/pretty-fold/init.lua:69> functi
on: builtin#18 ...ack/paqs/start/pretty-fold.nvim/lua/pretty-fold/init.lua:85: dlsym(RTLD_DEFAULT, curwin_col_off): symbol not found
stack traceback:
^I[C]: in function '__index'
^I...ack/paqs/start/pretty-fold.nvim/lua/pretty-fold/init.lua:85: in function <...ack/paqs/start/pretty-fold.nvim/lua/pretty-fold/init.lua:69>
...ack/paqs/start/pretty-fold.nvim/lua/pretty-fold/init.lua:85: dlsym(RTLD_DEFAULT, curwin_col_off): symbol not found
stack traceback:
-- More --

Unsure if related, but my folds look very different to what they looked like prior to 0.10.
For reference, here is my config for this plugin: https://github.com/niveK77pur/nvim/blob/1837edeff2e77df93967c3fff9df26d9d16f0f5c/lua/myplugins/CANDY_pretty-fold.lua
Neovim version 0.9.5

Neovim version 0.10.0
Also note the ^I...h which is there sometimes; I do not observe this on folds when disabling the plugin

I'm also getting the same error. This is frustrating!

Looks related to https://github.com/anuvyklack/pretty-fold.nvim/issues/38

Probably gets fixed by https://github.com/anuvyklack/pretty-fold.nvim/pull/41/


Fix autoprefixer step

The autoprefixer plugin is only taking into account the first argument ('last 2 versions')
The correct syntax should be:
autoprefixer({   browsers: [ ... ] });

Ah good catch. Thanks for the PR!


Proposal of Kùzu GUI / Visualization

This issue proposes a frontend user application for Kùzu that aims to provide end user: interactive querying, graph visualization, and schema design functionalities.
Main Features
Schema Design
The schema design feature should provide user with a graph visualization of the current schema and allow user to add/remove new  node and rel tables, as well as modifying the existing tables (add / drop properties). The UI design of this feature should be the standard node-link diagram that's provided by many existing systems. Where the nodes corresponds to the node tables and the edges correspond to the rel tables. How to visualize RDFGraphs when they are integrated is to be decided. When the user clicks on a node/edge, the properties of the table should be displayed in a side panel with the options to modify it. There should also be a button to add a new node table. Connecting the node tables results in a new rel table to be created.
Interactive Query and Visualization
This feature is for users to run a Cypher query interactively on the UI and get the query results back in both tabular and graph format. This is a standard feature on every graph DBMS application that I'm aware of (e.g., Neo4J, Nebula, Memgraph). I propose to support the following features:

Query syntax highlight.
Switching between table view and graph visualization.
Pagination/infinite scroll in the table view.
The graph visualization's appearance should be customizable. The user can specify the colors of each type of nodes and edges, the attribute to be displayed on each node/edge, and the size of the nodes from the side panel.
Zoom and pan of the visualization.
Interaction: when clicking on a node, its properties should be shown on the side panel and it should be highlighted.
Hide/unhide nodes.
Scale up to a few thousand nodes.

Graph Explore
This allows a user to pick up a starting point and interactively navigate the graph. By double clicking on a node, the nodes which has a connection to the node via a relationship should show up in the visualization. This is similar to Neptune graph explorer.
Loading Data
We should provide users with a collection of bundled dataset for quickly exploring Kùzu. The bundled dataset can be loaded to a database with one click.
Tech Stack
We will use the web stack to build this application. The frontend will be a Vue.js-based single-page application. The backend will be in Node.js. For graph visualization, we are considering the following libraries:

sigma.js
visjs
G6
3d-force-graph

If none of the libraries meets all the design requirements, we can also use D3.js to render SVG manually.
Deployment
We have several options here:
Docker
This is what we should start with because a Docker deployment would be suitable for the users whose databases are located on a remote server (instead of their local machines). Since Kùzu is an embeddable database, there is not an option to connect to a remote Kùzu server. But with the Docker image, the user can simply start a Kùzu web server on the remote machine via:
docker run -it -p 8080:8080 -v /path/to/database:/db kuzudb/kuzu-gui

Then, the application can be accessed in the browser.
The downside of this approach is that for users who are solely working locally, they would have to install Docker on their machines.
Electron App
For users who are solely working locally, with the Electron wrapper, the app could be downloaded to local machine and started immediately without any additional setup. The user simply needs to download the app for their operating system and launch it, then open the local database file.
Sandbox
We should also install a sandbox deployment Kùzu's homepage to allow users to try Kùzu without downloading/installing anything.
Since all three deployment share the same frontend codebase, they should provide a similar user experience and it should be relatively easy to port a web application into different platforms.
Accessing the Same Database Through Multiple Processes
As stated in our documentation, Kùzu currently does not provide any safety guarantees if multiple processes access the same database:

Each database you create is identified by its directory. If you are going to concurrently interact with the same database through more than one Database instances, you should ensure that you only issue read queries to the system. Your writes from one Database instance will not be visible to your other program and you can easily corrupt your database. Kùzu currently does not ensure that you are connecting to the same database directory through a single Database instance.

If the GUI application writes to the database while the user is running a script in Python or using the CLI writing to the same database, users might corrupt their databases. In fact it is not even safe for there to be 1 write process and one or more read-only processes. That's because we currently do not have a mechanisms for different processes to coordinate with each other. For example, currently if there are multiple threads in the same process that are using the same Database object, we have a way of coordinating them, e.g., if one of them is committing a write transaction, we can ensure that all read transactions first complete and leave the system and no new transaction starts. When multiple processes access the same database directory using different Database instances, the process that is writing could not block other processes starting transactions during checkpointing. Therefore if we will allow multiple processes to access the same database directory, we need a mechanism to ensure that either: (i) there is only one process accessing the database and it can read and write freely; or (ii) there are multiple read-only processes accessing the same database (so none can write to the database). To enforce these, we first need to introduce the notion of creating a read-only Database instance and then keeping track of the processes accessing a directory.

TODOs:

[ ] Application setup

[ ] GUI: Generate a Vue.js application
[ ] GUI: Install a UI library for Vue.js
[ ] GUI: Plug in an icon library
[ ] API: Configure Node.js server
[ ] API: Add Express.js API router
[ ] Deployment: Dockerize the web application

[ ] Application layout

[ ] GUI: Create place-holder components
[ ] GUI: Create a tab-based layout between UI components
[ ] GUI: Configure Vue.js or EventBus between components

[ ] Schema design feature

[ ] API: Fetch schema from database
[ ] GUI: Graph visualization of the current schema
[ ] GUI: Auto layout of the graph visualization
[ ] GUI: Handle user interaction to show props on node/rel click
[ ] GUI: Add node table
[ ] GUI: Add rel table
[ ] GUI: Drop node table
[ ] GUI: Drop rel table
[ ] GUI: Add a property
[ ] GUI: Drop a property
[ ] GUI: Save/synchronize button and confirmation dialog
[ ] API: Post logs of user actions to server
[ ] API: Generate DDLs from user actions

[ ] Loading data feature

[ ] API: Fetch a list of bundled dataset
[ ] GUI: Show list of bundled dataset
[ ] GUI: Select dataset to l
[ ] API: Post loading request to server
[ ] API: Execute dataset loading
[ ] GUI: Error dialog on loading conflict

[ ] Interactive Query and Visualization

[ ] GUI: Query syntax highlight
[ ] API: Post query results to server and get back result
[ ] GUI: Handle query error
[ ] GUI: Switching between table view and graph visualization
[ ] GUI: Pagination/infinite scroll in the table view.
[ ] GUI: Interactive zoom and pan of the visualization
[ ] GUI: Handle user interaction to show props
[ ] GUI: Node highlighting
[ ] GUI: Edge highlighting
[ ] GUI: Hide/unhide node
[ ] GUI: Customizable visualization appearance

[ ] Node color
[ ] Edge color
[ ] Node atrribute
[ ] Edge attribute
[ ] Node size

[ ] [TO BE PLANNED] Graph explore feature
[ ] [TO BE PLANNED] A mechanism to ensure the same database can be safely accessed with multiple processes
[ ] [TO BE PLANNED] Electron app
[ ] [TO BE PLANNED] Sandbox deployment

Thanks for the update! This sounds great overall. If possible, an interim solution that allows some form of basic visualization (something like the approach related to Docker) would be a great start, as the development for the full-fledged Electron-based editor happens over the longer term. It would really help new users onboard to Kùzu and experiment with it faster. Thanks for the great work!

I agree that among the available open source graph visualization libraries, Vue.js is probably the best fit for what's needed. It's also relatively flexible and extensible.

Just wanted to leave this idea here: in case there's an appetite for integrating more Rust-powered code into Kùzu, Tauri, an Electron alternative written in Rust, offers a more light-weight solution for a future GUI or web-based application. I've been seeing more and more talk about it, and it seems easy enough to learn, leveraging the power of the full Rust ecosystem too 👍

Closing this issue now as the major features for the UI app are implemented. Remaining feature requests are now moved to https://github.com/kuzudb/kuzu-ui/issues.


go build is broken

# github.com/zchee/docker-machine-driver-xhyve/vendor/github.com/hooklift/xhyve
vendor/github.com/hooklift/xhyve/pci_virtio_9p.c:49:10: fatal error: 'lib9p.h' file
      not found

However, make works.

Reproduced.
$ go version
go version go1.6.2 darwin/amd64

If you're blocked by this, know that using the provided Makefile works.

@FiloSottile @ain This is a fix of a brew recipe https://github.com/Homebrew/legacy-homebrew/pull/49467 still not merged 😭

@FiloSottile Sorry, this project needs C build for lib9p. Not support go gettable.


why using django admin to set openai api key instead of .env

using .env will be much more easier to set. We've had the CSRF issues on django admin JUST to set the OpenAI API Key which should be fairly simple to do. using django admin just complicate stuff IMO

The original intent of this project was to support multiple users and data persistence, and the purpose of the admin panel is more than simply setting variables.
If you just want to use a simple client, I'm sure there are many alternatives.


chore: remove bigquery native image sample in favor of sample in google-cloud-java

This PR removes the redundant bigquery native image sample in favor of a single sample maintained from https://github.com/googleapis/google-cloud-java/tree/main/java-samples/native-image-sample
Documented externally in https://cloud.google.com/java/docs/compile-native-images#whats_next

Are the following files still needed?

samples/native-image-sample/src/test/java/com/example/bigquery/NativeImageBigquerySampleIT.java
samples/native-image-sample/pom.xml

My bad, thank you. Missed committing the removal of the remaining two files.


A detailed criticism on the satisfaction system

This is a response to #1165, and a detailed tangent (maybe?) to #997 that I feel like would benefit to stand on its own.

I've tried to talk about this many times before, but I don't think @jhoffner has got my idea yet:
Setting to expectation to be "everyone will vote very satisfied unless otherwise" is not a realistic measure at all. By how the current beta process and satisfaction metric are set up, it is set up as 0 points for 100% satisfied, while every somewhat satisfied and not satisfied deducts 1 and 2 points. This is not how ratings system work literally everywhere else on the internet:

From the distributions of 5-star ratings I've seen on various places, when you have something good the distribution doesn't go like everyone's voting a 5: usually it's an exponential curve that begins at 5 and tails at 1. (Of course, there's another such exponential curve pointing at the other direction. For good stuff this part is negligible).
So even if a kata is, as @jhoffner usually emphasizes, "high quality", it's not gonna get a pure 100%, i.e 5/5; it'd be more like 4.2/5. And this will get even lower as you throw more people into the rating system (I'm talking about at least a thousand votes, so blue/purple katas are out of the question). Just look at how many white/yellow katas that get approved and then converge to something like 80%. If you look at every single kata that's most completed, they've all converged to ~85%. (And the entry exam kata, Multiply, has just 75%.)
And I (and maybe some other people too) have lots of problems about it because while nobody wants poor quality katas to get approved, we still want katas to be approved. What is high quality is subjective, but what is not hot garbage is mostly objective.
(This also doesn't mention another elephant in the room: beta process is usually participated first by the power users, so the initial statistics kinda matches what @jhoffner expects, but not for the expected reason. It doesn't work in general. Basically, the beta process somehow works by some amount of luck.)

In the end, we probably should separate "katas that are hot garbage" from "katas that are not hot garbage but not stellar". We can all agree that we should not approving hot garbage katas and we should approve stellar katas, but still we have tons of katas inbetween (mostly in the white/yellow range), and the various discussions in the past doesn't address these katas at all. And the satisfaction system doesn't help at all either, instead it just puts these katas dangling between the boundary of approving and not approving (which is arguably worse, now it depends on whether a somewhat satisfied will come out randomly from somewhere, or nowhere). We need a system that focuses and addresses these katas currently standing on the verge.

I hear you and I don't argue that the system needs to be improved, however we need to go based off of data, determine what the key issues are, and provide solutions.
So, what is the problem, defined concisely and backed up with data, and what is a proposed solution? That would be the ideal format to begin this discussion.
For now I will try to cover what I can from what you wrote.

it is set up as 0 points for 100% satisfied

It is currently 0% for 0 votes. If the first vote was a not-satisfied, it would be 0% of 1, if somewhat it would be 50% of 1, if very satisfied it would be 100% of 1.

while every somewhat satisfied and not satisfied deducts 1 and 2 points

There are no points and nothing is being deducted. We count the number of positive votes and divide them by the total number of votes. If 4 people voted "very satisfied" and one voted "somewhat", it would be 4.5 / 5 = 90%. If 4 people voted "very satisfied" and one voted "very unsatisfied" it would be 4 / 5 = 80%.

And I (and maybe some other people too) have lots of problems about it because while nobody wants poor quality katas to get approved, we still want katas to be approved.

I just did a check, out of ~2k kata that are currently in the "needs testing" state, only 9% of them currently have reached the minimum vote count and have no open issues, meaning the only thing left holding them back is their low satisfaction score. I would love to see examples, actual kata, that have been held back by the satisfaction score benchmark so that we can start to break down the issues of what happened. As the data stands now, 9% doesn't scream complete bottleneck and of that 9%, it still has to be determined how many of them are actually good kata that got grouped into the poor ones.
Of course that 9% is just those only held back. There may be other kata that have open issues but also stand little chance of ever making it back to redemption due to a low satisfaction score.

If you look at every single kata that's most completed, they've all converged to ~85%. (And the entry exam kata, Multiply, has just 75%.)

There are a number of factors going on here which makes these kata completely irrelevant for comparison.

Most are very old, which means they inherited the data from the previous voting system and are not purely reflective of the updated system
They have been approved, which means they are no longer being voted only by a subset of the community which cares to vet beta kata. The voting behavior will change once approved, that behavior is not relevant to the 90% benchmark which is only relevant pre-approval. Something can certainly be said/argued that since voting behavior changes there should be something involved to deal with that and reflect it within the algorithm that determines the satisfaction score - which currently isn't. However it terms of the issue being presented, how satisfaction scores converge post-approval are not relevant to the main issue being presented here - which is that beta kata cannot be approved due to low satisfaction scores.

"Multiply" is even worse of an example, as it is only meant for signing up. If it was a kata being introduced today, it should hopefully be much lower than a 75% as it isn't an actual good kata for once you are passed signing up.

In the end, we probably should separate "katas that are hot garbage" from "katas that are not hot garbage but not stellar".

I think lowering the bar a little bit makes sense. 90% may be too high for white kata. It is pretty hard to get back to 90% once you get 1 negative vote and its a very small margin of error.

A list of some issues with the current system
😢  Once a kata has a very poor initial reception, it's basically impossible to get its rating back up.
Movie ratings make sense because once the movie is release its done. Kata can be iterated on and changed. I think the fix here is to simply restart the beta process for the kata. If it has a poor rating, then it probably should be rethought and a v2.0 should be released. How far the system goes to facilitate this process vs just having someone unpublish and copy their challenge to a new one is debatable, but doing it manually is a workaround that works for now.
😢  The rating system does not take into account bad actors
Bad actors being those who tend to downvote the same user, who are new to the site, never complete a kata they downvote, etc.
😢  Rating characteristics changes post-approval, due to a larger audience now rating the kata.
The system may need to start distinguishing pre/post approval ratings and tracking this information. This combined with other characteristics (such as rank level, power user, etc), the rating algorithm could be updated to consider these factors.
😢  The margin of error for reaching the required satisfaction score, especially for white kata, is too great.
I would like to run some numbers first, maybe look at some kata that are good but didn't make the cut, to try to find a good range, instead of just arbitrarily selected one (like done initially due to lack of data). With that said, moving it down to at least 85%, maybe 80% probably makes sense.

Side note, it would be very interesting to see everyone with an opinion on this to create their own kata with their own requirements & expected algorithm for calculating the score - as an experiment in collaboration.

It is currently 0% for 0 votes. If the first vote was a not-satisfied, it would be 0% of 1, if somewhat it would be 50% of 1, if very satisfied it would be 100% of 1.

This is certainly not the case. As I mentioned in #1165 , some random troll voted on all my published katas in one sweep with a "somewhat satisfied" rating. For my kata at https://www.codewars.com/kata/spidey-swings-across-town/javascript it's now currently rated 0% of 1 with a "somewhat satisfied" vote.
It was mentioned (though I hadn't personally confirmed it) that a user needs to at least make a requisite number of attempts on a kata (which the user did not do) before they can even give a satisfaction rating. If this isn't the case, then perhaps it should be?

It is currently 0% for 0 votes. If the first vote was a not-satisfied, it would be 0% of 1, if somewhat it would be 50% of 1, if very satisfied it would be 100% of 1.
There are no points and nothing is being deducted. We count the number of positive votes and divide them by the total number of votes. If 4 people voted "very satisfied" and one voted "somewhat", it would be 4.5 / 5 = 90%. If 4 people voted "very satisfied" and one voted "very unsatisfied" it would be 4 / 5 = 80%.

Yes, but my point is that that's how the system practically works. Re-labeling/re-leveling doesn't change how the underlying system behaves. That's like saying turning a 5/10-star system into a like-dislike system will drastically change the distribution.

As the data stands now, 9% doesn't scream complete bottleneck and of that 9%, it still has to be determined how many of them are actually good kata that got grouped into the poor ones.

We still haven't retired any of the worst/duplicate beta katas that should've been retired a long time ago, so the denominator is much, much larger than it should be (not to mention lots of bogus issues, I probably have resolved the most issues on CW except people like g964).

But yes, IMO I don't think 90% is the best cut (it translates to "please don't get a somewhat satisfied out of a 12 solver streak").

Also, @docgunthrop don't forget that compared to approved katas, you can vote for satisfaction rating on a beta kata once you attempted the actual tests/forfeited.

We're on the same page, @Voileexperiments . Allowing satisfaction and ranking feedback after completion of a kata seems to make more sense. As it currently stands, it's terribly easy for any newbie to give negative feedback out of frustration from not being able to solve a kata, as well as for any troll to indiscriminately give negative ratings to katas just because they can.
If a user has an issue with a kata, they should use the Discourse section to ask questions or seek answers; at least there they have a chance to communicate with the author and other users, whereas a hit-and-run downvote accomplishes nothing. And though I've seen users complain about the most inane things in the Discourse sections of many katas, at least that doesn't stall progress on approval for a decent one (as issues can be resolved).

My 2 cents:

users during the beta process should be obliged to vote -- it's annoying to see good katas (90%+) stuck in beta, because only 7 users cared to vote it out of 20 completions...
users who vote "somewhat satisfied" or "not at all" should be obliged to fill in a suggestion/issue (currently it's optional) -- otherwise you'll never know what's wrong
linked to the orevious one: users who raised an issue/suggestion, should be obliged to review their votes after it's resolved, or have their votes removed automatically -- otherwise they will block the kata for no apparent reason
users who didn't complete the kata should not be able to vote it, ever  -- for obvious reasons
in general 90% is too high for the beta process: as discussed above, 1-2 unsatisfied votes can drag the whole kata down and block it in beta forever

These suggestions mainly concern harder katas (6 and below) that accumulate votes rather slowly, but could/should be used in general.

Related issue: #1138

I just did a check, out of ~2k kata that are currently in the "needs testing" state, only 9% of them currently have reached the minimum vote count and have no open issues, meaning the only thing left holding them back is their low satisfaction score.

9% doesn't scream complete bottleneck

@jhoffner I don't think this is a good estimate of whether the satisfaction score is a cause of a bottleneck. Neither the numerator or denominator are useful estimates for @Voileexperiments stated concern, which I would reword as: "it's hard for good kata to get out of beta, and the satisfaction rating isn't helping".  Instead of total kata held back due to satisfaction rating/ total needs testing, you need total good kata held back due to satisfaction over total good kata that need testing. Since the total number of kata held back due to satisfaction is a significant number (~200, vs. 5), you're way out on a limb using that statistic to estimate the bottleneck for good kata, and you just end up making assumptions without data about whether there would be more, less, or the same proportion of good kata in the numerator vs. denominator.

@jhoffner , further, I know you want data to support the concern, but good data here are very expensive. It's a problem of measurement. Again, to evaluate @Voileexperiments 's stated concern, "it's hard for good kata to get out of beta and the satisfaction rating isn't helping", you need to identify good beta kata. To do that, you need a valid measure of goodness, which you don't have. I'm not even sure you have a consensus construct of goodness. But it seems clear that your users that contribute most to codewars believe there is a problem with the beta process (though they may not all agree on what it is). You're either going to have to accept a cheaper form of data (issue posts and user opinion) or create a measurement that can produce the kind of data you're looking for.

fwiw, here's my full statement of the problem and a proposed solution
You're not measuring either satisfaction or quality
Having spent some time working in psychometrics, I'm not surprised that you've run into a problem porting a system that measures quality (no issues, minor issues, major issues) to a system that measures satisfaction. These are entirely different constructs, though they can be associated.  In addition, you have a punitive satisfaction measurement system.  As a rule, satisfaction measurements that are used to produce  something other than general knowledge of satisfaction (i.e., that have side effects)  are imprecise and inaccurate measures of the actual construct of user satisfaction. The problem is amplified if the side effects are punitive. Codewars appears to fall in line with most cases. Based on discussions here, it doesn't seem to be able to discriminate well (not a lot of spread in the measurement), and people vote based on what they hope the result of their vote will be (kata author will gain or lose honor, kata will or won't get out of beta, etc. etc), rather than based on whether they are satisfied, some people are concerned that people are downvoting too much or for improper reasons, and some people are concerned that people are not downvoting enough. This is entirely predictable.
How to fix the satisfaction measurement
Satisfaction is a useful construct to measure, and it sounds like it's something @jhoffner really values. It seems like you would like to use your measurement to allow users to find katas they're more likely to enjoy.  To do this well, the vote needs to be anonymous (check), reward the user for voting (check), not be required (check), and not have side effects (...). If you really want to know how satisfied users are, you should ONLY use that measurement to help the average user find kata s/he's more likely to enjoy. Do not give the author a token or real reward for satisfied votes, certainly don't remove a token or real reward for unsatisfied votes, and don't use satisfaction as a threshold for beta approval.  You can adjust for the resulting change in the token economy by increasing what you give for kata completion.
Quality vs. Satisfaction for beta approval
I believe you are better off measuring quality, rather than satisfaction, as a requirement for kata approval. Beta kata are, by definition, not in a fixed state and are seen and experienced by a very specific kind of user with different expectations and biases than the larger user base. So not only do you compromise the relationship between your measurement and the construct of satisfaction by using it for beta approval, you are using a smaller group of systematically different users to measure a different object, now breaking as many of the rules for good measurement practice as you can :). This is not to say that there aren't successful, good practice methods for measuring satisfaction for a beta product, but I hope you can see how they are not particularly viable here, and how their results are not used to evaluate the later complete product.
Measuring quality
Clearly, though, you want some standards for a beta kata, but again, I think the standards you need are about quality. You already have two measures of quality in place (issues, and moderator review), they just need some improvement, and some work by the community to come to a consensus. As far as the measurement methods are concerned (public comment and expert review), you're right on target given the number of users who typically see a beta kata before it is approved. So, good news for @jhoffner, it can be done without new functionality!   Ideally, here's how you would do it (it's not as hard as it sounds).

Identify the attributes of a kata quality, as a community. The best practices stub might be a place to start, but it is missing several things that the community clearly values, i.e., test coverage.
Identify the standards for those attributesl.  i.e., for the test coverage attribute, "includes random tests" might be a required standard. For clarity and style, "uses markdown" might be a standard. Since we're using public comment, and ultimately, expert review, they do not all need to be objective. But they should include guidelines (i.e., if an attribute is novelty, and a standard is not a duplicate, guidelines would define a duplicate -- is it that a copy and pasted result passes both kata? -- that some other kata uses a similar concept? -- somewhere in between?
Decide how to use the standards. Here is where you can decide to add functionality if you want. A simple version might be to just list the required standards on the wiki, and have moderators document pass or fail for each requirement in a comment.  A more complex version that would require added functionality might include transforming the standards to a numeric rating and storing those ratings as part of the database for users or admin to use
Communicate the standards, both to moderators and to authors
Implement

If this is something the community thinks would be beneficial, and if @jhoffner would consider using it, I'd be happy to help.

Hi,
Additional note: votes are NOT really anonymous since one can see who completed the kata. Except if the completions are too near in time, it's easy to deduce who voted what. And I don't see a way to avoid that for now.
@mentalplex : real qualitative answer and concern. 'Hope we'll find a way through all of this. :) 👍

Thanks @mentalplex for the thoughtful analysis.
The recent updates to the beta process help serve as a stop-gap solution for now, but a complete rethink of the process is I think what will eventually happen. This was mentioned some months back and I still think it might be the best approach, which is to combine satisfaction and issue reporting into one system, that acts as a survey.
This is a rough sketch, but something like:

Did you find any issues with the test cases?
Did you find any issues with the instructions? (easy to understand, meets standards)
Is this challenge unique from others on the site? (duplicates)
Did you learn something from doing this challenge?
Did you get enjoyment out of taking this challenge?
Would you recommend this challenge to a friend?

I think that would take most of the ambiguity out of the process.
Some things that would need to be considered before this could be implemented:

[ ] Would we still maintain a satisfaction score that is derived from these answers?
[ ] How to convert existing votes into this structure?
[ ] Would we consider partial survey answers? (would probably help with converting existing votes)
[ ] Would we require users who said yes to finding an issue to log an issue? (don't want to deal with a bunch of duplicate issue comments, maybe only require if there is not a single issue filed related to that type of issue)
[ ] Do we need to tag issue comments with the type? (test cases, instructions, etc)
[ ] Do we want to tag the test case issue vote/comments with the language?
[ ] How do we revamp language specific issues in general?
[ ] Do we want to include best practice checks in the survey? (such as random test cases, usage examples within instructions, etc)
[ ] Do we want to include tag voting as a part of this new process (so that the author isn't the only one who decides how a challenge is tagged)
[ ] Do we allow these questions to be answered even if you didn't complete the challenge?

Obviously this approach would be a huge project.

@jhoffner I appreciate the thorough reply. You've obviously been putting a good deal of thought into the best way to assess beta kata.
I think you can keep things fairly simple if you start the approach with a clear statement of the goals for reworking beta (and perhaps all) kata assessment. There's a lot that could be done here, for both codewars and Qualified, but you can end up wasting a lot of time re-inventing the wheel.

Good point @mentalplex.
My goals for a re-design are:
General Goals

Improved Feedback

Better focus on standards/best practices during the beta process

Remove ambiguity from the voting
Able to leverage existing votes so that we don't start at zero
Intuitive process
A process that feels fair and balanced to kata authors

Some specific goals

Improved language specific issue tracking
Reduce duplicate issue comments
Remove issue where downvotes are left purely because of an issue, issue gets fixed, downvote sticks around forever

This is a working start, I'll probably revise this.

Also, I've been thinking through description/instruction best practices, mainly for Qualified but I would like to get some for Codewars as well. Codewars is going to have more of a fun tone than Qualified's content but I think there should still be a lot of overlap.
My initial starting point here is to get that more formalized and up on the wiki. I've created a new issue if anyone wants to collaborate on what should be in there.

What about going with several scales at the same time? Like,

"how well the kata is done (no issues, well-thought description)",
"personal satisfaction (how I like the idea, how interesting is the description, etc.)",
"educational value (how well this kata is suited for learning the language, i.e. most puzzles have lower educational value, than basic katas, even though ranked more)"

Choosing appropriate tags while in beta would also be nice.

What about going with several scales at the same time? Like,

"how well the kata is done (no issues, well-thought description)",
"personal satisfaction (how I like the idea, how interesting is the description, etc.)",
"educational value (how well this kata is suited for learning the language, i.e. most puzzles have lower educational value, than basic katas, even though ranked more)"

Choosing appropriate tags while in beta would also be nice.


Move version number to Resources folder

Move it from the constants class to here: https://github.com/yairp03/HoradotTV/tree/master/Resources

Just figured out it doesn't make any sense to do so.


refactor: swap esbuild for sucrase

Linked issue
This allows us to use webpackIgnore again since esbuild filters all comments, fixing the plugin import validation.
Additional context
It will increase the build time again for production, but since we have a separate development workflow it shouldn't impact much.

:tada: This PR is included in version 0.7.4 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


I am unable to load the resources.

This issue is in the mac safari browser.

Hello.
The .map files are source map files that are primarily used during the development phase to help developers debug their code more effectively. They map the minified code to the original source code, making it easier to trace errors and understand the code structure.
In production environments, these .map files are usually not needed and are often excluded to enhance performance and security. If you encounter issues with .map files not opening, it should not affect the functionality of your application in a production setting.
If you need the full source code for debugging purposes, you can use the non-minified JavaScript files, which are not dependent on the .map files. This will allow you to debug the original code directly.


Markdown template for daily plan

Is there a way to specify a template for each daily plan?

Hey hey. I love the plugin but I have a question that I think relates to this question.
Would it indeed be possible to alter the default template that is inserted in a note in command mode? So you can just paste your own schedule template into a note at the start of the day?
Or would it be possible to just add a custom template schedule to your daily note, and then automatically link it to the daily planner once a daily note is created? I'd like to have both planner + daily note in one note. So I was thinking, 'perhaps block referencing?' But there might just be an easier way.
Thank you in advance for any help

Hey hey. I love the plugin but I have a question that I think relates to this question.
Would it indeed be possible to alter the default template that is inserted in a note in command mode? So you can just paste your own schedule template into a note at the start of the day?
Or would it be possible to just add a custom template schedule to your daily note, and then automatically link it to the daily planner once a daily note is created? I'd like to have both planner + daily note in one note. So I was thinking, 'perhaps block referencing?' But there might just be an easier way.
Thank you in advance for any help

I'm a new user and just found out.
You can modify the default template by opening the main.js in the plugin folder.
And on line 45 const DAY_PLANNER_DEFAULT_CONTENT = ``
has the default template in there.

+1. This would be a nice way to link it to the Calendar plugin.

+1 to this. If it doesn't get developed soon I can try to develop by myself. @barbosarp how does this feature relate to the Calendar plugin?

@d3v0ps , what I wanted is a daily planner that would get info from the daily notes (from Calendar plugin) and display it in a dashboard. For example, a section with tasks due today, other with tasks overdue, tasks due the next days, etc.

This is handled by the daily notes plugin now.


[Bug] importScripts inside web worker loses context

I'm facing a bug here.
I'm using worker-loader to load webworkers in my project. My web worker script uses importScripts to download other scripts and execute them. According to

The browser loads each listed script and executes it. Any global objects from each script may then be used by the worker.

However, this is not what happens when I use worker-loader.
This is what happens.
var Worker = require("worker-loader!./myWorker.js");
var worker = new Worker;

// myWorker.js
var x = x || {};
importScripts("a.js");
x.name // "undefined"

//a.js
var x = x || {};
x.name = "hello";

This is what happens (expected) when I don't use a worker-loader
var worker = window.Worker("myWorker.js");

// myWorker.js
var x = x || {};
importScripts("a.js");
x.name // "hello"

//a.js
var x = x || {};
x.name = "hello";

I've created a test repo in case you want to reproduce it.
worker-loader
webpack version: 2.2.1
worker-loader version 0.7.1
node version 6.9.5

+1

+1

Still an issue. Any ideas on a fix?

+1

PR welcome :+1:

@evilebottnawi I can pick it up if someone can give me some pointers.

Original issue ref https://github.com/webpack/webpack/issues/4234

Replace importScripts("a.js"); with require("a.js").

Problem remains on worker-loader 2.0.0

It is the limitation, webpack wrap module code, like:
(function(module, exports) {
  var x = x || {};
  importScripts("a.js");
  console.log(x.name);
})();

It helps to not expose local variables to global object (windows, self, etc). You can solve this problems using:
var Worker = require("worker-loader!./myWorker.js");
var worker = new Worker;

// myWorker.js
self.x = self.x || {};
importScripts("a.js");
self.x.name // "undefined"

//a.js
self.x = self.x || {};
self.x.name = "hello";

For webpack@5, we respect the output.iife option, so you need to set iife: false and all works fine. But I recommend that you do not use this approach, because it is potentially unsafe.


RobustBufferAccess Pass generating invalid clamping

It looks like the RBA is trying to assign the result of a SClamp to an unsigned int.
Specifically:
%28 = OpLoad %uint %VertexIndex
%30 = OpAccessChain %_ptr_Function_v3float %26 %28
gets turned into this:
%28 = OpLoad %uint %VertexIndex
%40 = OpExtInst %uint %39 SClamp %28 %int_0 %int_5
%30 = OpAccessChain %_ptr_Function_v3float %26 %40
Full shaders:
before_rba.txt
after_rba.txt

This is valid. In SPIR-V the signedness of an integer value doesn't have any effect except at shader interface boundaries.
For cases like here, only the bit pattern is significant, and the consuming instruction interprets the value as either signed or unsigned.


feat: explain light weight even more

under scalable header on the site we should mention that due to the default pruning a full node is nearly as light as an SPV client so even very weak hardware can connect to the network, adding to our premise of usability by anyone even with limited access

cc @0xb100d

Something to the effect that the unique nature of mimblewimble format allows all txs to be validated with a minimial amount of data, and onging research will likely allow more and more complete validation to be done with smaller and smaller amounts of space and processing overheads to the point where even mobile light clients will have almost all the same security assumptions as a full client, and contribute to the security of the network.

I looked into this 6+ year old "issue" and suggest it be closed.
Rational: The specific site location being addressed by the OP is unclear (and may be OBE all together).
I tried to find it using two different google searches.
scalable header site:grin.mw -inurl:forum.grin.mw
lightweight site:grin.mw -inurl:forum.grin.mw
I got one hit from grin.mw which was not applicable (research page).  All other hits were within docs.grin.mw and I saw nothing looking to be the location referenced.
Furthermore:
The lightweight aspect of the blockchain with respect to hardware accessibility is already clear in the docs.grin.mw site:

https://docs.grin.mw/about-grin/scalability/

Building, verifying and storing transactions requires minimal resources. Anyone can verify the entire chain on a phone or cheap hardware, and fully participate in areas with poor network connectivity.

I suggest the issue be closed.  If someone identifies a specific area needing clarification, they could open a new ticket (or fix it and submit a merge request).


[StepConnector] Step connector does not get completed or active styles when alternative

If you use the alternativeLabel and nonLinear prop on the Stepper component, the props passed to the StepConnector are not the same, you can see it in this demo:
https://stackblitz.com/edit/lswyj7

In the alternative versions, the connector gets the active and completed props, whereas in the other version it doesn't.
I believe the connector shouldn't get any completed or active props in nonLinear mode?

@oliviertassinari Hello! I would like to take this bug as my first contribution to the project

@baterson It's all yours 🙏.


Adds passing of objects to transmission reader

This adds the functionality of passing a dict to the transmission readers convert function.
@hampusnasstrom

So you pass Dict type objects and append them to the template? No other object types are accepted currently, right?

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

10 of 17 (58.82%)  changed or added relevant lines in 3 files are covered.
4 unchanged lines in 3 files lost coverage.
Overall coverage decreased (-0.005%) to 51.087%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

pynxtools/dataconverter/readers/utils.py
6
13
46.15%

Files with Coverage Reduction
New Missed Lines
%

pynxtools/dataconverter/readers/shared/map_concepts/mapping_functors.py
1
11.86%

pynxtools/nyaml2nxdl/nyaml2nxdl_forward_tools.py
1
79.42%

pynxtools/nexus/nxdl_utils.py
2
74.79%

Totals

Change from base Build<PHONE_NUMBER>:
-0.005%

Covered Lines:
5993

Relevant Lines:
11731

💛  - Coveralls

So you pass Dict type objects and append them to the template? No other object types are accepted currently, right?

Exactly, I expect an iterable of dicts. Every other element is simply warned about and ignored


Changing of NNID

Hi,
Was wondering is there any way to change NNID or is formatting the 3DS the only way to remove the current NNID? If formatting is the only way, is it safe to format the 3DS that I've modded with the guide, (example; will anything be gone or do i have to re-mod the 3DS again after formatting)?
Thanks in advance and regards.

Formatting the system via system settings is the only way to unlink your NNID from your 3DS. In certain cases, Nintendo support can also unlink a NNID from a 3DS (such as when the NNID on a 3DS is used for a Fieldrunners downgrade on a New3DS and you need to call support to get your NNID settings on your 3DS reset). You can also delete your NNID, but that both unlinked your NNID and deletes it from existence on their servers entirely, so don't do that.
It is perfectly ok to format an A9LH system through system settings, A9LH will still be there after the format. If you want to keep your digital game saves, back them up with JKSM (or decrypt9 for GBA save games) before formatting.

Maybe injecting a blank NNID with decrypt9?

What you need

The latest release of GodMode9

Instructions

Copy GodMode9.bin from the GodMode9 zip to the /luma/payloads folder on your SD card and rename GodMode9.bin in /luma/payloads to up_GodMode9.bin
Boot holding (Up) to reboot into arm9loaderhax GodMode9
(Be VERY careful with this tool, it can brick you if you misuse it, even with arm9loaderhax installed!)
Navigate to SYSNAND CTRNAND -> data -> (32 Character ID) -> sysdata -> 00010038
Hold down the (R) trigger, then press X on 00000000 to rename this file
Press Up once to change the name to 10000000
Press (A) to save changes
Press (A) to unlock SysNAND writing, then input the key combo given
Navigate back to the Main Menu
Press Start to reboot


Set a User-Agent for HTTP requests from :elinks

Detailed description

The default “Ruby” User-Agent is blocked everywhere so replace it.
Include “Mozilla/5.0” to pass through a lot of blocking filters and because it’s required due to the legacy of the web.
Include Nanoc software name and version to identify the software making the request.
Describe the purpose of the request to help webmasters make informed blocking decisions.

Proposed User-Agent string:
Mozilla/5.0 Nanoc/4.11.2 (link rot checker)

To do

[ ] Agree on User-Agent string.
[ ] Add to change log.

More details
In my own set of 1800 links, this change reduces the number of HTTP 403 Forbidden responses from 482 to 17. (Most of these are  probably hosted by a single large provider like Cloudflare.) This could probably be reduced even further by faking a mainstream web browser’s User-Agent string. However, I’d rather live with a handful of blocked tests than start faking User-Agents.

Ooh, I like it. I think the User Agent that you propose is good, and I suppose it can be changed in the future if needed.
Could be useful to have a test for this, but probably not important. (I also realised that I haven’t really set up proper testing for the external links checker yet anyway…)


License 缺少copyright名字

Reminder

[X] I have read the README and searched the existing issues.

Reproduction
仓库想要引用该repo时遵循apache 2.0协议，想要添加更改的notice和添加license发现license #189缺少copyright具体名称
Expected behavior
No response
System Info
No response
Others
No response

不需要添加这个，贴一个链接就行


Added missing parts for uint32 and uint64 support to golang bindings

Added missing parts for uint32 and uint64 support to golang bindings

Can one of the admins verify this patch?

Sorry, I was merging oldest first, so the breaking PR was merged first. It's my bad because I didn't wait for the go test.

Jenkins, test this please


evaluation metrics code

Hi,thanks for your good work, how can I reproduce the quality results in the paper, and where is the code for the evaluation Metrics?

@dlutzzw  Hi, thanks for your interest! You can first reproduce the video results using the existing config files! I will upload the evaluation metrics later (maybe in a week). I will tell you when I finish cleaning the evaluation code.

thanks
---- Replied Message ----
| From | Chenyang @.> |
| Date | 06/28/2023 08:02 |
| To | @.> |
| Cc |<EMAIL_ADDRESS>|
| Subject | Re: [ChenyangQiQi/FateZero] evaluation metrics code (Issue #16) |
@dlutzzw Hi, thanks for your interest! You can first reproduce the video results using the existing config files! I will upload the evaluation metrics later (maybe in a week). I will tell you when I finish cleaning the evaluation code.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: @.***>

@dlutzzw Hi, the clip metrics are here https://github.com/ChenyangQiQi/FateZero/blob/main/CLIP/frame_acc_tem_con.py


SAK-43533 - Site Info > Manage Groups: Auto-Groups Creation Wizard - …

…Step 2 Improvements

I've addressed all the comments.

Thanks Shawn!


Multiple plugins or one?

We can roll this all into the one plugin…
steps:
  - agents:
      queue: docker-builder
    plugins:
      toolmantim/docker-compose:
        build-and-push:
          build-container: app

  - waiter

  - command: test.sh
    parallelism: 25
    agents:
      queue: docker-compose
    plugins:
      toolmantim/docker-compose:
        command-container: app

or split it out into two:
steps:
  - agents:
      queue: docker-builder
    plugins:
      toolmantim/docker-compose-builder:
        build-container: app

  - waiter

  - command: test.sh
    parallelism: 25
    agents:
      queue: docker-compose
    plugins:
      toolmantim/docker-compose:
        command-container: app

There'd have to be shared knowledge of what build meta-data key to look for to find the name of the built image… and both agents would need to ensure they have the correct docker credentials. But it'd split up the code, simplify the config, and force us to make image name that docker compose uses a public API (in case you wanted to pre-build the images some other way.

Also… we could make the option key simply container. For the builder, we'd also support setting multiple keys in case you want to pre-build multiple services in the docker-compose file.
Also, there's a few other options that both would share:

compose-config - the name of the docker-compose config file to use (default: docker-compose.yml)

I just updated README.md with the latter option… I'm thinking that's the best.

Ok, so here's the two:

https://github.com/toolmantim/docker-compose-buildkite-plugin
https://github.com/toolmantim/docker-compose-prebuilder-buildkite-plugin

Seems like overkill…

One it is.


Compilation time explodes in combination with shapeless

When a project has converted some data structures to e.g. shapeless records, compilation time has naturally increased. However, using linter, it spends a disproportionate amount of time in the linter-typed and linter-typed-inter. I've done some measurements using "-verbose" and the scalac-aspects project (https://github.com/gkossakowski/scalac-aspects) and for a particular file:

Without sqltyped, without linter:
total: 917197, typer: 360658
without sqltyped, with linter:
total: 1766577, typer: 513275, linter-typed: 392068, linter-typed-interpreter: 221284
with sqltyped, without linter:
total: 5001996, typer: 3124241
with sqltyped, with linter:
total: 32682659, typer: 3281671, linter-typed: 15140647, linter-typed-interpreter: 12101858

So while linter phases took about 35% of the time without sqltyped, they took a whopping 83% with sqltyped. So while the time in typer increased 8-9 times, linter phases increased 43 times!
I guess this is because shapeless generates a very deep type tree, but I didn't expect the linter time to grow so drastically. Do you have an idea how this could be improved? Perhaps a way to indicate to the traverser to prune a type branch and not process it at all? For instance, if there is a shapeless HList, this might indicate a very deep type structure and could be skipped, as there isn't much value in statically checking it. Maybe if shapeless indicates in some way that some of the members are synthetically generated?
Any tips are welcome.

I have a few ideas what might improve the situation with very complex types: One is that almost all types are put into a map in the first phase to later determine which types are inferred and some other use I can't remember, but those checks can maybe be refactored to work without this map or as you've said - discarded if the types get too deep. Next thing is that more synthetic trees could probably be skipped, but determining where to add these tree.isSynthetic checks to the pattern matches could be hard (unless a profiler pinpoints some obvious candidates). The third one is refactoring hacky checks, which convert the ast or type tree into string for checking, or do another deep tree operation, to maybe not do it for every level again and again.
I'd be a good idea to add some big complex test cases, and run the tests with a profiler. I don't know how to write a test that would be a good approximation of shapeless code, without including shapeless in test (which is also an option if necessary).
Related: https://github.com/HairyFotr/linter/issues/20 (I see I'm really bad with time estimates :))
You wanna try any of these, or have other thoughts? There might be (ironically) very messy code around the parts I mentioned, so please don't bother too much if it looks bad. Also, I'll be travelling / camping for a few weeks now, so my responses might be slow as I don't know when I'll have internet, or time and means to write or test code.

Thanks for the ideas! I know performance is often not the first priority and it certainly takes a lot of time to measure and improve. Let me check which area would yield biggest returns.


[Event Request] Codeunit 90 "Purch.-Post" - OnRoundAmountOnBeforeIncrAmount

Dear ALAppExtensions team,
On behalf of 4PS I would like to request integration event 'OnRoundAmountOnBeforeIncrAmount' to be changed in procedure 'RoundAmount' in codeunit 90 "Purch.-Post";
    local procedure RoundAmount(PurchHeader: Record "Purchase Header"; var PurchLine: Record "Purchase Line"; PurchLineQty: Decimal)
    var
        NoVAT: Boolean;
        IsHandled: Boolean; //**4PS.n
    begin
        OnBeforeRoundAmount(PurchHeader, PurchLine, PurchLineQty);
.
.
.
                "VAT Base Amount" :=
                  Round(
                    CurrExchRate.ExchangeAmtFCYToLCY(
                      PurchHeader.GetUseDate(), PurchHeader."Currency Code",
                      TotalPurchLine."VAT Base Amount", PurchHeader."Currency Factor")) -
                  TotalPurchLineLCY."VAT Base Amount";
            end;

            //OnRoundAmountOnBeforeIncrAmount(PurchHeader, PurchLine, PurchLineQty, TotalPurchLine, TotalPurchLineLCY, xPurchLine, CurrExchRate, NoVAT); //old
            OnRoundAmountOnBeforeIncrAmount(PurchHeader, PurchLine, PurchLineQty, TotalPurchLine, TotalPurchLineLCY, xPurchLine, CurrExchRate, NoVAT, IsHandled); //new

            if not IsHandled then begin //new
                IncrAmount(PurchHeader, PurchLine, TotalPurchLineLCY);
                Increment(TotalPurchLineLCY."Unit Cost (LCY)", Round(PurchLineQty * "Unit Cost (LCY)"));
            end; //new
        end;

        OnAfterRoundAmount(PurchHeader, PurchLine, PurchLineQty);
    end;

    [IntegrationEvent(false, false)]
    //local procedure OnRoundAmountOnBeforeIncrAmount(PurchaseHeader: Record "Purchase Header"; var PurchaseLine: Record "Purchase Line"; PurchLineQty: Decimal; var TotalPurchLine: Record "Purchase Line"; var TotalPurchLineLCY: Record "Purchase Line"; var xPurchaseLine: Record "Purchase Line"; var CurrExchRate: Record "Currency Exchange Rate"; var NoVAT: Boolean) //old
    local procedure OnRoundAmountOnBeforeIncrAmount(PurchaseHeader: Record "Purchase Header"; var PurchaseLine: Record "Purchase Line"; PurchLineQty: Decimal; var TotalPurchLine: Record "Purchase Line"; var TotalPurchLineLCY: Record "Purchase Line"; var xPurchaseLine: Record "Purchase Line"; var CurrExchRate: Record "Currency Exchange Rate"; var NoVAT: Boolean; var IsHandled: Boolean) //new
    begin
    end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: 41631.


Make the booted EMMC behavior configurable

I'm not sure the best practice for contributing to this repo, so I've opened both a PR and this issue (feel free to close/remove whichever is redundant). Basically I need to be able to create an image that has the uEnv.txt default to disabling the EMMC, and the only way i see to do that is to make the change in the aforementioned PR.

@liberato-whisper nope, looks perfect!

@RobertCNelson thanks for the quick turnaround!


[CSL - 1393] Remove store from Kademlia

This PR effectively removes store from kademlia and is suitable to be incorporated into cardano after this PR will be merged.

Ok! The PR has been merged this morning, so methink we are ready to pull the trigger on this!

🎉


lenovo-legion-app: 0.0.12 -> 0.0.18

update from version 0.0.12 to 0.0.18
Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

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

this fails for kernel 6.11 ... working on a patch

This pr may be closed in favor of https://github.com/NixOS/nixpkgs/pull/348417

thanks @CHN-beta


Modifying lights in component inspector not working

Environment

OS Version: Ubuntu 20.04
Source or binary build?

Source, main branch, commit 1fb320715525a86361f2710ffa6aadb4c56a58c0
Description

Expected behavior: Lights to change color when using the component inspector
Actual behavior: Most of the time nothing happens (sometimes will change color but only seems to be once). When changing one of the RGBA sliders then changing another, the first slider will reset back. For example, if I change R then B, R seems to reset back.

Steps to reproduce

Apply fix from https://github.com/ignitionrobotics/ign-gazebo/pull/1018
ign gazebo -v 4 lights.sdf
Attempt to change the color of any of the lights

I'm debugging this issue and something is weird here.
the flow is: The data is generated by the GUI -> UserCommand will receive the new light data -> renderutil should read this new data and modify the light

The data is fine in the two first steps. UserCommand receive the data properly. The first iteration when this method run, the LightCmd component is created, and renderutil is able to read this new data, in the _ecm.Each<components::LightCmd>
but when this method run for the second time, the data remains with the data of the first iteration.
I'm removing the LightCmd component with _ecm.RemoveComponent<components::LightCmd>
I check that the state has OneTimeChange activated

Why lightCmd does not change ?
I tried this with GzScene3D and MinimalScene, the result is the same in both cases.

This issues is also extensible to ParticleEmitterCMD.  I tried particle_emitter2.sdf world.
I tried to change the rate with this command:
ign topic -t /model/fog_generator/link/fog_link/particle_emitter/emitter/cmd -m ignition.msgs.ParticleEmitter -p 'rate: {data: 100}'

but the particuleEmitterCMD is setted to the first value when the CMD was created.


prepare find-images doesn't work on local helm chart paths

Environment
Device and OS: Laptop Ubuntu 22.04
App version:  v0.22.2
Kubernetes distro being used: RKE2 1.24.8
Other:
Steps to reproduce

git clone https://github.com/rancher/charts.git
Create a zarf.yaml file with the below content:

`
kind: ZarfPackageConfig
metadata:
name: test
description: "Deploys a helm chart from local files"
components:

name: demo-helm-local-chart
required: false
charts:

name: rancher-monitoring
#gitPath: charts/rancher-monitoring/101.1.0+up40.1.2
localPath: charts/charts/rancher-monitoring/101.1.0+up40.1.2
namespace: rancher-monitoring
version: 101.1.0+up40.1.2
`

Fails with: ERROR:  Unable to pull the helm chart
Expected result
Output images in the helm chart
Actual Result
Saving log file to /tmp/zarf-2022-12-05-08-07-30-4154958969.log
DEBUG   2022-12-05T08:07:30-05:00  -  k8s.generateLogShim()
└ (/home/runner/work/zarf/zarf/src/internal/k8s/common.go:157)
DEBUG   2022-12-05T08:07:30-05:00  -  Log level set to info
└ (/home/runner/work/zarf/zarf/src/cmd/root.go:87)
DEBUG   2022-12-05T08:07:30-05:00  -  Loading zarf config zarf.yaml
└ (/home/runner/work/zarf/zarf/src/config/config.go:236)
DEBUG   2022-12-05T08:07:30-05:00  -  config.isCompatibleComponent(demo-helm-local-chart, false)
└ (/home/runner/work/zarf/zarf/src/config/config.go:243)
DEBUG   2022-12-05T08:07:30-05:00  -  packager.ComposeComponents()
└ (/home/runner/work/zarf/zarf/src/internal/packager/prepare.go:42)
DEBUG   2022-12-05T08:07:30-05:00  -  Using temp path: '/tmp/zarf-3369520469'
└ (/home/runner/work/zarf/zarf/src/internal/packager/common.go:46)
DEBUG   2022-12-05T08:07:30-05:00  -  could not find protocol handler for:
└ (/home/runner/work/zarf/zarf/src/internal/message/spinner.go:116)
ERROR:  Unable to pull the helm chart
Visual Proof (screenshots, videos, text, etc)
Severity/Priority
Additional Context
I assume the find images should work with local paths?  It doesnt seem to work with Git URL's either (unless I have syntax wrong) but seems to work fine with a actual helm repo link.

@joelcomp1 thanks for the bug report! I created #1111 to address the local paths issue.  gitPaths should still work, but do work a little differently in that you need to use both url and gitPath where url is the url of the base git repository and gitPath is the path within that repository. (here is an example: https://github.com/defenseunicorns/baffles-matlab-demo/blob/f5006be3b7a7d07dd98ae93382de98e69e28db76/zarf.yaml)
We do have some docs improvements that are coming that will explain that better on the Zarf schema page in our docs but those are pending our next release.

Awesome thanks that does help.  Appreciate the quick fix as well.


LateInitializationError is not caught

What happened?
Here's a code sample:
class A {
  late final int? x;
}

void main() {
  final a = A();
  print('a.x = ${a.x}');
}

Running this code in DartPad produces no output in the Console tab, while the browser console shows the following stacktrace:
errors.dart:251 Uncaught (in promise) Error: LateInitializationError: Field 'x' has not been initialized.
    at Object.throw_ [as throw] (errors.dart:251:49)
    at get x [as x] (<anonymous>:5609:64)
    at Object.main$0 [as main] (<anonymous>:6669:38)
    at main$ (<anonymous>:5594:12)
    at main$.next (<anonymous>)
    at async_patch.dart:45:50
    at _RootZone.runUnary (zone.dart:1685:54)
    at _FutureListener.thenAwait.handleValue (future_impl.dart:147:18)
    at handleValueCallback (future_impl.dart:766:44)
    at _Future._propagateToListeners (future_impl.dart:795:13)
    at [_completeWithValue] (future_impl.dart:566:5)
    at async._AsyncCallbackEntry.new.callback (future_impl.dart:639:7)
    at Object._microtaskLoop (schedule_microtask.dart:40:11)
    at _startMicrotaskLoop (schedule_microtask.dart:49:5)
    at async_patch.dart:166:15

Browser
Browser: Google Chrome
Version: 103.0.5060.53 (Official Build) (x86_64)

This is the expected behavior - more info here: https://dart.dev/guides/language/language-tour#late-variables

Actually, I think this is a duplicate of https://github.com/dart-lang/dart-pad/issues/1365, since the error is printing as long as you don't use DDC by importing flutter/** libraries


Feature/problemstoffmobil-calendar

add new view with pickup events of "Problemstoff-Mobil"
Filter for municipalities


multimc: remove unneeded flag

Motivation for this change
--add-flags "-d \$HOME/.multimc/" was needed when the package was first added in 2015 since the default location was in the nix store.
https://github.com/MultiMC/MultiMC5/blob/db926a546e2c58227ab1dcb129b056213d33d6f5/application/MultiMC.cpp#L129
nowadays it uses "$XDG_DATA_HOME" or "/.local/share" by default so the option isn't needed.
https://github.com/MultiMC/MultiMC5/blob/develop/application/MultiMC.cpp#L252
Things done

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

[X] NixOS
[ ] macOS
[ ] other Linux distributions

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

oops i was thinking of my other pr

Result of nixpkgs-review pr 96192 run on x86_64-linux 1

1 package built:

multimc

I almost had a heart attack when I updated and all my instances weren't there. Thank god for github otherwise I would be very sad :(


Make HibernateTypesContributor configurable so that we can enable or disable the automatic Type registration

It would be useful to be able to include only some (or no) default types via the HibernateTypesContributor. I would like to include the library to use JsonType but do not want to use PostgreSQLIntervalType. With the current setup this is not possible, because PostgreSQLIntervalType is set up as default for Duration fields.
Ideas:

add a configuration that disables the HibernateTypesContributor entirely

Looking forward to your Pull Request that adds that configuration.

Fixed.


v3.12.1

remove websockets
Accepts simpleledger address formats.

Pull Request Test Coverage Report for Build 2563

0 of 0   changed or added relevant lines in 0 files are covered.
12 unchanged lines in 1 file lost coverage.
Overall coverage increased (+0.02%) to 70.057%

Files with Coverage Reduction
New Missed Lines
%

dist/routes/v2/route-utils.js
12
74.16%

Totals

Change from base Build 2557:
0.02%

Covered Lines:
2233

Relevant Lines:
2986

💛  - Coveralls


I can use two user's table?

I wonder if it is possible to use two distinct tables of users.

@bebetoalves not currently.
The participants table has only one user_id column. If you wish to use two tables, you can create a migration to add a column for the other model. You should then proceed to define relationships of threads and your other model. That would introduce some complexity in your code, but if it is worth it, go for it. :-)


Organise examples by use cases

Why are these changes needed?
Organise getting started examples by use cases. Have moved some duplicate files to archive for now. We can bring them back post discussion with the team
Related issue number (if any).

moving notebooks to internal nested folders will break examples/notebooks/code_developers,
Makefile and prepare_env.sh, also need to be updated.

We are upgrading to the new notebook sample-notebook.ipynb and want everyone to use pip install. We are archiving the other notebooks for now and will eventually make them compatible with pip based installation or remove them.

Why keep the archive directory?

David, we will remove it once we upgrade all notebooks in a couple of days.


[pixie-chart] Annotations not applied on pixie resources

Bug description
Annotations to the pixie chart are not getting applied to pixie resources.
Version of Helm and Kubernetes
Kubernetes version 1.21. Helm v3.6.3.
Which chart?
nri-bundle version: "4.4.6"
What happened?
I want to apply annotations for all resources created by pixie-chart. The pixie chart gives this option by using helm --set which is mentioned here
https://docs.pixielabs.ai/reference/admin/deploy-options/#annotating-pixie's-resources
I have updated the nri-bundle helm chart as below. Tried to use both annotations and podAnnotations.
  values:
    pixie-chart:
      enabled: true
      annotations:
        linkerd.io/inject: disabled
      podAnnotations:
        linkerd.io/inject: disabled
      clusterName: dev1-data-platform-cluster
      pemMemoryLimit: 3Gi
    newrelic-pixie:
      enabled: true
      resources:
        limits:
          memory: 3Gi

The problem I am facing is that none of the pixie resources get annotated.
What you expected to happen?
Annotations mentioned in the pixie-chart should be applied to all resources created by pixie-chart.
How to reproduce it?
Use the annotation given in the yaml values as above.
Anything else we need to know?
The problem was raised with pixie open source and they refused to look into it as it is not the open source offering but an enterprise one through New Relic which should be looked by enterprise using pixie.

I did some digging into the chart and it appears that the official Pixie documentation is just wrong. The necessary value would be pixie-chart.pod.annotations (and pixie-chart.pod.labels).


Update the verified person URL.

Signed-off-by: Wade Barnes<EMAIL_ADDRESS>

The issuer-web-bc-tmp route can be deleted from the OCP a99fd4-prod environment once this change has been merged and deployed to all of the environments.


Circle radius is NaN if adding d3 enter.

Hi all
Im trying to create a bubble view with d3-hierarchy using pack.
If I'm using d3 without the faux-dom everything works great, also if I'm using withFauxDOM most of the things still working.
The issue starts when I'm adding enter so I can add animation for the bubbles on first render.
this is the code:
  componentDidMount() {
    this.draw();
  }

  draw() {
    const size = 1000;
    const faux = this.props.connectFauxDOM('svg', 'bubbles');
    const dataSet = { children: this.props.data };
    const bubbleSizeScale = scaleSqrt()
      .domain([
        this.props.data[sortedData.length - 1].value,
        this.props.data[0].name,
      ])
      .range([50, 100]);

    const bubbles = pack(dataSet)
      .size([size, size])
      .radius(d => bubbleSizeScale(d.value))
      .padding(5);

    const svg = d3Select(faux)
      .attr('viewBox', `0 0 ${size} ${size}`)
      .attr('width', size)
      .attr('height', size)
      .attr('class', 'bubble');

    const nodes = hierarchy(dataSet).sum(d => d.value);
    const node = svg.selectAll('.node')
      .data(bubbles(nodes).descendants())
      .enter()
      .filter(d => !d.children)
      .append('g')
      .attr('class', 'node')
      .attr('transform', d => `translate(${d.x},${d.y})`);

    node
      .append('circle')
      .enter() // --> Problem starts here..
      .attr('r', d => d.r);

    node.append('text')
      .attr('dy', '.2em')
      .style('text-anchor', 'middle')
      .text(d => d.data.name);

    node.append('text')
      .attr('dy', '2em')
      .style('text-anchor', 'middle')
      .text(d => d.data.value);

    // This is prep for animation.
    console.log(d3Select(faux).selectAll('circle'));
    d3Select(faux).selectAll('circle')
      .transition()
      .duration(1000)
      .attr('r', d => d.r);
    this.props.animateFauxDOM(1000)
  }

  render() {
    return (
      <div className="bubbles">
        {
          this.props.bubbles
        }
      </div>
    );
  }

If I remove the the enter line on circle everything render fine just without animation.
But I do want animation for the circles render.
Again if I'm using d3 only everything render with the animation.
Am I using this library correctly?
Let me know if more info is require.
Thanks

Hi @Olical :)
Didn't manage to find a way to fix it, right now Im without animation, but I want it.
When I debug I see that in the part after the .transition().duration(1000) the value of d.r is fine and it is what I expected.
When trying to debug at the part where I append the circle the break point doesn't stop there.
I placed two breakpoints at attr('r', ...): One at the part of append('circle'), And the other after the transition().

@Olical Hi again. Did you a chance to look on it?

Not yet, really busy at the moment and away over the rest of this week, so might struggle to find time.
When I do get around to it, all I'll be doing is trying to re-produce your setup and just adding a bunch of logging / stepping through the debugger. If you spot anything that's undefined when it shouldn't be or something let me know, could help a lot :smile:

@Olical Sure ill try to :)

@Olical Hi again. So I mange to narrow it down a bit, now im stuck :)
I found out that inside _element.js row 107
Element.prototype.setAttribute = function (name, value) ...
When the name is r im getting value NaN I have no idea why. When I print the raduis in my code it is not NaN...
I also tried to add if (name == "r") value = 50, and things started to work.
I still in this case dont see any animation but my screen does render without any exception.
When you will have time let me know :)

Update:
I dont see d3-selection setAttribute or setAttributeNS being called with r

@Olical Ok I mange to get it working :)
Dont know why the issue didn't exists with pure d3
But here is the solution:
If you look at my first code the line where i draw the circle is like this
// Here I draw the circle
 node
      .append('circle')
      .enter() // --> Problem starts here..
      .attr('r', d => d.r);

 // This is prep for animation.
 d3Select(faux).selectAll('circle')
      .transition()
      .duration(1000)
      .attr('r', d => d.r);

I changed it to this:
// Here I draw the circle
 node
      .append('circle')
      .enter()

// Reselect the circles after enter solved it.
node.selectAll('circle')
      .attr('r', d => 1);

 // This is prep for animation.
 d3Select(faux).selectAll('circle')
      .transition()
      .duration(1000)
      .attr('r', d => d.r);

Since you got it working and I can't reproduce this (see 91dff53) I'm going to close this. Feel free to re-open if things keep acting weird though!


[charts/csi-isilon] Centralize all images to one place

Is this a new chart?
No
What this PR does / why we need it:
Simplify images customization by centralizing them in one place
Which issue(s) is this PR associated with:

KRV-12738

Special notes for your reviewer:
/!\ Only the syntax has been tested (passed with helm install powerscale ./csi-isilon -n powerscale --debug --dry-run) per agreement on Slack the Scrum team will validate the e2e installation.
Checklist:
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[ ] Chart Version bumped
[ ] Variables are documented in the chart README.md
[x] Title of the PR starts with the chart name (e.g. [charts_dir/mychartname]) if applicable

There were changes that were merged recently with updated versions (For example dell-csi-replicator:v1.5.0 is changed to dell-csi-replicator:v1.6.0). Please resolve the conflicts carefully with regards to versioning.

There were changes that were merged recently with updated versions (For example dell-csi-replicator:v1.5.0 is changed to dell-csi-replicator:v1.6.0). Please resolve the conflicts carefully with regards to versioning.

Thanks, this is now rebased.

Replaced by #313


Update completion for proper work

Updated completion don't complete commands which don't have options or parameters.
Current behavior:
$ git elegant init #press TAB twice
.git/         .idea/        .travis.yml   README.md     run-tests
.gitignore    .rultor.yml   LICENSE       install.bash  src/

As I see, it's normal behavior for bash.
Closes #28

@AntonKarabaza what was the reason for adding return 0 in case *)? It wasn't there in previous implementation of this command.

@ivan-podorozhnyi In previous implementation we had script to keep going in case *)  to reach this:
opts=($(git elegant commands))
COMPREPLY=( $(compgen -W "${opts[*]}" -- ${cur}) )

Now completion for this moved to elegant) case, so in case *) the script is just ends and returns 0 exit code.

@rultor please merge.

@rultor please merge.

@extsoft OK, I'll try to merge now. You can check the progress of the merge here

@rultor please merge.

@extsoft Done! FYI, the full log is here (took me 2min)


Make TimeArrays as PyTrees

Makes all TimeArrays subclasses of eqx.Module such that they are Pytrees and that the JIT is well-handled.
With this syntax, dq.totime should receive a callable of signature (t: Scalar, args: tuple) -> Array instead of (t: Scalar) -> Array as before. The args can then be passed into dq.totime as an optional argument, and the jit doesn't run again.
Note we probably don't need eqx.Module and could work around it, but it makes everything very neat IMO.
To test this:
import jax.numpy as jnp
import time
from jax import jit
import dynamiqs as dq

def time_once(f, *args, **kwargs):
    start = time.time()
    f(*args, **kwargs).block_until_ready()
    print(f'Elapsed: {(time.time() - start) * 1000:.3f} ms')

@jit
def loss(x):
    return jnp.linalg.norm(2 * x(1.0) - x(0.0))

# ==============================
# test constant array
# ==============================

N = 100
x0 = jnp.arange(N).repeat(N).reshape(N, N).astype(complex)
x1 = (N - jnp.arange(N)).repeat(N).reshape(N, N).astype(complex)
array0 = dq.totime(x0)
array1 = dq.totime(x1)

print("=== constant array")
array = array0
time_once(loss, array)  # jit runs

print("=== constant array (different array)")
array = array0 + array1
time_once(loss, array)  # jit does not rerun

# ==============================
# test callable array
# ==============================

fn = lambda t, args: args * t * x0
array2 = dq.totime(fn, args=2.0)
array3 = dq.totime(fn, args=3.0)

print("\n=== callable array")
array = array0 + array1 + array2
time_once(loss, array)  # jit runs

print("=== callable array (same function with different parameter)")
array = array0 + array1 + array3
time_once(loss, array)  # jit does not rerun

print("=== callable array (different function)")
array = array0 + array1 + array2 + array3
time_once(loss, array)  # jit runs

# ==============================
# test PWC array
# ==============================

times = jnp.linspace(0.0, 1.0, 11)
values0 = jnp.arange(10).astype(complex)
values1 = (10 - jnp.arange(10)).astype(complex)
array4 = dq.totime((times, values0, x0))
array5 = dq.totime((times, values1, x0))
array6 = dq.totime((times, values0, x1))

print("\n=== PWC array")
array = array4
time_once(loss, array)  # jit runs

print("=== PWC array (different values)")
array = array5
time_once(loss, array)  # jit does not rerun

print("=== PWC array (different array)")
array = array6
time_once(loss, array)  # jit does not rerun

print("=== PWC array (sum of two PWC arrays)")
array = array4 + array5
time_once(loss, array)  # jit runs

# ==============================
# test modulated array
# ==============================

fn = lambda t, args: args * jnp.array(t)
array7 = dq.totime((fn, x0), args=1.0)
array8 = dq.totime((fn, x0), args=2.0)

print("\n=== modulated array")
array = array7
time_once(loss, array)  # jit runs

print("=== modulated array (same function with different parameter)")
array = array8
time_once(loss, array)  # jit does not rerun

print("=== modulated array (different function)")
array = array7 + array8
time_once(loss, array)  # jit runs

which prints
=== constant array
Elapsed: 24.352 ms
=== constant array (different array)
Elapsed: 0.045 ms

=== callable array
Elapsed: 26.352 ms
=== callable array (same function with different parameter)
Elapsed: 0.066 ms
=== callable array (different function)
Elapsed: 28.494 ms

=== PWC array
Elapsed: 72.702 ms
=== PWC array (different values)
Elapsed: 0.074 ms
=== PWC array (different array)
Elapsed: 0.050 ms
=== PWC array (sum of two PWC arrays)
Elapsed: 123.167 ms

=== modulated array
Elapsed: 29.345 ms
=== modulated array (same function with different parameter)
Elapsed: 0.072 ms
=== modulated array (different function)
Elapsed: 51.495 ms

In a subsequent PR:

[ ] Move these tests into our test set.

We could add (in a future PR) support for lambdas without the args argument

We could, but I'm not sure we want to? Maybe having a strict function signature is better?

Does it stop working if TimeArray is no longer an equinox module ? (I'm still trying to figure out what it does)

Yes, I get the following error:
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
[/Users/rgautier/Code/dynamiqs/notebooks/_implem_pytree_timearray.py](https://file+.vscode-resource.vscode-cdn.net/Users/rgautier/Code/dynamiqs/notebooks/_implem_pytree_timearray.py) in line 24
     [22](file:///Users/rgautier/Code/dynamiqs/notebooks/_implem_pytree_timearray.py?line=21) print("=== constant array")
     [23](file:///Users/rgautier/Code/dynamiqs/notebooks/_implem_pytree_timearray.py?line=22) array = array0
---> [24](file:///Users/rgautier/Code/dynamiqs/notebooks/_implem_pytree_timearray.py?line=23) time_once(loss, array)  # jit runs
     [25](file:///Users/rgautier/Code/dynamiqs/notebooks/_implem_pytree_timearray.py?line=24) print("=== constant array (different array)")
     [26](file:///Users/rgautier/Code/dynamiqs/notebooks/_implem_pytree_timearray.py?line=25) array = array0 + array1

[/Users/rgautier/Code/dynamiqs/notebooks/_implem_pytree_timearray.py](https://file+.vscode-resource.vscode-cdn.net/Users/rgautier/Code/dynamiqs/notebooks/_implem_pytree_timearray.py) in line 7, in time_once(f, *args, **kwargs)
      [5](file:///Users/rgautier/Code/dynamiqs/notebooks/_implem_pytree_timearray.py?line=4) def time_once(f, *args, **kwargs):
      [6](file:///Users/rgautier/Code/dynamiqs/notebooks/_implem_pytree_timearray.py?line=5)     start = time.time()
----> [7](file:///Users/rgautier/Code/dynamiqs/notebooks/_implem_pytree_timearray.py?line=6)     f(*args, **kwargs).block_until_ready()
      [8](file:///Users/rgautier/Code/dynamiqs/notebooks/_implem_pytree_timearray.py?line=7)     print(f'Elapsed: {(time.time() - start) * 1000:.3f} ms')

    [... skipping hidden 12 frame]

[/Users/rgautier/Code/dynamiqs/notebooks/_implem_pytree_timearray.py](https://file+.vscode-resource.vscode-cdn.net/Users/rgautier/Code/dynamiqs/notebooks/_implem_pytree_timearray.py) in line 12, in loss(x)
     [10](file:///Users/rgautier/Code/dynamiqs/notebooks/_implem_pytree_timearray.py?line=9) @jit
     [11](file:///Users/rgautier/Code/dynamiqs/notebooks/_implem_pytree_timearray.py?line=10) def loss(x):
---> [12](file:///Users/rgautier/Code/dynamiqs/notebooks/_implem_pytree_timearray.py?line=11)     return jnp.linalg.norm(2 * x(1.0) - x(0.0))

TypeError: 'DynamicJaxprTracer' object is not callable


GPU acceleration

Is there a way to speedup audio matching using GPU?

GPU acceleration is not supported.


fix: run ci against fork prs

fixes https://github.com/open-rpc/generator-client/issues/102

I gotta re-open to trigger circle now that Ive fixed the config on that side...

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


can i receive ours gist oauth information ?

i will make test module api/handler funcions. but i don't have github auth information.  please give me gitcodeshare account oauth infomation and perssonal access token<EMAIL_ADDRESS>

@aeei Your help is needed!

ah ha. we don't have common account(gitcodeshare) ? then i follow that link, make oauth information.


Update ui sitemap panel

This PR updates the look of the sitemap in reference to issue #8472

This looks good to me; let's just get bedrock updated with new variable names and we can pull this in.

Hey @mikeesparza this sitemap looks like a great start; I think it might be easiest to call this done and to make tweaks going forward. There are lots of little interactions that I think could improve (the little loader is bright blue, the dragging state is this weird deep blue background, the menu is kind of floating all over the place)
but I also don’t think that we need to make that 100% perfect right now and we don’t really have comps for any of that stuff either, so it’s not fair to say that that’s your fault, because it’s not
so i’m gonna merge this, and probably make a couple style tweaks of my own, and call this done, because this looks pretty darn close to gary’s comp


Migrate API changes to angular-winjs

NavBar, AppBar, ToolBar and SplitView had breaking API name changes to some methods, properties, css classes and event names that were made in the WinJS master branch back in March. angular-winjs needs to be updated to include these changes.

Resolved via commit fa5d6ddabb


WIP: Local upstream 3204 copy

a copy of https://github.com/redhat-appstudio/infra-deployments/pull/3204 @enarha so that we can manually rebase and see fixes elsewhere are needed for the build controller and multi-platform controller start issues, and prove unconditionally they are somehow caused by the

Thanks. I usually rebase the original PR (in this case #3204). I already did once, few days ago with earlier nightly version.
I also just tested that specific nightly version (5.0.5-307) on ROSA cluster and it works well. I remember it also passing the pipeline-service CI, but I see it now red, not sure what happened. I can give it a manual try again tomorrow.


ASUS Z170-WS Semi-working with ReBAR

System

Motherboard: ASUS Z170-WS
BIOS Version: 3062
GPU: RTX 3080 Ti FE

Description
The ReBAR module has been placed in the correct volume, it was extracted and replaced per instructions for "ASUS no boot after patching" but with the same failing result, the script appears to be working but only with 512MB, 1024MB and higher always results in the system completing POST checks but nothing more, no display or response, CSM disabled and above 4G Decode enabled but Resizable BAR enabled in BIOS also says No

Z170WS_test.zip

@LatiosAeon Try using UEFIPatch with the patches.txt from the UEFIPatch folder on it.

Ok, So I managed to figure out how to use UEFIPatch being as simple as drag and drop... and I've now only applied the patches.txt from the main file here and now its working, got the full 16GB BAR on the ARC A770, also done the same method to an ASUS Z170 Sabertooth MK1 and it now also has working ReBAR

I understand it's been a while but maybe could you shared a modded Sabertooth bios, please?


LUIS nuget

What nuget I should use for LUIS c# API?
Below path does not added to any nuget:
azure-sdk-for-net/src/SDKs/CognitiveServices/dataPlane/Language/LUIS/Runtime/Generated/

@DavidLiCIG is this the right package?
https://www.nuget.org/packages/Microsoft.Azure.CognitiveServices.Language.LUIS.Runtime/0.9.0-preview
@vovanb you don't have to add any paths, simply search for LUIS package in the Visual Studio

Right click on your project in VS where you want to consume the package
Search for LUIS
Install the pakcage (after selecting the version you want)

Yes, this is the right package that was just published last week.
Thanks!

Closing the ticket since David provided the answer.
Thanks,
Chris


Add contribution guideline to the documentation

@fmrico as discussed, I created a page to hold the contribution guideline. Please check the content and let me know if you agree.
Thanks! :)

LGTM
Thanks @ipa-nhg
Merging 🚀


Token validation retry

This PR:

Updates OidcConfigProvider to use Authority from msal-common
Add knownAuthorities to Configuration

Codecov Report

Merging #4912 (3a93510) into dev (5bd02c7) will decrease coverage by 0.00%.
The diff coverage is 100.00%.

Flag
Coverage Δ

*Carryforward flag

msal-angular
96.42% <ø> (ø)

Carriedforward from 5bd02c7

msal-browser
86.87% <ø> (ø)

Carriedforward from 5bd02c7

msal-common
84.44% <ø> (ø)

Carriedforward from 5bd02c7

msal-core
82.67% <ø> (ø)

Carriedforward from 5bd02c7

msal-node
81.94% <ø> (ø)

Carriedforward from 5bd02c7

msal-node-extensions
76.03% <ø> (ø)

Carriedforward from 5bd02c7

msal-react
94.50% <ø> (ø)

Carriedforward from 5bd02c7

node-token-validation
89.11% <100.00%> (-0.03%)
:arrow_down:

*This pull request uses carry forward flags. Click here to find out more.

Impacted Files
Coverage Δ

...ib/node-token-validation/src/api/TokenValidator.ts
98.51% <ø> (ø)

.../node-token-validation/src/config/Configuration.ts
100.00% <ø> (ø)

...oken-validation/src/config/OpenIdConfigProvider.ts
100.00% <100.00%> (ø)

...ib/node-token-validation/src/network/HttpClient.ts
76.47% <0.00%> (+5.88%)
:arrow_up:


lzma-native package updated to latest

Just fyi, there’s a typo in the commit message (lama) :smile:

Very nice @rahul606 , thanks a lot! I'll merge as soon as you fix the commit title!
BTW, is this the reason behind https://github.com/resin-io/etcher/issues/981, or just a miscellaneous improvement you saw after digging into the module?

@jviotti I did the change for comment, but I am not sure if everything went fine or not. Editing the comment on github is new to me as I usually do this via IDE.
This problem did not solved resin-io/etcher#981 problem but it did solve the problem of running CLI correctly on mac.

The problem of the CLI not running on your Mac is that you previously compiled the native dependencies against the version of Electron we build Etcher for, and not against your locally installed version of NodeJS.
When you did npm install lzma-native@latest you forced npm to re-install that specific native package against your NodeJS installation, which made it all work, but there is no problem at all there. If you run npm install --build-from-source in the Etcher repository, it will fetch the current version of lzma-native, but will build it (or download a pre-built binary) agains your local NodeJS version.
So in summary, the version doesn't make any difference (its the way you install the dependencies), but I'll take this PR anyway!


Check resource view permission

@hyi Please review this small PR. Should I deploy this for testing?

Should I deploy this for testing?

This is a small bit of code.
I can copy/paste this onto beta directly if you want to test it there?

@pkdash I have tested the fix locally and it appears to fix the issue, so +1 for the fix. I am still wondering why this extra check was not needed before in the previous deploy but needed now, though.

@hyi This is my guess. This function (https://github.com/hydroshare/hydroshare/blob/master/ga_resources/models.py#L121) was getting inherited by Abstract resource which was automatically being called by Mezzanine when you try to access a resource. When we got rid of the gs_resources app there was no way for the Mezzanine to call the can_view() automatically that we have in AbstractResource. That's why I have to explicitly call that in page_preprocessors.py.

@mjstealey Thanks for the deploying this change.


[WIP] Adds host to physical server relationship

-modifies the host and physical server controller
-updates the physical server and host model

@miq-bot add_label wip, providers/physical-infrastructure

This PR relies on https://github.com/ManageIQ/manageiq/pull/13973 being merged.

Closing to re-run travis tests

Re-open to run travis tests based on upstream resolutions

This PR LGTM, but needs PR https://github.com/ManageIQ/manageiq/pull/13973 being merged first.

Closing to re-run travis tests

Re-opening to re-run travis tests

@miq-bot remove-label wip

@miq-bot remove_label wip

I'm a bit confused on the API changes here as they are partial, no config/api.yml changes so the collection itself is not exposed (i.e. GET /api/physical_servers/1 gives a 404).  was the intent to expose this in the API ?
Other than above, the code itself in the API could be a lot simpler leveraging @additional_attributes and defining  host_id as a virtual attribute (delegate) in the model.

This is due to the fact that we chunked up a larger commit into smaller commits and didn't do a good job of correlating all of the PRs.  The actual api.yml file changes are in https://github.com/ManageIQ/manageiq/pull/14028    This PR updates the controller to make the host relationship in the model and adds the relationship to a controller.

One last thing:  There was some discussion around the semantics of the belongs_to and has_one.  @juliancheal changed it so that the hosts table has the physical_server_id.  Whereas previously, the physical_servers table had the host_id.
That means that the direction of the relationship now reads correctly, but needs to be reversed from what you have here.
It now should be:
class Host

  belongs_to :physical_server, inverse_of => :host
end

class PhysicalServer

  has_one :host, inverse_of => :physical_server
end

Reversing the polarity of the relationship between the servers and the host.

@rodneyhbrown7 @blomquisg  I have a doubt about migration: Considering this change that Rodney did, should we change the table reference?

@walteraa, nope.  The foreign key is already on the correct table.


Surya/nil/linux changelog

Not so easy to test on rpm because the actual repodata is configured in layout_repo.sh, which needs gpg keys. I used this patch: https://github.com/keybase/client/commit/c05aaaa2a37aaf968c34614b898a1171bdb35279.patch to comment out 32 bit and code signing for testing. (There's a KEYBASE_DRY_RUN option but it still needs gpg keys)
cc @cjb

@maxtaco is this ok?

We can pass KEYBASE_DRY_RUN on the buildbot to do a full test build to make sure everything is ok

Ok I tried it out and it seems to work fine on both ubuntu and centos. Will merge in a bit unless anyone else wants to try it out.


add docker setup for 5.5

motivation: ci on 5.5
changes: add docker setup for 5.5

needs https://github.com/apple/swift-log/pull/210 first