use SimulationData for problem-specific data

Adds the SimulationData<problem_t> struct to store problem-specific data that should last for the lifetime of the RadhydroSimulation<problem_t> object.
Adds a member variable userData_ to RadhydroSimulation of this type, which can be used in lieu of global variables in problem generators.
This is needed to avoid double frees for AMReX-allocated objects that can happen with global variables, since they may be deallocated both when calling amrex::Finalize() and when the static destructor is called implicitly.

/azp run

/azp run


Switch callbacks from _filter to _action

Rails 5, in rails/rails@7644a99d, deprecated controller callbacks suffixed _filter in favour of those suffixed _action; this PR follows suit.

The way this is written would mean dropping support for rails 3, right? Can this be written to support both rails 3 and 5?

@jaredbeck Yes, it can.

looks good to me, thanks! We should probably add a rails 5 (or rails master) gemfile to our test suite, similar to the rails 3 gemfile we already have.

Nice, and I appreciate the backwards compatibility


ACKS_LATE doesn't ensure eventual completion when results can't be stored

See http://groups.google.com/group/celery-users/browse_thread/thread/651f1b0ff5ed9fc2/65c661f56cde166c?show_docid=65c661f56cde166c
If I lose database connectivity such that I get Mysql OperationalError exceptions, celery fails tasks that I want to retry.

Task experiences a database-related exception, I handle that, I call .retry()
celery's mark_as_retry throws an exception, because it can't get to the DB
TaskRequest.on_failure gets called, and calls self.acknowledge,
consuming the message from RabbitMQ
The task remains in state STARTED, and never gets executed, even
when I bring the database back online and restart the worker.

It seems to me that when using ACKS_LATE, the late ack should not be
sent unless the result was stored successfully -- if this was the case, I could handle this scenario.  As it is
there seems to be no way to guarantee my tasks get restarted.

The other message transports recovers from errors like these, so I guess this is mostly a case of adding
the list of possible exceptions to Transport.connection_errors.
The problem is that there is no such list of exceptions available anywhere.


Chart project has only 3-5 commits for each buggy version

It seems that, for each buggy version of Chart project, it has only 3-5 commits, (D4J_Chart_BUGID_BUGGY_VERSION, D4J_Chart_BUGID_FIXED_VERSION, and D4J_Chart_BUGID_POST_FIX_VERSION).   Meanwhile, other projects contain a comparatively complete change history. May I also ask for the complete change history for each buggy version of Chart project? Another problem is that, when I checkout to D4J_Chart_1_FIXED_VERSION (still using the buggy version) and then compiled it, I run the test cases and still get failure. I wonder whether it is correct. Thanks very much. Look forward to your reply.

Hi @wurongxin1987,
The difference between Chart and the other projects is that Chart uses subversion, whereas the other projects use git. You can access the complete history by running svn log in the working directory.

Another problem is that, when I checkout to D4J_Chart_1_FIXED_VERSION (still using the buggy version) and then compiled it, I run the test cases and still get failure.

Can you please elaborate on this problem and provide a sequence of commands that reproduce the unexpected test failures?
Thanks,
René


error: ‘to_array’ is not a member of ‘std’

