Transposed rotation matrix

For rigid registration in function transform_point_cloud() the rotation matrix is used incorrectly:
def transform_point_cloud(self, Y=None):
        if Y is None:
            self.TY = self.s * np.dot(self.Y, self.R) + self.t
            return
        else:
            return self.s * np.dot(Y, self.R) + self.t

In these expressions the rotation matrix should be used transposed:
def transform_point_cloud(self, Y=None):
        if Y is None:
            self.TY = self.s * np.dot(self.Y, self.R.T) + self.t
            return
        else:
            return self.s * np.dot(Y, self.R.T) + self.t

Therefore, as it is now, the solution iterates around transposed rotation matrix, and the resulting rotation matrix is also transposed.

Transformation with rotation matrix R x v in numpy can be nicely written using the matmul function or its shortcut @ like this:
res = (R @ v.T).T
# or
res = v @ R.T

Looking at this the error in the code becomes obvious.

Thanks. Looking at the paper and the code, you seem to be right. Can you submit a pull request to the development branch?

Is this still an issue?

Nice way to solving issues!
At least it looks like the code has no issues :)
P.s: I gave up since the code is written as an attempt to directly translate MATLAB to numpy and it is hard to read it. Simple transposition in the transform_point_cloud() would not solve the issue.

@VladimirEI what else is the issue beyond the transpose?
Seems like this package has a fair amount of traction, so fixing any known bugs would be beneficial to many.

I am not sure if there is an issue to begin with. At the time when I was writing the initial commit for this package, I found it more intuitive to work with the transposed matrix than the original. For example, I think it is more intuitive to transform a point cloud using np.matmul(R, Y) as opposed to np.matmul(np.transpose(Y), np.transpose(R)) in the original paper.
By the time @VladimirEI brought the issue up, I had already forgotten about it. If this is an actual issue, I would welcome a pull request.

Maybe there is actually no issue, probably it depends on how the result rotation matrix is used. As I remember, when I tried to use the code it resulted in transposed rotation matrix and wrong translation vector, so I did not use the code after all.
What I am sure is the proper way to use rotation matrix of size [3x3] on vectors are of size [Nx3] in usual Numpy is like so:
res = (R @ v.T).T
# or
res = v @ R.T

So I thought this was the reason for my wrong results. Trying to fix was not easy as the code is using [3xN] size format for vectors, as in MATLAB, not the one adopted in Numpy.

