Support for Proj4JS and Custom Projections in Columbus View and 2D

This PR adds support for Proj4js projections and custom, user-defined projections in 2D and Columbus View.
See #6986 for discussion in the previous review pass + pretty pictures.
Just since it's been a while, I'm going to take a look at the diff here first, update CHANGES.md, and then request review when ready.
TODO:

[ ] fix camera issues with off-center projections like EPSG:2039 - https://epsg.io/2039
[x] fix performance issues with repeated calls to BoundingSphere.fromRectangleWithHeights2D
[ ] put a better writeup here so it's easier for fresh reviewers to look

@mramato can you take another look at this too? Just to make sure we (me, @shehzan10, @bagnell) didn't miss something and unintentionally double the memory use for terrain in typical use or something.
(disclaimer, memory use is up a lot for weird projections but it was intended as a separate code path from the typical/classic geographic and web mercator cases)

I merged in master and am looking at this now.

Some high level feedback after my first few minutes with the Sandcastle examples:

I think it's confusing to have two new examples here, I would merge them into a single "Map Projections" example that has a drop down to let you pick from different productions (I realize this has to re-create the widget but that should be trivial).  This should include Cesium's 2 built-in types, an EPSG (something polar), a custom projection (link to external js file only), an a "long form" custom projection like what's in the P4oj4Js example now.
We should rename the existingProjection Sandcsatle example (which shows Perspective/Orhograpic) to be more specific.  Perhaps Orthographic Projection would be good enough if a more generic 3D term doesn't exist.
If I put EPSG:3857 into the Proj4 Sandcastle, something goes wrong at the South Pole. (Should be obvious, let me know if it's not).
Why is disableDepthTestDistance set on the points you create in the examples?  It doesn't seem necessary.
Run the Custom Projection example and switch to 2D, not all of the points are filled in, why?

I tried using EPSG:3995 as a Proj4Projection and it failed somewhere deep in proj4-2.5.0.js, shouldn't we be propagating a better Cesium-specific error up to the user?

Why is viewer.camera.flyHome(0); needed in the examples?

BUG Run this code:
var viewer = new Cesium.Viewer('cesiumContainer', {
    sceneMode : Cesium.SceneMode.COLUMBUS_VIEW,
    mapProjection : new Cesium.Proj4Projection('+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=6371000 +b=6371000 +units=m +no_defs')
});
viewer.camera.flyHome(0);

Switch to 2D
Hit the Home button

Goes to an unexpected view instead of the home view.

If I put EPSG:3857 into the Proj4 Sandcastle, something goes wrong at the South Pole. (Should be obvious, let me know if it's not).

I'm not noticing anything when EPSG:3857 is used with the projection's WGS84 bounds, but if left unbounded there are logarithmic depth artifacts since the poles project to infinity and our log depth implementation has interpolation problems with extremely large triangles.

I tried using EPSG:3995 as a Proj4Projection and it failed somewhere deep in proj4-2.5.0.js, shouldn't we be propagating a better Cesium-specific error up to the user?

This is failing for me if the input is just EPSG:3995 but not if the input is the well-known-text. The doc currently specifies that input should be WKT instead of projection codes, since we aren't exposing proj4.defs for naming projections.
Maybe we can re-throw proj4js errors with some additional context so it's more clear to the user that they should look at proj4js documentation in these situations, and perhaps we should also find a way to expose proj4js's projection naming functionality. Gotta figure out how that would work on the web workers though.

Why is disableDepthTestDistance set on the points you create in the examples? It doesn't seem necessary.

They disappear at some view distances if terrain is activated.

Run the Custom Projection example and switch to 2D, not all of the points are filled in, why?

I think it's because the projection does weird things with height, maybe the filled portion of the points in 2D don't have height but the terrain still does, so the terrain draws over top?

They disappear at some view distances if terrain is activated.

I think it's confusing.  Can't we just clamp them to terrain?  Terrain isn't even on in the example, so why worry add all.  It's adds confusion.

The doc currently specifies that input should be WKT instead of projection codes, since we aren't exposing proj4.defs for naming projections.

I think Proj4Projection is a leaky abstraction either way, but perhaps this is a good reason to rename it to WellKnownTextProjection and be clear about what is supported.  The documentation says Defaults to EPSG:3857 which clearly isn't the case.  Am I correct in that proj4.defs has no guarantee aliases so you are always supposed to use WKT, which is perfectly okay, we just need to be clear about that.  I wouldn't expose any part of proj directly to the user unless we have a really good reason for it (otherwise like I said, leaky abstraction).

I think it's because the projection does weird things with height, maybe the filled portion of the points in 2D don't have height but the terrain still does, so the terrain draws over top?

Terrain doesn't appear to be on.  Please do a cursory investigation and decide if it's something we need to fix before this goes into master, or is a separate issue (at which point write one up).

Do we have a blog post planned around this? (We should, it's a significant feature for many people).  It probably even warrants its own tutorial (but that can have an issue written for the future).

Am I correct that @bagnell has already reviewed this code once when it went into a staging branch?  Just making sure that's the case.

While I haven't looked at all the code yet,  I'm going to stop until the next round of changes are in (since I asked for some non-trivial things that will most likely affect additional feedback).
Really excited about this feature, nice work @likangning93!

Another random thought, is there a reason to keep the other "Hard coded" projections, or can we just use implement the existing projections in terms of WellKnownTextProjection?

We had some discussions before about loading Proj4js as-needed instead of bundling it as part of built Cesium. If we still go that route (which is probably ideal) we'd want to keep the existing projection code.
Also, no guarantees on how Proj4js implements/will implement various projections under-the-hood - moving GeographicProjection and WebMercatorProjection over to wkt might break a large number of epsilon-check tests.

no guarantees on how Proj4js implements/will implement various projections under-the-hood

For example, we interpret EPSG:4326 in GeographicProjection.js as radians lat/long multiplied by the largest radius of the ellipsoid, but Proj4js just passes lat/long straight through.

The documentation says Defaults to EPSG:3857 which clearly isn't the case.

@mramato I'm not sure I understand what you mean by this, Proj4Projection uses the string EPSG:3857 via defaultValue when wellKnownText is not provided. Removing all args from the Proj4Js Projection Sandcastle also produces what looks to be the Web Mercator projection, with poles projected to infinity without a limiter.

I think it's because the projection does weird things with height, maybe the filled portion of the points in 2D don't have height but the terrain still does, so the terrain draws over top?

Terrain doesn't appear to be on. Please do a cursory investigation and decide if it's something we need to fix before this goes into master, or is a separate issue (at which point write one up).

Cesium World Terrain isn't on, but the projection does raise and lower the heights of the mesh that Cesium generates in the absence of a terrain provider. It happens at some view distances using EPSG:3857 as well though, I'll see if I can replicate this in master at all.

Why is viewer.camera.flyHome(0); needed in the examples?

Forgot to respond to this one... @mramato this is in here because otherwise the examples start over North America, and we wanted to show how the projection looks over the whole world.
I think that's Cesium's default in 2D/CV.

Proj4Projection uses the string EPSG:3857 via defaultValue when wellKnownText is not provided

My point was you said upthread not to use EPSG and instead always use WKT.

[EDIT] @bagnell pointed out https://github.com/AnalyticalGraphicsInc/cesium/blob/master/Source/Scene/SceneTransforms.js#L255, it might be that height for part of each point entity is getting set to 0.0 in 2D when it should be set to the actual height. He mentioned something about this being an overhaul long ago to avoid z-fighting in 2D mode.

Should we write this up as a separate issue?  Seems odd if the requirement is "disable depth testing if you're in other projections"

For example, we interpret EPSG:4326 in GeographicProjection.js as radians lat/long multiplied by the largest radius of the ellipsoid, but Proj4js just passes lat/long straight through.

Sounds good to me, just figured I'd ask, I expected the answer to be no.

Should we write this up as a separate issue? Seems odd if the requirement is "disable depth testing if you're in other projections"

This happens regardless of whether or not disableDepthTest is on or off, I need to dig a little more. There's a couple other strange phenomena with the custom projections example too, it's broken if the scene starts in 2D.

Should we write this up as a separate issue? Seems odd if the requirement is "disable depth testing if you're in other projections"

You shouldn't have to disable depth testing. Long ago we set the height of everything in 2D to 0.0, but everything was z-fighting so we re-did the orthographic frustum and added height in 2D. It seems like we missed that in the code @likangning93 linked to. The 0.0 should be projectedPosition.z.

I think that's Cesium's default in 2D/CV.

That's weird, and I'm not sure it's intentional. @bagnell?
Either way, a one line comment explaining why we are doing it in the example could go a long way for new users.

That is definitely a bug. The default should be the home view.

BUG Run this code:

var viewer = new Cesium.Viewer('cesiumContainer', {
    sceneMode : Cesium.SceneMode.COLUMBUS_VIEW,
    mapProjection : new Cesium.Proj4Projection('+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=6371000 +b=6371000 +units=m +no_defs')
});
viewer.camera.flyHome(0);

Switch to 2D
Hit the Home button

Goes to an unexpected view instead of the home view.

That is definitely a bug. The default should be the home view.

Looks like Cesium's Camera always flies to North America as home in 2D: https://github.com/AnalyticalGraphicsInc/cesium/blob/master/Source/Scene/Camera.js#L1280
This is also referred to as the "default rectangle the camera will view on creation" in doc, which might also explain why viewers launched in columbus view also start over North America, necessitating viewer.camera.flyHome(0);
The behavior definitely isn't new to this branch.

Looks like Cesium's Camera always flies to North America as home in 2D:

That's still seems like a bug even though it's not new to this branch. It makes sense for that to be the default for 3D, but, in 2D, it should be Rectangle.MAX_VALUE.

Looks like Cesium's Camera always flies to North America as home in 2D:

That's still seems like a bug even though it's not new to this branch. It makes sense for that to be the default for 3D, but, in 2D, it should be Rectangle.MAX_VALUE.

Open here for further discussion: #7546
I'm going to hold off on labeling it as a bug since I don't know what the original rationale was.

@mramato I pushed some updates and resolved a few items, but there's also a few comments that might need further further action, see responses.

Thanks again for your contribution @likangning93!
No one has commented on this pull request in 30 days. Maintainers, can you review, merge or close to keep things tidy?
I'm going to re-bump this in 30 days. If you'd like me to stop, just comment with @cesium-concierge stop. If you want me to start again, just delete the comment.

Thanks again for your contribution @likangning93!
No one has commented on this pull request in 30 days. Maintainers, can you review, merge or close to keep things tidy?
I'm going to re-bump this in 30 days. If you'd like me to stop, just comment with @cesium-concierge stop. If you want me to start again, just delete the comment.

@cesium-concierge stop

@likangning93 is this done from your perspective?  Or do you still have some clean-up before this is ready for another full review?

There were a couple items that I left comments on but didn't mark as resolved:
https://github.com/AnalyticalGraphicsInc/cesium/pull/7502#discussion_r253582608
https://github.com/AnalyticalGraphicsInc/cesium/pull/7502#discussion_r253588284
https://github.com/AnalyticalGraphicsInc/cesium/pull/7502#discussion_r253591749
https://github.com/AnalyticalGraphicsInc/cesium/pull/7502#discussion_r253619908
https://github.com/AnalyticalGraphicsInc/cesium/pull/7502#discussion_r253620662
https://github.com/AnalyticalGraphicsInc/cesium/pull/7502#discussion_r253620801
https://github.com/AnalyticalGraphicsInc/cesium/pull/7502#discussion_r253622743

There are also still camera control problems in some projections, but I think we were planning to fix those in a followup.

我想问一下，用的是Proj4投影为啥会出现下面的效果，地图加载不全？

还有你提交的自定义投影代码在哪？我以前在GitHub上找到过，现在找不到

Hi @Modestgentleman, I can't reproduce the problem in the screenshot. What browser are you using? Maybe you need to npm run build and clear the browser cache?

我用的是谷歌浏览器，用了火狐浏览器发现也是这个效果。我从GitHub上AnalyticalGraphicsInc/cesium下载你的分支，发现运行不起来，少文件。我于是用最新的cesium1.57版本，然后把你的文件复制粘贴到1.57版本中的代码。然后修改了cesium的引用，

运行出来的效果就是上面的截图。我不知道是哪儿出现问题了

@likangning93 what's the plan for this PR?

what's the plan for this PR?

@mramato?
It wouldn't be ideal, but if nobody has time to review this I can make my peace with closing this unmerged.

@mramato @pjcozzi Don't we need it, guys? I didn't test it yet but I'm waiting to use custom projection for years.

https://epsg.io/4526
Hello, "Support for Proj4JS and Custom Projections" is gone in the latest version? I downloaded the branch "358308bf95ca13732406f17d9056fbe73094619f" and used EPSG:4526 projection. The obtained position information is still the longitude and latitude information, not the coordinate information with the code, so I cannot load the WMS service of 4526. What is the reason? In openlayers, it is normal
你好，"Support for Proj4JS and Custom Projections" 在最新版本没有了吗？我下载了"358308bf95ca13732406f17d9056fbe73094619f"这个分支，使用EPSG:4526投影，得到的位置信息还是经纬度信息，不是带代号的坐标信息，所以无法加载4526的WMS服务，是什么原因造成的呢?，在openlayers里面是正常的

Hey , is there any update ? It would be a real upgrade for the community

Hi, is there any progress? It can be very useful for me.

At this point the branches are out of date and it'd be a lot of effort to get this PR ready. I'll leave the branch around if we want to look at this again in the future.


Support feed folders

For those who have organized their feeds into folders by topic, the OPML file also has that information. It would be super handy to have Twine organize our feeds into those folders when we import!

Twine now has support for feed groups, it should be available in the next release

Twine now has support for feed groups, it should be available in the next release

Awesome work! Thanks so much


Adds aspect_ratio, fit_width() & fit_height() to sprite

Tested but needs a review concerning type hints.
Usage:
my_sprite = pyglet.sprite.Sprite(...)
print(my_sprite.aspect_ratio)
my_sprite.fit_width(256) # scales width to 256 and height according to ratio
my_sprite.fit_height(256) # idem for height

If it helps...

Not sure about me with this PR, I will test more. Sorry.


⚠ Bofrost.fr has degraded performance

In a73261f, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 1115 ms

Resolved: Bofrost.fr performance has improved in 6a7e310 after 10 minutes.


Add non-generic Create(Type) method

I (ab)use Autofixture to generate documentation examples for a Web API. The messages (commands and queries) that Autofixture will create for me are serialized to JSON and become part of the documentation. This works really really well, and it takes a few lines of code, compared to the hundreds of lines of ugly code that the VS template for Web API generates in its /HelpPage area (yuck).
Currently I use the following code to achieve this:
private static readonly MethodInfo CreateMethodInfo =
    GetMethod(() => SpecimenFactory.Create<int>(new Fixture()))
    .GetGenericMethodDefinition();

public static object Create(Type type)
{
    var fixture = new Fixture();
    int index = 1;
    fixture.Register(() => "sample text " + index++);

    return CreateMethodInfo.MakeGenericMethod(type).Invoke(null, new object[] { fixture });
}

private static MethodInfo GetMethod(Expression<Func<int>> methodCall) =>
    ((MethodCallExpression)methodCall.Body).Method;

Since I don't know the exact message at compile time, I can't call Autofixture's Fixture.Create<T>() method. As the above code shows, the way I currently solved this is by invoking this generic Create<T> method using reflection.
Is there a simpler way to do achieve my goal, and if not, could a non-generic Create(Type) method be added to the library?

Would this solution work?
var specimen = new SpecimenContext(fixture).Resolve(type);

Cool! That does the trick! Thanks.


Training models on small datasets

I made a dataset with a few midi files, just smash mouth all star, darude sandstorm, flintstones theme, and a few others.  When trying to make the dataset for the different models they would all show up as 0 bytes when done, except melody_rnn which would make a 1mb file training_melodies.tfrecord file, and 0 bytes evaluation file.
Is there a min requirement for the size of the dataset?  Or do I need to format the midi files a certain way for the other models?  How do I get past this rule and trick it into learning from 5 songs?
I want to properly generate these sequence examples so I can then train the different models on different datasets for different amounts of time.  I need to get past this problem of having training sets of 0 bytes, and sometimes the training set has a size but the evaluation set is 0 bytes.
Also to Magenta team I apologize for posting my questions here, not sure where else to post them.  Once I learn stuff I will then know and not need to ask though so I appreciate any help.

Can you include the output of the commands you used to generate the datasets? They should include some debugging information about what was included and why. Exactly how the dataset is generated varies for each model.

Forgive me bad English~ :),  i faced your problem before,  the tutorial have writen how to generated trianing set and the evaluation set like that:"melody_rnn_create_dataset
--config=<one of 'basic_rnn', 'lookback_rnn', or 'attention_rnn'>
--input=/tmp/notesequences.tfrecord
--output_dir=/tmp/melody_rnn/sequence_examples
--eval_ratio=0.10"
focus on the last param  "--eval_ration"  it means training set :  evaluation set = 9 : 1,so you should have 10 midi file in your floder at least.  this is my personal view.

I have encountered the same problem (using it with docker). My eval_melodies.tfrecord and training_melodies.tfrecord files are empty:
-rw-r--r-- 1 root root 0 Feb 26 12:10 eval_melodies.tfrecord
-rw-r--r-- 1 root root 0 Feb 26 12:10 training_melodies.tfrecord
I did run the following command to create note sequences first:
convert_dir_to_note_sequences \
--input_dir=$INPUT_DIRECTORY \
--output_file=$SEQUENCES_TFRECORD \
--recursive

which gives me the following output (I used 40 midi files downloaded from the web):
INFO:tensorflow:Converting files in '/midi-files/'.
INFO:tensorflow:0 files converted.

The generated notesequences.tfrecord file is not empty:
-rw-r--r-- 1 root root 3706900 Feb 26 12:09 notesequences.tfrecord
Than I did run the command to create the sequence examples:
melody_rnn_create_dataset \
--config=lookback_rnn \
--input=/tmp/notesequences.tfrecord \
--output_dir=/tmp/melody_rnn/sequence_examples \
--eval_ratio=0.10

Which gives me the following output:
INFO:tensorflow:

Completed.

INFO:tensorflow:Processed 40 inputs total. Produced 0 outputs.
INFO:tensorflow:DAGPipeline_MelodyExtractor_eval_melodies_discarded_too_few_pitches: 0
INFO:tensorflow:DAGPipeline_MelodyExtractor_eval_melodies_discarded_too_long: 0
INFO:tensorflow:DAGPipeline_MelodyExtractor_eval_melodies_discarded_too_short: 180
INFO:tensorflow:DAGPipeline_MelodyExtractor_eval_melodies_truncated: 0
INFO:tensorflow:DAGPipeline_MelodyExtractor_eval_melody_lengths_in_bars:

INFO:tensorflow:DAGPipeline_MelodyExtractor_eval_polyphonic_tracks_discarded: 297
INFO:tensorflow:DAGPipeline_MelodyExtractor_training_melodies_discarded_too_few_pitches: 0
INFO:tensorflow:DAGPipeline_MelodyExtractor_training_melodies_discarded_too_long: 0
INFO:tensorflow:DAGPipeline_MelodyExtractor_training_melodies_discarded_too_short: 10638
INFO:tensorflow:DAGPipeline_MelodyExtractor_training_melodies_truncated: 0
INFO:tensorflow:DAGPipeline_MelodyExtractor_training_melody_lengths_in_bars:

INFO:tensorflow:DAGPipeline_MelodyExtractor_training_polyphonic_tracks_discarded: 18665
INFO:tensorflow:DAGPipeline_RandomPartition_eval_melodies_count: 1
INFO:tensorflow:DAGPipeline_RandomPartition_training_melodies_count: 39

I see, that it produced 0 outputs. But what is the problem here? Are 40 midi files not enough? Or did i miss something else?
Thanks for your help.

@timoisik the problem is that all of the sequences were discarded for various reasons. The output has some diagnostic info about that. Here are the relevant lines:
INFO:tensorflow:DAGPipeline_MelodyExtractor_eval_melodies_discarded_too_short: 180
INFO:tensorflow:DAGPipeline_MelodyExtractor_eval_polyphonic_tracks_discarded: 297
INFO:tensorflow:DAGPipeline_MelodyExtractor_training_melodies_discarded_too_short: 10638
INFO:tensorflow:DAGPipeline_MelodyExtractor_training_polyphonic_tracks_discarded: 18665

For training the melody model, I don't think the tracks you're using will work. They look like polyphonic piano words. You'll want something that has tracks with monophonic lines.


Error when loading the library

I've got an error when i try to load the library like this:
'use strict';
var _ = require('lodash');
var util = require('util');

var ProcessOut = require('processout');

function request_invoice(req, res) {
  res.json("plop");
}

module.exports = {
  request_invoice: request_invoice,
};

It's throw the error:
Error initializing middleware
SyntaxError: Unexpected identifier
    at exports.runInThisContext (vm.js:53:16)
    at Module._compile (module.js:387:25)
    at Object.Module._extensions..js (module.js:422:10)
    at Module.load (module.js:357:32)
    at Function.Module._load (module.js:314:12)
    at Module.require (module.js:367:17)
    at require (internal/module.js:16:19)
    at Object.<anonymous> (/invoice_api/node_modules/processout/index.js:5:15)
    at Module._compile (module.js:413:34)
    at Object.Module._extensions..js (module.js:422:10)

I've got the same error with node v4.2.2 & v5.10.1

The npm library has not yet been fully tested -- it is automatically generated following our API specifications.
The syntax error should now be fixed in the 3.1.0-0 version. Can you confirm?

That's work, thanks!

Awesome! Please don't hesitate to submit another issue if you find any other problem


Add --exit-on-error option to knife ssh

Currently, if something goes wrong in a knife ssh session we'll swallow the exception and exit status and move on.  This commit retains backwards compatibility but adds the option to exit if something goes wrong.  This has been previously discussed on CHEF-2627 and reported via support on ZD 2760
ryan@~/c/oc/chef(ryan/knife_ssh_on_error):> knife ssh name:test* "some command"; echo $?
WARNING: Failed to connect to test-standalone.localdomain -- SocketError: getaddrinfo: nodename nor servname provided, or not known
0
ryan@~/c/oc/chef(ryan/knife_ssh_on_error):> knife ssh name:test* "some command" -e; echo $?
ERROR: Network Error: getaddrinfo: nodename nor servname provided, or not known
Check your knife configuration and network settings
100

This will break people who are manually setting the existing config[:on_error] function (either from another plugin or from their config).  For instance, this will break the bootstrap plugin:
https://github.com/chef/chef/blob/ryan/knife_ssh_on_error/lib/chef/knife/bootstrap.rb#L364

@stevendanna Thanks, I didn't know that was a thing. It should be good to go know.

LGTM :+1:

@chef/client-engineers @chef/client-core review?

:+1:

:+1: Will merge after the upcoming release.


State setting of nouislider sometimes bugs

Are you requesting a feature, reporting a bug or asking a question?
Bug
What is the current behavior?

What is the expected behavior?
It should just work :tm:
How would you reproduce the current behavior (if this is a bug)?
???
Specify your

browser: Chrome (on Mac)
browser version: Version 72.0.3626.109 (Official Build) (64-bit)
surveyjs platform (angular or react or jquery or knockout or vue): React
surveyjs version: 1.0.71
slider: nouislider

I've checked our online demo - https://surveyjs.io/Examples/Library/?id=custom-widget-nouislider&platform=Reactjs&theme=default and haven't managed to reproduce the issue.
Could you provide steps to reproduce or a sample to reproduce this behavior?

I'll look into it.

Error happens due to failed initialisation of state. Missing properties made the thing bug.


Improve middleware

[Current coverage][cc-pull] is 61.85%

No coverage report found for master at 5f5f30c.

Powered by Codecov. Last updated by [5f5f30c...898b8c4][cc-compare]
[cc-base-branch]: https://codecov.io/gh/go-gas/gas/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/go-gas/gas/compare/5f5f30c481871ec48d3f28aee43a58432d3e2ee8...898b8c4b356d8ce8c8fc1747da8e7e7272924e0f
[cc-pull]: https://codecov.io/gh/go-gas/gas/pull/6?src=pr


[Feature]: Support HTML as a column type in the table widget

Is there an existing issue for this?

[X] I have searched the existing issues

Summary
Allow using html as a column type in the table widget
Why should this be worked on?
Enhances our table widget to render custom html making the tables look better
 Front conversations

I am also interested in this

Theoretically, you can also offer text that works exactly like the text widget in addition to pain text.

@dilippitchika Theoretically, you can also offer text that works exactly like the text widget in addition to pain text.

It would be also nice to allow html directly in the header rows:

Hi, I am experimenting retool and appsmith. In retool we made a table with rows with HTML, but I can't do this in appsmith. It will be awesome to have that in appsmith.

Hey @rafaelferreirapt can you also provide context on how you show the html inside table? Any screenshots will help

Hi, we are building a CS dashboard for our team. We are an electric mobility application. We need to show to the CS team in the table plenty of information before going into the session details page

.

Thanks a lot for this @rafaelferreirapt we are planning to pick this up soon, please keep following this github issue

@andrewdietekoki is this picked up, If yes, can you add an estimate?

Sure. I will do that.

@JoshMayberry @lublak @rafaelferreirapt Do you mind sparing some time to briefly talk about this issue and the context of use? Do let me know when it's convenient.

Hi @andrewdietekoki, yes, we can talk through Appsmith Discord, my user is rafaelferreirapt#4209.

Ok @rafaelferreirapt Thanks.

Any progress made here?
We would like to do something simple and include an <a> link in the table column instead of the plain URL

More support to add this feature HTML in column

I am also interested in this !

I am also interested in this !

Would be great if this feature were added. Other similar tools I'm evaluating have this.

Just to add to this, I share the same need for a HTML column as https://github.com/appsmithorg/appsmith/issues/13681#issuecomment-1221999542
We need to display complex data with rendered HTML links that send users out to relevant pages and/or external links

Please add this sooner, I meet this question either.

Awaiting for this to get implemented.. Any expected timeline for the release? Supposed to be done 'soon' 2 years back!

Same here. Would be really nice to make the tables less sterile.


Cannot repreduce the results of the paper in the KIT

Thanks for your great work! I followed the settings of hyper-parameters from corresponding opt.txt, but I still cannot reproduce the results of KIT dataset from the paper.
My results:
FID: 0.247, conf. 0.010
Diversity: 10.646, conf. 0.107
TOP1: 0.423, conf. 0.007, TOP2. 0.643, conf. 0.008, TOP3. 0.767, conf. 0.007
Matching: 2.890, conf. 0.024
Multimodality:1.086, conf.0.030

Thanks for your great work! I followed the settings of hyper-parameters from the corresponding opt.txt, but I still cannot reproduce the results of KIT dataset from the paper. My results: FID: 0.247, conf. 0.010 Diversity: 10.646, conf. 0.107 TOP1: 0.423, conf. 0.007, TOP2. 0.643, conf. 0.008, TOP3. 0.767, conf. 0.007 Matching: 2.890, conf. 0.024 Multimodality:1.086, conf.0.030

My reproduction results in H100 GPU:
net_best_fid.tar final result, epoch 35
FID: 0.114, conf. 0.001
Diversity: 11.014, conf. 0.130
TOP1: 0.287, conf. 0.004, TOP2: 0.515, conf. 0.003, TOP3: 0.632, conf. 0.004
Matching: 2.758, conf. 0.010
MAE:36.726, conf.0.135


Minor fixes

Closes #34, #35, #36
If possible, and if this is accepted, it would be helpful to cut a new release once merged.

I'm happy to merge once the tests pass, but on first glance I can't see what those test failures are about. Probably unrelated to this PR, but still seem like they need addressing.

@jbednar Would it be possible to merge this anyways and cut a release despite the tests failing? We rely on one of the bug fixes in this PR and currently are pip installing from the git hash

Fixes #41 and #42, along with a couple of other minor issues.  All tests should be passing now.

Thanks so much!  I'll tag a dev release.

Tagged: https://github.com/holoviz/spatialpandas/releases/tag/v0.3.5a0
For our other projects, tagging is all that's required for making a release, with the release process automated on Travis. It looks like none of that has been set up on this library yet, so I don't actually know what the process is for making pip and conda packages appear for spatialpandas. @jlstevens, any suggestions?


When Pod Disruption Budget blocks Node draining, no restart is possible

Currently for a Cluster running Istio, Node draining can be blocked by Kubernetes due to PodDisruptionBudget policy configuration. When this occurs, Kured until the lock timeouts.
Kured should ignore this error and reboot the Node anyway.
time="2019-07-24T14:28:47Z" level=warning msg="error when evicting pod \"istio-galley-75466f5dc7-cz7sd\" (will retry after 5s): Cannot evict pod as it would violate the pod's disruption budget." cmd=/usr/bin/kubectl std=err time="2019-07-24T14:28:52Z" level=warning msg="error when evicting pod \"istio-telemetry-66fbcd998b-ts27t\" (will retry after 5s): Cannot evict pod as it would violate the pod's disruption budget." cmd=/usr/bin/kubectl std=err time="2019-07-24T14:28:52Z" level=warning msg="error when evicting pod \"istio-sidecar-injector-6f4c67c6cd-62clr\" (will retry after 5s): Cannot evict pod as it would violate the pod's disruption budget." cmd=/usr/bin/kubectl std=err

Kured should ignore this error and reboot the Node anyway

I'm not sure this is the correct default - presumably one has configured a disruption budget for a reason :smile: But certainly we can have it as an option.
I'd rather avoid parsing the output of kubectl drain, so this will have to wait until after we migrate away from embedding kubectl to using the library version of drain.

Same problem for a standard cluster without any service mesh. There are too cases : the pod ("managed" by the PDB) can't be scheluded on another node, so the situation is blocked in this state, or the pod is rescheduled by Kubernetes on another node, but it takes time so Kured timeouts.

Faced a similar issue but for me the pod could have easily been rescheduled by k8s on another node. The PDB is quite simple and only states that min 1 pod is running.
@awh I think that it is the correct default. AFAIU when deleting a pod that has a PDB such as mine, k8s will simply make sure that a second pod is running before killing the old one. Maybe I'm not getting PDBs here but my understanding was, that k8s would take care of fulfilling the PDB.
In the end I simply killed the pod by hand and sure enough a second one was spun up before the first one shut down.

One more thing: if this isn't changed I would expect kured to at least not set the node to SchedulingDisabled. ATM the node is basically drained of pods except for the ones with PDBs.

One more thing: if this isn't changed I would expect kured to at least not set the node to SchedulingDisabled. ATM the node is basically drained of pods except for the ones with PDBs.

Wouldn't drain should be cordoning the node, which effectively makes it 'SchedulingDisabled'?

An other issue related to PDB, when this happended, CPU usage is up to 100% and it fills logs with hundred of error per seconds.

Should this issue be closed?

Yes, please do.
Thanks.
From: Branden Carrier<EMAIL_ADDRESS>Sent: 22 December 2020 14:46
To: weaveworks/kured<EMAIL_ADDRESS>Cc: Olumide<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [weaveworks/kured] When Pod Disruption Budget blocks Node draining, no restart is possible (#82)
Should this issue be closed?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/weaveworks/kured/issues/82#issuecomment-749575255 , or unsubscribe https://github.com/notifications/unsubscribe-auth/AELD2R267S6T35VPAC5KCXTSWCWJTANCNFSM4IGRLYOQ .  https://github.com/notifications/beacon/AELD2RYB7MB6SS2PDV4M2ZLSWCWJTA5CNFSM4IGRLYO2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOFSWZYVY.gif


MM-16950: JIRA in tooltip of channel header icon should say Jira

Summary

fixed text (and a semicolon)

Links
MM-16950

@crspeller @jfrerich This should have been 8 mana.


Smoothing constraints

Hi there
Thanks for this very useful library.
I'm wondering if it would be possible to add a kind of negative inertia when bounds are defined thus the x/y props would be smoothly slowed down and bounced back to the bound value instead stopped immediately.

:+1:

Definitely wouldn't mind adding this - I'll try to get around to it...

I'd like this as well ;) so just a +1

I added this in a separate branch - https://github.com/chrisbateman/impetus/tree/bounce
Please try it out if you can and let me know how it goes. Probably still needs some tweaking.

Very nice Chris!
Just tested briefly and it looks very good.
I would only add a cumulative friction during drag in order to slow down until stop after a while...
You can check my quick&dirty implementation about what I mean, here:
https://github.com/abusedmedia/impetus/blob/bounce/impetus.js#L208-L211
Thank you!

@abusedmedia Added that in the bounce branch. Still might want to tweak some of the overall physics a bit...

Anybody have a preference on whether this should be enabled by default? My thought is yes...

Implemented as of v0.8.0

:+1:


Q: React integration?

Any thoughts on how to integrate with React as a component?

Good question. I've worked on a couple of pretty large React projects in the last 12 months but I'm still not confident I'm qualified to answer.
The basic UI for ContentTools attaches itself to the body of the document as a single element
...
 and the editor that's provided as part of the library in turn uses the UI. It's probable that the editor could run alongside other react components without conflict. Alternatively a React based UI for the editor could be created (but that would be quite a bit of work).
As for making a child of a React component editable you'd probably have to use something along the lines of  where the key is used to prevent the child component from being replaced on updates and the contents is set as raw HTML. The editor start/stop methods could be modified to trigger an update of the component when the user finishes editing the component(s).
If you have something specific in mind I'll happily attempt to put together an example to see what's possible?

Thanks for the quick response. I guess the editor is the first step and the tools come second. It would be awesome to have an example React component (in ES6, not coffee : P).
Essentially just a way to set some state to display in a view and then flick between editing and viewing (as per your current demo) with perhaps some comments/console logging around when/why things are happening where they do.
I'm yet to spend too much time looking, but your structuring at first glance looks very OO and like it was written as a React component so the thought to port to React has also crossed my mind - but what you have is already rock solid so, if it's simple to integrate, seems like a no brainer to just use it as-is.

(Very) Minimal React example:
<!DOCTYPE HTML>

        <title>ContentTools react</title>
        <link rel="stylesheet" type="text/css" href="../build/content-tools.min.css">

Whenever the user saves their code the editor updates the content member of the React component's state, if the user cancels the state says as it was. Hopefully this is a good starting point if you're looking to integrate the editor into React.

Awesome, thanks!
I added the editor to state so that I could also destroy it on Unmount; otherwise, it worked on first attempt... not to hook it up with data and look at how to save things :)
Thanks again
export default class TextComponent extends React.Component {

  constructor(...args) {
    super(...args);
    this.state = {
      content : '
Edit
',
      editor  : null
    };
  }

  componentDidMount() {
    // When the react component is mounted initialize ContentTools
    this.setState({
      editor : new ContentTools.EditorApp.get()
    }, () => {
      this.state.editor.init('[data-editable]', 'data-editable');

      // Capture save events and update the react component
      this.state.editor.bind('save', (regions) => {
        this.setState({
          content : regions['text-component']
        }, () => {
          // HACK: Reselect the region DOM elements for the editor (required because React will re-render the contents of the component).
          this.state.editor._domRegions = document.querySelectorAll('[data-editable]');
        });
      });
    });
  }

  componentWillUnmount() {
    this.state.editor.destroy();
  }

  render() {
    let innerHtml = {
      __html : '
' +
                 this.state.content +
               '
'
    };

    return (

    );
  }
}

For the sake of completeness:
'use strict';

import React from 'react';
import Reach     from 'reach-react';
import Snackbar  from '../snackbar';
import './style.scss';

export default class Content extends React.Component {

  /**
   * @constructor
   */
  constructor(...args) {
    super(...args);
    this.state = {
      record : null,
      editor : null
    };
  }

  /**
   * @method componentDidMount
   */
  componentDidMount() {
    this.setState({
      record : this.props.record || {},
      editor : new ContentTools.EditorApp.get()
    }, () => {
      this.state.editor.init('[data-editable]', 'data-editable');
      this.state.editor.bind('save', (regions) => {
        this.editorChange(regions['text-component']);
      });
    });
  }

  /**
   * @method componentWillUnmount
   */
  componentWillUnmount() {
    this.state.editor.destroy();
  }

  /**
   * @method editorChange
   * @param  {Object} event
   */
  editorChange(value) {
    let record = this.state.record;
    record.html = value;
    this.setState({
      record : record
    }, () => {
      this.submit();
      // HACK: Reselect the region DOM elements for the editor after state change.
      this.state.editor._domRegions = document.querySelectorAll('[data-editable]');
    });
  }

  /**
   * @method submit
   */
  submit() {
    Reach.API[this.props.method](this.props.action, this.state.record, function (err, res) {
      if (err) {
        if (this.props.onError) {
          return this.props.onError(err, res);
        }
        return Snackbar.notify({ type : 'danger', message : err.message });
      }
      if (this.props.onSuccess) {
        return this.props.onSuccess(res);
      }
      return Snackbar.notify({ message : 'Success' });
    }.bind(this));
  }

  /**
   * @method render
   */
  render() {
    let innerHtml = {
      __html : `<div data-editable="text-component">${ this.state.record ? this.state.record.html : '' }</div>`
    };

    return (

    );
  }
}

@mattgi dumb question, is your sample code ES6 or Babel?

We are running on Babel Stage 0.. may drop back to 1 or 2 when we revisit potential issues... not sure we actually make use of anything from Stage 0 tbh.

@mattgi @anthonyjb Glad to have found this! I considering using this for my React project as well and I was wondering if either of you could share your experience with this example or projects and any learnings before I embark on my journey?
@anthonyjb Any plans by any chance to create a React wrapper for this library?

Any news on this topic? It's been some years...

Hi @needfulthing I'm afraid I'm no longer involved in any react projects and we dropped it as a framework from our stack sometime ago now. So realistically React integration isn't something we have plans to introduce.
Of course if others with relevant knowledge and experience want to add support for it then I'd help in any limited capacity I can.


Use iptables to fill checksum for kind cluster

After restarting docker, all Nodes' networks will be recreated, which
makes user have to rerun kind-fix-networking.sh as it fixes the
checksum issue by disabling tx offload of veth interfaces associated
with Nodes.
This patch changes the script to install an iptables rule which fills
checksum of packets leaving via bridge interfaces, which could take
effect across docker restart.
Fixes #3386
Signed-off-by: Quan Tian<EMAIL_ADDRESS>

@antoninbas I don't handle machine restart case yet, want to check whether this solution makes sense and works for CI first.
If it works, we may install an init script to resolve the machine restart case. What do you think?
I think we don't need to worry route_localnet because:

For most users and TCE, kube-proxy still runs, which takes care of setting route_localnet.
My understanding is that it's not an antrea issue, but a kind dns issue when kube-proxy doesn't run, so we don't need to fix it in antrea specific script.
Even we want to make it work permanently, we could set route_localnet as kube-proxy does when required.

Codecov Report

Merging #3392 (87b0018) into main (fc2e855) will decrease coverage by 20.78%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##             main    #3392       +/-   ##
===========================================
- Coverage   60.68%   39.89%   -20.79%
===========================================
  Files         268      306       +38
  Lines       26853    38830    +11977
===========================================
- Hits        16296    15492      -804
- Misses       8751    21787    +13036
+ Partials     1806     1551      -255

Flag
Coverage Δ

integration-tests
35.80% <ø> (?)

kind-e2e-tests
?

unit-tests
42.34% <ø> (+0.01%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

pkg/ovs/openflow/default.go
0.00% <0.00%> (-100.00%)
:arrow_down:

pkg/util/runtime/runtime.go
0.00% <0.00%> (-100.00%)
:arrow_down:

pkg/agent/openflow/groups.go
0.00% <0.00%> (-100.00%)
:arrow_down:

pkg/agent/nodeportlocal/k8s/annotations.go
0.00% <0.00%> (-93.55%)
:arrow_down:

pkg/ovs/openflow/logs.go
9.52% <0.00%> (-90.48%)
:arrow_down:

pkg/apis/controlplane/register.go
0.00% <0.00%> (-90.00%)
:arrow_down:

pkg/agent/controller/networkpolicy/reject.go
0.00% <0.00%> (-78.23%)
:arrow_down:

pkg/agent/client.go
0.00% <0.00%> (-77.42%)
:arrow_down:

pkg/flowaggregator/certificate.go
0.00% <0.00%> (-76.58%)
:arrow_down:

...agent/controller/traceflow/traceflow_controller.go
0.00% <0.00%> (-69.86%)
:arrow_down:

... and 287 more

@antoninbas It turns out iptables checksum fills the checksum selectively. When there are some offloads enabled, it skips filling checksum for specific traffic, for example, I found checksum was still incorrect for some packets that beyong MTU.
However, I figured out another way that can fix the checksum issue without touching the host network. It could work for both docker restart and machine restart cases, and can make our kind user life easier.
BTW, we could totally remove kind-fix-networking.sh once kind has a release enabling route_localnet by itself: https://github.com/kubernetes-sigs/kind/pull/2375.

BTW, we could totally remove kind-fix-networking.sh once kind has a release enabling route_localnet by itself: https://github.com/kubernetes-sigs/kind/pull/2375.

Can we move the sysctl command to start_ovs_netdev in the meantime and just remove the script now?

@antoninbas since we have confirmed antrea.yml can be used on kind without problem, I will close this PR. Please let me know you plan to create a PR removing kind specific changes, or I could make one.

Closing the PR as per the above discussion.


Support option to disable projection in Json Data Library

Description:
Allow users to override the default projection behaviour of JSON data library using option,
type Options record {|
    boolean isProjectionAllowed = true;
|};

Describe your task(s)
Related Issues (optional):

Suggested Labels (optional):

Suggested Assignees (optional):

We support disable projection with https://github.com/ballerina-platform/module-ballerina-data.jsondata/pull/2/commits/bda32fb8916be0c4b83763939b3dac5b7a1fba42

Completed with https://github.com/ballerina-platform/module-ballerina-data.jsondata/commit/bda32fb8916be0c4b83763939b3dac5b7a1fba42


how to interpret the output?

it seems that deepbindiff produced the following files, but how to interpret them?
edgelist
edgelist_merged_tadw
nodeIndexToCode
thank you.

Hi, please see the Misc in README. The results are directly printed on the screen as a list of matched pairs.


Tabs indicator being set incorrectly due to scroll bar

Description
The tab indicator is not well positioned when the current tab has a vertical scroll bar visible and the target tab doesn't.
Repro Steps
Tab container is displayed as flex, tabs are flex-grow 1 to fit screen width.
Click the tabs that will have enough content to show a vertical scroll bar in the browser
Click the last tab on the right.
The tab indicator style value is right:-12px; it should be 0px;
12px value is the scrollbar width of my browser.
Screenshots / Codepen
first tabs with scrollbar

last tabs without scrollbar

The right css attr should be calculated after tab content is shown.

A codepen would be very useful. Does this happen with Materialize 0.98.2?

And which browser are you using?

And which browser are you using?

According to the picture it should be Mozilla Firefox (stable) ;-)

I cannot create a code pen now.
Yes it is Firefox latest stable.

Closed due inactivity. Feel free to reopen it, if it's still necessary.


Add HTJ2K Compressor

WIP DO NOT MERGE
This patch fulfills my action item from the September 19 TSC meeting.
Introduction
This patch proposes to add support for High-Throughput JPEG 2000 (HTJ2K) compression to OpenEXR --  HTJ2K is JPEG 2000 with the HT block coder standardized in Rec. ITU-T T.814 | ISO/IEC 15444-15. As detailed at Evaluating HTJ2K as a compressor option for OpenEXR, HTJ2K demonstrates significant improvements in both speed and file size over other OpenEXR compressors. Furthermore, HTJ2K is a worldwide standard that benefits from a diversity of implementations, builds on JPEG 2000, which is in broad use in studio workflows, is appropriate for long-term preservation, has both lossy and lossless modes and supports integer and floating point samples. Finally, the unique features of HTJ2K could be powerful additions to high-performance OpenEXR workflows where the full image may not always be viewed at its full resolution.
The patch currently defines four compressors:

HT: Lossless coding using HTJ2K. Each chunk is the full image frame and the open-source OpenJPH library is used.
HT256: Lossless coding using HTJ2K. Each chunk is 256 lines and the open-source OpenJPH library is used.
HTK: Lossless coding using HTJ2K. Each chunk is the full image frame and the commercial KDU library is used.
HTK256: Lossless coding using HTJ2K. Each chunk is 256 lines and the commercial KDU library is used.

Questions

can a compressor store configuration information once in a file, so that the same information is available for each chunk to both the compressor and decompressor?

Notes

HT and HTK Compressors are identical and use the open-source OpenJPH library is the Kakadu SDK is not found
Ultimately there will be a single lossless HTJ2K Compressor. The HT and HTK Compressors are currently offered to ensure interop, and facilitate comparisons, between OSS and commercial options.
The full-frame and 256-line chunk options are currently offered to evaluate the impact of sub-frame chunking on coding efficiency performance.

Todo

add support for 32-bit samples to OpenJPH
explore adding a progressive decoding API to OpenEXR
explore tradeoff of chunk-size (currently set to 256) on compression efficiency, single-threaded/multi-threaded throughput and partial decoding (low-resolution and/or region of interest)

can chunking can be replaced with full-frame coding and J2K accessibility features? This is more important in lossy coding to avoid edge effects.
select a chunk size, i.e., is 256-line a reasonable value?
can J2K tiles be used instead of independent codestreams to remove JPEG 2000 codestream header overhead?

The CI is failing in the validate step, which is attempting to link a test program against the library. The error message indicate the link is failing with unresolved symbols, possibly because that cmake configuration is missing the new dependency.
However, this part of the CI has been rewritten in the PR I just merged. Can you rebase your branch onto the current main branch now? It may still fail, but hopefully it will be easier to resolve then at least.

Can you rebase your branch onto the current main branch now? It may still fail, but hopefully it will be easier to resolve then at least.

@cary-ilm Done.

The failure in the "Validate" step of the linux build is along the lines of what we discussed in the TSC meeting today, the check to make sure "make install" installs just the right files.  This output from the logs appears to indicate that the cmake configuration is causing the openjph library and headers to be installed, when that shouldn't happen, it'll cause problems for downstream projects:
Error: The following files were installed but were not expected:
  bin/ojph_compress
  bin/ojph_expand
  include/OpenEXR/ImfHTCompressor.h
  include/OpenEXR/ImfHTKCompressor.h
  include/openjph/ojph_arch.h
  include/openjph/ojph_arg.h
  include/openjph/ojph_base.h
  include/openjph/ojph_codestream.h
  include/openjph/ojph_defs.h
  include/openjph/ojph_file.h
  include/openjph/ojph_mem.h
  include/openjph/ojph_message.h
  include/openjph/ojph_params.h
  include/openjph/ojph_version.h
  lib64/libopenjph.so
  lib64/libopenjph.so.0.18
  lib64/libopenjph.so.0.18.2
  lib64/pkgconfig/openjph.pc

Try to make sure your cmake "fetch" of openjph mirror as close as possible how the current setup handles libdeflate and Imath. I had a similar issue with them originally but the current setup should handle the the fetch properly.

Thanks! What is the best way to run that validate step locally?

@cary-ilm I remember now... I could never fix the following errors:
[cmake] CMake Error: install(EXPORT "OpenEXR" ...) includes target "Iex" which requires target "openjph" that is not in any export set.
[cmake] CMake Error: install(EXPORT "OpenEXR" ...) includes target "IlmThread" which requires target "openjph" that is not in any export set.
[cmake] CMake Error: install(EXPORT "OpenEXR" ...) includes target "OpenEXRCore" which requires target "openjph" that is not in any export set.
[cmake] CMake Error: install(EXPORT "OpenEXR" ...) includes target "OpenEXR" which requires target "openjph" that is not in any export set.
[cmake] CMake Error: install(EXPORT "OpenEXR" ...) includes target "OpenEXRUtil" which requires target "openjph" that is not in any export set.

It seems to impose some requirements on openjph, which I could not find a solution for.

I'm not enough of a cmake expert to immediately know how to resolve this.  Since this is a work in progress, you could just disable the CI "validate" step entirely for now, just edit the workflow file on your branch and add a "if: false" line, or just delete it. We'll need it resolved eventually before merging, but at least that will allow you to get on with other priorities.
I'm happy to help resolve this, but I won't have much time to look into it until mid-January.


add delay to  1 sec

script generally wont work in 0.5 sec at least in my end I had to run script manually every time. after I set it to 1 sec it fixed.

I'd rather identify which specific properties we need to wait for and then observe them for changes, rather than using an arbitrary time offset. Can you tell me which properties require the extra 0.5 seconds?


Add PostCSS syntax highlighting support. Fixes #10

I've added support for PostCSS syntax highlighting.
Sorry, I've not tested this change, but according to section about linters in SublimeLinter docs this would do the trick.

Build is failing in Travis, but problem not with my changes and build failed on master branch too.


Duplicate implementations of pvalue.

See here and here.
These both may be affected by the work in https://github.com/mlabs-haskell/liqwid-onchain/issues/24 as well.
We need to

[ ] Determine which should be used
[ ] Remove the other(s)

This has been resolved: there's no pvalue in LPE now. Closing.


False positives on older Android Chrome versions

Environment

Plugin Version: 0.5.6
Webpack Version: 4.41.5
OS Version: OSX 10.15.2
Node Version: Node 10
NPM Version: NPM 6
Browser Version: Chrome 79.0.3945.117

We are trying to use this plugin to display an "unsupported browser" message on all versions of IE and versions of iOS earlier than 11 (as we know these browsers do not work with our apps.)
For all other browsers we do not want to show a message. With that in mind we are trying to use something like the following plugin settings:
{
  browsers: ["cover 100%, not iOS < 11, not IE <= 11"],
  promptOnUnknownBrowser: false,
  promptOnNonTargetBrowser: false
}

This does exactly what we need with one exception: versions of Chrome on Android earlier than 79 cause the message to appear which seems to be an issue with the query results:
npx browserslist "cover 100%, not iOS < 11, not IE <= 11"

and_chr 79
and_ff 68
<snip>

I realise this is not a direct issue with this plugin per-se but I am after any ideas we can use to stop the message appearing on Android Chrome short of forking this plugin and trying to add a hard-coded exception.

@robcaldecottvelo npx browserslist "cover 100%, not iOS < 11, not IE <= 11, not last 1 ChromeAndroid version"


Override for inheriting configure environment when debugging/launching

There is some internal debate as to which preset should supply the environment by default and how we might provide an override for people who don't like that decision.  Right now, Visual Studio uses the configurePreset environment instead of the build or test preset environment.
Originally posted by @bobbrow in https://github.com/microsoft/vscode-cmake-tools/issues/1774#issuecomment-873302811

Using this report for implementing additional cmake commands for getting the environment variables from more precise sources (configure, build, test presets) and controlled by the user.

I think should use test environment  for debug/launch, and build environment for compile source file


Update developer guide

The ubuntu Java CI build is not successful, and it's because the DG is failing the checkstyle, do use checkstyle on your DG before pushing it to github.

Good to see that the checkstyle error was corrected.


Make all Bok Choy tests show long failure messages

@jzoldak @benpatterson this is a simple change to improve failure messages for Bok Choy failures. See this Stack Overflow article for the reasoning:
http://stackoverflow.com/questions/4634625/python-can-unittest-display-expected-and-actual-values
This has been bothering me for a while, when we see Jenkins failures with no indication of what the actual and expected values were.

From discussions with edX developers, I'm closing this as the approach is too rigid. I'll investigate introducing a new base class for edX acceptance tests in edx-platform where this can live.


Remove a duplicated link from "Standard Debugging Techniques" page

Standard Debugging Techniques page has two identical links to Crashing and Rebooting the Target Computer page (at line 36 and 49 in standard-debugging-techniques.md). This pull request removes the second one to avoid the confusion.

@masaru-iritani - As much fun as it is to crash and reboot the target PC, one link to that topic is all we need. Thanks for seeing this error, and creating a PR with exact fix! Best Regards.


Enable admin to post new files

Pivotal: #107188452
As an admin user I want to upload new clarification answers in pdf, new ITT packs in zip format and their accompanying email in PDFs from the admin app so that I don't have to get a developer involved each time.

Plus one for the front end bits.

I don't think that the filetype checking should be done here, it should be done in dmutils so that we can be consistent with how we do this between applications. Also, while checking the filetype by it's contents is useful we should be using existing libraries like python-magic rather than doing it ourselves as it's notoriously finicky. I think we talked about not doing it for this story and instead tackling it in it's own right separately.

@robyoung I can get rid of it if you'd prefer, but it seemed easier to chuck it in and then replace it at some point in the future.

Needs a rebase but looks good :+1:

@robyoung done.


Public Settings API Endpoint

refs #10318
This PR bundles a few changes around settings.
Small / simple changes:

Unused old settings have been removed from the v2 Admin API
A weird require was changed in the importer
@blog was aliased to @site, and swapped in all of our internal templates

Bigger changes:
I've added a new concept of settingsCache.getPublic(), which returns an object containing all of our public settings, e.g, with the default values, it will return:
{ title: 'Ghost',
  description: 'The professional publishing platform',
  logo: 'https://static.ghost.org/v1.0.0/images/ghost-logo.svg',
  icon: '',
  cover_image: 'https://static.ghost.org/v1.0.0/images/blog-cover.jpg',
  facebook: 'ghost',
  twitter: 'tryghost',
  lang: 'en',
  timezone: 'Etc/UTC',
  ghost_head: '',
  ghost_foot: '',
  navigation: [
     { label: 'Home', url: '/' },
     { label: 'Tag', url: '/tag/getting-started/' },
     { label: 'Author', url: '/author/ghost/' },
     { label: 'Help', url: 'https://help.ghost.org' }
  ]
}

This new method is used in two places -
First, in a new settings-public API endpoint, i.e
GET ghost/api/v2/content/settings/
Where it returns this object wrapped in our standard API structure:
{settings: {
  title: 'Ghost',
  description: 'The professional publishing platform',
  logo: 'https://static.ghost.org/v1.0.0/images/ghost-logo.svg',
  icon: '',
  cover_image: 'https://static.ghost.org/v1.0.0/images/blog-cover.jpg',
  facebook: 'ghost',
  twitter: 'tryghost',
  lang: 'en',
  timezone: 'Etc/UTC',
  ghost_head: '',
  ghost_foot: '',
  navigation: [
     { label: 'Home', url: '/' },
     { label: 'Tag', url: '/tag/getting-started/' },
     { label: 'Author', url: '/author/ghost/' },
     { label: 'Help', url: 'https://help.ghost.org' }
  ]
}}

Second, in the theme middleware, which is used to populate the {{@blog}} global in themes.
Note: This does constitute a change, as amp has been removed and ghost_head and ghost_foot added, however there is no docs nor usecase for amp (as there wasn't for permalinks) and I believe it is safe to remove this without waiting for a major version bump. We can always put it back if we have to.

@kirrg001 I have manually tested this code, added a single test to cover the endpoint and improved test quality elsewhere. I'm super happy this is all working as expected, requesting review purely because I haven't touched the new v2 API frame type code before and I want to make sure I have done this in an expected way.
The API frame stuff is neat by the way 🎉 . I originally implemented this with a special serialiser before I realised it made more sense to reuse the public settings output, and so moved the processing all the way back to the cache.

👏🏻Will review tomorrow morning 🦒

@kirrg001 to be clear, I'm not asking for a full review, just asking you to eyeball the first 4 files and tell me if I did anything weird with the frame.

Hi, I found this PR while trying to figure out what was contained in the @blog object. I now know that it's an alias for @site - would also love to update the docs at https://ghost.org/docs/api/v3/handlebars-themes/context/index/ to make that easier for future readers

@ErisDS if I wanted to make a PR to the docs, where might I do that? I found https://github.com/TryGhost/docs/blob/master/.github/CONTRIBUTING.md but this repo is archived.


Test: Make basic_usage reboot test more reliable

jenkins: test this please

@stgraber next on my hit list when I get a chance are those grep -Fc instance-restarted errors.


How to make predictions deterministic?

Hello everyone,
how to prevent it from changing new predictions after each training?
Of course it is a LLM, but it is problem that changing every time. for example; my mape value is changing rapidly, bad or better..
have any recommend?
thank you already now.
abdül

@abdulmeral since the models are based on PyTorch, you can refer to PyTorch documentation about reproducibility.
In particular, setting the random number generation seed with
import torch
torch.manual_seed(0) # or some other number

before doing predictions, should make the behavior deterministic.
Another option to stabilize predictions (at least the "central tendencies" like mean and median) is to increase the number of samples by passing in num_samples when calling .predict (default is 20): this however will come at the cost of slower predictions.

@lostella I think it maybe better to use transformers.set_seed for seeding. It seeds everything under the sun, so you will have consistent results.

thank you very much guys. both ideas are working.
and also my colleague recommends that making predictions with different seed numbers so we can get more generic results.

@abdulmeral glad that it helped. On another note, you should probably stop using MAPE because it's not a good metric. Checkout something like MASE, if you're working with point forecasts.

@lostella I think it maybe better to use transformers.set_seed for seeding. It seeds everything under the sun, so you will have consistent results.

TIL

Hi, I have tried to use transformers.set_seed(42), torch.manual_seed(42), np.random.seed(42) and other ways, prediction still fluctuates, are there any other good ideas? I am using the median as the point prediction and I hope the prediction can be the same.

Hi,
In a Jupyter Notebook,  with transformers.set_seed(0) set, I've noticed in the same session,  if you run the same block a second time, it gives a different result.  Since no logic is changed between them, and the seed is fixed, why would that happen?

@UncleChen2018 have you tried transformers.set_seed(0, deterministic=True)?

I have this issue right now, and it is haunting me. I followed all the steps, except for including num_samples in predict because this option was unavailable.
I brought a reproducible example for a multivariate time series (multiple ids to predict).
I have different results if I provide a 1D Tensor compared to a 2D Tensor. Should not they be the same? Can (Should) we try to make both results the same?
import pandas as pd
import numpy as np
import torch
import os
# os.system('export HF_HOME="/mnt/data/gui"')  # Set the environment variable
os.environ["TF_ENABLE_ONEDNN_OPTS"] = "0"
os.environ["CUBLAS_WORKSPACE_CONFIG"]=":4096:8"
# os.environ["CUBLAS_WORKSPACE_CONFIG"] = ":16:8"
os.environ["HF_HOME"] = (
    "/mnt/data/gui"  ## define diretório de cache do hugginface para carregamento dos modelos - Don't know if it is necessary
)
from chronos import BaseChronosPipeline
import random
import gc
import transformers
## Seta device para uso de gpu
device = "cuda" if torch.cuda.is_available() else "cpu"
random.seed(42)
np.random.seed(42)
os.environ["PYTHONHASHSEED"] = str(42)
torch.manual_seed(42)
transformers.set_seed(42, deterministic=True)

df = pd.read_parquet("https://datasets-nixtla.s3.amazonaws.com/m4-hourly.parquet")
df = df[df["unique_id"].isin([f"H{i}" for i in range(1, 10)])]
df.rename(columns={"unique_id": "id"}, inplace=True)
forecast_steps = 12

type_model = "amazon/chronos-bolt-base"  # Parameters: 205M - Tempo carregamento: 1m 11s
# local_model_path = "/mnt/data/gui/hub/models--amazon--chronos-bolt-tiny/snapshots/f6ff2d2ba9168d498c015bc8dd07e3b395b31b3f"
local_model_path = "/mnt/data/gui/hub/models--amazon--chronos-bolt-base/snapshots/6f8ced46a499ae1dfd399981f551152d756cf4f6"
try:
    # Define the path where the model is stored locally
    pipeline = BaseChronosPipeline.from_pretrained(
        local_model_path,
        device_map="cuda",  # use "cpu" for CPU inference
        torch_dtype=torch.bfloat16,
    )
except FileNotFoundError or OSError or NameError:
# except:
    pipeline = BaseChronosPipeline.from_pretrained(
        type_model,
        device_map="cuda",  # use "cpu" for CPU inference
        torch_dtype=torch.bfloat16,
    )

########## TENSOR 2D

# Group the data by 'id'
grouped = df.groupby("id")
# Prepare the context as a 2D tensor (batch_size, sequence_length)
context = []
ids = []
for id_value, group in grouped:
    # Store the ID for later reconstruction
    ids.append(id_value)
    # Convert the 'y' values to a tensor
    context.append(group["y"].values)

# Convert the list of arrays into a 2D tensor
context_tensor = torch.tensor(context, dtype=torch.float32)

# Define the prediction length and quantile levels
quantile_levels = [0.1, 0.5, 0.9]

# Make the predictions for all ids at once
quantiles, mean = pipeline.predict_quantiles(
    context=context_tensor,
    prediction_length=forecast_steps,
    quantile_levels=quantile_levels,
)
# Convert predictions back to a dataframe
results = []

for i, id_value in enumerate(ids):
    for t in range(forecast_steps):
        results.append(
            {
                "id": id_value,
                "time_step": t,
                "mean": mean[i, t].item(),
                **{f"quantile_{q}": quantiles[i, t, j].item() for j, q in enumerate(quantile_levels)},
            }
        )

# Create a dataframe from the results
results_df = pd.DataFrame(results)

########### 1D TENSOR
ids = df["id"].unique()

y_preds = []
products = []
for id in ids:
    data = df[df['id']==id]
    ## FORECAST
    quantiles, mean = pipeline.predict_quantiles(
        context=torch.tensor(np.array(data["y"]), dtype=torch.float32),
        prediction_length=forecast_steps,
        quantile_levels=[0.1, 0.5, 0.9],
    )
    y_pred = mean.cpu().numpy().flatten()
    y_preds.append(y_pred)
    products.append(np.repeat(id, forecast_steps))

df_single = pd.DataFrame({"id":np.concatenate(products).tolist(), "mean":np.concatenate(y_preds).tolist()})
df_single[df_single['id']=="H9"]

results_df[results_df['id']=="H9"]

observations:

If I start my df with a single time series, both results are the same
Once I started my df with a two-time series, I also got the same results
If I changed the value of CUBLAS_WORKSPACE_CONFIG I also had different results.

So, is there another step to make the results deterministic?
Thank you in advance!


Get ClamAV working natively with Asset Manager on ARM

Problem: Permissions
ERROR: Problem with internal logger (UpdateLogFile = /var/log/clamav/freshclam.log).
ERROR: initialize: libfreshclam init failed.
ERROR: Initialization error!
ERROR: Can't open /var/log/clamav/freshclam.log in append mode (check permissions!).

Suggestion: Look at how Licensify got around this.

This is now resolved.


Guidance section contradicts itself

the 2nd and 3rd bullet on the guidance section appear to contradict each other. one says 'dont use automated deployments', the other says only automated deployments will work.

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

ID: 75028922-3176-8802-9f85-62c92c381784
Version Independent ID: 1e1c0232-aee5-59c9-fc1e-f8d7a8cf73a8
Content: How to troubleshoot Azure Functions Runtime is unreachable.
Content Source: articles/azure-functions/functions-recover-storage-account.md
Service: functions
GitHub Login: @alexkarcher-msft
Microsoft Alias: alkarche

Hi @bytejunkie Thank you for your feedback! We will review and update as appropriate.

@bytejunkie They indeed sound contradicting. 😄
I believe together, the bullet points are trying to suggest setting the values at the time of creation and do not try setting them as part of automated deployment.
@alexkarcher-msft Could you confirm?

Yeah, the wording is definitely not the most clear :)
It should read something to the tune of "Do not modify these settings when using automated deployments."

@alexkarcher-msft Thanks for confirming! I will go ahead and a create a PR fixing it accordingly.

@bytejunkie Thanks for contributing to MS Docs! We have a merged a PR which addresses this.
We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.

Apologies, but I'm still confused by the wording.
Can I suggest something like
From:
Do not modify these settings as part of automated deployments.
To:
When using automated deployment methods, these settings should be set by deployment and never modified manually thereafter, as this will break the function app.
Also on this point:
These settings must be provided and valid at creation time. An automated deployment that does not contain these settings will result in a non-functional App, even if the settings are added after the fact.
Is there some context as to why adjusting the settings afterwards is bad? I've got a 3rd party devops team who just wont listen to me when i tell them not to, they need a reason. it breaks it doesnt seem to be good enough for them!!!

I'm fine with more verbose wording :)
In terms of justification, there is just a very complicated matrix of what is supported to change from one thing to another on the fly. Some scenarios will certainly work, and some will not work, and we do not want to provide the labyrinth of docs and support necessary to support this scenario at a GA level.
Is there a particular scenario your team has that requires deploying a broken app and attaching a storage account after the fact?

Its not exactly a scenario, but for a little while a terraform deployment would use the full connection string, but the app would only show the account name for the connection. Delete and recreate a few times fixed it and i’ll submit a bug if I see it again.
Thanks,
Matt
From: Alex Karcher
Sent: 04 March 2019 21:50
To: MicrosoftDocs/azure-docs
Cc: matt short; Mention
Subject: Re: [MicrosoftDocs/azure-docs] Guidance section contradicts itself(#25766)
I'm fine with more verbose wording :)
In terms of justification, there is just a very complicated matrix of what is supported to change from one thing to another on the fly. Some scenarios will certainly work, and some will not work, and we do not want to provide the labyrinth of docs and support necessary to support this scenario at a GA level.
Is there a particular scenario your team has that requires deploying a broken app and attaching a storage account after the fact?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.


wsl 2 stops working for unknown reason

Version
Microsoft Windows Version 20H2 (OS Build 19042.1645)
WSL Version

[X] WSL 2
[ ] WSL 1

Kernel Version
No response
Distro Version
Ubuntu 20.04
Other Software
No response
Repro Steps
My WSL2 worked well, but I got this error from last Friday for unknown reason.   Maybe because I ran 'network reset'?
Uninstall/re-install wsl2 does not help anything!

Expected Behavior
Expect to work well
Actual Behavior

Diagnostic Logs
No response

Are you able to collect logs?
https://github.com/microsoft/WSL/blob/master/CONTRIBUTING.md#record-wsl-logs-manually


[Experiment] Added do end alternative to braces

This is just an experiment on having an alternative to left and right braces.

This was not hard to achieve but it required two additional keywords to be added
Lots of tests fails because of the "end" to be a keyword now.

if (true) do
  System.print("hello") // expect: hello
end

Fn.new do | hello | System.print(hello) end.call("world") // expect: world

class Test do
  static hello { "Wren" }
  static print(){ System.print(hello) }
end

Test.print() // expect: Wren

do
  System.print("closure") // expect: closure
end

I wonder if we could do Ruby-style blocks with an implicit "do" keyword 🤔
if true
	puts "Hello World"
end

In Wren this part of the language is well defined and at the moment there is no interest in adding alternative syntax for this.
Thanks for the suggestion!


Does thie project stoped?

I'm using this plugin in my work and want to find out wheather this project will continue or not?

What is this question about? Is there a bug? Have you any problem with it? Continue to what?

There is no bug found so far. I see you have plan to v2.0 and in my project i want to achieve a function that support moving a li from a ul to another ul and the two ul has no structure relation. my english is poor, i'm not sure you can understand.


Implement more test cases on Chisel types to prevent future crashes

The test/ directory contains tests for the simulators implemented in this repo (ParametricSimulator and TywavesSimulator). Since, covering all the possible designs is quite difficult, these tests help in reducing the chances of unexpected failures while using Tywaves.
The Chisel explanation page contains all available Chisel constructs. This issue asks for implementing test cases using all the constructs available to make Tywaves even more robust.

Some tests are already implemented covering almost all Chisel features and constructs. Here, is a full list of tasks to implement the missing tests (_the list includes also features already covered in the current version).

[ ] Ground Data Types - tested and working but explicit tests are welcome
[ ] Bundles and Vecs - https://www.chisel-lang.org/docs/explanations/bundles-and-vecs
[ ] Modules
[ ] Memories
[ ] BlackBoxes
[ ] Enumerations
[ ] DataView
[ ] Muxes
[ ] Reset
[ ] Polymorphism and Parameterization
[ ] Print statements
[ ] Decoders
[ ] Intrinsic Modules
[ ] Properties
[ ] Layers
[ ] Some other features are not closely related to Tywaves and their behaviour is covered by other constructs. However, it is a good practice to write tests for them as well.

[ ] Combinational Circuits
[ ] Operators
[ ] Width Inference
[ ] Functional Abstraction
[ ] Ports
[ ] Sequential Circuits
[ ] Interfaces and Connections
[ ] Functional Module Creation
[ ] MultiClocks
[ ] Connectable operators

[ ] a


Fixed for Teensy's, added SPI.transaction (where applicable)

The current master doesn't compile with Teensy's, I have added some addition for compile with Teensy's and support for SPI Transactions for processor that support this. I also corrected some tiny warnings. Compliments for this marvellous hardware tiny thing!

Tested with Teensy and works. Some example need just small adds for compatibility with Teensy

Dear Max,
Thanks for your point out the bugs and help us to fix it and support the Teensy.
I didn't have tried the Teensy, I think I will buy one for try.
What else can I do for you, do you need some samples for our camera modules?
Best Regards,
Lee

From: max mc costa
Date: 2015-11-27 09:22
To: ArduCAM/Arduino
Subject: Re: [Arduino] Fixed for Teensy's, added SPI.transaction (where applicable) (#7)
Tested with Teensy and works. Some example need just small adds for compatibility with Teensy
—
Reply to this email directly or view it on GitHub.

Thanks Lee, I'm actually write some more examples for Teensy and some TFT/OLED libraries I already shared in my github.
The only question is about the SPI speed, there's no way to rise up from 8Mhz?

You can rise the SPI speed to 8MHz, but we do face the compatibility problem for Arduino DUE.
The SPI timing is strange on DUE board, we can't make it work even at 4MHz, if we rise ArduCAM's hardware SPI speed to support 8MHz.
From: max mc costa
Date: 2015-11-29 23:49
To: ArduCAM/Arduino
CC: Lee
Subject: Re: [Arduino] Fixed for Teensy's, added SPI.transaction (where applicable) (#7)
Thanks Lee, I'm actually write some more examples for Teensy and some TFT/OLED libraries I already shared in my github.
The only question is about the SPI speed, there's no way to rise up from 8Mhz?
—
Reply to this email directly or view it on GitHub.

Lee, was there ever an official version of the software released that included transactions?


Use unreachable!() macro in kmain

Small change: switch unimplemented macro to unreachable so it is clearer that execution should not reach that point.

Looks good! The build is failing due to a different issue, that'll be fixed soon and then I'll merge this!

Awesome. Look forward to contributing to your project!


Q: Overriding Jest testResultsProcessor

Overriding testResultProcessor config for jest is not supported without ejecting. I was wondering why and whether you would see an alternative.
Context
We are a distributed team working on a multi-module project based on many technologies (java, groovy and of course react!)
What I am trying to achieve
I am trying to add a reporter to jest so that my CI server can parse them.
I can see that having this enabled on every test run would be an overhead, right now, I would see it as an extension to CI Heuristics.
Why I need it
We use Bamboo for our CI pipeline. Bamboo can parse unit test reports in many formats (JUnit for e.x.) and Bamboo uses this data to provide lot of useful information to the team at a quick glance, such as:

Are the number of tests growing or shrinking from the build plan screen
Which test failed the build
History of an individual test case: does it fail often? This has in the past help us identify areas in our code/test strategy which can require attention
Create JIRA ticket quickly which preserves the context so that one can take a look at it later.

Other info
react-scripts: 1.0.10
CI Server: Bamboo
Thoughts, feedback, criticism welcome.

Please add a separate script that passes it as command line argument. That should be enough.
https://github.com/facebookincubator/create-react-app/issues/2474#issuecomment-306378291

Thank you! I must improve my git issue searching skills!


Make reasoning clear either way whether a solution is available

current interview only provides reason why a solution is not available
trying to partly address this comment:
Yes, this is an interesting bit. It would be useful to abstract this to have greater clarity that the reasoning is correct and matches intuitions; it could be a useful support to legal advisors in clarifying relevant background information and inferences to potential solutions.

Provide break down of why or why not they might consider each debt solution. They might have forgotten something or not realized it was important


[adobepass] Add Playstation Vue login

Please follow the guide below

You will be asked some questions, please read them carefully and answer honestly
Put an x into all the boxes [ ] relevant to your pull request (like that [x])
Use Preview tab to see how your pull request will actually look like

Before submitting a pull request make sure you have:

[x] At least skimmed through adding new extractor tutorial and youtube-dl coding conventions sections
[x] Searched the bugtracker for similar pull requests

In order to be accepted and merged into youtube-dl each piece of code must be in public domain or released under Unlicense. Check one of the following options:

[ ] I am the original author of this code and I am willing to release it under Unlicense
[x] I am not the original author of this code but it is in public domain or released under Unlicense (provide reliable evidence)

What is the purpose of your pull request?

[ ] Bug fix
[x] Improvement
[ ] New extractor
[ ] New feature

Description of your pull request and other information
Adding support for Playstation Vue logins and hopefully any MSO that's added to the dict.  Fixes #11878.
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['http://www.fox.com/watch/911715395559', '--ap-mso', 'sony_auth-gateway_net', '--ap-username', 'PRIVATE', '--ap-password', 'PRIVATE', '-o', 'C:\\Users\\Greg\\Videos\\%(title)s.%(ext)s', '--test', '-v']
[debug] Encodings: locale cp1252, fs utf-8, out utf-8, pref cp1252
[debug] youtube-dl version 2017.04.03
[debug] Python version 3.6.1 - Windows-10-10.0.14393-SP0
[debug] exe versions: ffmpeg 3.2.4, ffprobe 3.2.4, rtmpdump 2.3
[debug] Proxy map: {}
[FOX]<PHONE_NUMBER>59: Downloading webpage
[FOX]<PHONE_NUMBER>59: Downloading Provider Redirect Page
[FOX]<PHONE_NUMBER>59: Downloading Provider Login Page
[FOX]<PHONE_NUMBER>59: Downloading Provider Login Page
[FOX]<PHONE_NUMBER>59: Downloading Provider Login Page
[FOX]<PHONE_NUMBER>59: Logging in
[FOX]<PHONE_NUMBER>59: Logging in
[FOX]<PHONE_NUMBER>59: Logging in
[FOX]<PHONE_NUMBER>59: Confirming Login
[FOX]<PHONE_NUMBER>59: Confirming Login
[FOX]<PHONE_NUMBER>59: Confirming Login
[FOX]<PHONE_NUMBER>59: Confirming Login
[FOX]<PHONE_NUMBER>59: Retrieving Session
[FOX]<PHONE_NUMBER>59: Retrieving Authorization Token
[FOX]<PHONE_NUMBER>59: Retrieving Media Token
[ThePlatform] G3aA1RN7K8oK: Downloading SMIL data
[ThePlatform] G3aA1RN7K8oK: Checking video URL
[ThePlatform] G3aA1RN7K8oK: Checking video URL
[ThePlatform] G3aA1RN7K8oK: Checking video URL
[ThePlatform] G3aA1RN7K8oK: Checking video URL
[ThePlatform] G3aA1RN7K8oK: Checking video URL
[ThePlatform] G3aA1RN7K8oK: Checking video URL
[ThePlatform] G3aA1RN7K8oK: Checking video URL
[ThePlatform] G3aA1RN7K8oK: Checking video URL
[ThePlatform] G3aA1RN7K8oK: Downloading JSON metadata
[debug] Invoking downloader on 'http://dlv.fox.com/Fox.com/403/395/TheSimpsons_WABF12_911722563561_mp4_video_1280x720_2500000_primary_audio_8.mp4?__gda__=1491313556_7644c0d32de7a1dcefa8a394959f6764'
[download] Destination: C:\Users\Greg\Videos\Caper Chase.mp4
[download] 100% of 10.00KiB in 00:00

I'm sorry. I can't seem to squash or remove all of the merge requests.

@gkoelln does this still work for VUE?   I think the main login page does have a captcha no robot check box

@fivehorizons - I’ve had mixed results with it, though part of my problem was forgetting that I had changed my PSVue password. I’m just now noticing the branch conflicts here and I may look into them soon.  All I can say is that I make no guarantees, but you can try it, if you like.

@gkoelln thanks I will give it a try.  Will this type of auth make the stream or download not time or expire after 3 hours or so?  Seems the hls stream urls expire or the token does

I haven’t noticed any timeouts.

@gkoelln Do you have some examples of the vue urls that you made work?   This is what I have.
http://tbs-cnn-live-sonytv-i.akamaihd.net/npid=E4761B5F0631DE9234D71C474727B3CEED239EA964C29ED70D80A242FCEF40A9&deviceid=web2-w&e=1514812150&hmac=1458e751c17e09414fc60a1d40ca389f11d89fa9/PROD08/sony/TBS_CNN/live/master_wired_ads.m3u8
http://tbs-cnn-live-sonytv-i.akamaihd.net/npid=E4761B5F0631DE9234D71C474727B3CEED239EA964C29ED70D80A242FCEF40A9&deviceid=web2-w&e=1514812150&hmac=1458e751c17e09414fc60a1d40ca389f11d89fa9/PROD08/sony/TBS_CNN/live/2017/12/19/10426087/4500K/4500_slide_ads.m3u8

I should clarify that this is intended as a login provider for other sites, such as fox.com, cbs.com, abc and go sites, etc. I’ve not actually tested it for vue.playstation.com pages.

@gkoelln I know this isn’t the place but not sure how to communicate with you outside of here.   I’m looking for some help on some side projects and could use your input.   You can contact me if you wish at zmclean at gmail dot com
We can discuss donation as well :)

Use getflv for some sites with the log in and have done so for years and they have not said one word about my info as long as am on the same home network use for streaming from the website and use the right zip code. only certain sites would cause an issue like fox as they are tied to your home location.


The state of EspNvsStorage

Could you please help me understand what the state of affairs is with the NVS storage part, @ivmarkov ? Looking to contribute.

Why does the RawStorage impl utilise both u64 and blob? Is it just more space-efficient to store with u64 if the blob is 8 bytes or less?
For the future Storage impl, are we to allow the user to choose a serialization format, or should we just impl with something efficient and embedded-friendly like postcard?
Should the Storage trait have its own associated error type, separate from that of StorageBase, in order to encompass (de)serialization errors?

Could you please help me understand what the state of affairs is with the NVS storage part, @ivmarkov ? Looking to contribute.

Why does the RawStorage impl utilise both u64 and blob? Is it just more space-efficient to store with u64 if the blob is 8 bytes or less?

Yes. RawStorage impl for ESP-IDF is implemented by utilizing the ESP-IDF NVS library. Using BLOBs for everything is not very efficient.

For the future Storage impl, are we to allow the user to choose a serialization format, or should we just impl with something efficient and embedded-friendly like postcard?

Users will be able to whichever serde they want by implementing the SerDe trait. Or just implement their own Storage impl, if they want to do something more exotic.

Should the Storage trait have its own associated error type, separate from that of StorageBase, in order to encompass (de)serialization errors?

The fact that Storage shares the error type with StorageBase does not mean that its impl (i.e. the SerDe-based impl that we'll provide out of the box) is obliged to share its error type with a potential RawStorage impl to which it might delegate. See here.
I might get rid of EitherError though in favour of a dedicated error type, but in any case the dedicated error type would still have an "either" semantics.

Thanks. I didn't know about the next branch in embedded-svc, that makes things a lot clearer! When are you looking to merge that in?

In a week, max two. Need to remove/move elsewhere a bit more util stuff from embedded-svc and then it should be ready.

I think this is all addresses with the new release since a couple of months. There is a separate issue request for compatibility between the Rust storage impl and the C one.