when I excuate this command cmake --build build -j
I met this error:
/usr2/l00807026/l30042995/cppsafe/cppsafe/lib/lifetime/LifetimeTypeCategory.cpp:606:53: error: ‘to_array’ is not a member of ‘std’; did you mean ‘is_array’?
  606 |             static constexpr auto MapConstFn = std::to_array<StringRef>({
      |                                                     ^~~~~~~~
      |                                                     is_array

how can I solve it ?

it seems your compiler version does not support C++20 well. std::to_array is a C++20 feature and is supported by at least gcc10 and clang10

I have gcc-9.4.0 and clang-10 on my Linux.
how can I specify the clang-10 as the compiler?

search for cmake usage: https://stackoverflow.com/questions/45933732/how-to-specify-a-compiler-in-cmake

finally fix by update my gcc. thanks.


No ESM export when compiled to ESM

System Info
<EMAIL_ADDRESS>Details
Rspack should generate export { xxx} but generate var xxx
https://github.com/web-infra-dev/rspack-repro/blob/esm-output/rspack-dist/main.mjs#L68
which webpack is right
https://github.com/web-infra-dev/rspack-repro/blob/esm-output/webpack-dist/main.mjs#L89
Reproduce link
https://github.com/web-infra-dev/rspack-repro/tree/esm-output
Reproduce Steps
yarn install && yarn build

New tree shaking will resolve this issue, close as not planned

@LingyuCoder I'm using the new tree-shaking. This was reported under it

@LingyuCoder I'm using the new tree-shaking. This was reported under it

@alfaproject Try this version [0.4.5-canary-285c5f3-20231228011645](https://www.npmjs.com/package/@rspack/core/v/0.4.5-canary-285c5f3-20231228011645), it has been resolved but not published yet

I can confirm that version fixes the module output but now I'm getting this panic in another library:
Bundling apps/lambda-api/src/handlers/slack-server.ts
Panic occurred at runtime. Please file an issue on GitHub with the backtrace below: https://github.com/web-infra-dev/rspack/issues
Message:  range end index<PHONE_NUMBER>3709551615 out of range for slice of length 0
Location: crates/rspack_plugin_javascript/src/dependency/commonjs/common_js_self_reference_dependency.rs:57

Run with COLORBT_SHOW_HIDDEN=1 environment variable to disable frame filtering.
Run with RUST_BACKTRACE=full to include source snippets.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ BACKTRACE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
<empty backtrace>

Not sure if it's related to your fix but it looks like something else. That is a regression tho

I can confirm that version fixes the module output but now I'm getting this panic in another library:
Bundling apps/lambda-api/src/handlers/slack-server.ts
Panic occurred at runtime. Please file an issue on GitHub with the backtrace below: https://github.com/web-infra-dev/rspack/issues
Message:  range end index<PHONE_NUMBER>3709551615 out of range for slice of length 0
Location: crates/rspack_plugin_javascript/src/dependency/commonjs/common_js_self_reference_dependency.rs:57

Run with COLORBT_SHOW_HIDDEN=1 environment variable to disable frame filtering.
Run with RUST_BACKTRACE=full to include source snippets.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ BACKTRACE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
<empty backtrace>

Not sure if it's related to your fix but it looks like something else. That is a regression tho

This seems to be a bug caused by #5114. Could you provide a demo for reproduction?

Oh man, it's a really big monorepo. Not even sure where to start but I'll see if I can tomorrow

I cannot reproduce the specific scenario, but I think it is caused by the simultaneous occurrence of side effects and module.exports() in some cases, resulting in an empty names and causing an array access error.
The version 0.4.5-canary-d2f6abe-20231228172844 is compatible with array out-of-bounds situations, you can try it.

Alright, that sorted the other issue as well, thanks!


Blog about implementation of search.gov

@eelzi-ONRR and @Maroyafaied - here is the outline document for the search engine blog. We can talk about next week or next sprint when we can all meet.
https://doimspp.sharepoint.com/:w:/r/sites/NRRD/Shared Documents/General/Blog/In Progress/Implementing-Search-Engine-Improvements-April2023-V1.docx?d=wfc3e340b42084a978fd6257928e0c76e&csf=1&web=1&e=Z6lrZx

@AlexandracmONRR @eelzi-ONRR I spent some time cleaning up the document and re-wording some sections to lower the reading levels.  I also added a "lessons learned" section at the end to conclude the blog. The overall blog is at reading level 11. @cthomasONRR if you have time can your do a first round of review before we put in a PR? https://doimspp.sharepoint.com/:w:/r/sites/NRRD/_layouts/15/Doc.aspx?sourcedoc={42EE5CFB-8928-4EDB-8A1B-74E686472BBE}&file=Search.gov.docx&action=default&mobileredirect=true&DefaultItemOpen=1&login_hint=faiedm%40mms.gov&ct=1683299168119&wdOrigin=OFFICECOM-WEB.START.EDGEWORTH&cid=6da10ebc-e0e9-4b68-8b60-898fd1b772b4&wdPreviousSessionSrc=HarmonyWeb&wdPreviousSession=2441fed2-9807-4509-a62a-28735f169409
Thanks.

@Maroyafaied @AlexandracmONRR @eelzi-ONRR I just finished my review- I made minor edits and added a few comments. Overall the blog is really good and informative, but definitely on the technical side. I wonder if there is a way you can break up the walls of text with some visuals to help explain some of the technical information?

@cthomasONRR Thanks for reviewing , I implemented your edits and left comments on the remaining ones. I see your point about visuals but most of the items we speak on are files within GitHub that we link to but I'll think of some we can include.

@Maroyafaied @AlexandracmONRR I did a final review - I tracked changes for edits that were more than simple punctuation fixes. If you have time to have a look at those - after that I feel good about it!
Thank you Alex for adding the images!

@AlexandracmONRR @eelzi-ONRR It's looking great, I like the pics. I added one comment about the title in case you guys have other ideas.


Check out Pypher for query building

I wrote Pypher last month and its purpose is to write Python and produce Cypher. Your project could potentially benefit from it. Let me know if you use it or have any questions
https://github.com/emehrkay/Pypher

Ooooh very nice! Sometimes it bothers me to realize I simply missed out already existing apps. I'm gonna give it a try, thanks :smile: !

So here is some feedback @emehrkay !
First of all, Pypher looks great. Features and code. :+1:
My thoughts about using for my project now. I think I have two options:

use Pypher directly. It seems to support Cypher entirely. It would just be a matter of wrapping queries into objects that add the ability to execute the queries, fetch and inflate/hydrate objects and do some caching for optimization purpose.
wrap Pypher queries into a different API. Basically I would embed Pypher builder into higher-level graph manipulation methods. But I fear that it would sometimes be redundant, if not completely mixed up, and I want to avoid such unclean code.

So I would rather choose option 1. But a few things are pushing me away:

I prefer the queries not to be modified in-place. So it would require to, indeed, wrap Pypher builder into another API if I want to change that.
You reserved some keywords, like __.node, so we cannot reference a node with the node variable, because afterward we would not be able to use __.node.__prop__. Or am I wrong?  I guess other keywords are reserved in other places/ways but I did not check. Since Neo4j do not reserve any keyword for variable names (not sure for this one), labels, types or property names, I would prefer the library to do the same. But maybe I am wrong again! ^^
I find SET(__.var.__prop__ == value) to be a bit confusing (== instead of = when you read it out loud).
As told in the issue I posted on your repo, relationships have "labels" instead of "types".
Another confusing thing is the multiple ways we can sometimes use the API, like WHERE(..., ...) and WHERE.var.__prop__ (even if I think it's a good feature at the same time).

So for now I don't think I'm gonna use Pypher for my project. But I might change my mind later ;)
Please note that I am not saying there's something wrong with your code, it's just me trying to evaluate the pros/cons to use Pypher for my particular use case ^^. I'm not asking you to change your code in any way!
Feel free to drop your thoughts here as well :thought_balloon: !

Wow. Thank you for the evaluations and audit. It will only make Pypher a better project.
To answer some of your points:
I mainly use Pypher in an abstracted api. I too am building a Neo4j OGM (https://twitter.com/emehrkay/status/983004798558580737?s=21) and I have a Query object that takes Node or Relationship objects and transforms them into Cypher via Pypher (I’ll show it to you once I am done with the mapper, should be soon). The Pypher portion could be replaced, but it would probably be messy.

Yeah I listed that as one of the reasons not to use Pypher in the article that I wrote for the blog. If you aren’t careful, you could modify the chain outside of scope.
All of the predefined statements, functions, and everything that subclasses the Pypher class are “reserved” and would result in unexpected behavior when used that way. What you “want” to do, in Pypher speak, is add a Statement with the value of “node” that isn’t as straight forward (you’d need to call add_link directly etc), but I do know how to address it.
yeah I thought that was weird myself. But since assignment is a language intrinsic thing, it cannot be overwritten. == was the next best option because it wasn’t used in Cypher
I will make this update. I flossed over that distinction at the time of writing Pypher.
Parens for Statement objects just comma separate the arguments and then return the Pypher instance.

Again thank you for the feedback/code review. It is very helpful.
Sent from my iPhone

On Apr 10, 2018, at 1:11 PM, Timothée Mazzucotelli<EMAIL_ADDRESS>wrote:
So here is some feedback @emehrkay !
First of all, Pypher looks great. Features and code. 👍
My thoughts about using for my project now. I think I have two options:
use Pypher directly. It seems to support Cypher entirely. It would just be a matter of wrapping queries into objects that add the ability to execute the queries, fetch and inflate/hydrate objects and do some caching for optimization purpose.
wrap Pypher queries into a different API. Basically I would embed Pypher builder into higher-level graph manipulation methods. But I fear that it would sometimes be redundant, if not completely mixed up, and I want to avoid such unclean code.
So I would rather choose option 1. But a few things are pushing me away:
I prefer the queries not to be modified in-place. So it would require to, indeed, wrap Pypher builder into another API if I want to change that.
You reserved some keywords, like __.node, so we cannot reference a node with the node variable, because afterward we would not be able to use .node.prop. Or am I wrong? I guess other keywords are reserved in other places/ways but I did not check. Since Neo4j do not reserve any keyword for variable names (not sure for this one), labels, types or property names, I would prefer the library to do the same. But maybe I am wrong again! ^^
I find SET(.var.prop == value) to be a bit confusing (== instead of = when you read it out loud).
As told in the issue I posted on your repo, relationships have "labels" instead of "types".
Another confusing thing is the multiple ways we can sometimes use the API, like WHERE(..., ...) and WHERE.var.prop (even if I think it's a good feature at the same time).
So for now I don't think I'm gonna use Pypher for my project. But I might change my mind later ;)
Please note that I am not saying there's something wrong with your code, it's just me trying to evaluate the pros/cons to use Pypher for my particular use case ^^. I'm not asking you to change your code in any way!
Feel free to drop your thoughts here as well 💭 !
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.


copy() in the console

Just saw this tweet and thought we should try implement it https://twitter.com/WickyNilliams/status/514730121912397824

Actually that would be a reimplementation ;). Firebug 2.0 used to have it.
I think that is probably part of the commands that the DevTools should
have natively.
Florent

I don't think that's reported yet. That could be a nice first-bug for you if you want to.
Note that the Firebug 2.0 code of it is here.
Florent

Hi,
This is going to be my first bug for a student group project but I can't seem to find where the commandAPI for Firebug.next is? I've searched through all of the files but had no luck. Once I know where it is my team and I will be able to work on this.
Thanks! - Jose

This is implemented platform side:
https://bugzilla.mozilla.org/show_bug.cgi?id=1005870
@josephmgonzalez : The copy command is implemented in the Firefox DevTools, so we inherit from they starting from Firefox 38 (currently it is the Developer Edition).
Florent

@josephmgonzalez: we need to find new good first bug for you..
Honza

Sounds good, I will take a look around at other issues to see if I find any that I think I can tackle. Thanks!

Jose


Change hashring API to allow not thread-safe hash.Hash

NewHash uses the same hash.Hash object every time it's called. That means that you can use hashring object from multiple goroutines only if you specified a thread safe hash.Hash. In other words hashring is thread safe if and only if the provided hash.Hash is thread safe.
This patch fixes this behaviour. Here we create new hash.Hash for every call.

@serialx here is our last fix from production (after https://github.com/serialx/hashring/pull/25)

@grihabor Any performance regressions expected from this PR?
BTW, are you interested in maintaining this project? I'm willing to give collaborator access to you.
I'm also OK with redirecting people to your repository if it fits your need.
I feel responsibility in maintaining this project because a lot of people seem to be relying on this project.
The regressions in the past few years are all my fault. I'm not using this code in my production environment anymore. So that affects the code quality. I need more time to review PRs more rigorously, but don't have much time...
It would be grateful if you take over. It will be more good for the Golang community. :)

@serialx There is no performance regression, because this PR just adds flexibility. If you know that your hash.Hash is thread safe, you can just create it once and store it in some intermediate wrapper, so that the hash.Hash is reused every time hash ring access the wrapper.
As for maintenance of the project, I would be glad to be a collaborator :) We use the project in production, so we keep an eye on bugs in it.

I've invited you! Check your email! Thank you! :)


Optimize the query in the presence of MUST terms

Currently we don't do anything smart when we don't take advantage of skipping when we have a must terms.

Requires #57


fix: transaction history lazy loading on scroll(infinite scroll) fixed

fixes #1652
Infinite scroll - pagination was regressed by some UI changes(https://github.com/symbol/desktop-wallet/pull/1150), style is improved, the issue is fixed.

Fixed in dev :+1:


swearing

maybe make it swear-free?

Can you elaborate on why should it be swear-free?

swearing harms your reputation. And it isn't a good marketing choice


Can't compile in NextJS Turbo mode

Context
Nextjs is developing their new bundler, named Turbopack, to speed up the development mode. It drastically reduces the hot reloading time, leading to a much better DX.
Problem
Hatchet does not compile when running next in Turbo mode.
Evidence / How to reproduce

Download or clone Hatchet Nextjs Quickstart
Update package.json to run next in Turbo mode: next dev --turbo
Navigate to http://localhost:3000

The page will not compile and a Module not found exception will be thrown.

Closing as it belongs to the TS Library: https://github.com/hatchet-dev/hatchet-typescript/issues/378


No layering rules for workbench/contrib?

I stumbled over this https://github.com/microsoft/vscode/commit/d685337db2e58c97c52387f080d698c5fa22753d and wondered how semver-umd can be imported without mentioning it tslint.json and I believe we actually don't have any layering rules configured for at least src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.ts

Turns out I can import anything in browser/extensionsWorkbenchService but not in browser/outlinePanel


Can VS Code be used for commercial purpose ?

Can VS Code ( downloaded from https://code.visualstudio.com/ ) be used for commercial purpose ?
I am not talking about the github source code. The source code on github is MIT licensed but what about the commercial usage of the VS Code Editor i install on my machine ( whether mac or pc ) that's downloaded from https://code.visualstudio.com/ ?
Regards,
MMK.

Yes. But this isn't the place to be posting this question.


Add plugin postcss-webp

Add webp suffix to url of background or background-image in css.
Before:
.foo {
  background-image: url(./bg.png);
}

After:
.foo {
  background-image: url(./bg.png);
}
.webp .foo {
  background-image: url(./bg.png?x-oss-process=image/format, webp);
}

Woah @zhouchengi thank you so much for translating the readme to Chinese! I hope this helps increase adoption among Chinese-speaking developers! 👍 🌎

@himynameisdave I have the same idea as you, so i did


runtime: A new method to get function created goroutine required.

$ go version
go version go1.4.2 linux/amd64

runtime.Stack() prints 'createdby', but there's no other way to access it.
runtime.Caller() and runtime.Callers() does not provide goroutine creator info.

What would this function return?  What would the arguments be?

Ah sorry.
Return *runtime.Func and get one uimtptr as argument, like runtime.FuncForPc()
But I don't what naming would be right for this
I wrote this on golang-nuts but it does not appears now

I'm sorry, I still don't understand.  What would the uintptr argument be?
Are you suggesting something like
func CreatedBy() *Func
which would return the function that created the current goroutine?  Or something like
func CreatedBy() (pc uintptr, file string, line int, ok bool)
along the lines of Caller?
One thing I'm wondering about is how useful it is to get the creator of the current goroutine.  I don't see any way to ask for the creator of any other goroutine.
Can you describe a use for this in practice?

I mean something like https://golang.org/pkg/runtime/#FuncForPC
func FuncForPC(pc uintptr) *Func

pc is program count of goroutine.
And this would allow priting even other function's goroutines, and test of net/http library use runtime.Stack() to do this.
But it parse stack trace string.
https://github.com/golang/go/blob/master/src/net/http/main_test.go#L26-L51

It doesn't make sense to speak of printing other function's goroutines.  A single function can be being run by many goroutines simultaneously.  In your suggested functions, the pc argument seems unnecessary.

Hmm.. I didn't meaned
func Other() {
    // from here
    GetGoroutineOf(Parent) // instead of pc..
}

func Parent() {
    go func() { // <- get this function
        // etc..
    }()
}

I meaned a function to get
func Parent() { // <- this function
    go func() {
        // etc..
    }()
}

Please write a complete small example.

Maybe
https://github.com/ceram1/gostack/blob/master/stack_test.go#L63-L80
this can be complete example.


Libnetcdf variants

@lee1043 Could you take a look at the test failures?
https://circleci.com/gh/PCMDI/pcmdi_metrics/tree/libnetcdf_variants
so this is picking up the latest nighties of cdat packages.

@muryanto1 I think the failed test is not relevant to this change. It may need to be addressed in separate to this. I don't think I have any problem to give it go.


Webserver missing in "Real-time asset tracking and management" architecture?

https://learn.microsoft.com/en-us/azure/architecture/solution-ideas/articles/real-time-asset-tracking-mgmt-iot-central
The architecture "real time asset tracking" shows an arrow from SQL Database to Azure API Management to the Browser.
My question is where is the webserver that is hosting the API and querying the data for API Requests from the database? Is API Management capable of that?

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: f4cc2d26-95f1-a809-8d21-251fa973b084
Version Independent ID: d452c096-bbea-6b65-36d1-cd56337493ca
Content: Real-time asset tracking and management using IoT Central - Azure Solution Ideas
Content Source: docs/solution-ideas/articles/real-time-asset-tracking-mgmt-iot-central.yml
Service: architecture-center
Sub-service: solution-idea
GitHub Login: @ypriyay
Microsoft Alias: priyay

@jugi92
Thanks for your feedback! We will investigate and update as appropriate.

@jugi92 , APIM is an Azure PAAS offering and infrastructure is not exposed. It acts as the request endpoint for the outbound requests in this architecture

@jugi92 Closing this issue. Please feel free to reopen if required


Editor Hint Theme

Hi, could you update the theme to include a good theme for the new editor inlay hints? Currently they appear to default to a blindingly bright color compared to the rest of the theme:

I made a quick edit to the theme on my end to just get it more out of the way, but I'm not the best with theming.
  "workbench.colorCustomizations": {
    "[Dark SynthWave '84]": {
      "editorInlayHint.background": "#3232356c",
      "editorInlayHint.foreground": "#ffffff49"
    }
  }

Is this still an issue? I haven't seen inlay hints like this

Yup, still an issue. I just checked today.

I think the editor hints still aren't enabled by default, but you can find the settings in the "Typescript" extension settings where it can be enabled for TypeScript or JavaScript separately.

I'll hunt for a typescript repo to reproduce the issue. Thanks for the
heads up
On Sun, Jul 24, 2022 at 1:46 PM Zachary Haber @.***>
wrote:

Yup, still an issue. I just checked today.
[image: image]
https://user-images.githubusercontent.com/19843782/180659392-136b8b64-0bf0-40c7-9299-33144c8d77cb.png
[image: image]
https://user-images.githubusercontent.com/19843782/180659429-a215756f-f098-4bc3-bf56-1909989bcc75.png
I think the editor hints still aren't enabled by default, but you can find
the settings in the "Typescript" extension settings where it can be enabled
for TypeScript or JavaScript separately.
—
Reply to this email directly, view it on GitHub
https://github.com/brainomite/dark-synthwave-vscode/issues/1#issuecomment-1193364586,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACYQAEAYMSU4VC4ZJOOX4JDVVV6QDANCNFSM5DJU7FBQ
.
You are receiving this because you commented.Message ID:
@.***>

--
Aaron Young
(917) 882-1044 <9178821044>
aaronyoung.dev

The options to enable it are in the typescript extension settings, but they are able to be enabled for either typescript or javascript (based on the settings you enable, since each category is independently enabled)


Comp global styles vars

overview

This PR is an initial implementation of a universal @values and corresponding style sheets for colors fonts and buttons. As we all add to the component library, the risk of our styles duplicating and diverging increases.
changelog

create top level styles/ directory for various reusable style sheets
colors.css to hold all generic color values
typography.css  to hold typography font_color values (all grey now but will most likely diverge from colors.css generic values), font_weights, and font_sizes
typography.css contains a few atomic styles for grouping our font sizes, weights, and colors based on sketch files, more to follow if we like this format
update existing buttons.css with button specific values, as with typography these colors will most likely diverge from base grey. .button_dark atomic style to handle default font and background color for all dark buttons (this could just live as part of .button_primary
update structure.css to use values from typography.css and colors.css

review requests

@mcous @IanLondon this is an initial pass to get us on the same page.
A few concerns:

are the variable/value names too verbose?
is there a more elegant way of consolidating/grouping styles for use of composes
too many values to import?

Is this text supposed to be white?


Identity random string generator to be in utilities

WHY
Because it's useful to create random strings for identifiers.
Keeping the code DRY
WHAT
In the Auth.js file we have some code which creates an auth key. This should be centralised into a nodejs module rand-token
var ident = Math.random().toString(36).substr(2, 12).toUpperCase();

Using rand-token package


More precise dataset size computation

Currently, the Hub uses the /size endpoint's num_bytes_original_files value to display the Size of downloaded dataset files on a dataset's card page. However, this value does not consider a possible overlap between the configs' data files (and simply sums all the configs' sizes up), in which case the shared files need to be downloaded only once. Both datasets and hfh recognize this (by downloading them once), so the size computation should account for it, too.
cc @guipenedo who reported this behavior first

cc @lhoestq


Feedback

Would be really helpful to have this SVG icons with the service name in powerpoint, also with some reference architecture slides that can be used as template for building a proposal for our joint customers. This is how google shares it...

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: 6624d44c-f9f6-02f8-2c67-0f0637fed62e
Version Independent ID: 9346a8ff-bab5-be2c-9dc1-d546fda1efa9
Content: Azure icons - Azure Architecture Center
Content Source: docs/icons/index.md
Service: architecture-center
GitHub Login: @Zimmergren
Microsoft Alias: tozimmergren

@fedeformento
Thanks for your feedback! I've assigned this issue to the author who will investigate and update as appropriate.

Hey ,@fedeformento , we've got an item on the backlog to review this. Thanks!
#please-close


Support PhpStorm

Pull Request Details
Add support for PhpStorm which is now available at https://www.jetbrains.com/intellij-repository/snapshots
Description
Added new type of IDE - PS.
Related Issue
Related to #41
Motivation and Context
The problem for PhpStorm plugin developers is that they need to use IntelliJ Ultimate (and has license for it) and know the exact set of the plugins that they need to install there to emulate PhpStorm (PHP, Twig, etc).
How Has This Been Tested
I've run the following Gradle script and it worked fine and started PhpStorm:
plugins {
    id("java")
    id("org.jetbrains.intellij")
}

group = "com.example"
version = "1.0-SNAPSHOT"

repositories {
    mavenCentral()
}
intellij {
    version.set("222-EAP-SNAPSHOT")
    type.set("PS") // Target IDE Platform
}

tasks {
    // Set the JVM compatibility versions
    withType<JavaCompile> {
        sourceCompatibility = "11"
        targetCompatibility = "11"
    }
}

Types of changes

[ ] Docs change / refactoring / dependency upgrade
[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist

[x] I have read the CONTRIBUTING document.
[x] My code follows the code style of this project.
[x] My change requires a change to the documentation. To the section type .
[ ] I have updated the documentation accordingly.
[x] I have included my change in the CHANGELOG.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed. Looks like there are only unrelated failures.

Hey @MaXal, according to your description it states

and know the exact set of the plugins that they need to install there to emulate PhpStorm (PHP, Twig, etc).
However it seems this is still something we need to do?

At least when I just tested it out, I still needed to specify
platformPlugins = com.jetbrains.php:222.3345.135

@olivernybroe  The version part can be omitted as such plugins are now bundled.

Ah that makes sense, sorry for misunderstanding!


Add support for creating relationships between programs/papers

We will need a way to set up relationships between programs/papers. For example, one program represents a value and a second paper controls that value.

This was done through efforts in #21 and #7. We'll create a new issue to explore using program spatial positioning to send data between papers.


Initialize only with App Id and App Hash

Hello everyone,
I hope you're doing well! I'm currently facing some challenges while trying to create a specific use case for a bot. The bot should be able to initialize with only the App Id and App Hash from a Telegram account. Once the code is initialized, it will prompt the user for their phone number and the code sent by Telegram. In some cases, it may also require the user's two-factor authentication password, if applicable.
I was wondering if there is a way to achieve this functionality. Any guidance or suggestions would be greatly appreciated.
Thank you all!

Hi @pedroota
I think you are confused. App Id and App hash is only for "MTProto API", no "Bot API".
MTProto -> Normal client API - like Telegram Android/ iOS... or Tdlib (you can also login with bot token because in the tdlib is used as part of the backend of the Telegram Bot API, but have a diferents limits to a normal account)
Bot API -> Is exclusive for bots only and is the target of this library.
If you want to create a userbot you need a library that works with MTProto (Tdlib, Madelineproto, Pyrogram....), and this allows you to login with a phone number


Use void instead of any for undefined payloads

Additional layer of type security, don't let the user implicitly opt out of type checking

Hmm.   I'm not clear what improvement this is supposed to make.
Going to close this for now.  If you still feel it's a point of concern, please let me know and we can discuss further.

@markerikson thanks for taking a look, we've made this exact patch in our project using this library, and it revealed a bunch of missed or mismatched action payload typings, while forcing us to specify payload where it was expected. I would look into fixing the tests if we can agree this would be beneficial to have merged.

Sure, sounds good.

@phryneas : since you're consulting, any thoughts on this one?

So looking at the type errors, some of them from "raw" uses of PayloadAction like this:
  const action: PayloadAction = { type: '', payload: 5 }
  const numberPayload: number = action.payload

Also:
  const increment = createAction('increment')
  // Error: Argument of type '1' is not assignable to parameter of type 'void | undefined'
  const n: number = increment(1).payload

Those are fixable by adding generic to PayloadAction<number> and createAction<number>.  Potentially reasonable.  But, I'm not entirely sure that's "right" here.

Well, it would definitely change the defined behaviour.
Especially this test defines that a PayloadAction should fall back to any if there's no type defined.  And #165 shows that people are using it like this.
I guess all other of those tests are building on this "acceptance criteria" that was formulated in this first test.
As for me, I'd like this to change, as those types being more strict will prevent bugs like people accidentally forgetting the type parameter and then doing werid stuff.
But this will be breaking for people.
Your call if you want this :)

Sure, sounds good.
Hmm. I don't suppose this is related to #211 at all?

This does not seem related, as the PR would only cover the default payload type that is used when nothing is supplied

I guess it would help if I better understand the ramifications of the type change, in terms of end-user experience, actual code usage, and tests that would have to change.

I think basarat describes this a whole lot better than me: https://basarat.gitbooks.io/typescript/docs/options/noImplicitAny.html
The point is: he describes noImplicitAny, which is a compiler option the user could turn on or off (they should, TS becomes pretty much useless without it). But we're a lib here, we can't leave that decision for the user and we can't detect if the user uses noImplicitAny, we have to make a decision for everyone.
The question is do we allow all our users to do something potentially dangerous by accident, or do we require them to explicitly do that dangerous thing if they really want to?

Either we allow people to allow createAction without type argument, which then defaults to createAction<any> and eliminates essentially all type checks along the way. (This might cause a lot of bugs for ppl who normally use it but just forget it once in a while)
Or we allow no-one to use createAction without a type argument (by making it useless, defaulting to something like void). They could still use createAction<any> if they really wanted, but they's have to specify that.

As for the tests: currently, it seems to be a "business requirement" that it works as it currently does. I don't know who initially formulated it like this, and what they had in minde 🤷. I guess a few test would need to be replaced with other tests. But I also guess that would be fine.

Yeah, I think I can get behind making the typing more explicit here, especially since most folks would be using createSlice anyway vs calling createAction themselves.
Would one of you be able to tackle this?  I'd want to get it into 0.8 as well, but I want to start working on updating the tutorial contents.

Okay, I re-created the branch off of v0.8-integration, and fixed up the type tests so they pass.  I'm not 100% sure the type test changes are correct, though.  Could both of you look them over?

Looks good from my side.

great, thanks!


:sparkles: feat(brand-icon): umbrella

Summary

Use Case

Preferred Solution
No response
Additional Information
No response
Will this feature introduce breaking changes?
None
Code of Conduct

[X] I agree to follow this project's Code of Conduct

/cib


support for user_role parameter on checkSpam() API

user_role is used in the Akismet API in test mode to trigger a guaranteed 'ham' response.

Thanks @sarahwiley!

Published in<EMAIL_ADDRESS>


feat: traces gossiped votes in InfluxDB

Closes #1200

I haven't yet tested this on an InfluxDB server; however, to save time, we can start the review process. I will also share the results of the testing on InfluxDB later.

I haven't yet tested this on an InfluxDB server; however, to save time, we can start the review process. I will also share the results of the testing on InfluxDB later.

I have performed a test using an InfluxDB server and can confirm that it functions correctly. Below, you will find a snapshot of the tracing data from a running node:

Closing this in favor of an alternative implementation presented in this PR. The alternative method centralizes the tracing of outbound votes within a single function, simplifying the process to consistently ensure that votes are always traced.


Error: Expected a python object, received a character

Please make sure these conditions are met

[X] I have checked that this issue has not already been reported.
[X] I have confirmed this bug exists on the latest version of anndata.
[ ] (optional) I have confirmed this bug exists on the master branch of anndata.

Report
Code:
> mc = anndata::read_h5ad('metacells.h5ad')
> mc
AnnData object with n_obs × n_vars = 1558 × 22617
    obs: 'grouped', 'total_umis', '__zeros_downsample_umis', 'u', 'v', 'w', 'x', 'y', 'compatible_size', 'hidden', 'obs_UMIs', 'obs_inner_normalized_variance', 'obs_inner_variance', 'type'
    var: 'gene_ids', 'properly_sampled_gene', 'excluded_gene', 'clean_gene', 'related_genes_module', 'full_gene_index', 'rare_gene_module_0', 'rare_gene', 'lateral_gene', 'bursty_lonely_gene', 'marker_gene', 'feature_gene', 'top_feature_gene', 'var_UMIs', 'var_inner_normalized_variance', 'var_inner_variance'
    uns: '__name__', 'mcview_format', 'metacells_algorithm', 'outliers'
    layers: 'inner_fold', 'inner_variance_fold', 'total_umis', 'zeros'
    obsp: 'obs_balanced_ranks', 'obs_outgoing_weights', 'obs_pruned_ranks', 'umap_distances'
    varp: 'var_similarity'
> mc$obs
Error: Expected a python object, received a character
> mc$var
Error: Expected a python object, received a character

Versions
R version 4.3.3 (2024-02-29)
Platform: x86_64-conda-linux-gnu (64-bit)
Running under: Ubuntu 20.04.5 LTS

Matrix products: default
BLAS/LAPACK: /home/godusevpn/miniconda310/envs/mcview/lib/libopenblasp-r0.3.27.so;  LAPACK version 3.12.0

locale:
 [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C
 [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8
 [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8
 [7] LC_PAPER=en_US.UTF-8       LC_NAME=C
 [9] LC_ADDRESS=C               LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C

time zone: Asia/Shanghai
tzcode source: system (glibc)

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base

loaded via a namespace (and not attached):
 [1] compiler_4.3.3    assertthat_0.2.1  R6_2.5.1          Matrix_1.6-5
 [5] cli_3.6.2         withr_3.0.0       Rcpp_1.0.12       reticulate_1.36.0
 [9] grid_4.3.3        anndata_<IP_ADDRESS>   jsonlite_1.8.8    rlang_1.1.3
[13] png_0.1-8         lattice_0.22-6

This issue was fixed by rstudio/reticulate#1591, so it should be fixed with the next release of reticulate.


Centermode without infinite leaves gap left of first slide

short description of the bug / issue, provide more detail below.

When using centermode and setting infinite to false. The first slide is also centered (inside the slider) leaving an empty gap to the left. I'm assuming this is the expected behaviour but I'd suggest that the first (and last actually) slide is not centered. So that we don't get empty gaps.
====================================================================
[  paste your jsfiddle link here  ]
http://jsfiddle.net/4e8u0gcj/
====================================================================
Steps to reproduce the problem
Create a slider with centermode:true and infinite:false
====================================================================

Center mode is intended to be used with infinite, and I'm not sure there's a sensible use case for non-infinite, but perhaps you can shed some light -- consider that if part of a "previous" slide was visible, users would have an expectation that it could be navigated to. Let me know if there's something I'm overlooking in my thought process.

I've been looking for several hours to find a 'fix' for this. When I set the slider to infinite it's unclear to the (lazy) users that there are only 6 (or 5 or 4) items. They keep swiping and realize they've seen the same items when they've already seen them three or four times. So I'd like to disable infinite without wasting so much space on the left side of the first slide. I've tried to accomplish this with CSS and/or JavaScript btu without any luck due to breakpoint problems.
I'm not sure if more people are interested in a setting to move the first slide to the left, but if someone knows how to accomplish this I'm a happy man.

Here are two examples (Airbnb and Spotify) of what I'm trying to accomplish, both sliders are non-infinite. The Spotify slider has no 'stops' (number of slides to scroll), so the behavior of the Airbnb slider is more like that of Slick.

Center mode is intended to be used with infinite, and I'm not sure there's a sensible use case for non-infinite, but perhaps you can shed some light -- consider that if part of a "previous" slide was visible, users would have an expectation that it could be navigated to. Let me know if there's something I'm overlooking in my thought process.

The first slide would have no previous. I guess you could call it peeking into the next slide if there is one. This is ideal for the user because no arrows are required for touch due to the peek and also as @mgntrn was saying, it enables the user to understand when all content has finished being viewed rather than an annoying realisation for the user that you have just doubled back on yourself.

Slick is a huge asset, but the lack of this behaviour is indeed a dealbreaker for modern projects.

I has same issue and trying with this
https://codesandbox.io/p/sandbox/jn8dmw


Exclude .git directories from the source RPMS and debian packages

Right now the Source RPMs are around 121MB's and this is because we were accidentally including the .git directories. By excluding those directories we were able to trim off about 100MB of size off the SRPMS, and they are now around 22MB.
The same was done with debian packages.
I tested this by running them normally, seeing the size of the source RPMS and debian packages and then again after making my change in this PR. Comparing the difference in sizes.
Signed-off-by: Ken Cochrane<EMAIL_ADDRESS>

Let's make this pr also include the same for debs.

@tiborvass I have updated the PR to include the debian packages as well.

who you going to parse for the gitsha without this dir ;)

I guess https://github.com/docker/docker/pull/22029, but I was wondering the same, if these are used by packagers

well we need runc's and containerd's

@jfrazelle where is that "usage" snippet coming from? If that comes from the runc binary, it should be fine since the .git directory is available when we build runc.
This code is only excluding the .git directory from the source tar.gz and SRPM, this is after runC and containerD are built.
Are the commit hashes only for the downstream folks, who build the code from our source, or do we need that for our own build?
The RUNC_COMMIT and CONTAINERD_COMMIT are already in the Dockerfile Maybe we can use that if we need it during our build process.

oh my bad i missed that, you good, carry on :)
On Fri, Apr 22, 2016 at 5:48 AM, Ken Cochrane<EMAIL_ADDRESS>wrote:

@jfrazelle https://github.com/jfrazelle where is that "usage" snippet
coming from? If that comes from the runc binary, it should be fine since
the .git directory is available when we build runc.
This code is only excluding the .git directory from the source tar.gz and
SRPM, this is after runC and containerD are built.
Are the commit hashes only for the downstream folks, who build the code
from our source, or do we need that for our own build?
The RUNC_COMMIT
https://github.com/docker/docker/blob/master/Dockerfile#L261 and
CONTAINERD_COMMIT
https://github.com/docker/docker/blob/master/Dockerfile#L272 are
already in the Dockerfile
https://github.com/docker/docker/blob/master/Dockerfile Maybe we can
use that if we need it during our build process.
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/docker/docker/pull/22236#issuecomment-213412868

--
Jessie Frazelle
4096R / D4C4 DD60 0D66 F65A 8EFC  511E 18F3 685C 0022 BFF3
pgp.mit.edu http://pgp.mit.edu/pks/lookup?op=get&search=0x18F3685C0022BFF3

LGTM ping @tianon @jfrazelle

I'm a fan, but don't we need to be setting DOCKER_GITCOMMIT if we're not adding .git?  (we should be able to just pass through the value of GITCOMMIT from hack/make.sh as-is; https://github.com/docker/docker/blob/1b4286f40de1237ef96f9e953a6a8c2f050b8421/hack/make.sh#L82-L109)

@tianon Sorry I'm not following. Are we using the .git directory that is in the source RPM and debian source tgz somewhere downstream to determine the git hash?

We build our Debian binary package from our Debian source package, right?  Building that runs ./hack/make.sh dynbinary, which uses currently .git to determine the appropriate value for GITCOMMIT to embed into the Docker binary (such that docker -v can show the Git commit value for the build), and this is why we've had to include .git in these packages historically (but IMO just passing something like ENV DOCKER_GITCOMMIT $GITCOMMIT in that hack/make/build-* script to get our current value into the build env for each package is much cleaner).

@tianon Thanks for the info, I'm still learning how this is all setup, so the help is greatly appreciated.
I made the change you recommended on hack/make/build-deb
On the build-rpm side, it doesn't look like any changes need to happen. It grabs the DOCKER_GITCOMMIT from the .git directory (which it has access too) and it passes it to the rpmbuild command via _gitcommit inside of hack/make/.build-rpm/docker-engine.spec %build it exports _gitcommit as DOCKER_GITCOMMIT before calling ./hack/make.sh dynbinary, so it should be fine.

Ok, fair enough!
LGTM :+1:

Okay, I'm merging with two lgtms


Automate "Unable to load kernel driver" reporting

Description of the feature, modification, idea or suggestion
To avoid users creating duplicate issues for https://github.com/winsiderss/systeminformer/issues/1823, it would be nice if we had some level of automation for reporting of not yet supported kernels.
Proposed implementation details (optional)
There are a few ways we could approach this or ease the duplication. First option might be directing users through the dialog directly to an existing issue to update (could embed a link in the dialog for the user to click). Or, ideally in my opinion, automate the reporting entirely and simply inform the user that the maintainers have been notified and support will be added when possible.

Pinning that issue may help to get quick attention.

add the link until you implemented a better version and yes, pin #1823 so that user see it on top.

Maybe add a button to the dialog box to let the user to send automated message to some back-end collection server. I would feel little bit unconformable if the tool would automagically send "something" (such as my kernel version number) to the internet without my approval first. But hey, maybe I'm too much cautious / paranoid.

I agree @MarekKnapek, we shouldn't send information without the user confirming it.

does it work or should I still upload the 1809 kernel?

kph-staging has a rework to support automation. The current build has been providing good info. Thanks for the upload anyway 👍. Once the staging branch is merged the turnaround should start to shorten.


Change SIL International to SIL Global

User Story
As a user, I want all the labels of SIL to be consistently correct so that I don't get confused.
Description
Change SIL International to SIL Global everywhere that we know of where we have the ability to change it
Also update copyright (see https://github.com/paranext/paranext-core/issues/1203)
See the logo issue to get an idea of some places to check

Good call, added to the issue description


Error: Command failed: afplay

platform: macos
yarn add afplay
package.json must have dependencies afplay

@jonnywang You don't have to install afplay. it's a built-in command line in MacOS.


Fix Ingest Service Download Feature

I actually wanted to make this a bit prettier, but I can't find the time and people keep running into this, so here it is. Basically, the feature which allows the ingest service to download files from a different Opencast instance via digest was broken by some refactoring a while ago, and this fixes it.
@mtneug Have you tried this out already? If so, you could review this. :D

I tried this now, and why exactly are we assuming digest auth? My assumption would be that basic auth is used since this is more common (assuming the source system is not Opencast) and we also encourage the usage of basic auth. In my case, I use a normal JPA user in the source system that cannot log in using digest auth.

I have a patch for basic auth support (configured in the config file) as well as forced pre-authenticated basic auth (otherwise, requests would only be authenticated if required). This is currently running for a migration in educast.nrw. Will post a PR in the coming days.


MMAL error when trying to record an H264 in 2592x1944

It might be related to #294, however I think this issue is only for the v2 cameras.
I have a revision 1.3 Pi Camera and I'm using picamera version 1.10.
When calling start_recording for camera = picamera.camera.PiCamera(resolution = (2592, 1944)), I get those 3 errors in my terminal:
mmal: mmal_vc_port_enable: failed to enable port vc.ril.video_encode:in:0(I420): ENOSPC
mmal: mmal_port_enable: failed to enable connected port (vc.ril.video_encode:in:0(I420))0x21eba40 (ENOSPC)
mmal: mmal_connection_enable: output port couldn't be enabled

All the other resolutions listed in the camera modes table work fine.
Also, what's the difference between the camera modes 2 & 3? I can see that the framerate isn't the same, but how do I know which one I'll get?
Cheers!

When calling start_recording for camera = picamera.camera.PiCamera(resolution = (2592, 1944)), I get those 3 errors in my terminal:

H264 recordings are limited to 1080p; I don't recall the precise details but it's something to do with a hardware limit on the frame width. Beyond 1920 pixels wide (or some figure near that), the GPU simply doesn't have the capacity to encode H264 (the GPU was likely designed with a 1080p30 limit for H264 in mind).

Also, what's the difference between the camera modes 2 & 3? I can see that the framerate isn't the same, but how do I know which one I'll get?

On the V2 camera, there's no difference at all, so up to 15fps you'll presumably get mode 2. On the V1 camera, the mode selected will be dictated by the framerate (change to a framerate <1fps and you'll get mode 3, >1fps you'll get mode 2). Note that resolution and framerate both dictate mode. For example, if you set resolution to max and framerate to >15fps you'll get mode 1 (cropped FoV) up to 30fps. Above 30fps you'll probably get mode 4 (full FoV), and at some point above that you'll get mode 6.

H264 recordings are limited to 1080p; I don't recall the precise details but it's something to do with a hardware limit on the frame width. Beyond 1920 pixels wide (or some figure near that), the GPU simply doesn't have the capacity to encode H264 (the GPU was likely designed with a 1080p30 limit for H264 in mind)

I see. Is it suppose to fail only for H264 recordings? I tried a MJPEG recording and got the same error. If there is no possible way to record a video in this resolution, isn't the camera modes documentation confusing?

MJPEG can record at higher resolutions that H.264 (less work for the GPU to do presumably) but even it will top out before 2592x1944. It is possible to record unencoded video (YUV, RGB, etc.) at that resolution but the bandwidth requirements are sufficiently large that either you need a very low framerate or your processing needs to be minimal (or the output will need to be something with higher bandwidth like Ethernet or a circular buffer in RAM).
The camera modes chapter doesn't list every limitation of the camera partially because I don't know them all (I'm no expert on the firmware or hardware, and that chapter is largely made of tidbits I've gathered together from forum posts or conversations with the firmware devs), and partially because writing digestible documentation sometimes means leaving things out.
That said, I probably ought to add a chapter to the docs about video recording details. It's an area most people find very confusing (partial FoVs in 1080p, ridiculously high bitrate limits, the way quality gets better the lower the value gets, etc. etc.)
Documentation PRs are also most welcome!

I should add it's also possible to run the camera at maximum resolution, perform an H264 recording with a resizer in the pipeline for a lower resolution and capture a full resolution JPEG frame from a different splitter port when requested.

Ok perfect! Thanks for the info!


Scapy Traffic Generator is not available for download

Describe the bug
ScapyTrafficGenerator is not installing by Pip.
Expected behavior
By using pip3 install ScapyTrafficGenerator should install the library. However, it is not working. I get a request exception HTTP error, i.e., the current URL is not working.
To Reproduce
If you don't have the library installed, try to run pip3 install ScapyTrafficGenerator in your terminal.
My Platform
Ubuntu Server 18.04.
Additional context
See the image attached.

This project was removed by it's maintainer on 2021-06-09 and no longer exists. Sorry about that!


feat: standalone frames debugger

Change Summary
This PR introduces standalone frames debugger.
Merge Checklist

[x] PR has a Changeset
[ ] PR includes documentation if necessary
[ ] PR updates the boilerplates if necessary

@michalkvasnicak i think the branch that you copied these files from may have been outdated. missing changes from #90. might have to check where that intermediate mock state file will be written to when using the cli

@stephancill yep I rebased.

@stephancill @davidfurlong I also added resolutions and overrides in this PR to remove ffi-napi and ref-napi dependencies which were causing node-gyp issues.

@davidfurlong yes ready for review

is this ready to go?

@davidfurlong @stephancill this PR is necessary to merge first so we can move starter to its own repository. This is ready for code review.

Getting this issue when running now, not sure if its because of the way I'm running it @michalkvasnicak

Closed in favour #124


Upgrade machine-controller to v1.47.0

What type of PR is this?
/kind cleanup
Special notes for your reviewer:
rockylinux API changes will follow-up in dedicated PR.
Does this PR introduce a user-facing change?:

Upgrade machine-controller to v1.47.0

/cherrypick release/v1.4


Include EOL deprecation for setup.bash in favor of godojo

As discussed during our maintainers meeting, setup.bash will be deprecated by end of 2020.
In order to make this persistent, setup.bash should include a warning when run to indicate this.

Might want to update the documentation as well.

https://github.com/DefectDojo/django-DefectDojo/pull/2516


how Spring event communication is handled? can't see use of ApplicationEventPublisher or EventListener

Hi Erik ,
You said in the description that:

Events generated by each workflow, are published using Spring's event system.

but in the source code I dont see in usage of :
org.springframework.context.ApplicationEventPublisher
or
org.springframework.context.event.EventListener
Can you please confirm if the current architecture uses an event driven communication btw modules and if soo how the event are habdled wich framework (spring event, Guava, eventbus, MBassador)
thanks

Sorry for the very late reply.
This architecture uses a more functional (as in functional programming) approach to events.  That is, the contract for Workflows is to return an event, rather than fire one off to a publisher.
I intentionally avoided the ApplicationEventPublisher because in my experience, use of that makes applications hard to reason about because of the "fire and forget" nature of events. In the long term, issues arise because of the "forget" nature of "fire and forget".   As apps become more complex, people "forget" about various events and it becomes a big source of bugs.
If you do want to use ApplicationEventPublisher I suggest you use it for only very narrow uses, for example, like sending an email, if you truly don't care if the email succeeded or not


unescape text nodes for innerHTML and outerHTML

get innerHTML and get outerHTML should unescape text nodes, so
"hello"
 should not become
"hello"

Tests failing ... but I have a dejavu here, as this was already fixed and tested/covered?

I guess it was fixed for a special case, when it's just a text node.
Here is the other fix at the end of this line.
html.push(node.nodeType === ELEMENT_NODE ? node.toString() : unescape(node));
Yeah, I guess tests need some rework, I will work on that later today.

The toString doesn't escape though ... so it's not super clear why you see that 🤔

Btw there is a similar issue with attributes, but it's the opposite, eg <a href="https://w.com?k1=v1&id=14 should NOT be unescaped to <a href="https://w.com?k1=v1&id=14 as it may break urls in some cases.
Also  should NOT become .
And also order of attributes is not persisted.
I will try to fix these issues as they break html and make it invalid.

The toString doesn't escape though ... so it's not super clear why you see that 🤔

The code is inside  get innerHTML, so eg if it's
"hello
 and you do  .innerHTML you will get properly unescaped "hello, but if it's
"hello
 and you do innerHTML for p, you will get "hello and it's the same for outerHTML

Also  should NOT become .

That requires an exception rule for attributes ... and I question why you pass empty attributes instead, as it's not a too-interesting use case here, imho.
Bear in mind this project has zero interest in passing all HTML standard rules, there's JSDOM for that.

And also order of attributes is not persisted.

And likely never will due technical choices, but this is another not interesting use case, and at least on parsing the order remains, on setting, adding, it's always at the top of the element for performance reasons.

That requires an exception rule for attributes ... and I question why you pass empty attributes instead, as it's not a too-interesting use case here, imho.

There are some required attributes like alt for img, which is empty in many websites. eg . I have dozens of tests on my project which are broken when I switch from jsdom because of that.

Bear in mind this project has zero interest in passing all HTML standard rules, there's JSDOM for that.

Yes, I read about that :) but I think if it's like 60% compliant to the spec now, with very small changes it can be like 99% compliant to the spec ( of course if we don't consider lived nodes). So it can be drop in replacement for jsdom for majority of the cases.

And likely never will due technical choices, but this is another not interesting use case, and at least on parsing the order remains, on setting, adding, it's always at the top of the element for performance reasons.

I will take a look, it's nor persisted when you do get innerHTML or get outerHTML and majority of my project tests are broken because of that.

only some attributes can have no value, for all others it should stay as it is, even if it's an empty string

like I've said, we need an exception rule, probably per element ... or to keep it initially simple, just a list of well known attributes that can be used as "boolean" so that nothing changes/happens if an attribute name is not part of this list.

with very small changes it can be like 99% compliant

I want to keep performance a priority too, or this project won't make sense to exist anymore, I hope that's reasonable.

I will take a look

It's the same when parsing documents, it should be the same when injecting content ... but the order of attributes won't ever be guaranteed, so you need to flip some test case (reverse attributes order via a regexp and you should be good).
I've done that myself for few of my libraries ... the attributes are set as first node, or the linked list makes no sense anymore.

This issue is touching on two of my main pain points, Linkedom's fast parsing is ready to rescue my slow project if these are solved.

  and other entities seem to be rendered in strings (i.e. it comes out as   instead of  )
Empty attributes are elided, I have genuine use cases for

Yeah empty attribute values is a very common use case, I ended up forking to fix the behaviour, otherwise I had to modify hundreds of lines of code in my project and 3 other dependencies I use.
I pushed the fix in another pull request, but tests are failing, because many functions and lines are not covered.

  and also attribute values are not encoded, which may cause serious issues which are hard to debug. For example href attribute which contains unicode chars or special chars may fail to load resources in some cases.

I also support the idea that these escaping rules should be fixed for text nodes. Note that there is a similar issue with respect to comment nodes.
I don't mind much about the attribute issues.

No worries, now I looked in the PR content I see that the comment issue will get fixed too via fallthrough.

Why closed?

@amb26 Because it will never be merged, the author clearly said that he doesn't want to follow the standards.

the author clearly said that he doesn't want to follow the standards

That's not what I've said though, and the issue has been solved.
If you want a better output, current implementation gives you that. If you want boolean attributes with redundant ="" all over, please use JSDOM instead, as easy as that. LinkeDOM goal is not to pass W3C tests, is to be a handy tool that does the right thing in the fastest possible way, considering real-world scenarios, ignoring when appropriate.
It's explained in the README, there's no need to be snarky about it.

P.S. your MR broke tests in CI ... that's not how I roll, so it was never even considered, as broken tests, or lower code coverage than current 100%, doesn't make me even think to have a look at the code ... not sure what are your coding standards, but these are mine.

P.S. your MR broke tests in CI ... that's not how I roll, so it was never even considered, as broken tests, or lower code coverage than current 100%, doesn't make me even think to have a look at the code ... not sure what are your coding standards, but these are mine.

My MR didn't break anything, the code is completely fine and I also wrote all the necessary tests to cover the code.
Your tests don't cover 100% of the code, it's illusion. It's like a minefield, a single new line of code may reveal the core problem that majority of the code is not covered by the tests.

@minas90 you deleted the branch promptly, there was a big ❌ on CI.
My code coverage is based on c8, so in case file a bug there.
I am not willing to discuss anything in these terms regardless, to this is a first warning, hoping I don't need to ban you in the future.
Have a nice day.


Stake pool CLI added

For now CLI has 4 commands:

create-pool
deposit
withdraw
list (lists all stake account added to the pool)

There are also several fixes in the contract itself to allow this to work.

Once this passes CI, it'll be good to go


Popup window opens as blank using Firefox on iOS

Quite an edge case with using Firefox on iOS which leads to opening blank tab and not loading popup.location URL caused by async action in index.js:36
Related Firefox issue: Could not access window created using window.open('about:blank' .... code
Tested on: iPhone 6, iPad, FF 10.6 (8836).
Possible solution to open window with desired URL, unfortunately not possible within current use-case of opening popup first, and fetching token later in index.js.
Everything works perfectly on other devices/browsers, thanks @ivanvs.

As I explain in my previous finding also, the root cause of this issue is we have this variable "SchemesAllowedToOpenAsPopups" which behaving as a gatekeeper.
It choose which URL scheme will going to open in popup window and which not.
I have debug firefox and chrome code and find out that this type of logic is only happen here and I don't know why.
WKWebView have delegate which call when some page want to open popups.
as a browser you have to create new WKWebView instance and return it to that delegate.
but what firefox do is for certain urls it return WKWebView instance and for other it just return null.
SchemesAllowedToOpenAsPopups = ["http", "https", "javascript", "data", "about"]
not in the case when it return null javascript object does not have control over newly created window which is expectable as firefox does not giving it.
BEST SOLUTION WILL BE
remove SchemesAllowedToOpenAsPopups usage and find out why firefox had it because it is look like a very bad patch.


Ryzen AI engine enabled laptop/mini PC models

This table was originally posted as a comment in #5 , and it is hidden by default due to the number of comments in that thread. To help everyone discover it easily, I'll update the table as the issue main content here in future. Please only reply comments related to Ryzen AI availability below, thank you.
Please note, only choose SKU with these CPU:  7940HS, 7840HS, 7640HS, 7840U, 7640U and their "Pro" variant, because the models listed below may also have SKU with CPU do not have the Ryzen AI engine at hardware level, so avoid the SKU with these CPU: any 7x45HX(3D), Ryzen 5 7540U/7545U, Ryzen 3 7440U

Form
Brand
Model
CPU
Can enable Ryzen AI?
Ryzen AI in specs

Mini PC
Minisforum
UM790 Pro
7940HS
Yes
Not mentioned

UM780 Pro
7840HS
Yes
Not mentioned

UM780 XTX
7840HS
?
Not mentioned

Beelink
GTR7 PRO
7940HS
No
Not mentioned

GTR7
7840HS
No
Not mentioned

SER7
7840HS
No
Not mentioned

GMTec
K4
7940HS
No
Not mentioned

Morefine
M600
7840HS / 7940HS
No
Not mentioned

MECHREVO
Boundless S
7840H
?
Not mentioned

FEVM
FA780
7840HS
?
Not mentioned

T-bao
GOD78
7840HS
?
Not mentioned

PELADN
HA-4
7840HS
?
Not mentioned

Laptop
Framework
Laptop 13
7640U / 7840U
Yes
Not mentioned

Laptop 16
7840HS / 7940HS
?  (24Q2 release)
Not mentioned

ASUS
TUF Gaming A15 (2023)
7940HS
Yes
Not mentioned

ROG Zephyrus G14 (2023)
7940HS
Yes
Not mentioned

Zenbook S 13 OLED
7840U
Yes
Yes

Vivobook Pro 15 OLED
7040HS
?
Yes

Razer
Blade 14
7940HS
Yes
Yes

HP
EliteBook 845 G10
7940HS
Yes
Not mentioned

ZBook Firefly 14 G10 A
PRO 7040HS
Yes
Not mentioned

Lenovo
LOQ 16"
7840HS
No
Not mentioned

IdeaPad 5 Pro
7840HS
No
Not mentioned

YOGA Air 14s / Yoga Slim 7 gen 8
7840S
?
Yes

ThinkPad P16s Gen 2
PRO 7040U
?
Not mentioned

ThinkPad P14s Gen 4
PRO 7840U
?
Not mentioned

ThinkPad T14 Gen 4
PRO 7840U
?
Yes

ThinkPad T14s Gen 4
PRO 7840U
?
Yes

Legion Slim 5 14" Gen8
7840HS
?
Not mentioned

MECHREVO
Dragon 16S
7840H
?
Not mentioned

Boundless 14+
7840HS
?
Not mentioned

All-in-one
Lenovo
YOGA 27
7840H
?
Yes

E-mail Bee-Link tech support<EMAIL_ADDRESS>, for an updated BIOS that supports the IPU.
I am busy this week but hopefully someone can update their GTR7 and let us know how it works!

I'd like to add one.

Form: Laptop
Brand: ASUS
Model: Zenbook S 13 OLED
CPU:  7840U
Can enable Ryzen AI?: Yes.  There is AMD IPU device in the Windows Device Manager.

E-mail Bee-Link tech support<EMAIL_ADDRESS>, for an updated BIOS that supports the IPU.
I am busy this week but hopefully someone can update their GTR7 and let us know how it works!

What about SER7?
Are you from Bee-Link tech support or a customer?

According to https://github.com/amd/RyzenAI-SW/issues/5#issuecomment-1815784445 the Bee-Link SER7 with updated BIOS now enables the IPU. I will have confirmation on the GTR7 BIOS update enabling the IPU this weekend.

GTR7 with updated IPU BIOS and Ryzen AI driver installed. feelsgoodman

Test with Minisforum UM760 Pro (Ryzen 5, 7640HS), it works.

Remembering the discussion about the Lenovo IdeaPad 5 Pro which started in the original IPU issue ?
The IPU isn't available on this machine and the manufacturer isn't willing to enable it because the notebook isn't advertised as an AI-enabled one.
Now, look at this beautiful slide from a recent AMD presentation:

As you can see, it's advertised by AMD as an example of the millions of processors which have Ryzen AI enabled. It's a whopping lie 🙈. AMD seems to have another internal communication problem and my trust in those guys is diminishing further...

So far the only global brand deliberately disabled Ryzen AI is Lenovo, that all their overseas APH8 models, including IdeaPad Pro 5 14/16, LOQ 16, YOGA Pro 7 (aka. Lenovo Slim Pro 7), Legion Slim 5 14/16, have Ryzen AI disabled despite the Chinese model of IdeaPad Pro 5 (小新Pro 2023) and YOGA Pro 7 (YOGA Pro 14s) actually have Ryzen AI available.

So far the only global brand deliberately disabled Ryzen AI is Lenovo, that all their overseas APH8 models, including IdeaPad Pro 5 14/16, LOQ 16, YOGA Pro 7 (aka. Lenovo Slim Pro 7), Legion Slim 5 14/16, have Ryzen AI disabled despite the Chinese model of IdeaPad Pro 5 (小新Pro 2023) and YOGA Pro 7 (YOGA Pro 14s) actually have Ryzen AI available.
i have a 小新Pro but i dont have ryzen ai, is the windows's fault? because i installed global ver after i got the device

i dont have ryzen ai on 小新Pro 14, maybe is windows's fault because i reinstalled it with global ver

i dont have ryzen ai on 小新Pro 14, maybe is windows's fault because i reinstalled it with global ver

@vnhiddenblade Check BIOS settings and install the Ryzen AI driver, the official lenovo shop claimed Ryzen AI

Form: Laptop
Brand: FIREBAT/火影
Model: 众颜 U6
CPU: 7840H(S)
FIREBAT has enabled IPU in latest BIOS.

T-bao's products can manually enable IPU in the BIOS

@mkdirmushroom which model is it?

@chicheng After confirming with the T-bao merchant, currently, models with 7840hs or higher can enable the IPU device in the BIOS, including GOD78, GOD88, GEM10, and the upcoming GEM12.

@mkdirmushroom Is your BIOS screen from GOD78? Can you help to check the BIOS version? They released a new BIOS version for GOD78 earlier this year, but the changelog didn't mention the IPU.
I just asked T-bao official taobao store customer support and they confirmed it's available now (I got a "no" answer in late December from them)

@chicheng It is GOD78, the specific BIOS version is as shown in the figure. After confirming with the merchant again, the subsequent products will be pre-installed with the current BIOS version.
![BIOS Version](https://github.com/amd/RyzenAI-SW/a

ssets/18757277/3d95e355-a8b0-4e18-8613-81d775de75cd)

Hey, HP pavilion plus 14 (ryzen 7 7840u) has AMD IPU installed and available in device manager.

Hello,
IdeaPad Pro 5 14" APH8 got a BIOS update enabling Ryzen AI
See https://forums.lenovo.com/topic/findpost/1092/5261867/6277012
Hopefully more APH8/9 models will follow :pray:

Hello, IdeaPad Pro 5 14" APH8 got a BIOS update enabling Ryzen AI See https://forums.lenovo.com/topic/findpost/1092/5261867/6277012 Hopefully more APH8/9 models will follow 🙏

Thanks, I'll update the table once at least one of following meet:

IPU mentioned in the BIOS changelog
Confirmation from Lenovo staff on their forum
IPU mentioned in the product feature/specs pages
More screenshot confirmations on English OS

The current screenshots in that thread are in Chinese language, so I can't confirm it's IdeaPad Pro 5 or XiaoXin Pro (which supports IPU with initial BIOS release)

Yoga Pro 7 (Lenovo Slim Pro 7) 14APH8 also got BIOS update (MLCN28WW) enabling IPU. The IPU is mentioned in Summary of Changes section here. I've already installed it and now there is IPU device in device manager.

Device manager

Hey @chicheng I'm back after doing the BIOS update on my IdeaPad Pro 5 14APH8 and the AMD IPU Device showed up!
(Lenovo is annoying for forcing to install Windows to do the BIOS update... So while I was at it I checked the Device Manager)

Hello, I own some Phoenix APU products and would like to share my experience:

✅ GMKTEC K6 7840HS
Got mine today, since they have a 2023-03-15 BIOS available in their website, I thought it would already be updated but it was not. IPU device was enabled after updating the BIOS and installing IPU drivers (though there is nothing related to it in the BIOS menu).
✅ GOD78 7840HS from Chatreey Aliexpress store
Mine has Chatreey's bootlogo and it has the same BIOS options as mkdirmushroom's, I have no idea where to find drivers nor BIOS updates, but the IPU device shows up after installing its drivers.
🚫 AOKZOE A1 PRO 7840U
No IPU device available even after updating the BIOS to v1.08 (latest I could find) and installing IPU drivers.
🚫 FEVM FA780
I used to have this one, since many manufacturers are enabling the IPU device through BIOS updates, I have tried contacting FEVM regarding this. Unfortunately, I got "Hello, this computer does not support AMD Ryzen AI functionality" as a response. No success even after updating to their 2023-09-29 BIOS here. They have a FA880 with 8845HS now, you might want to add that to the list.

I'm using Lenovo LOQ 15APH8 and haven't seen any AMD IPU driver with any BIOS update for months.
Ryzen 7840HS, BIOS LYCN42WW

Since there are plenty of options to choose in each category, I will not track info for this ticket anymore.


Add per-class setup / teardown

Similarly to what modern unittest offers, it would be nice to have per-class setup and teardown functions, to set up class-wide resources (such as data samples, etc.)
(see https://docs.python.org/3/library/unittest.html#unittest.TestCase.setUpClass)

This seems to conflict with the philosophy of running each benchmark in
a separate process.

I haven't decided if the current behavior is the best way to do this, though; while the benchmark runner needs to be isolated, it's not that clear all benchmarks need to be isolated from each other. It is probably necessary for peak RSS measurements, maybe not for the others.

Unless I'm misunderstanding, asv already has class level setup and teardown.
https://asv.readthedocs.org/en/latest/writing_benchmarks.html#setup-and-teardown-functions
The difference is, of course, that the setup will still be run once per benchmark because the benchmarks are run in separate processes.

Unless I'm misunderstanding, asv already has class level setup and teardown.

No, see the link I've posted :-)

Without a redesign of the benchmark isolation mechanism, those seem
equivalent to the current setup/teardown routines.
.
With looser isolation, dealing with timeouts probably needs some
thought, ditto for handling crashes, and considering the effect on
reproducibility for the different benchmark types. It's probably doable
but doesn't seem completely straightforward.

@pitrou: Looking at the link it's still not clear what the functional difference is between that and what asv already has implemented. Is the important difference for you that it's a classmethod rather than an instancemethod?  In the case of asv the difference would be primarily syntactic, but it would be easy enough to make classmethods work.  Or is the issue for you that it would get run once per benchmark?  Given the issues with trying to not run it more than once that @pv outlined, the cost/benefit on that may not make sense.

Looking at the link it's still not clear what the functional difference is between that and what asv already has implemented.

setup / tearDown: called once per test method
setupClass / tearDownClass: called once per test class (regardless of the number of test methods defined in it)

It's quite useful when you have shared resources for all tests in a class, and setting them up is costly enough that you don't want to do it again for each test method.
(substitute "benchmark" for "test" above for asv)

Ok.  I get that -- but running the setup once per class doesn't really fit the model of asv.  For all the reasons @pv mentioned, implementing that is not going to be straightforward.  You can at least, as it stands now, reduce the code duplication, but not the runtime duplication due to the way the benchmarks are sandboxed.
One possible solution may be to run-and-pickle the results of the class setup methods once, and then unpickle them in each benchmark process.  If you pickled on a per-environment basis the usual marks against pickle wouldn't apply (that they are non-portable etc.)

Yes, it sounds like this request isn't very promising right now. I wasn't aware of the one-process-per-benchmark model when I posted this issue (that explains while running the benchmarks feels a little slow, then :-)).

@pitrou: Would you mind commenting on #277, which addresses this (hopefully) though in a slightly different way given the execution model of asv etc.


TF1.14 GPU

Win10 Conda Python 3.6.7 TensorFlow GPU ==1.14.0，cudatoolkit==10.0.130 Virtual Environment

I'm not sure what the problem is

This bug occurred while compiling PyTorch     torch-gpu==1.6.0


[WIP][ENH] Add support for Harmonic Field correction

Fixes #10780.
What does this implement/fix?

Add support for Homogenous Field Correction and extending the harmonic basis set to higher orders.
- Creates an FieldCorrector() class which can be extend to correct forward models (important for deeper sources).
Generates a Projector() for each column of the basis set.

To do

Add unit test(s)
update OPM preprocessing tutorial to incorporate HFC (results will look way better I think).
?

Sorry this has taken this long to get around to this, I've been spinning a lot of plates recently, but this initial PR should keep this in the forefront of my mind for a while!

Could you run HFC (of different orders, e.g., maybe just 1, 2, and 3) using your MATLAB code on the mne-testing-data dataset we have for read_raw_fil? Then we can check the Python implementation to numerical precision :)

$\ell=1$
Max absolute difference: 1.56248141e-17
Max relative difference: 5.95234384e-08

$\ell=2$
Max absolute difference: 1.56249363e-17
Max relative difference: 5.95987598e-08

$\ell=3$
Max absolute difference: 4.2325848e-15
Max relative difference:<PHONE_NUMBER>4

Interesting that $\ell=3$ has such a large difference. The lower orders all pass the default np.testing.assert_allclose(). This requires some investigation.

Below are the results for the three orders when for varying amount of field correction computation done in MNE.
Top table is max absolute error, bottom is max relative error. The numbers correspoding to Basis & Projector are smaller than the values posted last week due to a way I save out the data involving fewer casting steps.
MAX ABS DIFFERENCE

Order
Basis & Projector
Projector Only
None

$\ell=1$
1.28277618e-24
1.04366929e-24
5.62224323e-25

$\ell=2$
9.919705e-25
8.1748709e-25
6.33310156e-25

$\ell=3$
4.23163525e-15
1.04690046e-24
5.68686671e-25

MAX REL DIFFERENCE

Order
Basis & Projector
Projector Only
None

$\ell=1$
1.14841825e-08
9.00876775e-09
3.62863866e-09

$\ell=2$
2.57761766e-08
2.47442535e-08
5.75180087e-09

$\ell=3$
551.81529938
1.06555737e-08
8.69080621e-09

Currently pointing to an unexpected divergence between _sss_basis and spm_opm_vslm.

I'm going to see what happens if we tell MNE to assume these are point magnetometers. Will report back.

Wait the max relative difference is now 1e-9? That seems fine to me! I mean ideally for double float we'd end up at something closer to 1e-12 but 1e-9 should be good enough (especially since we routinely save to disk in single precision which will lead to ~1e-6 relative errors anyway)

I'm going to see what happens if we tell MNE to assume these are point magnetometers. Will report back.

This could definitely be it, so feel free. But as above I think 1e-9 relative error is already enough. We routinely check for equivalence with MNE-C inverses for example at around 1e-7 relative precision or so

Wait the max relative difference is now 1e-9? That seems fine to me! I mean ideally for double float we'd end up at something closer to 1e-12 but 1e-9 should be good enough (especially since we routinely save to disk in single precision which will lead to ~1e-6 relative errors anyway)

For $\ell=3$ the max relative difference 1e-9 when you use the basis set from SPM, but as soon as you calculate the basis set in MNE the relative error becomes 1e3, which equates to femtoTesla level differences.

but as soon as you calculate the basis set in MNE the relative error becomes 1e3, which equates to femtoTesla level differences.

Ahh okay great that you isolated it!
BTW there has always been a slight mismatch when regularizing the maxwell filtering (SSS) basis set between what MNE chooses and what MaxFilter by MEGIN chooses. I wonder if we have some slight lingering scale factor or sign bug that changes things slightly... let me know what you find.

Its the coil definition!
Accurate max rel error:<PHONE_NUMBER>8

Normal max rel error:<PHONE_NUMBER>1

Point Magnetometer max rel error: 1.88025786e-07

@georgeoneill awesome!
A bit scary that the coil def matters this much. But in theory at least MNE has a better definition I think (?), so maybe we're good here.
If you want, in tests you could set the coil type manually to be a point magnetometer and test against some hard-coded MATLAB values that you either write in ASCII (ouch) or add to MNE-testing-data. Then you can have a nice satisfying rtol=1e-8 or so in tests.

I'll have a think about how we proceed with this. I'm not entirely sure how well definied the accurate coil definitions for QuSpin sensors actually are. There's the further complication for the triaxial sensors that there is a second laser used to generate the third axis so the 'accurate' coil definition may not entirely reflect the volume we should be integrating over.
I'll probably add a custom point magnetometer function to go with the accurate coil definition found in _prep_mf_coils (that we we dont need to touch mne.forward) with a flag which defaults to point magnetometer behaviour... for now.

Still have the tests to make but wanted to at least get a near-file HFC script into the cloud!

@drammock Thanks for spotitng those, I've not been able to build the documentation to spot those errors.

Hi @larsoner I think I agree with/understand most of the motivation. Are you okay to push those changes as I think you'll be able to get them to stick with a bit more precision than I can.

@georgeoneill sorry for the slow response here, I plan to tackle this tomorrow

No worries, no rush? Unless we need to get this in for the 1.4 deadline and I can have a go tonight?

It would be nice to have for 1.4 but we're going to push that release date/deadline at least a week I think so. I'll just adjust it on GitHub now -- we have a lot of PRs/issues marked that we need to sort through.

Okay, if you need me to step back in to make the revisions, let me know.

Okay @georgeoneill I pushed some simplifying commits. Can you take a look at the diff now and see if you're happy with my changes? Hopefully you can see most (all?) places I changed simplified some stuff

Hi @larsoner, this looks excellent. I've just renamed one of the test functions. I think its ready to go!

Okay marked for auto-merge when green, thanks for working through this one @georgeoneill !

Thank you for the assistance on this one.


PEP8 style, fix URL to source code

Coverage remained the same at 100.0% when pulling e19469977e4f3fb73173f6666bf6f87428243ee0 on DmytroLitvinov:feature into e900cd71284ebd3d2ffa8aa61fb2305f8d80497f on alexmick:master.


Add x icon to righ hand side of search input if there is text in the field to clear query params

https://github.com/participedia/usersnaps/issues/1076

Looks great, thanks @paninee!


WIP: Initial version of the z3 expression builder

I clean version of the z3builder, easier to review.

make check fails because the llvm-lit (Python) cannot find libz3.dylib. Python unsets the current LD_LIBRARY_PATH (on Darwin: DYLD_LIBRARY_PATH) making bash exports useless. Any ideas how to fix this? Is there a cmake hack to tell the linker to use the absolute path the the z3 library?

Random thoughts: https://gitlab.kitware.com/cmake/community/wikis/doc/cmake/RPATH-handling


Improvement suggestions for the Explore mode

Issue
As a new user to Superset, I have been confused by the default behaviour in the Explore mode.
Suggestions

Time section

issue: By default, only “last week”'s data are used. This filter is applied silently: a new user might not immediately notice that “Time range: Last week” means some data are not considered. And this can be quite puzzling if one deals with forecast (i.e. future) data, as the user then gets a “No Results” error.
suggestion: Don't apply filters by default — or if so, let the user know about them.

Query/Metrics section

issue: By default, COUNT(*) is selected (as the only pre-defined “metric”). This feels counter-intuitive to me, as I mostly know what chart I want to build, and it's almost never using COUNT(*) as main KPI. I then have the surprise/frustration of having a chart populated with something different from what I have in mind.
suggestion: Could we prevent the chart from “trying to be smart”, and:

have “metrics” non pre-filled,
don't run the query straight away, but wait for the user to first specify the chart/dashboard and them to click “run”.
The “Run” button could be greyed out/disabled as long as mandatory fields for the chart aren't populated yet.

Query/Metrics section

issue: I don't want to be forced to chose an aggregate. Indeed, the data I query are sometimes already “aggregated” (say I want to plot temperature over time by location and I have only one reading per location and per hour (at the *:00.000 timestamp)), and in that case “aggregating” seems counter-intuitive (even if, I agree, SUM, AVG, MIN, and MAX would return the same value). Yet when adding a Metric / Simple, the “Save” button is greyed out after I select a column, until I choose an aggregate.
suggestion: Allow users to not select any aggregate, and fail if multiple record for the same index are returned.

Dataset / Columns panel

issue: While most data types have an “icon” next to the column name (str ￫ ABC, timestamp ￫ :clock9: , int ￫ #), PostgreSQL “Double Precision” don't.
suggestion: Define an icon for it (same as float if exist, or something like #.##)?

Customize / {x, y} Axis / {x, y} axis format input

issue: I have metrics that have a unit (e.g. physical dimensions). Yet I am unable to specify this unit on the axis (e.g. .2f °C for temperature).
suggestion: Allow for adding arbitrary prefix/suffixes on top of the D3 formatting (… or provide an example in case it's already possible, as “some users” — read: myself — haven't been able to find how to) — cf. #14550.

Customize / {x, y} Axis / {x, y} axis format input

issue: The axis formatting allow for custom user inputs (when one simply type in the box). However, once one has typed a format string (say: ,.3f), it is not possible to correct it (e.g. to change it into ,.2f). Indeed, as soon as one type in the box again, the whole content is erased. This behaviour isn't error friendly and force the user to memorize what was the previous format string.
suggestion: Don't erase former input, but rather enable users to amend/modify the existing value.

Explore a whole dataset

issue: First go to the Data/Dataset menu. Then when clicking on a given dataset, the Explore panel opens. Yet the default query is basically SELECT COUNT(*) WHERE (timestamp ≥ now() - 7 AND timestamp < now()), in the Table chart's “Aggregate” query mode. As detailed above, this can cause some confusion.
suggestion: Set default query to SELECT * (possibly appending a LIMIT 100) and set the table in “Raw records” mode. Indeed, when I click on a dataset, I expect to see what's inside, raw — not an aggregate.

Context
Observations above are based on Superset 1.1.0.

About "Last week" default filter the original intent was to be a bit defensive against full scan, but I do feel like it's falling short on this intention, especially as it may not hit an indexed or partitioned field. Some ideas:

to prevent a "regression" or undesired change of behavior, we could have a "default time filter" global environment configuration, set the default to "No filter"
datasets could have a default time range filter or default chart, so that a new chart flow would land on something that makes sense
magic? introspect the dataset to define good default filters?

Can we make the default time filter smarter? Sending a preflight query to figure out the last timestamp in the dataset and then do a - 1 week from there or something reasonable. The time filter often ends up filtering out all data and it takes the user a while to figure out why the chart is blank despite all the form fields being populated

Ideally we'd know things like:

what's the main/most important datetime column here? (first one in the dataset flagged as temporal is likely to be good but not guaranteed to be that most important time column)
what's the latest data point for that column? (depending on the indexing/partionning, figuring that out may require a full table scan and take some time, we could read the index definition if we wanted to do some magic)
what's the time grain? (unclear how to figure that out reliably)

In any case, having that metadata for dataset is useful, and could be set by users. Things like primary metric, primary time column, default time filter, expected freshness, primary dimension, ...Then we can use these dataset settings to set defaults when creating new charts. We could also have a way to detect/guess these upon dataset creation, but let user alter/tweak them.

You are right that mileages may vary, and sending a full SELECT * without any filter (other than the “last resort” ones) isn't ideal! (Plus my suggestions don't take backward compatibility into consideration)
But as you mention, the “Last week” default isn't perfect, either because of too old data (cf. demo datasets)… or because — as in my particular weather_forecast scenario — we don't have past data (I agree this isn't the most common, though).
I quite like the idea of being able to define a meaningful filter (or representative subset) per dataset (plus a global default setting — defined in config.py — for the whole instance). It could be via a filter on the most representative timestamp column, or simply a LIMIT.
However, I believe the main point I was trying to raise with §1 is that it's applying a filter silently that affects the (new) user experience the most, as it's doing something they don't expect.
Not applying any filter is only one approach to tackle this. Other approaches could be informing the user more pro-actively ; or (visibly) applying the filter by default, but waiting for the user to (go through all settings/parameters and) click on “Run” to execute the query.
Shall we continue the discussion on #14473 (SIP-66) instead, where @junlincc has kindly cross-posted this issue?

Closing this as stale since it's been silent for so long, and is more about feature requests than bug reporting. If you want to pick up the discussion relevant to more current versions (currently 3.x) please open a new Ideas discussion or a PR to address the problem.

Closing this as stale since it's been silent for so long, and is a feature request rather than a bug. If this is relevant in current versions (currently 3.x) please open a new Ideas discussion or a PR to address the problem.


Add mouse event support for instanced objects

Problem
Currently, mouse event for instanced objects are not supported: if we have a cube/triangle/sphere/point marker that contains thousands of objects, there is no way to interact with those objects.
Solution

For automatic instanced hitmap id management, simply add a supported mouse handler to the command.

For custom management use both:

getHitmapProps which generates the hitmap props based on children (markers)
getObjectFromHitmapId to map objectId returned by hitmap event to the specific hitmapProp/ marker object

Test
Add a new example MouseEventInstanced.js, all can return the correct objectId when clicked.
The Interactivity and MouseEvent examples should continue to work.

my only concern is refactoring the code that preserves pre-existing APIs in the future. When/how will we decide to deprecate that code?

I'm not sure at this moment, probably not any time soon. It also depends on:

do we have features that require major release, e.g. significant perf improvement, breaking api changes
can we provide a migration path or do we have time to help other teams migrate

In general, I like Brian's suggestion, which is to follow React and always try to make it backward-compatible if possible. The consumer can see the console warnings and update at their own pace.


Added Nissan Rogue 2018 fingerprint

Description
Added Nissan Rogue 2018 fingerprint
Verification
Test drive in a 2018 Rogue. Everything works as expected

Is it possible to merge the two fingerprints into one (i.e. no shared IDs with different lengths)?
Can you also add it to the readme.

@pd0wm merged the fingerprint and updated README.md


Transfer R notebook for working with cohorts from the Terra Notebooks…

… Playground workspace.
Changes from the original:

retitled it to match https://github.com/DataBiosphere/notebooks/pull/2
updated workspace parameters to match https://github.com/DataBiosphere/notebooks/pull/2
renamed local variables to indicate whether they are a bigrquery table reference or local dataframe

The list of notebooks in the README needs a tweak for the revised title. I have that change queued up and will send it separately.


Fix unit tests.

Fixed the unit tests when run with the NUnit console runner.

Great, thanks! In fact, after investigation, the unit-tests were working in debug, but not in release, probably because the workaround was optimized out.


modified layer config based on changes to OWS

OWS config was modified to shift styles to separate layers for a few instances. See ODC PR https://github.com/WFP-VAM/wfp-ram-odc/pull/10 and issue https://github.com/WFP-VAM/prism-frontend/issues/250
Additional minor changes (layer opacity and color ramps) have also been included.
Also updated all MODIS products to utilize 1km version given that 5km now becomes automatically available based on zoom level

Reverting Myanmar layer updates for now. Will add a second iteration after completing this merge


docs: update README with comprehensive install steps

Closes https://github.com/numberscope/backscope/issues/73.
We now know the exact steps to get a working instance of backscope on a fresh Ubuntu, so I have updated the README with those steps.

https://github.com/numberscope/backscope/pull/76 supersedes this PR.


Incorrect documentation of dest_index in LayerList move functions

📚 Documentation

The documentation for LayerList.move/move_multiple suggests that the default dest_index moves to front (i.e. the top of the stack). It instead moves to the back (bottom of layer stack).

Sorry for the noise everyone, I transferred to docs until I realised that the fix is in a docstring which is in this repo. 🤦
Anyway @Goobley you are spot on, that should say "sending to the back" or "placing at the bottom of the stack", depending on the metaphor you want to use. I do wonder whether we should just make it move to front by default (ie change the default index to -1), since I have a vague intuition that that is more likely to be the intent of a move without an index...