Sorry all, I started this up and then didn't respond.
@siavashk, I think the point that @VladimirEI is making is embedded in your response. In  transform_point_cloud() it is written as np.dot(self.Y, self.R), where self.Y are the points and self.R is the rotation matrix. This is being written backwards compared to what most people would think about when applying a rotation matrix (the way I expect it to be written is how you wrote it in your first example np.matmul(R, Y).
Conventionally, we expect a DxD rotation matrix R and a DxM list of points Y where D is the number of dimensions and M is the number of points in the dataset. Note that Y may be initialized as DxM or MxD, but in either case, when written as above np.matmul(R,Y) the Y input should be shaped DxM (regardless of whether needs to be transposed to get there or not).
When written the way it is in pycpd, we have np.matmul(Y,R) which, can also work if we transpose things (as you pointed out). So, in this case, Y should be aMxD matrix (i.e., should be Y.transpose from my example) and R should also be transposed... it will be the same shape, but if the same R matrix as in the first example is used it must be transposed to get the same result from the transformation.
E.g.,:
import numpy as np
R = np.identity(3)
R[0,1] = 0.93; R[2,1] = 0.5
Y = np.ones((3,100))

YT_conventional = np.matmul(R, Y)
YT_conventional_backwards = np.matmul(Y.T, R.T)
YT_conventional_backwards_dont_transpose_R = np.matmul(Y.T, R)

print(YT_conventional[:,0])
print(YT_conventional_backwards[0,:])
print(YT_conventional_backwards_dont_transpose_R[0,:])

In the above, the first two give the same answer, but the last one (that doesnt transpose R) is different.
Therefore, while everything works in pycpd as is becuase it uses things consistently, unless I am missing a final transpose of R before returning it to the user, then pycpd is learning/converging on R.T instead of learning a conventional R. This really isn't a problem if you are relying on pycpd to do everything, and are taking the outputted transformed point cloud from pycpd. Or you are applying that transform using functions written by pycpd. However, if you take the outputted transformation matrix and try to use it in a conventional way ( np.matmul(R,Y), or np.matmul(Y.T, R.T) ) then you will get funky results... and this will likely be confusing to users, especially if it isn't documented somewhere.
TLDR: I think that @VladimirEI makes a point that should be considered because I beleive that the returned R is actually transposed compared to a conventional rotation matrix and may be/likely is confusing.


Extracting values from keys which have dot operator in their name.

This is problematic because path uses dot operator to traverse through child.So, what should be the template to extract "NAME" from the data below.
{
  "DATA": {
      "ALLNAMES": [
        {
          "LANGUAGENAME.LIST": {
            "NAME.LIST": {
              "NAME": "QWE"
            }
          }
        },
        {
          "LANGUAGENAME.LIST": {
            "NAME.LIST": {
              "NAME": "ZXC"
            }
          }
        }
      ]
  }
}

@johnnash03 great use case. You could update the path pattern to accommodate this. For example, maybe the path could have square brackets around an attribute name that has a dot in it.
Example path: DATA.ALLNAMES[LANGUAGENAME.LIST][NAME.LIST]
If you had an attribute name with square brackets in it, just put it in square brackets too:
Example data:
{
  "DATA": {
      "[ALLNAMES]": []
  }
}

Example path: DATA[[ALLNAMES]]
You'd have to update the path parsing code and submit a pull request.
Are you up for it?

@johnnash03 did you find a way around this?


XMPP Authentication Failure

after fixing #114 i get an xmpp authentication failure.
i'm using a self signed certificate on an iChat server on Mac OS X server 10.6.8 for the xmpp server.
has anyone else got this issue?
Loading hubot core scripts for relative scripts at /home/shaun/src/hubot/src/hubot/scripts
{ username: '',
password: '',
rooms: [ '' ],
keepaliveInterval: 30000 }
/^Hubot:?\s*(calc|calculate|convert|math)( me)? (.)/i
/^Hubot:?\s(youtube|yt)( me)? (.)/i
/^Hubot:?\s(?:(satellite|terrain|hybrid)[- ])?map me (.+)/i
/^Hubot:?\s*(the rules|the laws)/i
/^Hubot:?\sshow storage$/i
/^Hubot:?\sshow users$/i
/^Hubot:?\s*(translate)( me)?(( from) ([a-z]))?(( (in)?to) ([a-z]))? (.)/i
/^Hubot:?\sPING$/i
/^Hubot:?\sECHO (.)$/i
/^Hubot:?\sTIME$/i
/^Hubot:?\sDIE$/i
/^Hubot:?\shelp$/i
/^Hubot:?\s(image|img)( me)? (.)/i
/^Hubot:?\sanimate me (.)/i
/^Hubot:?\s(?:mo?u)?sta(?:s|c)he?(?: me)? (.)/i
/^Hubot:?\swho is ([\w .-]+)?$/i
/^Hubot:?\s([\w .-]+) is (["'\w: ]+)[.!]$/i
/^Hubot:?\s([\w .-]+) is not (["'\w: ]+)[.!]*$/i
Loading hubot-scripts plugins at /home/shaun/src/hubot/src/scripts
XMPP authentication failure

You should add your host and port in your options object, so it outputs on console.  This just helps you visually to make sure you have everything right.
I had a similar issue with Gtalk, took me a while to figure our that I had a typo in my host's name.

How would i go about doing that?

options =
  jid: production.env.HUBOT_XMPP_USERNAME
  password: production.env.HUBOT_XMPP_PASSWORD
  rooms: production.env.HUBOT_XMPP_ROOMS
  host: production.env.HUBOT_XMPP_HOST
  port: production.env.HUBOT_XMPP_PORT

i tried that… it still fails both all of the variables are pointing to the right host.

Sorry i forgot to mention that you needed to edit that in the xmpp adadpter

how so?

@mexitek shouldn't it be  options =   jid: process.env.HUBOT_XMPP_USERNAME   password: process.env.HUBOT_XMPP_PASSWORD   rooms: process.env.HUBOT_XMPP_ROOMS   host: process.env.HUBOT_XMPP_HOST   port: process.env.HUBOT_XMPP_PORT

Yes it is!! sorry about that!
I corrected the above comment.

@sbentzen Adding the host and port to options variable is not enough.  Maybe I should have clarified more.
Also edit the client object and add the host and port - src/hubot/xmpp.coffee
@client = new Xmpp.Client
  jid: options.username
  password: options.password
  host: options.host
  port: options.port

i've looked through some logs and it turns out that i'm using webdav-digest authentication and it's getting a SASL error -13 (password incorrect) to which i've changed the password and successfully authenticated with a different client.

@sbentzen seems someone else has a similar issue but with Adium and not Hubot here: https://discussions.apple.com/thread/2608181?start=15&tstart=0
I was getting the authentication failure trying to connect to our Openfire Server and what fixed it for me was disabling the DIGEST-MD5 and then hubot was able to connect just fine.  Just an idea to try.

@bigbash never said it was a problem with hubot… just happy to get help i'll try this on the weekend and see if this fixes the issue (i'll just close it for now)


Don't import IPython if it's not already imported.

The IPython integration only makes sense in an actual IPython shell, which implies that IPython has already been imported previously (i.e., is in sys.modules).
Previously, IPython would always be imported as long as it is installed, but that can be quite slow (adding ~0.4s of overhead for me) which is significant in short-running scripts (that may e.g. be repeatedly spawned from bash).

This is a lot faster. Thank you!


Enabling SCC-Stack for EC-physics, part 2

Please note that this is a replay of some of the changes in Loki #135 , brought together with an alternative solution for determining stack-size across mulitple libs. A lot of the credit for this excellent work goes to @MichaelSt98 (sorry, in the rebase I dropped the commit authorship when separating the individual steps).
The main purpose of the PR is to apply the remaining fixes to the PoolAllocatorTransformation in unison and enable it as the "scc-stack" mode in the loki_transform.py convert. With this, the PR enables the SCC-stack transformation for the current EC-physics demonstrator via three types of changes:

Enabling the SCC-Stack transformation as a "mode" in convert (bug fix to deal with hyphens in "mode")
Allowing the analysis part of SCC-stack to run past "ignore" items in the scheduler by changing the filtering rules
Bringing forward a few of the fixes to the PoolAllocatorTransformation that were part of the original PR

The scheduler changes are probably temporary in nature, as we can likely do this better after the rewrite. For now, we change the behaviour to instead of stopping parsing one level below "ignore" items, we keep extending but keep inheriting the "ignored" property. These items are then available for transformations with the explicit property process_ignored_items, so that inter-procedural analysis passes may reach the leaves to gather and agglomerate the necessary information.
The various changes to the pool allocator bug-fixes, changes to the argument insertion (strictly via keyword-arguments now) and enforcing alignment. I've also tried to tidy up the test and imports a tiny bit in the process.
In a little more detail:

Enabling the SCC-Stack transformation as a "mode" in convert (bug fix to deal with hyphens in "mode")
Allow "ignore" items to be processed by marked analysis passes and use for TemporariesPoolAllocatorAnalysis
Bug-fix for type handling in base expression mapper
Adjusting stack size derivation to enforce alignment via (max(c_sizeof<...>, 8) and according test adjustments(!)
Insertion of stack-size at a fixed location in the driver that is marked via !$loki stack-size - this is planned to be done more generally at a later stage)
Strictly use keyword-argument passing for the stack variables to avoid cross-fire with the array-shape adjustment trafo

Due to the partial replay nature of the PR, the test updates are done in bulk towards the end. @MichaelSt98 please check if the original features and intentions of your fixes are still fine.

Ok, I think I addressed all comments and (re-)verified ec-phys regression. This still needs a rebase for integration, but should now be ready for another look. @reuterbal

Confirmed clean with latest EC-physics regression (just now, after latest rebase).


WIP: Migrate UI to React

This issue tracks the progress of migration to React / Redux from Meteor for the OHIF Viewer application.
Live demo: https://deploy-preview-321--ohif.netlify.com/demo/
We have had a significant amount of requests to migrate off of Meteor to allow the OHIF application and components to be more easily reused in other applications. This change will also make it easier to decouple the application from the server-side component, which is unnecessary if you aren't using DIMSE to communicate with PACS. This Issue will track the work on that front.
If you want to contribute: Please make a comment in this issue to claim some components that you will work on. You can make Pull Requests to the 'react' branch which will be reviewed and merged.
We do not have a timeline for when this work will be completed. If you want it to be done faster, pick up some of the work and help us get it done.
Migration Plans

Consolidate packages and push logic out of OHIF into lower-level libraries (e.g. dcmjs, dicomweb-client, cornerstoneTools) (https://github.com/OHIF/Viewers/pull/297)
Start depending on NPM versions of packages (e.g. moment.js) instead of Atmosphere versions
Port the Blaze UI to React, but continue to use Meteor's build process. Start with the Viewer, then move to the Study List. Use Crowds Cure Cancer code as necessary.
Switch application state management to Redux. Remove Session, Tracker, ReactiveVar, and ReactiveDict usage.
Gap analysis: What prevents us from switching to create-react-app and dropping the Meteor build process? (e.g. Minimongo?, SimpleSchema?)
Move OHIF UI to NPM packages
Remove 'blaze-html-templates' and other blaze-specific packages.
Switch Routing to use react-router(-dom) instead of Iron / Clinical Router
Remove any remaining dependencies on Meteor packages (e.g. cultofcoders:persistent-session) (this has actually been done already on a private fork. Will merge this back ASAP)
Revisit our choice of Stylus as a CSS language (what would be easiest for consumers of the components? Pure CSS? Can we still do theming with another build process?)
Switch to create-react-app / Webpack instead of Meteor for the build process.

Viewer UI Migration Checklist (Updated Feb 19th, 2019)
Components TODO:

CINE Play / Pause button
Measurement Table (@galelis)
Study List context menu
Viewport right-click context menu (we have this in crowds cure cancer, should port it over)
Theme selection dialog
Server Information dialog in the Settings menu.

Non-Component TODO:

StudyLoadingListener (broken after switch to plugins)
StudyPrefetcher (broken after switch to plugins)
Hanging Protocols (@swederik)

Other missing things:

FEAT: Add Next / Previous Display Set buttons
FEAT: Double-click thumbnail to load stack in active Viewport
FEAT: Arrow Annotation tool + callback in react-cornerstone-viewport
FEAT: Add the About modal
FEAT: Stack scroll linking is not possible
FEAT: Animate the transition between study list and viewer

Note: The Lesion Tracker-specific components can be done last, and will not block merging of React branch into master.
@vsoch @JamesAPetts

Hello @swederik this is a great news !  I will work with  items under.
-User Preferences
Thank you
Ash  Durna

Short update on the React transition:

@EsrefDurna  you were right that it’s going to be easier to create a new folder. Initially the transition inside the Meteor app was working fine, but it seems like there is something wrong with the build process because it begins to ‘update npm dependencies’ on nearly every change. This takes > 1 minute, so development grinds to a halt.

I added a folder here: https://github.com/OHIF/Viewers/tree/fc5bd73c1ed247b233bfc7ebed1fb00c990f98d5/OHIFViewer-react to start doing the transition.

I have been consolidating the OHIF:* meteor packages into a single package here (https://github.com/ohif/ohif-core). Much of it will still be trimmed. It doesn’t do much yet. (There’s an even more in-progress branch there called ‘wip’)

If anyone wants to help, the best thing you can do is pick a piece of the UI and start converting it from Blaze to React, and then contribute the updated version back to https://github.com/OHIF/react-viewerbase.

Hopefully next week the ohif-core package can be more useful and we can start filling things into that app. Note: It will not start at all if you try it right now, I’ve been trying to clean up the issues with dependencies in ohif-core (I would welcome any help with that!).
Some good places to start:

The StudyList. Currently just renders Blaze inside the React template (https://github.com/OHIF/Viewers/blob/fc5bd73c1ed247b233bfc7ebed1fb00c990f98d5/Packages/ohif-study-list/client/components/StudyList.js#L17)
The Measurement Table
The page header
User Preferences and the dependent form components

My short term goal is to get the create-react-app version working with the study list and basic viewer (minus the measurement table) first, and then continue from there. Most of the re-usable logic should be in the ohif-core NPM package (on github, but unpublished), and the UI components within ohif/react-viewerbase. The actual application should be very small.
Some minor stuff:

I’ve been trying to keep components ‘presentation-only’ as much as possible. They may have some internal state, but they know nothing of any components outside of themselves. They are given callbacks as properties (e.g. onThumbnailDrop or something). The react-viewerbase package is essentially just UI which knows when to call callbacks that is has been provided. The callbacks can be provided using Redux’s connect, and using mapDispatchToProps to hook up Redux actions to the callbacks that are provided. This seems like the cleanest way to do things. Eventually we could set up a design system for OHIF (e.g. like Shopify has: https://polaris.shopify.com/components/structure/card#navigation) which could be great for helping people build OHIF-based apps. Our awesome designer Dan is excited to help with this.
Meteor Minimongo collections are being switched to arrays in the Redux store (not sure what else would be better)
Meteor Session variables are also being pushed into the Redux store
Iron Router has been replaced with react-router
I’ve switched from the SimpleSchema package on Atmosphere to the newest version from npm (simpl-schema). I haven’t tested enough to know if this will cause issues. Upon review, it does look like we are using simple schema in a lot of places, many of which might not be necessary. I’m not sure what a better alternative would be (JSON Schema?).
OAuth is temporarily removed, but will be replaced with the Auth.js class in Crowds Cure Cancer
There is no longer any server-side component. We will have to figure out what to do with DIMSE support (create a separate node application?) later on. For now, I am avoiding that problem.
Since there is no WADO Proxy anymore, you will encounter CORS issues if you try to test it.
We have a bunch of UI stuff (bounded, dimensional, draggable, dropdown, notifications, resizable) which seem to be jQuery plugins. I’ll keep these as-is for now, but I guess we will have to turn them into react components as well (or mixins or whatever their version of that is). We can look for off-the-shelf alternatives for these if they exist.

Hello @vsoch Thats a great idea and this project is a great way to learn react.
I will have a look during this weekend and will try to find some tasks for you as well.
Thank you so much

This is a fantastic initiative! I currently use Standalone OHIF Viewer within a React app but it has several limitations. Having OHIF implemented in React would open many new possibilities!
I would like to contribute to this project as well.
Cheers

Great work @swederik ! I use React regularly and working on a medical product using image viewers. Cornerstone/OHIF has been interesting to look into but I have a lack of knowledge on meteor.
Happy to help on some tasks to get the ball rolling.
Styled components is interesting around theming as it would be possible to switch out the theme.js file with different set of attributes to quickly change the look of ohif for clients. That or css modules are common now.

This is an excelent initiative. React is a greate framework and I believe the final work here will be awesome.
I have worked with cornerstone for a couple of years now and I was always making plans to learn meteor so I could understand OHIF more deeply. Now with react I believe it will be easier!
I will be more than happy to contribute to this project as well.

Great!
I have some experience in angular.js and vue.js..
I would like to contribute to this project !

@swederik Amazing work on migrating the Front-end to ReactJs.
I was able to run the react-app and now I am trying to connect it to our own DICM server. I changed the config file in /react-config/ccc.json and set the wadoUri, run
REACT_APP_CONFIG=$(cat ../../config-react/ccc.json)
yarn start

But I am still connecting to the same server and studies.
It's also not clear to me where exactly the server settings are getting set.
Is there any other configurations that needs to be done to connect it to another server?

Great work! also willing to contribute.
@swederik ,  what would be the way to go if I wanted to integrate a vtk.js-based custom visualization? My viewport is currently encapsulated in a React component.   I saw you recently integrated OHIFVTKExtension, any pointers would be useful.

I know that mobile isn't officially supported, but it seems that the tech stack used provides an operative second-class citizen mobile app for cheap.
The react version is better than the meteor version in mobile, the old version required that the user request the desktop version through the browser to get a full view of the image, now the viewport fits almost entirely (my 1920*1080 screen at least) by default.
Here is a small list of  bugs:
Images with series begin with the series list open, which hides the viewport rightmost half.
The toolbar appears as a vertical unscrollable dropdown list. I can only choose length and angle, but they both seem to work as expected.
This means that CR images are viewable from mobile!
Congratulations.

If the important parts are written runtime independently so they could only be wrapped in React it would open the door to also use Vue (which is more friendly to UX Designers than React). I would offer to invest some time into this if this is a compatible long term goal.

We've silently pushed react to master as our new version 2. Expect an announcement early this week. Some features/functionality still need to be ported, but they will be completed iteratively instead of in this large batch form.
More information to come on how individuals can best contribute their varying skillsets to move things forward.


Error while toke authentication.

After i integrate crosswalk to existing ionic app login in via google+ and facebook Cause app crashing, however login via email working fine when it's also based on token authentication. is it something to do with SSL !

Greetings @mhd999!
I've closed this issue because my sensors indicated it was old and inactive, and may have already been fixed in recent versions of Ionic. However, if you are still experiencing this issue, please feel free to reopen this issue by creating a new one, and include any examples and other necessary information, so that we can look into it further.
Thank you for allowing me to assist you.


updates to prep for Pricing changes

Change-type: patch

Please make sure to read the CONTRIBUTING document before opening the PR for relevant information on contributing to the documentation. Thanks!

I self-certify!


app_bg.wasm changed between 0.2.70 and 0.2.73

Describe the Bug
I'm the author of wasm-run but it broke recently because the JS file (app.js) can't find the WASM file (app_bg.wasm).
As you can see in my code here I was relying on the fact that the name of the files were always "app.js" and "app_bg.wasm". But between 0.70  and 0.73 you made a change somewhere so the name used is now the crate's name that is compiled: myfrontend_bg.wasm.
Because of that, the JS code can't load the WASM file anymore on projects using wasm-run.
Steps to Reproduce

Create a new project with wasm-run: cargo generate --git https://github.com/cecton/wasm-run-template.git -b main
Run serve: cargo run -- serve
Go on http://<IP_ADDRESS>:3000
See error

Expected Behavior
The name won't change between patch versions. This is a breaking change.
Actual Behavior
Every project using wasm-run right now that does cargo update will silently fail as this is a runtime error.

I believe I found the commit that changed this behavior: https://github.com/rustwasm/wasm-bindgen/commit/de2a5d7bda9ee60d53f779794bc3b3643d205272
Related to #2444

I apologize for the breakage, would something like https://github.com/rustwasm/wasm-bindgen/pull/2520 fix your use case?

@alexcrichton No, the PR I created assumes that the wasm file has the same name, it just couldn't lookup the wasm file's name correctly.
Example: "foo.js" and "bar_bg.wasm" are emit, the user calls foo.js' load(), load attempts to fetch "foo_bg.wasm," since "foo" was the name of the .js file, the fetch fails :)
wasm-bindgen should emit "foo.js" alongside "foo_bg.wasm," not "foo.js" with "bar_bg.wasm."
Hopefully it helped you see the problem better, and sorry for using metasyntactic variable placeholder names, if anyone cares.

I apologize for the breakage, would something like #2520 fix your use case?

I don't think it will because wasm-run is also going through the "web" output. https://github.com/wasmbl/wasmbl/blob/main/src/lib.rs#L741
@alexcrichton Can we yank the versions for now until we decide? I wouldn't mind that you increase the version to 0.3 for that change.

Unfortunately this is old enough I don't think a yank is feasible at this time. I also do not have the time to manage an 0.3 release. @RReverser would you be able to comment on this as the author of the original patch?

Hm, if the name change happened indeed in that commit, it wasn't intentional.
To be honest I don't fully understand the issue either:

As you can see in my code here I was relying on the fact that the name of the files were always "app.js" and "app_bg.wasm". But between 0.70 and 0.73 you made a change somewhere so the name used is now the crate's name that is compiled: myfrontend_bg.wasm.

I think crate name has been used for a while now (always?), and filename was never hardcoded to app.js / app_bg.wasm in wasm-bindgen, so the original assumption seems strange...

I thought maybe something in my change made custom --out-name getting ignored, but no, that still works just fine too. So I'm still not sure where the original assumption was coming from or what changed it.

The original name was derived from the URL. So if the JS file is on https://example.org/app.js it will load app.wasm. With the changes done, the name is now derived from the crate name at compile time. @RReverser
Before:
input = import.meta.url.replace(/\\.js$/, '_bg.wasm');

After:
                        input = new URL('{stem}_bg.wasm', import.meta.url);
...
                stem = self.config.stem()?
...
    pub fn stem(&self) -> Result<&str, Error> {
        Ok(match &self.input {
            Input::None => bail!("must have an input by now"),
            Input::Module(_, name) => name,
            Input::Path(path) => match &self.out_name {
                Some(name) => name,
                None => path.file_stem().unwrap().to_str().unwrap(),
            },
        })
    }

You know what it's okay. Apparently this doesn't seem to bother anybody else than me so I will make a fix on wasm-run.

Closing this for now as no action will be taken. I just made a patch on my side.


Clickwheel feedback

Hi, I have the following problem: when I run de comand sudo ./click to see if I recive feedback from the clickwheel I only recive when the menu button or the center button are pressed nothing happens with the others. Any suggestions?, thank you very much!

I have the same problem. Do you have any breakthroughs?

nothing yet bro :(

Nothing yet bro :(

I did mix up the clock and data pin once and had a similar behaviour. Weirdly it showed output for some interaction with the click wheel but obviously with invalid results


framerate is very low

I made the code working without change with my OV2640 module. However, the frame is obtained over 200ms. I've tried tuning the XCLK and OV2640 CLKRC, and finally I got a working combination of:
XCLK = 20MHz, CLKRC = 0x81 (15fps), QVGA, which ends up 70ms per frame with some code modification (I changed DMA to transfer to whole frame instead of by lines).
It seems the framerate is lowered on purpose:
https://github.com/igrr/esp32-cam-demo/blob/master/components/camera/ov2640.c#L462:
    if (framesize <= FRAMESIZE_SVGA) {
        clkrc =0x83;
        regs = svga_regs;
    } else {
        clkrc =0x87;
        regs = uxga_regs;
    }

To put camera in full speed, CLKRC should be 0 or 0x80. I don't know why here the camera is explicitly put under 1/4 (<= SVGA) and 1/8 (UXGA) of highest framerate.
With XCLK = 20MHz, I tried to put CLKRC = 0x80 (or 0), QVGA, the framerate raised to 30fps (the period between two VSYNC is about 30ms), however, the I2S DMA didn't seem to catch up with PCLK.
With an estimation PCLK = 320*240*2/30ms = 5.12MHz. I suspect the I2S DMA is able to catch up with this frequency. I observed a lot of sample loss or corruption.
As I came to a relatively stable configuration (XCLK = 20MHz, CLKRC = 0x81, QVGA), the DMA seems still missing 2 samples at the beginning of transfer. To test that, I set JPEG and pixformat, and OV2640 always generates 0xff 0xd8 0xff 0xe0 0x00 0x10 0x4a 0x46 0x49 0x46 0x00 0x01 0x01 0x01 0x00 0x00 as the first 16 bytes. So it's very easy to observe what goes wrong in received bytes via DMA.
It's very likely caused by hardware issue, but not sure what it is...
Now I'm happy with a working OV2640 a little less than 15fps in QVGA JPEG mode. I appreciate if anyone can help to raise the fps to 30.

@easeway
Hi, have you had any further success with increasing the frame rate?
I am getting about 5 FPS at a resolution on 800 x 600. My XCLK is at 8Mhz and CLKRC is at 0x81.
I still am not able to get it to work in HS mode.
Have you gotten HS mode to work?
I’m using a WRover dev kit 3.
Thx

@wdouglas1999 I haven't tried anymore. I start receiving corrupted images from ~8fps. I temporarily gave up, and fallback to USB cam + Linux SBC + MCU solution.


Pinning Policy: NUMA Affinity

Description
Allow to isolate a VM in an specific NUMA node withing exclusively pinning the VM to the node. The node should be still available for other VMs, but the isolated VM shouldn't be able to run outside the specific node.
It also needs to allow the allocation of hugepages in that node
Use case
Allow administrator to manually isolate VMs compute resources.
Interface Changes
The administrator should be able to manually specify the NUMA node where the VM is going to be isolated.

Progress Status

[ ] Code committed
[ ] Testing - QA
[ ] Documentation (Release notes - resolved issues, compatibility, known issues)

dropdown "numa node affinity"
new field "node number"

FSunstone https://github.com/OpenNebula/one-ee/pull/2620
RSunstone https://github.com/OpenNebula/one-ee/pull/2619


display of background on phenotype and allele full view

I noticed whn discussiing H+/H- backgrounds with Sophie Martin that we show

FYPO:0000569 | abolished                     shmoo formation | mam2Δ             background: h- | cell growth assay                 evidence
-- | -- | -- | --

in the 'full view' on the gene pages, but not on the allele or phenotype pages.
Maybe we should have this info in all 3 places?

Good, that's what I meant. Genotype pages, and phenotypes pages, detailed view.
I did not see on the genotype page detailed view, but it's there.
Also publication pages it is missing.
I think we are in agreement about what is needed (at least as a first pass, always show background in detailed view)

I did not see on the genotype page detailed view, but it's there.

Sorry, I missed that bit of your comment.

Also publication pages it is missing.

That's fixed now too and the change will be visible in the morning.


Use "serving/build.yaml" instead of "build/release.yaml" in stable manifest

This should ensure that the build resources match what is used to build serving

We no longer need to use serving's copy of build now that build and serving have been decoupled. We can use any version of build with any (recent) version of serving


Documentation: Wrong package name in the Getting Started page

The statement:
PM> Install-Package office-ui-fabric
in page http://dev.office.com/fabric/get-started is wrong, or at least doesn't work.
The right one is:
PM> Install-Package OfficeUIFabric
Thanks,
Paolo

We've confirmed this issue and will get the documentation updated. Thank you!

This has been fixed in our documentation repo and will be included in the next deployment.


🔧 update vscode configuration

Generated summary (powered by Graphite)

TL;DR
This pull request modifies the .vscode/settings.json file to change the source.organizeImports setting from true to explicit.
What changed
The source.organizeImports setting in the .vscode/settings.json file was changed from true to explicit. This change affects how imports are organized in Python files when saved in VS Code.
How to test
To test this change, follow these steps:

Pull the changes from this pull request.
Open a Python file in VS Code.
Add some imports to the file and save it.
Observe how the imports are organized. They should now be organized explicitly.

Why make this change
This change was made to provide more control over how imports are organized in Python files. With the explicit setting, developers can specify exactly how they want their imports to be organized, rather than relying on the default behavior. This can help to improve code readability and consistency.

Current dependencies on/for this PR:

main

PR #73   👈

This stack of pull requests is managed by Graphite.

Merge activity

Jan 2, 9:24 AM: @mingi3314 started a stack merge that includes this pull request via Graphite.


Remove unneeded atomic thread fences.

@geirst : please review

The thread fences were added as replacement for memory barriers implemented with volatile asm statements a long
time ago when x86_64 was tne only target platform. We now use release type atomic store and aquire type atomic load
to ensure that writes peformed by the write thread are properly visible for the read threads.


Custom donation distribution v2

Set optionalComission property to true to allow users to modify the commission amount.
Tested w/Stripe and paypal accounts
Using i18n strings

[ ] don't show the subtotal if there is only one collective
[ ] don't show the icon on the left of "Credit card processing fee" when there is only one payment method
[ ] big donate button's label should be "Pay ${totalAmount}", where totalAmount should include the processing fee
[ ] Show "(2.9% + $0.30 processing fee)" next to PayPal, and next to "Credit card"
[ ] in the disclaimer at the bottom, add within the parenthesis (+ $0.30 payment processing fees)
[ ] the commission for OpenCollective should go from 0 to 20%
[ ] if possible, would be good to show the $ or € symbol next to the input text when editing the amount (or don't use an input type text for consistency with the other collectives)

Also I'm not a fan of the sub headers "Commission", "Donation method". They can be visually improved. Maybe we can merge them into simply: "Fees"

Either you use input type text for all amounts for all collectives (with the $ sign before)
or you remove the input type text for the OpenCollective commission.
And I'd just get rid of the subheaders "Commission" and "Donation method", it's pretty explicit anyway.

(I love the sliders 👍)
Also, it would be good to have a reset button/link somewhere. Maybe the "Edit donation" link turns into "Reset default distribution" after editing the distribution? Open to other suggestions.

Show "(2.9% + $0.30 processing fee)" next to PayPal, and next to "Credit card"

I though that paying through paypal did not include a processing fee, can you confirm there will be one?

the commission for OpenCollective should go from 0 to 20%

I assume it will default to 5% or would you like the default to be customizable via a prop?

if possible, would be good to show the $ or € symbol next to the input text when editing the amount (or don't use an input type text for consistency with the other collectives)

I will remove input type text and add a currency symbol as a prefix

There is a paypal fee (2.9% + $0.30)
If the OC commission is editable, the default should be 10%, otherwise it's 5% (we may change that in the future)

Also, is this going to enable this flow for everyone? We would only want to enable it selectively.

@asood123 Yes it will enable the flow for everyone, however you can specify whether or not they can modify the distribution and whether or not they can modify the commission.
I can add another boolean to not show the modal and instead render the stripe or paypal buttons, would you like me to add these changes?
I'm going to have to close this PR and resend it, this is a fork, so it will fail during CircleCI

Yes, let's put behind a boolean. Could you create a setting for it in group.settings? (https://github.com/OpenCollective/api/pull/334).

Yes, I will close this PR, create a new PR add the boolean to group.settings. I'm going to set the default to simply render the paypal and stripe buttons


Issue with the chunked HTTP photo stream

Hi,
So this is my code that talks to the meetup API.
        http.get('http://stream.meetup.com/2/photos', res => {
            console.log(`STATUS: ${res.statusCode}`);
            res.on('data', data => {
              try {
                console.log(JSON.parse(data.toString()));
              } catch(e) {
                console.log(e)
              }
            });
        })

Quite often, errors are generated when parsing the JSON.
SyntaxError: Unexpected token s in JSON at position 0
SyntaxError: Unexpected end of JSON input
SyntaxError: Unexpected token , in JSON at position 1
SyntaxError: Unexpected token M in JSON at position 0
SyntaxError: Unexpected token _ in JSON at position 0
Is this a problem with the data. If so, why is it happening?
Cheers!
Danny

These streams are newline delimited. Is it possible you library is trying to parse those as json?


Adding Automated Documentation via Optic

Hi @kunalkapadia!
I really appreciated this boilerplate you built - JWT is often implemented really confusingly but your implementation made it super straightforward and nice.
I've been contributing to the Optic Project and helped write integration guides on how you can use it on various API frameworks in the past, and wanted to go a step further by PR-ing my work into awesome boilerplates. When I started using this boilerplate, I added Optic early on, and thought it'd be really useful to contribute back and add auto docs to the project.
Did I implement this correctly? Would love to add this feature!
Key Changes

added 4 new scripts to package.json

npm run api-install installs the Optic Client
npm run api-diff runs your API with the Optic proxy, and monitors changes to the api (this lets you document changes you might have made, updating the documentation without having to manually write OpenAPI specifications)
npm run api-docs opens up the current documentation for the api
npm run generate-openapi generates a OpenAPI spec for the user to use

Modified config/config.js to look for the OPTIC_API_PORT (this enables optic to run) - this won't stop you from running the api like normal via npm start)

Pull Request Test Coverage Report for Build 1092

0 of 0   changed or added relevant lines in 0 files are covered.
218 unchanged lines in 13 files lost coverage.
Overall coverage decreased (-88.5%) to 4.815%

Files with Coverage Reduction
New Missed Lines
%

config/config.js
2
58.33%

config/param-validation.js
2
0%

config/winston.js
3
0%

server/auth/auth.controller.js
8
25.0%

server/helpers/APIError.js
8
16.67%

index.route.js
9
0%

server/user/user.route.js
9
0%

server/auth/auth.route.js
10
0%

server/user/user.model.js
14
0%

server/user/user.controller.js
21
0%

Totals

Change from base Build 1086:
-88.5%

Covered Lines:
12

Relevant Lines:
239

💛  - Coveralls

Unsure if I'm doing this properly @kunalkapadia , but the coverage looks good locally


Count does not work

Hi there.  I'm using this API to fetch the latest tweets with the hashtag mitthverfi on a website.  My website only displays the 4 latest tweets and when I set my getfield to count=10 or some higher number that does not change anything.  When I try count=1 I only get one tweet.
How can I make this display all tweets or maby just more then the latest 4 ?

Very old post, sorry... but this should be fixed :-)


Use events instead of callbacks

Closes #9
I know you said "next major version", so no hurry, I'd just like to help out and show how it can be done. (That said, of course I'd like this sooner rather than later 👍 ) )
At least I think this is correct. I've been working on F# for the last couple of years, so my C# skills are a bit rusty.
Please test; I tried the test projects, and things seem to be working just as well as they do on the current master, but I'm having some trouble with the test apps on master too (client times out some seconds after successfully connecting, and server doesn't send messages to client).

Oh wow, thanks for producing this @cmeeren !  I had found some samples on how to do this and started a prototype and I will certainly lean on this when building it out!

PR is super clean, thank you for that.

Happy to help! And don't feel you have to merge this PR; I'm happy as long as it's implemented, no matter whose name is on the commit.

Thank you, I'll likely implement this as is and rev the version.
Out of curiosity (and for my own education, as this model will likely influence several other libraries I have out there) what is the benefit in this model vs using Func outside of A) expected pattern and B) the ability to hang multiple event handlers off of a single event?
Thanks again for your help and guidance!

I think those are the main benefits, and certainly important ones (perhaps a bit unusual at first if you're coming from a non-.NET background, but vastly preferred in the .NET world over callbacks). Furthermore, the use of EventArgs<T> provides a backwards-compatible way to add new data to the event.
This page and the other pages in the menu may have more useful info: https://docs.microsoft.com/en-us/dotnet/standard/events/
Also, searching the web for ".NET event vs callback" is likely to yield some potentially helpful results.

Hi @cmeeren, please let me know if this works for you!
NuGet: https://www.nuget.org/packages/SuperSimpleTcp/2.0.1
Commit: https://github.com/jchristn/SimpleTcp/commit/b6aa2752dd3073656c9d55da351fac1f4ed11153
Cheers,
Joel


Problem when using iphone 6 Layout in Chrome

When using iphone 6 Layout in Chrome, the left arrow is in front of the text, how to correct it.

You probably updated jQuery UI

Yah u're right.
Thanks.


antibody titer terms design pattern

For 'Raw antibody titer test result' EUPATH:0011472 and children:
The following 3 terms should be submitted to OBI:
label: 'antigen specific antibodies in blood assay'
definition: An antigen specific antibodies assay that has a blood specimen as evaluant.
parent: 'antigen specific antibodies assay'
label: 'antigen specific antibodies assay datum'
definition: A data item that is the specified output of an antigen specific antibodies assay.
subclass axiom: is_specified_output_of some 'antigen specific antibodies assay'
parent: 'data item'
subclass axiom: 'is about' some ('immunoglobulin complex' and 'has disposition to bind' some organism)
label: 'antigen specific antibodies in blood assay datum'
definition: An antigen specific antibodies assay datum that is the specified output of an antigen specific antibodies in blood assay.
subclass axiom: is_specified_output_of some 'antigen specific antibodies in blood assay'
Example:
EUPATH:0011403
label: 'Enterovirus C IgG in blood by enzyme-linked immunosorbent assay datum'
alternative term: 'Polio IgG titer, by ELISA result'
definition: An antigen specific antibodies in blood assay datum
subclass axiom: 'is about' some ('IgG immunoglobulin complex' and 'has disposition to bind' some 'Enterovirus C')
subclass axiom: is_specified_output_of some 'enzyme-linked immunosorbent assay'
parent: 'antigen specific antibodies in blood assay datum'
Diagram of design pattern here

https://github.com/obi-ontology/obi/issues/1526

@johnwjudkins It seems the terms were added in the OBI and will show in next release, right?

They are in an open pull request: https://github.com/obi-ontology/obi/pull/1571

Merged into obi-edit (will be in next release).


Added note to performance section on pausing jobs after max retries

Fixes DOC-3506
Added a note to the performance section of RESTORE, IMPORT, & BACKUP on pausing if reaching maximum retries.
Also, opportunistic edit adding new version feature to a prior bullet that I missed in the original PR.
Furthermore, added IMPORT performance bullets to IMPORT INTO as I believe these all belong there too and had been missing.

This change is

Hey @adityamaru, while I was adding this note to restore, backup, and import. I noticed that import into didn't have the performance points that the import page has. Reading through them, it seemed as if they would apply to import into too, could you also check that's correct?


Initial test report for Presentation API on Controlling and Receiving UA

Initial test report for Presentation API on Controlling and Receiving UAs. This test report considers only IDLharness tests.

LGTM, thanks.


chore: use different base image to include go

Signed-off-by: Batuhan Apaydın<EMAIL_ADDRESS>Co-authored-by: Jason Hall<EMAIL_ADDRESS>
What type of PR is this?

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

Fixes #135
Special notes for your reviewer:
After a quick chat with @imjasonh, thanks to him, we have agreed that the best way of providing a go binary for an image that is building with ko is changing the image's base with the one of the go binary installed. Fortunately, we have one, https://github.com/distroless/go. distroless.dev/go is an apko-built distroless image that includes go.
cc: @imjasonh
Does this PR introduce a user-facing change?

chore: use different base image to include go

Thanks for the PR @developer-guy !
This is a great start! I think from here, the next step will be to build our own base image using apko to include more things beyond just go (such as git for example). But this should fix the broken go dependency problem for now! Thank you.
/ok-to-test

Thanks @developer-guy @imjasonh !
/lgtm
/approve

may I open an issue for this @puerco?

may I open an issue for this @puerco?

@developer-guy -- Please do!


[needs testing] opening claim link without web3 -> blank page

Describe the bug
Opening claim link without metamask, leads me to a blank page, with only the svg background pattern.
Tested on Mainnet & Kovan, in brave private window.
Expected behaviour
Working on error screens right now, in https://github.com/RadiCards/radi.cards/issues/38

seems to only be a problem in brave. In chrome it works just fine.


[CallAutomation] Some API updates

API change check
APIView has identified API level changes in this PR and created following API reviews.
azure-communication-callautomation

@kristapratico - thank you so much!
Yes, I definitely need to update the changelog. I will also need to copy any modified files in the _shared directory across the other communications packages and kick of the live tests for each (even though they're only pylint fixes... )


feat: switched to node_exporter metrics for kube-prometheus-stack 37+

Signed-off-by: David<EMAIL_ADDRESS>Pull Request
Required Fields
:mag_right: What kind of change is it?

feat

:dart: What has been changed and why do we need it?

switched to node_exporter metrics for kube-prometheus-stack 37+

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


Not able to find my lightning node on explorer.acinq.co

My node is up and running
And automatically connected to some channels
However I cant find it listed on explorer.acinq.co
Any idea why that is?

The LN explorers are also just a node that makes its own view of the network public. This may not be accurate due to various reasons and should not be expected to be 100% true. Sometimes it just takes some time.
Are you on Testnet? Did you try https://1ml.com/testnet/ ?

Yes I am on testnet
and I can see my node listed on that link you sent.
So we think this is a fault with explorer.acinq.co?

Yes, definitely. Don't worry about it, as long as you are connected to other nodes and can do payments, you are all set.
I guess it will be listed on the explorer in due time, but no idea how often they update their network map.


Change progrmatically the current date (page)

I'm customizing the day view header using dayTitleBuilder, I added next and previous button and a date formatted as required in my project...
How can I change current day using my previous and next buttons ?
thanks

Hello @abmptit , I'm closing this issue for now. Feel free to create new one if solution by @Mael-Kehl doesn't solve your problem.


Trying to install tensorflow in windows 10 and got error when trying to import

(tfp3.6) C:\WINDOWS\system32>python
Python 3.6.6 |Anaconda, Inc.| (default, Jun 28 2018, 11:27:44) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.

import tensorflow
Traceback (most recent call last):
File "C:\Users\Dell\Anaconda3\envs\tfp3.6\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 58, in
from tensorflow.python.pywrap_tensorflow_internal import *
File "C:\Users\Dell\Anaconda3\envs\tfp3.6\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 28, in
_pywrap_tensorflow_internal = swig_import_helper()
File "C:\Users\Dell\Anaconda3\envs\tfp3.6\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 24, in swig_import_helper
_mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description)
File "C:\Users\Dell\Anaconda3\envs\tfp3.6\lib\imp.py", line 243, in load_module
return load_dynamic(name, filename, file)
File "C:\Users\Dell\Anaconda3\envs\tfp3.6\lib\imp.py", line 343, in load_dynamic
return _load(spec)
ImportError: DLL load failed: The specified module could not be found.

During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "", line 1, in
File "C:\Users\Dell\Anaconda3\envs\tfp3.6\lib\site-packages\tensorflow_init_.py", line 24, in
from tensorflow.python import pywrap_tensorflow  # pylint: disable=unused-import
File "C:\Users\Dell\Anaconda3\envs\tfp3.6\lib\site-packages\tensorflow\python_init_.py", line 49, in
from tensorflow.python import pywrap_tensorflow
File "C:\Users\Dell\Anaconda3\envs\tfp3.6\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 74, in
raise ImportError(msg)
ImportError: Traceback (most recent call last):
File "C:\Users\Dell\Anaconda3\envs\tfp3.6\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 58, in
from tensorflow.python.pywrap_tensorflow_internal import *
File "C:\Users\Dell\Anaconda3\envs\tfp3.6\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 28, in
_pywrap_tensorflow_internal = swig_import_helper()
File "C:\Users\Dell\Anaconda3\envs\tfp3.6\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 24, in swig_import_helper
_mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description)
File "C:\Users\Dell\Anaconda3\envs\tfp3.6\lib\imp.py", line 243, in load_module
return load_dynamic(name, filename, file)
File "C:\Users\Dell\Anaconda3\envs\tfp3.6\lib\imp.py", line 343, in load_dynamic
return _load(spec)
ImportError: DLL load failed: The specified module could not be found.
Failed to load the native TensorFlow runtime.
See https://www.tensorflow.org/install/errors
for some common reasons and solutions.  Include the entire stack trace
above this error message when asking for help.

Please provide System information :

OS Platform and Distribution (e.g., Linux Ubuntu 16.04):
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device:
TensorFlow installed from (source or binary):
TensorFlow version:
Python version:
Installed using virtualenv? pip? conda?:
Bazel version (if compiling from source):
GCC/Compiler version (if compiling from source):
CUDA/cuDNN version:
GPU model and memory:

Dear @ymodak ,
Thanks for looking into this issue! I experience the same error. Hope this helps.

OS: Windows 10
Mobile device: No
TensorFlow installed from (source or binary): pip install tensorflow-gpu
TensorFlow version: tensorflow-gpu==1.11.0
Python version: Python 3.6.6
Installed using virtualenv? pip? conda?: Within a virtualenv installed using pip. No conda.
Bazel version (if compiling from source): not from source
GCC/Compiler version (if compiling from source): not from source
CUDA/cuDNN version: cuda 10.0.130_411.31 / cuDNN v<IP_ADDRESS>
GPU model and memory: Quadro M1000M with 2048MiB

(rasa-env) <home_folder>>python
Python 3.6.6 (v3.6.6:4cf1f54eb7, Jun 27 2018, 03:37:03) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.

import tensorflow
Traceback (most recent call last):
File "<virtualenv_folder>\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 58, in
from tensorflow.python.pywrap_tensorflow_internal import *
File "<virtualenv_folder>\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 28, in
_pywrap_tensorflow_internal = swig_import_helper()
File "<virtualenv_folder>\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 24, in swig_import_helper
_mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description)
File "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python36_64\lib\imp.py", line 243, in load_module
return load_dynamic(name, filename, file)
File "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python36_64\lib\imp.py", line 343, in load_dynamic
return _load(spec)
ImportError: DLL load failed: The specified module could not be found.

During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "", line 1, in
File "<virtualenv_folder>\lib\site-packages\tensorflow_init_.py", line 22, in
from tensorflow.python import pywrap_tensorflow  # pylint: disable=unused-import
File "<virtualenv_folder>\lib\site-packages\tensorflow\python_init_.py", line 49, in
from tensorflow.python import pywrap_tensorflow
File "<virtualenv_folder>\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 74, in
raise ImportError(msg)
ImportError: Traceback (most recent call last):
File "<virtualenv_folder>\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 58, in
from tensorflow.python.pywrap_tensorflow_internal import *
File "<virtualenv_folder>\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 28, in
_pywrap_tensorflow_internal = swig_import_helper()
File "<virtualenv_folder>\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 24, in swig_import_helper
_mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description)
File "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python36_64\lib\imp.py", line 243, in load_module
return load_dynamic(name, filename, file)
File "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python36_64\lib\imp.py", line 343, in load_dynamic
return _load(spec)
ImportError: DLL load failed: The specified module could not be found.
Failed to load the native TensorFlow runtime.
See https://www.tensorflow.org/install/install_sources#common_installation_problems
for some common reasons and solutions.  Include the entire stack trace
above this error message when asking for help.

Closing due to lack of recent activity. Please update the issue when new information becomes available, and we will reopen the issue. Thanks!


Write splinkdf to csv parquet

A nice quick one for you both.
This adds the ability to write SplinkDataFrames directly to csv and parquet. This should simplify some of the code in our splink3 workflows.
I've left my commented notes in for spark's to_csv deliberately, but can remove them if you think they're not useful.

On duckdb I believe they're adding native save parquet and save CSV functions, I think they're already there in the python API
https://duckdb.org/2023/02/13/announcing-duckdb-070.html#python-api-improvements
Sorry on my phone but probably worth checking if it can reduce the amount of Splink code we need

The reason I didn't add this to Athena is because the tables will already exist on s3 as parquet files as part of the process.
However, on reflection it would probably be useful as an option for exporting files to a specific location.
I'd suggest for parquet we:

Check if the SplinkDF exists on s3
If it does, copy those parquet files across to the newly selected area
If they don't, use AWSwrangler to export the tables to a location in s3.

For csv we'll probably just need to write the raw data directly to csv.
I'll add that as a separate PR anyway, as it will be relatively involved.


"no fucks given" with alias

I like thefuck, but I don't like swearing in my terminal at work (sorry).
I'm happy with the alias option, but I still get the error message no fucks given. Would it be possible to change this to something SFW, when --alias was used to invoke the command (I don't mind what, and I would guess if someone is aliasing, it's probably to get a SFW program).

You should place this command in your .bash_profile, .bashrc, .zshrc or other startup script:
eval $(thefuck --alias)
# You can use whatever you want as an alias, like for Mondays:
eval $(thefuck --alias FUCK)

I take that to mean that you can enter whatever alias you'd like in your .bash_profile/.bashrc/.zshrc:
eval $(thefuck --alias frick)

@ChrisJefferson If you want it SFW you can patch it yourself. If you installed via pip, it's at ~/.local/lib/python*/site-packages/thefuck/ui.py where * is the python version. Otherwise you have to find the file yourself. No fucks given is at line 72, you can change it to whatever you like.

@jw4js : Yup, I just greped the whole source code for fucks, and found that no fucks given is the only user-visible one, so I changed it myself.

Thanks!


previousCell is null in edge:connected event

Expected Behavior
graph的edge:connected事件中获取previousCell是空的

Current Behavior

Possible Solution

Steps To Reproduce

...
...
...

Error Message & Stack Trace
<!-- Provide a log message if relevant -->

Additional Context

Your Environment

x6: [e.g. 1.0.0]
OS: [e.g. macOS Sierra 10.12.3]
Browser: [e.g. chrome 78.0.3904.108]

@NewByVector 可能存在不兼容的情况，在 beta 分支上修复这个问题

https://github.com/antvis/X6/pull/341


Adding Pomodoro timer Project

I have contribute a pomodoro-timer project.

Great work! Thanks for contributing this Pomodoro timer project


Fastnlight: Watch 🖕

Fastnlight requests the watch of the watch_keyword 🖕. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

Approved by tripleee in Charcoal HQ


Simplified syntax / higher-level abstractions for making HTTP Requests with schema decoding and retries

What is the problem this feature would solve?
In @effect/platform version 0.63, HTTP requests could be retried and decoded with this syntax:
async function listTodos(headers: Headers, searchParams: URLSearchParams) {
  return Effect.runPromise(
    HttpClientRequest.get(`${url}?${searchParams.toString()}`, { headers }).pipe(
      HttpClient.fetchOk,
      HttpClientResponse.json,
      Effect.retry(Schedule.exponential(1000).pipe(Schedule.compose(Schedule.recurs(3)))),
      Effect.andThen((data) => Schema.decodeUnknownSync(todoListSchema)(data)),
    )
  )
}

The above code strikes me as something that an average TypeScript application developer could understand and maintain. It is also consumable by code that doesn't have to know about Effect.
Now, in version 0.66, we would have to write generator functions and classes to achieve the same thing:
https://github.com/Effect-TS/effect/blob/main/packages/platform/README.md#integration-with-schema
import {
  FetchHttpClient,
  HttpClient,
  HttpClientRequest
} from "@effect/platform"
import { Schema } from "@effect/schema"
import { Effect } from "effect"

const program = Effect.gen(function* () {
  const client = yield* HttpClient.HttpClient
  const addTodo = HttpClient.schemaFunction(
    client,
    Schema.Struct({
      title: Schema.String,
      body: Schema.String,
      userId: Schema.Number
    })
  )(HttpClientRequest.post("https://jsonplaceholder.typicode.com/posts"))

  const response = yield* addTodo({
    title: "foo",
    body: "bar",
    userId: 1
  })

  const json = yield* response.json

  console.log(json)
}).pipe(Effect.scoped, Effect.provide(FetchHttpClient.layer))

Effect.runPromise(program)
/*
Output:
{ title: 'foo', body: 'bar', userId: 1, id: 101 }
*/

and from the effect.website home page, retries:
import { FetchHttpClient, HttpClient } from "@effect/platform"
import { Console, Effect, Layer } from "effect"

const makeUsers = Effect.gen(function*() {
  const client = (yield* HttpClient.HttpClient).pipe(
    HttpClient.filterStatusOk
  )

  const findById = (id: number) =>
    client.get(`/users/${id}`).pipe(
      Effect.andThen((response) => response.json),
      Effect.scoped,
      Effect.retry({ times: 3 })
    )

  return { findById } as const
})

class Users extends Effect.Tag("Users")<Users, Effect.Effect.Success<typeof makeUsers>>() {
  static Live = Layer.effect(Users, makeUsers).pipe(
    Layer.provide(FetchHttpClient.layer)
  )
}

const main = Users.findById(1).pipe(
  Effect.andThen((user) => Console.log("Got user", user))
)

The new documented syntax is not something I would feel comfortable advocating that a real team of average TypeScript application developers adopt, since it is significantly more complex at the application logic layer. The new documented syntax is also more complex than achieving the same thing without any dependencies, as demonstrated on the website's home page:

I was super excited about the Effect project's way of solving the request / decode / retry class of problems, but I'm now feeling very nervous about introducing it into my project's code, and am honestly considering abandoning it as a dependency over performing the upgrade and refactor indicated by the example code above due to the new bits of complexity team members would have to think about and maintain:

clients
layers
scopes
generator functions / classes (While these are reasonable things for lower-level users of Effect to understand, requiring them for retry-able HTTP requests at the application logic layer feels like a major barrier in approachability / adoptability of the library)

What is the feature you are proposing to solve the problem?
I'd love to have higher level abstractions over HTTP Client modules, similar to what was in version @effect/platform 0.63 (but not necessarily identical). I am happy to refactor in order to upgrade, and do not expect stability of these v0 APIs, but the increased complexity from application developers' point of view with the recent changes to:
import { Http* } from '@effect/platform';

...has been very hard to digest.
But thank you so much for making this open source library! I understand that it's hard to make APIs that please everyone, and really appreciate all the work that has gone into every version, even the one I'm hoping will change 💕
What alternatives have you considered?
No response

The issue with the old API is lack of composability having a mix of default instances and context-accessed apis, the current version is standard in effect, the default way to expose functionality is via services and accessing services is first-class supported in effect

that said my feeling is that the HttpClient apis need complete reset, we are trying way too hard to abstract and the current API is not usable by the average developer (including myself), it's not a doc problem it's an API problem.

Some changes have been made to bring the same service methods (httpClient.*) to the module as well.
This makes it easier to use a client without using the service approach. Here are some usage patterns that are available now:
import { FetchHttpClient, HttpClient, HttpClientResponse } from "@effect/platform"
import { BrowserHttpClient } from "@effect/platform-browser"
import { NodeHttpClient } from "@effect/platform-node"
import { Schema } from "@effect/schema"
import { Effect, ManagedRuntime, Schedule } from "effect"

const todoListSchema = Schema.Array(Schema.Unknown)

// you could provide a client directly:

async function listTodos(url: string, headers: Headers, searchParams: URLSearchParams) {
  return Effect.runPromise(
    HttpClient.get(`${url}?${searchParams.toString()}`, { headers }).pipe(
      Effect.flatMap(HttpClientResponse.filterStatusOk),
      Effect.flatMap(HttpClientResponse.schemaBodyJson(todoListSchema)),
      Effect.scoped,
      Effect.retry({
        times: 3,
        schedule: Schedule.exponential(1000)
      }),
      Effect.provide(FetchHttpClient.layer)
    )
  )
}

// or use a ManagedRuntime:

const runtime = ManagedRuntime.make(
  FetchHttpClient.layer
  // or one of these:
  //
  // NodeHttpClient.layer,
  // NodeHttpClient.layerUndici,
  // BrowserHttpClient.layerXMLHttpRequest
)

async function listTodos(url: string, headers: Headers, searchParams: URLSearchParams) {
  return runtime.runPromise(
    HttpClient.get(`${url}?${searchParams.toString()}`, { headers }).pipe(
      Effect.flatMap(HttpClientResponse.filterStatusOk),
      Effect.flatMap(HttpClientResponse.schemaBodyJson(todoListSchema)),
      Effect.scoped,
      Effect.retry({
        times: 3,
        schedule: Schedule.exponential(1000)
      })
    )
  )
}

// or the recommended service approach:

export class Todos extends Effect.Service<Todos>()("Todos", {
  effect: Effect.gen(function*() {
    const client = HttpClient.filterStatusOk(yield* HttpClient.HttpClient)

    const list = (url: string, headers: Headers, searchParams: URLSearchParams) =>
      client.get(url, {
        headers,
        urlParams: searchParams
      }).pipe(
        Effect.flatMap(HttpClientResponse.schemaBodyJson(todoListSchema)),
        Effect.scoped,
        Effect.retry({
          times: 3,
          schedule: Schedule.exponential(1000)
        })
      )

    return { list } as const
  }),
  dependencies: [NodeHttpClient.layerUndici]
}) {}


ManySprites and rafxmark examples

Windows 10
Vulkan Backend
AMD Ryzen 7 5800X
32 GB RAM
Nvidia RTX 3080

ManySprites is inspired by Bevy's many_sprites demo.

On my machine, I'm seeing ~0.75 FPS in many_sprites on Bevy, and ~18 FPS in rafx. This does not perform any visibility culling. The sprites in ManySprites are rotating each frame, the camera is rotating, the view matrix is rotating, the sprites have random colors and scales, the opacities are varied per sprite, and the sprites have random depths. This avoids most perf optimizations that rafx has for less degenerate scenes, like batching sprites on the same z-layer.
rafxmark is inspired by Bevy's bevymark demo.

I can add about ~35k bouncing sprites with velocities / gravity / collisions and remain above 60 FPS.
In Bevy, it tanks at about ~7k.

Looks good, will merge when it passes CI!


Calling inspect on context values causes extra quoting

You probably don't want to call inspect if the value is already a string.
As it is, my environment shows up in Airbrake as 'dev' instead of dev

Good idea, would you be kind enough to send a patch?

I would, but we're eliminating our usage of Airbrake, and so will be
removing this dependency very shortly. Sorry!
2012/1/6 Felix Geisendrfer <
<EMAIL_ADDRESS>

Good idea, would you be kind enough to send a patch?

Reply to this email directly or view it on GitHub:
https://github.com/felixge/node-airbrake/issues/11#issuecomment-3383946

Thanks


Rename Throttle to Debounce and Vice Versa

Related to discussion here #480

I was giving some effort to create test coverage for those operators, let me create this PR also as starting  point.


What scene will be used in the challenge?

As only spheres will be considered as obstacles in the challenge, do you plan to test only in scene 0 (warehouse)? Because in scene 1 (street), the drone may spawn inside or close to a building which may mislead the agents that are based on depth camera. Also in the forest, the trees will not be considered but the agent will still see them.

Only spheres in the warehouse environment will be considered for the challenge. There will be no other obstacles.

Thanks for this Q and A. Could you also provide any more details on the level and scoring during evaluation? I.e. should we focus on finishing a medium level as fast as possible, or focus on finishing a hard level at all (without hitting obstacles)?


Addition of PyCon India 2019 talk on Numba

Adding PyCon India 2019 talk to the Numba list of Talks/Tutorials.
Regards,
Ankit

@animator Awesome! Thanks for submitting this. It looks good to me and I will mark it as ready for merge. I assume you did run sphinx locally to check that link is being displayed correctly?

Thanks @esc !
Yeah I checked it. It was displaying correctly.

@animator thanks for submitting and helping to improve and spread the word about Numba! This will probably be merged during our next merge window.

Sounds Great!
My only regret is that I came across Numba this year. Wish I had known about it a bit earlier.
It is pure magic. Thanks to the entire numba dev team!

I think some of your examples were parallelizable.  So, if you give the talk again, maybe try adding parallel=True and report the performance improvements there as well.  Well done on the talk and thanks again for supporting Numba.


Invalid Json in request Does not call custom validation rule also passes the validation and Controller method is called

Laravel Version: 8.35.1
PHP Version: 7.4.11
Database Driver & Version: not related to the issue

Description:
Validation passes if an invalid value is provided.  I am validating Json using custom rule and passing invalid JSON by pass the validation and hit the controller method. Instead, it should  through validation exception or some kind but the controller method should not be reached
Steps To Reproduce:
We will try to check that a JSON passes name attribute and is not empty

Create Form Request

public function rules()
{
    return [
        'json_check' => [new CheckJsonRule()]
   ];
}

Create custom rule

public function passes($attribute,$value) {
    if(!array_key_exists('name',$value)) {
        return false;
   }
    if(empty($value['name'])) {
       return false;
   }

   return true;
}

Passing Data

Correct behavior 1:
Pass valid JSON (Postman)
This will pass the validation
{
   "json_check":{"name":"john"}
}

Correct behavior 2:
This will fail the validation and will through validation exception
{
   "json_check":{}
}

Invalid behavior:
This will pass the validation, the problem appears here
{
   "json_check":{"age:26,}
}

The above is invalid JSON and it will not call the custom rule and it will directly call the controller method
I would like to have an exception raised and skip the call to the controller method

Hi there,
Thanks for reporting but it looks like this is a question which can be asked on a support channel. Please only use this issue tracker for reporting bugs with the library itself. If you have a question on how to use functionality provided by this repo you can try one of the following channels:

Laracasts Forums
Laravel.io Forums
StackOverflow
Discord
Larachat
IRC

However, this issue will not be locked and everyone is still free to discuss solutions to your problem!
Thanks.

Thanks, @driesvints
I had debugged (using xdebug) the code and it appears to be an issue let me provide you exact code from the framework that I identified
/**
     * Validate a given attribute against a rule.
     *
     * @param  string  $attribute
     * @param  string  $rule
     * @return void
     */
    protected function validateAttribute($attribute, $rule)
    {
        $this->currentRule = $rule;

        [$rule, $parameters] = ValidationRuleParser::parse($rule);

        if ($rule === '') {
            return;
        }

        // First we will get the correct keys for the given attribute in case the field is nested in
        // an array. Then we determine if the given rule accepts other field names as parameters.
        // If so, we will replace any asterisks found in the parameters with the correct keys.
        if (($keys = $this->getExplicitKeys($attribute)) &&
            $this->dependsOnOtherFields($rule)) {
            $parameters = $this->replaceAsterisksInParameters($parameters, $keys);
        }

        $value = $this->getValue($attribute);

        // If the attribute is a file, we will verify that the file upload was actually successful
        // and if it wasn't we will add a failure for the attribute. Files may not successfully
        // upload if they are too large based on PHP's settings so we will bail in this case.
        if ($value instanceof UploadedFile && ! $value->isValid() &&
            $this->hasRule($attribute, array_merge($this->fileRules, $this->implicitRules))
        ) {
            return $this->addFailure($attribute, 'uploaded', []);
        }

        // If we have made it this far we will make sure the attribute is validatable and if it is
        // we will call the validation method with the attribute. If a method returns false the
        // attribute is invalid and we will add a failure message for this failing attribute.
        $validatable = $this->isValidatable($rule, $attribute, $value);

        if ($rule instanceof RuleContract) {
            return $validatable
                    ? $this->validateUsingCustomRule($attribute, $value, $rule)
                    : null;
        }

        $method = "validate{$rule}";

        if ($validatable && ! $this->$method($attribute, $value, $parameters, $this)) {
            $this->addFailure($attribute, $rule, $parameters);
        }
    }

This is the code that get hits  and the exact variable is $validatable whose value is false and that's why it does not call the custom validator. To be more specific this is the code I am talking about
// If we have made it this far we will make sure the attribute is validatable and if it is
        // we will call the validation method with the attribute. If a method returns false the
        // attribute is invalid and we will add a failure message for this failing attribute.
        $validatable = $this->isValidatable($rule, $attribute, $value);

        if ($rule instanceof RuleContract) {
            return $validatable
                    ? $this->validateUsingCustomRule($attribute, $value, $rule)
                    : null;
        }

I think you should give it a time instead of redirecting me to stackoverflow


Add segment props

Adds posting to new endpoints for segment properties json

Discovered some missing features for the new server version constraint system. Fixed.. @bdpedigo take a look.

also, wondering if the current release script will effectively bump twice (since that's also part of the build, but it's also in this PR)


Completions for docker

Are not available.

But the completion scripts are at
/Applications/Docker.app/Contents/Resources/etc/docker*.zsh-completion

after brew cask install docker.

This happened at some point, at least on Linux.


Unity Version

Hi,
I am having issues in regard to what version of Unity I should be using. When using the suggested version (Unity 2017.1.3f1), I am getting XR namespace doesn't exist errors. Apparently only Unity versions 2017.2 and after use XR and any previous version uses the VR namespace. Is there any updates as to which version of Unity we should use?
Thanks!

Thank you for your inquiry.
As you said, I think that if the VR namespace error is fixed, it works with the new Unity editor version.
However,  it seems that breaking changes have been made to HoloToolKit 2<IP_ADDRESS> running on Unity editor 2017.2.
It is necessary to modify the example scenes to make it work properly.

For Unity Version 2017.1.3f1, I had an issue where Core did not have a rotate function, so I commented out the line to remove the error.
I do not know if it is related but when I build the project, I am not able to select the different demos on the menu screen. Do you know anything that would cause this?

What is the version of OpenCV for Unity you are using?
This issue does not occur if the latest version of OpenCV for Unity is used

I imported the most recent OpenCV for Unity available to me (2.1.3). Do I have to buy the upgrade to get the 2.2.7 version?

Environment
Windows 10 Pro 1709
Windows 10 SDK 10.0.14393.0 to 10.0.16299.0
Visual Studio 2017 (v151.5.0)
Unity 2017.1.3f1
HoloToolkit-Unity-v1.2017.1.2 (https://github.com/Microsoft/MixedRealityToolkit-Unity/releases)
OpenCV for Unity 2.2.6 (https://assetstore.unity.com/packages/tools/integration/opencv-for-unity-21088)
HoloLensCameraStream (https://github.com/VulcanTechnologies/HoloLensCameraStream)
Have to use "OpenCV for Unity" 2.2.6 or later.


[#296] Remove powered by link

Related to #296

Description
Remove the powered by paybutton link at the bottom of the widget
Test plan
Preview a button and check the link is gone and it looks good

ah that makes more sense, added


Add clone page option

@akash-codemonk Can we add some Cypress tests for this feature? How can we conclusively say that this feature is working?


Throttle JobSubmitter to 100k or MAX_JOBS_PER_OWNER

as per https://cms-logbook.cern.ch/elog/GlideInWMS/5638 we need JobSubmitter to go idled and put a warning sign when reaching 95% of MAX_JOBS_PER_OWNER schedd classad
FYI @bbockelm

My take on this is. If this has no impact on condor stability, I'd rather have that limit bumped from 100k to something beyond that (maybe 150k) in the condor_schedd configuration and avoid adding hooks to the agent. Eventually these hooks become evil and they do more harm then help

agreed on trying to run the agents/schedd away from that limit.
having the throttling alert would prevent to shoot 80k jobs down the drain within an hour.

and also the fact that draining agents have no limit (opened thresholds)
we need to patch the draining agents quite fast to be able to put them safely back in operation and get the jobs that people are watching for ran ; even a patch that we through away afterwards would do.
alternatively we patch the draining agents for the proper sharing of threshold and we set them back on (not draining)
@ticoann @amaltaro please suggest something fast

Let me have a coffee and I'll look into it. Maybe that's not really needed...

We can restart the components. The draining agents cannot submit more than 123k jobs:
SQL> select sum(pending_slots) from wmbs_location where state=(select id from wmbs_location_state where name='Normal');

SUM(PENDING_SLOTS)
------------------
	    122991

Still, it would be good to have a protection for the longer future.

Since Ops is no longer blocked by this issue, I'm removing these labels.
For the record, this is the issue that hit us on JobSubmitter
2017-10-03 16:16:31,616:140432992196352:ERROR:SimpleCondorPlugin:Moving on the the next batch of jobs and/or cycle....
2017-10-03 16:16:31,616:140432992196352:ERROR:SimpleCondorPlugin:Failed to create new proc id.
Traceback (most recent call last):
  File "/data/srv/wmagent/v1.1.4.patch2/sw/slc6_amd64_gcc493/cms/wmagent/1.1.4.patch2/lib/python2.7/site-packages/WMCore/BossAir/Plugins/SimpleCondorPlugin.py", line 148, in submit
    clusterId = schedd.submitMany(clusterAd, procAds)
RuntimeError: Failed to create new proc id.
2017-10-03 16:16:31,782:140432992196352:ERROR:SimpleCondorPlugin:SimpleCondorPlugin job submission failed.
2017-10-03 16:16:31,782:140432992196352:ERROR:SimpleCondorPlugin:Moving on the the next batch of jobs and/or cycle....

Oh, actually the SI team has to change the schedd setting first.

123+20 is very close to 150k IMO.
draining agent do have a limit then ?

BTW : this is a blocker for Ops since if you implement this throttling we can restart the jobsubmitter all around and be sure we won't shoot ourselves in the head, this time, or the next time.

Jean-Roch, Scarlet, I've just finished restarting JobSubmitter on all the agents that it was down (all draining I think). These were the changes before the component got restarted:

pending thresholds lowered to 50/45 percent. (that gives us ~42k pending slots)
AgentStatusWatcher restarted, in order to get the slots changes right away
JobSubmitter added back to the cron watching/restarting it and ErrorHandler
JobSubmitter restarted

I had another look at the code, and when an agent goes into drain it still uses the pending slots setting. So if it's 50%, it will use only 50% of the pending slots.

Good to know Alan. I saw Phedex down on 250 and 251 I assume someone restarted them. Because of this issue we have not really been opening Jira tickets or keeping track of this much. Are things back to normal now? When things go down now Jira ticket and I can restart it. Or are we still in stress mode and the potential of another melt down is still here and it is a free for all for who ever wants to restart restarts components?

@amaltaro @vlimant It seems like based on unified:  https://vocms049.cern.ch/unified/ under agent health this is red vocms0303.cern.ch in distress should we just leave it for now?

Production should be stable again, though there is still a very high pressure on global pool.
Feel free to restart/report any issues you spot.
(Just a side comment not to mix subjects, if you see timeouts being reported in wmstats (phedex for instance), make sure to check the logs before restarting anything. Cmsweb phedex had 2 instabilities today, components take longer to go through its work, but it doesn't crash).


Implement network version 12 state migration / actors v4 migration

Summary of changes
Changes introduced in this pull request:

Implements state migration scaffold in vm/state_migration crate.
Implements network version 12 / actors v4 migration.
Update: nv12 state migration takes around 13-15 secs.

 I just compiled this, I wanted to see how it runs. Also, don't forget to merge main.

n/m, got the link in slack. For others:
https://fil-chain-snapshots-fallback.s3-us-west-2.amazonaws.com/mainnet/minimal_finality_stateroots_711940_2021-04-29_03-00-00.car

I verified the code in this PR works as expected. :+1:

hey @cryptoquick thanks for sharing the pain of testing state migration lol. Must have taken you about 1.5 hours!

@creativcoder Dude, it took me closer to 10 hours, lol. I'm on a dual core laptop while my rig is down. I'm not sure if the anomalous behavior I mentioned in Slack was unusual just because of my limited system resources. If I had to guess, yeah, probably!
I was glad to do it, though! I try to help with PRs when I can.


Bumper

Hi, could you say me if the functionnality of the bumper working now ?

Hi,
not yet. Bumper functionality is on the to-do list for the next product.
On Thu, Sep 5, 2024, 2:34 AM g02200jeff @.***> wrote:

Hi, could you say me if the functionnality of the bumper working now ?
—
Reply to this email directly, view it on GitHub
https://github.com/makerspet/makerspet_snoopy/issues/1, or unsubscribe
https://github.com/notifications/unsubscribe-auth/BCJ6V3QDRZN4DU6FMWSSI5LZVAQTZAVCNFSM6AAAAABNWCMSGCVHI2DSMVQWIX3LMV43ASLTON2WKOZSGUYDOMRXHE3TMNI
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


Include network name in Activity tab?

From Sunil in https://github.com/AlphaWallet/alpha-wallet-ios/issues/2293#issue-746194844 :

Activity needs network as in Android, otherwise Rinkby and Mainnet transactions looks the same

@AW-STJ I checked with @colourfreak when I implemented that and one of the constraints were that there isn't enough space/breathing room for more information. But if it's important, and we can tweak it and make it work, we can implement it.

I have many ideas and suggestions about Activities (even though I believe this is one of the most developed part of AlphaWallet).

Network name could go on the left side of a date, aligned to the right.

Another issue, I think having just 3 states for transactions would be better. Arrows pointing to the top right and arrows pointing down are too similar to each other. Maybe it's better to make it even simpler.

Now we have:

Maybe instead:

We have a lot of unused real estate if you open any Activity. I know it has some long-term ideas, but I have never seen this applied.

it does make sense to keep it in the current format, only if we plan to develop activities in this way:

but for now, for all send/receive transactions we have unused real estate. And there is nothing new you can learn if you open a certain activity.

@colourfreak regarding networks, what do you think about https://trello.com/c/5N7J6mjY/21-explicit-and-mutually-exclusive-test-vs-prod-mode?


unix,win: add uv_thread_timedjoin()

Add a new timed thread join function

Thanks for the pull request but I don't think we can merge this without macOS support (which indeed doesn't have anything like pthread_timedjoin_np to the best of my knowledge.)
A secondary issue is that pthread_timedjoin_np (on both linux and freebsd) use a real-time clock whereas WaitForSingleObject is monotonic.

It doesn't and I don't think there is any way to emulate it given the current implementation with pthreads. If this is not mergeable without MacOS support I'll close this. Thanks for taking a look

The macos name is spelled kqueue :)

The macos name is spelled kqueue :)

I'm not very familiar with kqueue, but upon reading. I don't see how this can be implemented even with kqueue

hm, I was thinking it would be handled like a process, but looking back, I can't see any claim that this would work
int kq = kqueue();
struct kevent_qos_s kev;
EV_SET64(&kev, EVFILT_PROC, NOTE_EXIT, pthread_self());
kevent64(kq, &change, 1, &change, 1, 0, &timeout);
close(kq);


SQL keywords in column names

Using SQL keyword in CreateTable statement ends with crash for SQLDelight.
For example for this:
CREATE TABLE TEST (
Id INTEGER NOT NULL,
Action TEXT,
TestInt INTEGER
);

build fails with this:
Error:Execution failed for task ':app:generateQaDebugSqlDelightInterface'.
test.sq line 3:0 - no viable alternative at input ',\r\nAction'

So I simply add "[]" around keyword, and it builds with success but column name generates with this brackets.
Example:
CREATE TABLE TEST (
Id INTEGER NOT NULL,
[Action] TEXT,
TestInt INTEGER
);

generates:
String TABLE_NAME = "TEST";

  String ID = "Id";

  String ACTION = "[Action]";

  String TESTINT = "TestInt";

  String CREATE_TABLE = ""
      + "CREATE TABLE TEST (\r\n"
      + "Id INTEGER NOT NULL,\r\n"
      + "[Action] TEXT,\r\n"
      + "TestInt INTEGER\r\n"
      + ")";

In my opinion String ACTION = "[Action]"; should be  String ACTION = "Action";
For now every usage of cursor.getColumnIndexOrThrow(ACTION) ends with java.lang.IllegalArgumentException: column '[Action]' does not exist

Another thing is that every query with such projection generates wrong method in model interface.
For example:
GET_ACTION:
SELECT [Action] FROM TEST;

generates:
interface GET_ACTIONModel {
    @Nullable
    String _Action_();
}

In Creator interface it also "Action".

just of curiosity, does everything work as expected if you do [Action] ? Like does the select return what you expect?
I'll fix up the generated code to drop the brackets/quotes but im interested in how sqlite treats escaped column names

Yes, queries get's me proper data with any problem

okay. In that case I think the generated string constant should still be String ACTION = "[Action]"; in case its being used in SQLite code. The methods should drop the braces though.
The crash you're getting is actually the intended behaviour, the error message is saying that it read Action as a keyword and didn't know how to interpret to it crashed. It would be like writing int float = 10; in java, which would also 'crash' the compiler (in that it would give you that error and nothing else).
That being said, the error message is sort of unintelligible since I'm just regurgitating what the parser gives me. I'll spend some time trying to make it more readable so it's clear there was a compilation error.

oh nevermind you're saying the cursor doesn't know about that column name so it errors. Gotchya. This would actually be a good case for the android tests #315 since the sqlite query works fine but the android bindings behave differently and require the string constant to not have braces

Exactly :)
I should write cursor.getColumnIndexOrThrow(TestModel.ACTION) to make it more clear.

Unfortunately, this change breaks my case where I try to insert a new entity (via Factory.marshal().….asContentValue(). One of my columns is named [order] to avoid conflicts with the SQL keyword.
If I call insert() with the ContentValues I now run in the following SQLiteException:
android.database.sqlite.SQLiteException: near "order": syntax error (code 1): , while compiling: INSERT INTO exhibit(order,icon,description,title,major,district,name,imageNames,artist,panoramaName,audioUrl) VALUES (?,?,?,?,?,?,?,?,?,?,?)

With SQLDelight 0.4.4 it was running as expected as it used the proper [order] name.

Thanks for mentioning. This'll be fixed shortly. The original issue is still fixed as well

Thanks! Do you plan to release a hotfix version 0.5.1 shortly?

Yes, we're expecting to do a dot release the coming days

We need to do upgrade in production and want to have different version for create table.
createTable_v1:
CREATE TABLE IF NOT EXISTS A (
  _id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
  number INTEGER UNIQUE NOT NULL
)

Currently getting error
no viable alternative at input 'CREATE TABLE'

Is it possible to support createTable_v1, createTable_v2 for various create table statement?

I'm not sure I understand - do you just want to migrate your existing table to a new one or do you want to use a different table depending on some condition at runtime? If it's the latter that's not possible because we need to know the schema at compile time to properly codegen


One to many persist and different quantity

I have problem. I have some Entities as: Team, Coach, Player. I try use fixtures (alice). First I generate players and coaches
AppBundle\Entity\Player:
player{1..350}:
    __construct: false
    name: <name()>
    lastName: <lastName()>
    description: <text()>

AppBundle\Entity\Coach:
coach{1..100}:
    __construct: false
    name: <name()>
    lastName: <lastName()>
    description: <text()>

Secondly I generate teams as:
AppBundle\Entity\Team:
team{1..25}:
    __construct: false
    description: <text()>
    country (unique): @country*
    players (unique): 14x @player*
    coaches (unique): 4x @coach*

I expect that each team will have 14 players and 4 coach. But I have crazy result. Teams have different quantity players and coaches. And some players and coaches doesn't have team. What I doing wrong? Sorry for my bad English

Err, actually I'm not sure I would expect the same result. You should probably post your issue on alice as it's an alice issue. This bundle is just a port of the library on Symfony and provide some helpers to introduced a file fixtures management system (loading on an environment basis for example), but nothing more.

Thanks I'll try post this issue to nelmio


fix(retry): also retry on non search methods when DNS failure

Before this commit, methods with no fallback support (basically every
method but search) would fail at retry if the DNS error occured before the API
client timeout.
The behavior is now:

when a method with a fallback errors because of DNS failure we will
switch to JSONP right away
when a method with no fallback errors because of DNS failure we will
still retry

We could use the same mechanism for both (= always try all hosts
before JSONP) but I am not confident doing this change within a patch
or minor version. We have too litle data on how blocked XHRS are
triggered (async, sync?).
fixes #250

cc @redox @pixelastic @bobylito

We could use the same mechanism for both (= always try all hosts
before JSONP) but I am not confident doing this change within a patch
or minor version.

I would still go for it :) I don't see any risk of retrying on different hosts before going for JSONP. What do you fear?

What do you fear?

The unknown! Blocked XHRS may be asynchronously blocked by a proxy and we would wrongly retry and retry untill we tried all hosts before using JSONP. Only assumptions, not based on actual data :dancers:

The unknown! Blocked XHRS may be asynchronously blocked by a proxy and we would wrongly retry and retry untill we tried all hosts before using JSONP. Only assumptions, not based on actual data 👯

But in the worst case, we just delay a bit the JSONP retry; right? (until the other CORS requests timeout/fail)

we just delay a bit the JSONP retry; right?

Yes worse case but it would be like a verrrrrrrrrrrry long time instead of 2s right now (timeout is incremental * number of req).
If we do not get any support issue from doing this then I don't even know why do we support JSONP "automatically" (instead of an option to force JSONP) at all. If no one notice that instead of a 2s delay for searches they get 30s then no one is using JSONP fallback or monitoring users using it.

My gut feeling is that no one is using JSONP anymore :/

Let's not optimize JSONP switch with tries = unlimited


Update copy for Lottery Factor

Based on feedback, there's concern over identifying the "risk" to a project. It's important that we use language that allows the users to see that it's a piece of the overall picture of the repository health.
Current Copy

Proposed Copy for Now
Identifies project dependency on top contributors.

We should also be emphasizing that we have comments in addition to commits. cc @isabensusan

@bdougie are you referring to issue comments on the user profile?

@bdougie are you referring to issue comments on the user profile?

Mostly sharing there is an opportunity that we can add a new devstat show folks who comment the most. In the origin OSCR doc I made internally, I called this Sway.
Sway: noun - The control or influencing conversation or situation.
To the point of a maintainer, there are more things than just code happening in a project, but we are only showing that on the repo page. Reviews and comments can be represented with Sway.


Fix Apps form loading background color

Summary
This PR fixes an issue with the background color of the loading spinner when an Apps form is refreshing. The color was hardcoded to white, which didn't look right on dark mode. Light mode themes are essentially unchanged. More context here https://mattermost.atlassian.net/browse/MM-49184
Ticket Link
Fixes https://mattermost.atlassian.net/browse/MM-49184
Screenshots
Before

After

Release Note
NONE

E2E tests not automatically triggered, because PR has no approval yet. Please ask a developer to review and then try again to attach the QA label.

look good regarding the background. But what is that text there? Shouldn't this be readable?

looking good regarding the background. But what is that text there? Shouldn't this be readable?

@michelengelen No the text shouldn't be readable. The loading indicator is supposed to hide the text. The gifs in this ticket show a bit more of what's going on https://mattermost.atlassian.net/browse/MM-49184

After discussing with dev the scope and impact is small on this and it's suitable for post-merge testing.


HCI/CCO/BV-07-C & HCI/GEV/BV-01-C failing in EDTT

Describe the bug
HCI/CCO/BV-07-C [BR/EDR Commands Not Supported on LE Device]
&
HCI/GEV/BV-01-C [Status return for Unsupported Commands]
are failing in EDTT, due to a mismatch in the expected response from the controller to a inquiry command.
The test expects a "Command Status" event while the controller returns a “command completed” event with invalid command status.
A proposal to change the test was sent to the EDTT to align it with the controller https://github.com/EDTTool/EDTT/pull/2 , but no immediate agreement was reached about which should be the appropriate response from the controller.
To Reproduce
See tests/bluetooth/bsim_bt/edtt_ble_test_app/README.txt
And either run all tests or just
tests/bluetooth/bsim_bt/edtt_ble_test_app/tests_scripts/hci.sh
Expected behavior
Passing tests
Impact
An immediate workaround is to disable the test.
But there is a significant probability that the implementation is not correct. Therefore it would be much better to clarify what is the expected behavior and either fix the controller or test.
Environment (please complete the following information):

OS: Linux (Ubuntu 18.04)
Toolchain: host gcc
Commit SHA: Today's master, but this behavior has been the same for very long.

The pass verdict of the test is quite clear and the controller should be passing:
Pass Verdict
The IUT returns an HCI Command Complete or HCI Command Status Event with Status =
Unknown_HCI_Command.
@aescolar Please update EDTT to accept both responses.


Remove body systems list button in 3d ref librar

This button links to a deprecated assets and should be removed.
https://github.com/cns-iu/humanatlas.io/blob/19ce9f5c029c0b7f8bb069e35dcd129d5575e414/apps/ccf/src/assets/content/pages/3d-reference-library.yaml#L32-L34

Fixed in PR #388