ODSP driver: implement expiration policy for snapshots

ODSP storage is deleting blobs in old summaries.
That means client can not be able to read a blob from summary it loaded from if enough time elapsed from when such snapshot was the latest one in a file.
We do not have formal mechanism to know when such blobs are deleted, or vice versa - guaranteed time they are available in the storage.
This has rather big implications to delay loading of data stores, DDSs, as well as snapshot caching in ODSP driver.

We need to have some methodology to express this data, likely as expiration time that is communicated by server to us.
We need to adjust snapshot caching logic in ODSP driver to ensure we never use cached snapshots that are close or past such expiration time
We need to figure out what it means for delay-loading of data stores and DDSs, including to summarizer. Possible options are

do nothing, request (to data store) will fail, but once container gets current such data store would be deleted anyway. That said, it's bad programming model, as user code will have to deal with all these errors, and we would somehow need to differentiate critical errors (404 - file deleted) vs. non critical (404 - blob is gone, but file is fine). That's unlikely to be very good place to be.
Summarizer can reboot from latest snapshot if it hits this (I believe this is already happens, but need to double check)
The best solution, that also helps with perf - client periodically refreshes its knowledge of latest snapshot for all data stores that are not loaded yet. I.e. instead of accumulating ops and applying them on top of snapshot we loaded from, we can do the same but using more recent snapshot, thus keep less data in memory, and purge any data stores that were deleted in latest snapshot.
But will of that, we will always have a client who stayed too long offline and had request pending for a blob that is deleted. We need to ensure that such clients know they need to get online in time to be working correctly or they will fail.
ODSP blob caching logic can fetch all missing blobs at some point after opening a file to reduce the chance of user hitting missing blob.

Given lack of time, I'd probably go with some simple solution here for time being.
For example, either ODSP always returning all blobs in snapshot except images ("external" blobs).
Or ODSP driver fetching all missing blobs (except images) pretty quickly after boot and keeping them in cache.
Later can be cached / retrieved via IPersistedCache mechanism, thus reducing bandwidth and reducing latencies if user comes back to same file over and over again. That's likely the best path forward right now (maybe including images, but we should be careful and only cache them if client asked to read image, as we want Teams' scenarios to be low-bandwidth in situations where only small part of file is embedded and image is never rendered).

Given lack of time, I'd probably go with some simple solution here for time being.
For example, either ODSP always returning all blobs in snapshot except images ("external" blobs).
Or ODSP driver fetching all missing blobs (except images) pretty quickly after boot and keeping them in cache.
Later can be cached / retrieved via IPersistedCache mechanism, thus reducing bandwidth and reducing latencies if user comes back to same file over and over again. That's likely the best path forward right now (maybe including images, but we should be careful and only cache them if client asked to read image, as we want Teams' scenarios to be low-bandwidth in situations where only small part of file is embedded and image is never rendered).

We are choosing to return all blobs except images and hold to them forever.
Nothing to do for GA, so moving out of March.


service naming for UPnP not uniform

In the menu the name under services for the UPnP page is Universal P&P,.... on the page it self and status page (also menu items going to status page) it is UPnP.
I guess changing the menu item to read UPnP would be the easiest fix. (UPnP is also more clear than Universal P&P

Will change to "Universal Plug and Play" for clarity.


Create foundation button components

Description
Figma: https:// (delete if not a UI PR)

Testing notes/instructions:
Checklist

[ ] Changes have been checked by the developer
[ ] Changes have been checked by the reviewers
[ ] Unit tested

Recommended reviewiers

Design review for UI changes from @guardian/design-system
Code review from @guardian/android-developers or @guardian/ios-developers
Optional code/API review from @guardian/client-side-infra

Specific notes/instructions for the reviewer:
For pull requests introducing UI changes:

[ ] Sign-off by Design:
[ ] Dark Mode
[ ] Tablet
[ ] Accessibility (e.g. VoiceOver):

Screenshots or videos:

Button

Light

Dark

If you want to add all sizes and colour variants, they are described here: https://www.figma.com/design/b2qv2OMLoNCYnP01ipfrP7/◈-Core-library?node-id=4225-149&m=dev
The dark mode colours are defined here: https://www.figma.com/design/2aPypHwKuPZkMgYuWrC7Qo/Dark-mode---DS-components?node-id=69-14454&m=dev
This Android PR has screenshots of all variants on Android: https://github.com/guardian/source-apps/pull/44
One final point: when naming button styles, using priority as suggested by Simon here has been very useful. The components in Figma are defined with those two values, e.g. "Primary" and "onWhite". This allows developers to immediately use them in the code.
As an example, here are the Figma and our code for a button:

Header
Header

If you want to add all sizes and colour variants, they are described here: https://www.figma.com/design/b2qv2OMLoNCYnP01ipfrP7/◈-Core-library?node-id=4225-149&m=dev
The dark mode colours are defined here: https://www.figma.com/design/2aPypHwKuPZkMgYuWrC7Qo/Dark-mode---DS-components?node-id=69-14454&m=dev
This Android PR has screenshots of all variants on Android: #44
One final point: when naming button styles, using priority as suggested by Simon here has been very useful. The components in Figma are defined with those two values, e.g. "Primary" and "onWhite". This allows developers to immediately use them in the code.
As an example, here are the Figma and our code for a button:
Header	Header

Thanks Adi - the dark mode colours are very useful!
With regards to naming, this PR indeed makes use of button priority. I've also used "ButtonTheme" which I kind of stole directly from the csnx repo. Let me know if you can think of any refinements?


Script to deploy local multinode testnet

I created this script to try to replicate the demo issue locally, I think it will be very useful for future tests.
To access logs of the node after starting with tmux you need to run:

Open a new terminal
Run tmux attach -t validator1

I ran and confirmed this works on my computer
question of whether docker would be a more appropriate tool in the long run though


stock assessment trend update on change of stock selection

the selection needs to default to 'pick' the selection, it is not reasonable to expect a user to know that they should click on the stock each time they change the stock, unless you make it more obvious by having a specific click box to show the active selection
Cod selected

Haddock charts

Hi @neil-ices-dk, could this solution using radio buttons work for the stock selection?

@lucalamoni i think the radio buttons are clearer yes, you will need to have the first stock selected as default though on the first entry to this page

@neil-ices-dk the app has been updated with the radio buttons to select a stock. There are still a couple of bugs:

right now I managed to have only the last stock selected as a default, instead of the first
the default selection is not really registered by the app server-side, so if you don't click anything and go straight to the assessment trends no stock is visualised by default.

Who could I ask in the data team to help me with some javascript to fix these bugs?

Periklis or Mehdi would be a good starting point

@neil-ices-dk the bugs listed above have been fixed and the app us updated.


Using "single version" on Read the Docs makes the links to fail

Find a way to support a project that has this option set (from Advanced Settings).

This will be fixed by #13 since we don't need to prefix any of the URLs to support this case.


Setting is-invalid on all parent nav-link buttons

Prerequisites

[X] I have searched for duplicate or closed feature requests
[X] I have read the contributing guidelines

Proposal
Thanks for making Bootstrap, it has saved me a lot of time when making a nice-looking web-app, and I would not have been able to make it look this good myself!
I am using Bootstrap 5.2 and I have several nested tab-panes with many input-fields. When an input field is marked as is-invalid, I also need to mark all its parent tab nav-link buttons as invalid, so the user can easily see where the error is, without having to go through all the many nested tab-pages.
It would be very useful if I could set a class in the nav-link buttons such as track-invalid-children, which would set the class is-invalid if any child element has that class set.
As far as I know, this is currently not possible in Bootstrap, so I made the following solution, which almost took me a day to make as I'm not a Javascript programmer and had to investigate how everything works. Perhaps you can use this idea in Bootstrap, or at least it may be useful to other people who have the same need in the future. You should add the following to the bottom of your HTML page:
<script>
/** Recursively set the class "is-invalid" on all parent nav-link buttons.
  * This shows the user which nested tabs have errors in their input-fields.
  * @param elm: Starting HTML element object for the recursion.
  */
function setParentTabsInvalid(elm) {
  // Get parent tab-pane.
  var tab_pane = elm.closest("div.tab-pane");

  // Does the tab-pane exist?
  if (tab_pane) {
    // Get HTML ID for the parent tab-pane.
    var id_tab = tab_pane.attr('id');

    // Does the HTML ID exist?
    if (id_tab) {
      // Get nav-link button for this tab.
      var button = $("button.nav-link[data-bs-target='#" + id_tab + "']");

      // Does the nav-link button exist?
      // Stop recursion if it has already been set to 'is-invalid'.
      if (button && !button.hasClass('is-invalid')) {
        // Add class 'is-invalid' to the tab-nav button.
        button.addClass('is-invalid');

        // Trigger a user mouse-click event on the button to select tab.
        button.trigger('click');

        // Recursively set parent nav-link buttons to 'is-invalid'.
        setParentTabsInvalid(button);
      }
    }
  }
}

// Extend jQuery with a reverse function that can be used before `each()`.
jQuery.fn.reverse = [].reverse;

/** Iterate over all input-elements with the class 'is-invalid' set, and
  * recursively set the class 'is-invalid' on all parent tab-nav buttons.
  */
function setAllParentTabsInvalid() {
  // Process in reverse order to bring focus to elements in left-right order.
  $("input.is-invalid").reverse().each(function() { setParentTabsInvalid($(this)); });
}

// Run this at the bottom of the page after the page has been rendered.
setAllParentTabsInvalid();
</script>

The following should go in your CSS file:
/* Tab contains invalid input-fields. Adapted from Bootstrap 5.2 */
button.nav-link.is-invalid, button.nav-link.is-invalid.active {
   color: #dc3545;
   padding-right: calc(1.5em + 0.75rem);
   background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
   background-repeat: no-repeat;
   background-position: right calc(0.375em + 0.1875rem) center;
   background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
 }

This works as intended. Unfortunately I cannot show screen-shots as the web-app is still under "Top Secret" development :-)
Motivation and context

Fun solution, but no plans to implement something like this on our end :).


chartjs plugin

Repository URL
https://github.com/judovana/jenkins-chartjs-plugin
New Repository Name
chartjs-api-plugin
Description
This plugin is as standalone doing nothing, but is providing reusable chartjs library for other plugins to use.
It is used namely in:

https://github.com/judovana/jenkins-report-generic-chart-column
https://github.com/judovana/jenkins-report-diff
https://github.com/judovana/jenkins-report-jtreg

Which I'm going to request hosting too, as soon as possible
GitHub users to have commit permission
@judovana
@pmikova
@radekcap
@zzambers
@andrlos
Jenkins project users to have release permission
judovana
Issue tracker
GitHub issues

Security audit, information and commands
The security team is auditing all the hosting requests, to ensure a better security by default.
This message informs you that a security scan was triggered on your repository.
It takes ~10 minutes to complete.
Commands
The bot will parse all comments, and it will check if any line start with a command.
Security team only:

/audit-ok => the audit is complete, the hosting can continue :tada:.
/audit-skip => the audit is not necessary, the hosting can continue :tada:.
/audit-required => the superficial audit was not sufficient, a deeper look is necessary :mag:.
/audit-findings => the audit reveals some issues that require corrections :pencil2:.

Anyone:

/request-security-scan => the findings from the security scan were corrected, this command will re-scan your repository :mag:.
/audit-review => the findings from the audits were corrected, this command will ping the security team to review the findings :eyes:.
	It's only applicable when the previous audit required changes.

Only one command can be requested per comment.

(automatically generated message, version: 1.15.2)

The CodeQL Scan did not find anything dangerous with your plugin, congratulations! :tada:

/hosting re-check

/hosting re-check

Hey @judovana,
I have some feedback for your hosting request:

Please consider using a packaging system to bundle Chart.js, for example npm or yarn, instead of shipping the file itself.
You can take a look at the ECharts-API plugin, to see how it bundles and ships ECharts.
https://github.com/judovana/jenkins-chartjs-plugin/blob/master/.travis.yml is redundant and should be deleted.
https://github.com/judovana/jenkins-chartjs-plugin/blob/2c1ec1cddefdc3d8c69b4f5bbc5baa8398e7de9c/pom.xml#L7 you can use 4.55
https://github.com/judovana/jenkins-chartjs-plugin/blob/2c1ec1cddefdc3d8c69b4f5bbc5baa8398e7de9c/pom.xml#L10 Preferably, your plugin should be named chartjs-api because all it does is providing Chart.js for use by other plugins.
https://github.com/judovana/jenkins-chartjs-plugin/blob/2c1ec1cddefdc3d8c69b4f5bbc5baa8398e7de9c/pom.xml#L13 I recommend Chart.js API. This is the friendly name displayed at the update center, not the general plugin description.
https://github.com/judovana/jenkins-chartjs-plugin/blob/2c1ec1cddefdc3d8c69b4f5bbc5baa8398e7de9c/pom.xml#L15 is obsolete and should be removed
https://github.com/judovana/jenkins-chartjs-plugin/blob/2c1ec1cddefdc3d8c69b4f5bbc5baa8398e7de9c/pom.xml#L17 is obsolete and should be removed
https://github.com/judovana/jenkins-chartjs-plugin/blob/2c1ec1cddefdc3d8c69b4f5bbc5baa8398e7de9c/pom.xml#L43-L60 is obsolete and should be removed
https://github.com/judovana/jenkins-chartjs-plugin/blob/2c1ec1cddefdc3d8c69b4f5bbc5baa8398e7de9c/pom.xml#L78-L79 should align with your jenkins.version chosen. In this case, 2.361.x and 1887.vda_d0ddb_c15c4 as version specified
https://github.com/judovana/jenkins-chartjs-plugin/blob/2c1ec1cddefdc3d8c69b4f5bbc5baa8398e7de9c/pom.xml#L85-L106 apparently unused, so please remove these
Please create a .mvn directory in the root directory of your repository with the following files: https://github.com/jenkinsci/archetypes/tree/master/common-files/.mvn
Please create a .github directory in the root directory of your repository with the following files and folders: https://github.com/jenkinsci/archetypes/tree/master/common-files/.github
Replace ${artifactId} with my recommendation above.
Please create a Jenkinsfile in the root directory of your plugin with the following content: https://github.com/jenkinsci/archetypes/blob/master/common-files/Jenkinsfile
Could you add some more information to the readme, what this plugin does, what Chart.js is and how you use this plugin, please?

What a review! Tyvm! will fix most of this tomorrow with fresh mind. Thank you again!

Hey @judovana,
I have some feedback for your hosting request:
TY!

* Please consider using a packaging system to bundle Chart.js, for example npm or yarn, instead of shipping the file itself.
  You can take a look at the [ECharts-API plugin](https://github.com/jenkinsci/echarts-api-plugin), to see how it bundles and ships ECharts.

Ugh.  I have one jenkins plugin  (not worthy  for hosting ATM) where I manage react with yarn and it is most fragiel aprt ever:(
Unless you will very very strongly insists, I would liek to stay with sealed file.

* https://github.com/judovana/jenkins-chartjs-plugin/blob/master/.travis.yml is redundant and should be deleted.

removed

* https://github.com/judovana/jenkins-chartjs-plugin/blob/2c1ec1cddefdc3d8c69b4f5bbc5baa8398e7de9c/pom.xml#L7 you can use 4.55

done

* https://github.com/judovana/jenkins-chartjs-plugin/blob/2c1ec1cddefdc3d8c69b4f5bbc5baa8398e7de9c/pom.xml#L10 Preferably, your plugin should be named `chartjs-api` because all it does is providing Chart.js for use by other plugins.

done

* https://github.com/judovana/jenkins-chartjs-plugin/blob/2c1ec1cddefdc3d8c69b4f5bbc5baa8398e7de9c/pom.xml#L13 I recommend `Chart.js API`. This is the friendly name displayed at the update center, not the general plugin description.

thank you for advice. Followed

* https://github.com/judovana/jenkins-chartjs-plugin/blob/2c1ec1cddefdc3d8c69b4f5bbc5baa8398e7de9c/pom.xml#L15 is obsolete and should be removed

remoed.

* https://github.com/judovana/jenkins-chartjs-plugin/blob/2c1ec1cddefdc3d8c69b4f5bbc5baa8398e7de9c/pom.xml#L17 is obsolete and should be removed

removed

* https://github.com/judovana/jenkins-chartjs-plugin/blob/2c1ec1cddefdc3d8c69b4f5bbc5baa8398e7de9c/pom.xml#L43-L60 is obsolete and should be removed

Removed + Fixed new spotted bug.

* https://github.com/judovana/jenkins-chartjs-plugin/blob/2c1ec1cddefdc3d8c69b4f5bbc5baa8398e7de9c/pom.xml#L78-L79 should align with your `jenkins.version` chosen. In this case, 2.361.x and `1887.vda_d0ddb_c15c4` as version specified

Thanx! Had improved it a bit.
I red the bom readme, and had found the 1887.vda_d0ddb_c15c4  only as release number. So that is what shold be followed?

* https://github.com/judovana/jenkins-chartjs-plugin/blob/2c1ec1cddefdc3d8c69b4f5bbc5baa8398e7de9c/pom.xml#L85-L106 apparently unused, so please remove these

removed!
...to be continued...

Ugh. I have one jenkins plugin (not worthy for hosting ATM) where I manage react with yarn and it is most fragiel aprt ever:(
Unless you will very very strongly insists, I would liek to stay with sealed file.

I don't have a strong preference about yarn or npm, rather I care about continuity and maintainability.
I created the following PR packaging chart.js on compile time. This should get you a starting point how it works, allowing you to take over: https://github.com/judovana/jenkins-chartjs-plugin/pull/6

I red the bom readme, and had found the 1887.vda_d0ddb_c15c4 only as release number. So that is what shold be followed?

That works, if you look further on my recommendation list, you will hit a step where you add dependabot to your repository. It will take care of updating these versions, so you don't need to take a look yourself.

thanx for renaming target repository  to chartjs-api-plugin

* Please create a `.mvn` directory in the root directory of your repository with the following files: https://github.com/jenkinsci/archetypes/tree/master/common-files/.mvn

copied

* Please create a `.github` directory in the root directory of your repository with the following files and folders: https://github.com/jenkinsci/archetypes/tree/master/common-files/.github

copied

  Replace `${artifactId}` with my recommendation above.

replaced

* Please create a `Jenkinsfile` in the root directory of your plugin with the following content: https://github.com/jenkinsci/archetypes/blob/master/common-files/Jenkinsfile

done
to be continued

https://github.com/judovana/jenkins-chartjs-plugin/actions/runs/4363323830/jobs/7629284516#step:2:65
This is new for me. Any advice?

Can be ignored for now, it will work once jenkinsci hosts the plugin and the configuration is extended from jenkinsci/.github

On 8. Mar 2023, at 11:49, judovana @.***> wrote:
https://github.com/judovana/jenkins-chartjs-plugin/actions/runs/4363323830/jobs/7629284516#step:2:65
This is new for me. Any advice?
—
Reply to this email directly, view it on GitHub https://github.com/jenkins-infra/repository-permissions-updater/issues/3172#issuecomment-1459975942, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADGDOVIDCF2TAC3PEUEFCLTW3BP5BANCNFSM6AAAAAAVSQP3RQ.
You are receiving this because you commented.

Ugh. I have one jenkins plugin (not worthy for hosting ATM) where I manage react with yarn and it is most fragiel aprt ever:(
Unless you will very very strongly insists, I would liek to stay with sealed file.

I don't have a strong preference about yarn or npm, rather I care about continuity and maintainability. I created the following PR packaging chart.js on compile time. This should get you a starting point how it works, allowing you to take over: judovana/jenkins-chartjs-plugin#6

Yah, that sounds familiar.... I will think it ower ty!

I red the bom readme, and had found the 1887.vda_d0ddb_c15c4 only as release number. So that is what shold be followed?

That works, if you look further on my recommendation list, you will hit a step where you add dependabot to your repository. It will take care of updating these versions, so you don't need to take a look yourself.

Can be ignored for now, it will work once jenkinsci hosts the plugin and the configuration is extended from jenkinsci/.github
…
On 8. Mar 2023, at 11:49, judovana @.***> wrote: https://github.com/judovana/jenkins-chartjs-plugin/actions/runs/4363323830/jobs/7629284516#step:2:65 This is new for me. Any advice? — Reply to this email directly, view it on GitHub <#3172 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADGDOVIDCF2TAC3PEUEFCLTW3BP5BANCNFSM6AAAAAAVSQP3RQ. You are receiving this because you commented.

I was hoping so. TY!

Minor tweek to readme.md done. More work will be done  (tbh, I ave to refresh my knowledge od the rendere usage)
Hopefully all your hints were filled. Looking forward for more.

/hosting re-check

/hosting re-check

/hosting re-check

/hosting re-check

hmhm.. What now?

What is the code in https://github.com/judovana/jenkins-chartjs-plugin/blob/master/src/main/java/hudson/plugins/Chartjs.java for?
https://github.com/judovana/jenkins-chartjs-plugin/blob/master/src/main/java/hudson/plugins/ColorChanger.java looks unused.
Why the hudson.* top-level package? Also, the idea is for classes of a plugin to be in a package corresponding to the plugin.

What is the code in https://github.com/judovana/jenkins-chartjs-plugin/blob/master/src/main/java/hudson/plugins/Chartjs.java for?

For shortening the names. Usual input to it is dispalyName. That can be practically anything. If it is longer then 38 chars, it will get truncated as class suggests. I'm usually sending in version of product, which may be pretty long version string. Thus the log, to keep it readable, but shortened. It works surprisingly well.
The labels are shown diagonally below the chart, so very long ones are making front page messy.

https://github.com/judovana/jenkins-chartjs-plugin/blob/master/src/main/java/hudson/plugins/ColorChanger.java looks unused.

I belive you saw a
https://github.com/judovana/jenkins-chartjs-plugin/commit/c30ed556145493c57d4e70384fc07f129f9bfa16
and
https://github.com/judovana/jenkins-chartjs-plugin/pull/5
I found the usage in https://github.com/judovana/jenkins-report-generic-chart-column/blob/master/src/main/java/hudson/plugins/report/genericchart/ChartModel.java
So it seemd to us that it is utility generic method to be in chartjs, rather then in generic chart plugin, which is one of the consummer sof chartjs base.

Why the hudson.* top-level package? Also, the idea is for classes of a plugin to be in a package corresponding to the plugin.

Its ancient. Maybe it was recommendation in that time, maybe I found it in some exmaple. What do you suggest?
I think I now maintian all dependencies on this base package, and non of them is yet in public repos, so I should be able to adapt.

hmhm.. What now?

I would like to keep this hosting request open, until https://github.com/judovana/jenkins-chartjs-plugin/pull/6 has been integrated and chart.js is distributed in a more maintainable way than distributing an outdated .js file.

Why the hudson.* top-level package? Also, the idea is for classes of a plugin to be in a package corresponding to the plugin.

@daniel-beck   Were your concerns cleared please?

@NotMyFault you wrote that you would like - which is not exactly that it have to be done - to integrate the NPM changes,  I had my concerns. Do you have any additional comments?

@NotMyFault you wrote that you would like - which is not exactly that it have to be done - to integrate the NPM changes, I had my concerns. Do you have any additional comments?

I will keep the hosting result on hold until my feedback has been applied for the reasoning stated above. To calm your concerns stated in my PR, you're always able to use older versions of this plugin in downstreams. Therefore, bundling an up to date version of Chart.js is no blocker.

Well I'm definitly not going to maintian downstream builds, but sure - Ok. Will do as you request. Are you ok with shipping all four versions of charts, which will make all ongoing migrations much easier?

Are you ok with shipping all four versions of charts, which will make all ongoing migrations much easier?

As I stated before, this anticipates how other api plugins bundle content. Typically, only maintained content is - and should - be provided.

You again stated just "should" - that can be misread that there is place for discussion...
Afaik chartjs supports currently chartjs 3 and 4. I would like to keep 1 and 2 untll I migrate all dependent plugins.

I would like to keep 1 and 2 untll I migrate all dependent plugins.

As I mentioned previously, you can depend on older versions of an api plugin while you update downstream plugins, in this case, your mentioned plugins. Therefore, shipping outdated versions isn't the best way to go.
The hosting request will stay on hold until the api plugin ships a maintained version of chart.js, in this case, 4.x, in a distributed way via npm, as I have proposed one.

Fair enough. TY!

Hello!  I had started with the incremental bumping of chart.js in plugin. Two questions:

do you  nisits on NPM, or are you happy with versioned download from github?

aka: https://github.com/judovana/jenkins-chartjs-plugin/commit/a0c3fe5713beac3ad399d9001d540cf72de68904

do you have any other major concerns please?

the reason I'm asking is, that I would like to resolve all other issues before bumping th chartjs. and thus split the issue for depnding plugins in two separated steps.

thanx!

ok

please review: https://github.com/judovana/jenkins-chartjs-plugin/pull/7

LGTM 👍 Thanks!

@NotMyFault  , yet again :)., what now?
note, I had started to move all my dependent plugins to chatjs4: https://jvanek.fedorapeople.org/charts/

I had moved 2 out of 3 now:
https://github.com/judovana/jenkins-report-diff/commits/master
https://github.com/judovana/jenkins-report-generic-chart-column/commits/master
working on last one:
https://github.com/judovana/jenkins-report-jtreg/pulls

And last one done...
daniel-beck , NotMyFault you guys, are alive?

I am here, but I do have more stuff on my agenda. I will take a look this week again.

I took a surficial look over the repository, and it's in much better shape now than before.
Although, the README has to contain some steps how to use this API in your plugin, e.g. depend on it in the consumer's pom or point to chart.js documentation.
Additionally, I recommend updating links like https://github.com/judovana/jenkins-report-jtreg#project-details pointing to https://github.com/jenkinsci/jenkins-report-jtreg#project-details, once other plugins are hosted.
You likely want to add an entry for npm to dependabot.yml, to keep track of chart.js changes automatically.

Hello and thanx for likling it more now. It was your suggestions which made it better. TY!
I Had enhanced the readme yet again a bit. Added pom and  library snippets and linked more  examples.
for npm dependabot, please eyball https://github.com/judovana/jenkins-chartjs-plugin/pull/8 if you can.
I will definitely adapt all crosslinking amog individual memebres in my small chartjs  universe. TY again!

Requested rerouting of forks: https://support.github.com/ticket/personal/0/2084392

Requested rerouting of forks: https://support.github.com/ticket/personal/0/2084392

resloved


updated events.md

Added 3 more events to List of events.
Added How to use events using Event Subscribers.

Thank you @ainme !

wc :+1:


Database configuration and MySQL driver

Hello!

When using your dockerfile or docker-compose, we noticed that mysql jdbc driver is not copied to lib directory
Your JIRA setup has auto setup for database, it generates dbconfig.xml file, but for bitbucket, you do not have similar script that would create /shared/bitbucket.properties file, why?

Thanks for all your work, BTW!

Hello!
-> I am using postgres myself. The mysql jdbc driver had been added by users using a pull request. Your invited to do so.
-> Jira supports auto database setup during installation, bitbucket does not.


Flow control is triggered when performing destroy range

Bug Report
What did you expect?
no flow control
What did happened?

/report customer


Feature/#messagenotification

Did you update  this branch  ( rebase or merge with develop) before create the pull request?


Make player controls more accessible

Currently you can't keyboard navigate through the player controls, this solves that.

Thanks a lot @conwaydev, this is a great contribution. I also can't tell you enough how much I appreciate the GIF attachment. 😄
Are you actively using the next branch in a project of yours? Sorry my work toward the alpha dropped off - I can try to allocate more time in the near future. I've had several competing projects but getting this alpha out the door should be a priority of mine.


The tracker is reversed in SteamVR

Hi,
I use the latest release with SteamVR and I try to calibrate my moves. The tracking origin seems reversed as you can see on this screenshot

How to fix that? I'm pretty close to use it :)
Thanks.

Do you mean reversed as in the PSEye is upside-down? Try redoing calibration and making sure SteamVR is running when you do for co-registration.

Yes but I tried without success. When the camera as the good place, the tracking space is inversed on the Z axis. I use calibration mat with one or two tracker.

Are you sure that the tracker calibration is working correctly (ie. that the masks are set correctly)?
The z axis calculation works differently when there is only one tracker compared with multiple trackers. This should't have a major difference only that whe using only one the position of the PSMoves may be a bit more jittery. When you tried it with two were they shown in relatively correct positions?
Do you have the mat orientated correctly (numbers 4 and 5 to the front)?

If I use one or two cameras, masks are correct.
I did a simple test, using one camera and attaching a move to my HMD. When the calibration is done, I can't see my move, I have to turn my head (180°) and I can see it. I can try to make a video to show you.

If you open the "Test Tracker Video Feed" in the Config Tool for one of your cameras, then write "Hello" on a piece of paper and hold it in front of the the tracker you see this correct?

Basically I'm wondering if your video feed is not getting flipped like it's supposed to.


Syntax generation for new Skill Builder interface

Amazon is pushing the new Skills Builder UI for defining the interaction model. Would it be possible to have the skill's alexa-app-server endpoint generate the new code syntax in addition to the current schema and utterances outputs?

Is this related to https://github.com/alexa-js/alexa-app/pull/268? Do we need to expose something in this library?

@dblock that does seem to be what I'm referring too ... I didn't think to check alexa-app as I thought the schema was being generated by alexa-app-server. I'll check that out, thanks!


Float Parsing takes to attention OS localization

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


Failed to import marathon in python3

in a python3 environment I can't import marathon:
$ python
Python 3.6.2 (default, Aug 11 2017, 11:59:59)
[GCC 7.1.1 20170622 (Red Hat 7.1.1-3)] on linux
Type "help", "copyright", "credits" or "license" for more information.

import marathon
Traceback (most recent call last):
File "", line 1, in
File "/home/fedora/magnum/.tox/py36/lib/python3.6/site-packages/marathon/init.py", line 3, in
from .client import MarathonClient
File "/home/fedora/magnum/.tox/py36/lib/python3.6/site-packages/marathon/client.py", line 16, in
from .models.events import EventFactory, MarathonEvent
File "/home/fedora/magnum/.tox/py36/lib/python3.6/site-packages/marathon/models/events.py", line 150, in
class EventFactory:
File "/home/fedora/magnum/.tox/py36/lib/python3.6/site-packages/marathon/models/events.py", line 190, in EventFactory
class_to_event = dict((v, k) for k, v in event_to_class.iteritems())
AttributeError: 'dict' object has no attribute 'iteritems'

Here is the problem:
https://github.com/thefactory/marathon-python/commit/c74a4fbfdd2b75bde394e2c5ad5daab182d8975f#diff-7341e3285185c7c5ea407e0bc3f9b7ecL190

:( I guess that means the travis coverage isn't sufficient to test this on python3.
@fengyehong would you like to fix this for python3? If not I'll have to revert your change.

Oh wait, I misunderstood, the fix is already in master.
Got it, I'll make a point release at your request.

It's not related to code coverage.
Travis log shows python3 tests didn't ran, maybe something wrong with the configuration


update JSON login to avoid silent fails, confusing errors

Fixes #60
Proposed Changes

Move the login_json() (in CyberGISCompute.py) Try/Except block to include all of the file I/O and dictionary access.
Removed the silent login in the UI so that we can more easily debug these issues going forward.

@mitkotak and @taylorziegler could you both review this code and possibly test it out on CyberGISX when you get the chance?


docs/faq: Add FAQ on tests/secrets_sops.yaml

Add directions on how to retrieve the sops_age_key file and use
sops to add a new secret to tests/secrets_sops.yaml.

When you get a minute, can you please re-review this PR @grouville so that we can get it merged? Thanks!


[RewardTrainer] Tokenize inputs within trainer

What does this PR do?

This PR aligns the RewardTrainer with the other TRL trainer to apply tokenization within the trainer itself. This has the nice effect of simplifying the example script significantly.
The training logs before/after this PR look within noise from random seed IMO

Before submitting

[ ] This PR fixes a typo or improves the docs (you can dismiss the other checks if that's the case).
[ ] Did you read the contributor guideline,
Pull Request section?
[ ] Was this discussed/approved via a GitHub issue? Please add a link
to it if that's the case.
[ ] Did you make sure to update the documentation with your changes? Here are the
documentation guidelines.
[ ] Did you write any new necessary tests?

Who can review?
Anyone in the community is free to review the PR once the tests have passed. Feel free to tag
members/contributors who may be interested in your PR.

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.

Can you add/modify the tests? You should be able to use url-internal-testing/zen as done in the other tests.

@qgallouedec I've refactored the tests to mostly use the zen dataset - let me know if you want other parts tested or if this is good to merge

LGTM!


YubiKey support

This pull request replaces our existing authentication model with YubiKey-only support.

The API is removed, as all logic is now executed on the client side.
User credentials are no longer handled; instead, an OAuth2 access token and OIDC id token are stored and used as proof of identity.
The user is required to scan a QR code or open a web browser to a link to authenticate.

There is still work yet to come, which is why this is a draft. But this proof of concept works as of 2e54ae7432e2b683384b98ab645d4f2676e15947.

There are a lot of files because we vendor our dependencies. Sorry :(

This should be squashed and merge after the outstanding Okta bug is resolved and Tencent Cloud support implemented.


Errors in installing

Dear all,
I met some errors when I installed SimpleElastix. Would you please kindly help me find any solutions?
My OS is ubuntu 16.04 LTS
Scanning dependencies of target ElastixFilter
[ 47%] Building CXX object Examples/ITKIntegration/CMakeFiles/ElastixFilter.dir/ElastixFilter.cxx.o
In file included from /home/bit/build/Elastix/Core/Main/elxTransformixFilter.h:184:0,
from /home/bit/SimpleElastix/Code/Elastix/src/sitkTransformixImageFilterImpl.h:9,
from /home/bit/SimpleElastix/Code/Elastix/src/sitkTransformixImageFilterImpl.cxx:5:
/home/bit/build/Elastix/Core/Main/elxTransformixFilter.hxx: In member function ‘virtual void elastix::TransformixFilter::GenerateOutputInformation()’:
/home/bit/build/Elastix/Core/Main/elxTransformixFilter.hxx:289:47: error: ‘const ParameterMapType {aka const class std::map<std::__cxx11::basic_string, std::vector<std::__cxx11::basic_string > >}’ has no member named ‘cend’
if( spacingMapIter == transformParameterMap.cend() )
^
/home/bit/build/Elastix/Core/Main/elxTransformixFilter.hxx:296:44: error: ‘const ParameterMapType {aka const class std::map<std::__cxx11::basic_string, std::vector<std::__cxx11::basic_string > >}’ has no member named ‘cend’
if( sizeMapIter == transformParameterMap.cend() )
^
/home/bit/build/Elastix/Core/Main/elxTransformixFilter.hxx:303:45: error: ‘const ParameterMapType {aka const class std::map<std::__cxx11::basic_string, std::vector<std::__cxx11::basic_string > >}’ has no member named ‘cend’
if( indexMapIter == transformParameterMap.cend() )
^
/home/bit/build/Elastix/Core/Main/elxTransformixFilter.hxx:310:46: error: ‘const ParameterMapType {aka const class std::map<std::__cxx11::basic_string, std::vector<std::__cxx11::basic_string > >}’ has no member named ‘cend’
if( originMapIter == transformParameterMap.cend() )
^
/home/bit/build/Elastix/Core/Main/elxTransformixFilter.hxx:317:49: error: ‘const ParameterMapType {aka const class std::map<std::__cxx11::basic_string, std::vector<std::__cxx11::basic_string > >}’ has no member named ‘cend’
if( directionMapIter == transformParameterMap.cend() )
^
In file included from /home/bit/build/Elastix/Core/Main/elxTransformixFilter.h:184:0,
from /home/bit/SimpleElastix/Code/Elastix/src/sitkTransformixImageFilterImpl.h:9,
from /home/bit/SimpleElastix/Code/Elastix/src/sitkTransformixImageFilter.cxx:5:
/home/bit/build/Elastix/Core/Main/elxTransformixFilter.hxx: In member function ‘virtual void elastix::TransformixFilter::GenerateOutputInformation()’:
/home/bit/build/Elastix/Core/Main/elxTransformixFilter.hxx:289:47: error: ‘const ParameterMapType {aka const class std::map<std::__cxx11::basic_string, std::vector<std::__cxx11::basic_string > >}’ has no member named ‘cend’
if( spacingMapIter == transformParameterMap.cend() )
^
/home/bit/build/Elastix/Core/Main/elxTransformixFilter.hxx:296:44: error: ‘const ParameterMapType {aka const class std::map<std::__cxx11::basic_string, std::vector<std::__cxx11::basic_string > >}’ has no member named ‘cend’
if( sizeMapIter == transformParameterMap.cend() )
^
/home/bit/build/Elastix/Core/Main/elxTransformixFilter.hxx:303:45: error: ‘const ParameterMapType {aka const class std::map<std::__cxx11::basic_string, std::vector<std::__cxx11::basic_string > >}’ has no member named ‘cend’
if( indexMapIter == transformParameterMap.cend() )
^
/home/bit/build/Elastix/Core/Main/elxTransformixFilter.hxx:310:46: error: ‘const ParameterMapType {aka const class std::map<std::__cxx11::basic_string, std::vector<std::__cxx11::basic_string > >}’ has no member named ‘cend’
if( originMapIter == transformParameterMap.cend() )
^
/home/bit/build/Elastix/Core/Main/elxTransformixFilter.hxx:317:49: error: ‘const ParameterMapType {aka const class std::map<std::__cxx11::basic_string, std::vector<std::__cxx11::basic_string > >}’ has no member named ‘cend’
if( directionMapIter == transformParameterMap.cend() )
^
In file included from /home/bit/build/Elastix/Core/Main/elxTransformixFilter.h:184:0,
from /home/bit/SimpleElastix/Examples/ITKIntegration/TransformixFilter.cxx:4:
/home/bit/build/Elastix/Core/Main/elxTransformixFilter.hxx: In member function ‘virtual void elastix::TransformixFilter::GenerateOutputInformation()’:
/home/bit/build/Elastix/Core/Main/elxTransformixFilter.hxx:289:47: error: ‘const ParameterMapType {aka const class std::map<std::__cxx11::basic_string, std::vector<std::__cxx11::basic_string > >}’ has no member named ‘cend’
if( spacingMapIter == transformParameterMap.cend() )
^
/home/bit/build/Elastix/Core/Main/elxTransformixFilter.hxx:296:44: error: ‘const ParameterMapType {aka const class std::map<std::__cxx11::basic_string, std::vector<std::__cxx11::basic_string > >}’ has no member named ‘cend’
if( sizeMapIter == transformParameterMap.cend() )
^
/home/bit/build/Elastix/Core/Main/elxTransformixFilter.hxx:303:45: error: ‘const ParameterMapType {aka const class std::map<std::__cxx11::basic_string, std::vector<std::__cxx11::basic_string > >}’ has no member named ‘cend’
if( indexMapIter == transformParameterMap.cend() )
^
/home/bit/build/Elastix/Core/Main/elxTransformixFilter.hxx:310:46: error: ‘const ParameterMapType {aka const class std::map<std::__cxx11::basic_string, std::vector<std::__cxx11::basic_string > >}’ has no member named ‘cend’
if( originMapIter == transformParameterMap.cend() )
^
/home/bit/build/Elastix/Core/Main/elxTransformixFilter.hxx:317:49: error: ‘const ParameterMapType {aka const class std::map<std::__cxx11::basic_string, std::vector<std::__cxx11::basic_string > >}’ has no member named ‘cend’
if( directionMapIter == transformParameterMap.cend() )
^
Code/Elastix/src/CMakeFiles/TransformixImageFilter.dir/build.make:62: recipe for target 'Code/Elastix/src/CMakeFiles/TransformixImageFilter.dir/sitkTransformixImageFilter.cxx.o' failed
make[5]: *** [Code/Elastix/src/CMakeFiles/TransformixImageFilter.dir/sitkTransformixImageFilter.cxx.o] Error 1
make[5]: *** Waiting for unfinished jobs....
Code/Elastix/src/CMakeFiles/TransformixImageFilter.dir/build.make:86: recipe for target 'Code/Elastix/src/CMakeFiles/TransformixImageFilter.dir/sitkTransformixImageFilterImpl.cxx.o' failed
make[5]: *** [Code/Elastix/src/CMakeFiles/TransformixImageFilter.dir/sitkTransformixImageFilterImpl.cxx.o] Error 1
Examples/ITKIntegration/CMakeFiles/TransformixFilter.dir/build.make:62: recipe for target 'Examples/ITKIntegration/CMakeFiles/TransformixFilter.dir/TransformixFilter.cxx.o' failed
make[5]: *** [Examples/ITKIntegration/CMakeFiles/TransformixFilter.dir/TransformixFilter.cxx.o] Error 1
CMakeFiles/Makefile2:1235: recipe for target 'Code/Elastix/src/CMakeFiles/TransformixImageFilter.dir/all' failed
make[4]: *** [Code/Elastix/src/CMakeFiles/TransformixImageFilter.dir/all] Error 2
make[4]: *** Waiting for unfinished jobs....
CMakeFiles/Makefile2:5304: recipe for target 'Examples/ITKIntegration/CMakeFiles/TransformixFilter.dir/all' failed
make[4]: *** [Examples/ITKIntegration/CMakeFiles/TransformixFilter.dir/all] Error 2
[ 47%] Linking CXX executable ../../bin/ElastixFilter
[ 47%] Built target ElastixFilter
Makefile:160: recipe for target 'all' failed
make[3]: *** [all] Error 2
CMakeFiles/SimpleITK.dir/build.make:117: recipe for target 'SimpleITK-prefix/src/SimpleITK-stamp/SimpleITK-build' failed
make[2]: *** [SimpleITK-prefix/src/SimpleITK-stamp/SimpleITK-build] Error 2
CMakeFiles/Makefile2:400: recipe for target 'CMakeFiles/SimpleITK.dir/all' failed
make[1]: *** [CMakeFiles/SimpleITK.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2

Looks like the call to cend requires C++11. Not sure what is going on here as your types does mention C++11. Anyway, let's revert to just using end instead of cend. This section is not performance-critical. Stay tuned.

Dear Dr.  Kaspermarstal
Thank you very much!
By the way, I successfully compiled SimpleElastix using Visual Studio 2017.

@kaspermarstal any news on this? I experience the same problem when trying to create a docker image based on ubuntu:18.04 with SE-1.1.0 . See e.g. this GL-CI log:
https://gitlab.com/romangrothausmann/elastix_scripts/-/jobs/201479237
which originates from building with this DF:
https://github.com/romangrothausmann/elastix_scripts/blob/ea6da2cfa3bd1a9ebc7faaf5392e8c9776a80abb/Dockerfile
I have been able to compile SE-1.1.0 outside docker before. Using current master (https://github.com/SuperElastix/SimpleElastix/commit/2a79d151894021c66dceeb2c8a64ff61506e7155) leads to other compilation problems such as:
In file included from /SimpleElastix/Examples/ImageRegistrationMethodBSpline3/ImageRegistrationMethodBSpline3.cxx:21:0:
/opt/SimpleElastix/include/SimpleITK-1.2/SimpleITK.h:86:10: fatal error: sitkElastixImageFilter.h: No such file or directory
 #include "sitkElastixImageFilter.h"

see e.g. https://gitlab.com/romangrothausmann/elastix_scripts/-/jobs/201046779

With specification of CMAKE_CXX_STANDARD=11 such as in https://github.com/romangrothausmann/elastix_scripts/commit/8ca31054061c5150bba4d81097325f16e6174892 compilation of SE-1.1.0 works.
Many thanks @kaspermarstal for that hint. Not sure why this was not needed before.


Wheel Disappear and Appear again when calling setSelection (ver 1.3.3)

I dont know if this is the normal behavior of the control but when setSelection is called in the code, the wheel disappear and appear again displaying the correct text/position.
My issue is the disappear and appearing of the control. Is there a way to prevent this when calling the setSelection.

I also came across this. It looks like @venshine toggles the visibility and uses a postDelay of half a second. Perhaps he didn't intend for setSelection to be called while a user is using the wheel.
The delay didn't suit me either, so I modified it on my fork to remove the delay and toggling of visibility. It changes instantly, but doesn't handle things like stopping the wheel from spinning etc. It seems to be usable, I can't see it effecting performance either.
See my changes here: https://github.com/ahaverty/WheelView/blob/master/wheelview/src/main/java/com/wx/wheelview/widget/WheelView.java#L379
I'm going to raise a similar issue to see if @venshine had a good reason to toggle and delay. If not, Ill request a pull. In the meantime you can use my fork with jitpack if you're stuck
https://jitpack.io/#ahaverty/WheelView/1.3.4

this issue has been mentioned by the author in #7 and it could be solved like this:
wheelView.setSelection(6);
wheelView.setVisibility(View.VISIBLE);
no delay at all, it works for me


CheckResponse includes trailing linefeed; typo in text

What is your rclone version (eg output from rclone -V)
1.33 (although issue verified in current code on github)
Which OS you are using and how many bits (eg Windows 7, 64 bit)
Mac OS X 10.12.1 (64-bit), Debian 8 (64-bit, up-to-date)
Which cloud storage system are you using? (eg Google Drive)
Amazon Cloud Drive
The command you were trying to run (eg rclone copy /tmp remote:tmp)
rclone sync /mydir amazon:/Backup/mydir (irrelevant, really)
A log from the command with the -v flag (eg output from rclone -v copy /tmp remote:tmp)
A bit difficult to obtain in my case; see below.

In client.go/func CheckResponse, there are two issues:

A minor misspelling - line 188 says "reponse" rather than "response"
When obtaining the response on line 181 ("errBody = string(data)"), it includes a trailing linefeed from the HTTP response. TrimSuffix should do the trick. I'd submit a patch, but I'm not familiar with Go and how it represents linefeeds and similar escape characters.

Why does this matter? I'm writing a simple wrapper with Perl to take the verbose output from rclone and make it a bit more useful to me - keep messages I care about, discard those I don't, etc. Unfortunately when processing incoming text on a line-by-line basis, a stray linebreak really gums up the works. This affects the output in verbose mode, and a given line ends up split across multiple lines of output, and is encountered on separate iterations of the loop. I've put some hackish stuff in there for now to cache the line and reassemble it on the next run through the loop to maintain my internal context, but it seems like it would be simpler to just fix the root cause.
Since I have a wrapper making massive changes to the output text, providing a log isn't terribly feasible, but I think the bug and solution is pretty clear without it.

I've fixed that in the go-acd repo here: https://github.com/ncw/go-acd/commit/a3c3df8bf8c4a3b8c5c0e10ec88e914c68ffa977
You can find an rclone beta with this change in http://beta.rclone.org/v1.34-03-g34e7ca9/ (uploaded in 15-30 mins)

Thanks - this corrects the issues I observed.
I noticed there appears to be a new bug in that output is showing up with backslash escape sequences when printed, e.g.:
pacer: low level retry 1/1 (error HTTP code 500: "500 Internal Server Error": response body: "{"logref":"f94b67d8-a4f5-11e6-9b78-9b784a557eff","message":"Internal Server Error"}")
That's exactly as it prints, complete with backslashes on the response body. I assume that's the change from %v to %q on line 188.

Yes that is the change from %v to %q.  I'd say that is working as intended - %q will escape any \n that get in the output for instance.  Does that cause you a problem?

I think it's a bit of an over-broad solution; as the output above shows it escapes things that aren't necessary, such as quotation marks. It's an aesthetic issue at this point; I think you're already covered by the addition of TrimSpace, but if you wanted to cover your bases I think "\r" and "\n" are the only characters likely to need escaping; \r in those pesky Icon files mentioned in #861, and \n in all manner of external text (such as HTTP response headers). Totally up to you. :)

Using rclone 1.34 I still see the behavior originally reported (improper line feeds, not the extra escaping noted in the beta build). I wonder if it's as simple as inserting a substitution from carriage return/linefeed to escape sequence immediately before output is made to the screen (assuming there is a single routine this flows through). In Perl, something akin to 's/\r/\r/' and 's/\n/\n/'. That would fix both this issue and any lingering things from Icon\r files (or prevent them, should you find a way to re-implement that in the future). Just a thought.

@diamondsw this will be in the next release -it isn't in 1.34 yet.

Thanks! Sorry, I was confused by the version numbering. I'm used to a version 1.34betaBlah being a beta prior to 1.34, rather than a new build based off 1.34 (which appears to be how it's used here). So for instance, I thought v1.34-03-g34e7ca9 was a beta prior to 1.34, rather than between 1.34 and 1.35. Am I understanding things properly now? :)
If things are still in the state of the last beta I saw, then you run into the excessive escaping described previously. Not a big deal - still better than before, but could still be refined a touch.

Similar issue (external data including spurious linefeeds) - I've been seeing raw HTML error pages show up in the verbose output. For instance:
`amazon drive root 'folder': Directory listing error for "folder2/": HTTP code 502: "502 Bad Gateway", reponse body:

We're sorry!

We're sorry!

An error occurred when we tried to process your request.
Rest assured, we're already working on the problem and expect to resolve it shortly.

Désolés!

Une erreur s'est produite lorsque nous avons tenté de traiter votre requête.
Soyez assuré que nous travaillons déjà à la résolution du problème que nous pensons trouver très rapidement.

`


Cannot find reference 'callFromThread' in 'reactor.py'

Before submitting a new issue, please check if a similar issue has already been filed.
Issue subject
Briefly describe the issue here.
刚下的websocket sdk, binance_socket_manager模块下的reactor.callFromThread方法读不到 Cannot find reference 'callFromThread' in 'reactor.py'
还有导入库也报错Package containing module 'twisted' is not listed in the project requirements
已经pip install -r requirements/requirements.txt
Expected behaviour
Describe what should happen.
Actual behaviour
Describe what happens instead. Please include the complete failure message.
Steps to reproduce
Provide steps to let us know how we can reproduce this issue.
Environment
Provide any relevant information about your setup, such as:

Version of binance-connector-python
Python version   3.9
Operating system  windows11

hi

@harper1999 请问后来解决问题了吗？如果还需要答案的话，请提供更多信息。
“Steps to reproduce” 这一步很重要，不提供我们这边很难理解全体情况。

I'm closing this, due to lack of response.


Queues

Added queues in the library, including :

Headers
Source code
Unit tests

Also ; I modified the README to check that in the roadmap 🚀


[w3c] add support for element rect

GET /session/{session id}/element/{element id}/rect
rect returns the elements dimensions and coordinates relative to the current document.  should be easy to implement with a builtin atom.
https://www.w3.org/TR/webdriver/#get-element-rect

i've not implemented this yet.


[bugfix] "ModuleNotFoundError: No module named 'snowflake.snowpark'" that happens when running Studio API tutorials

Once this bugfix is merged in, please ask @aditya1503 why #benchmark-studio regression tests did not catch this.
This is high-priority bug that affects API users.

please also verify there are no other lazy/optional imports like this where the try statement doesn't match what is later actually imported (eg. for databricks)

What are the steps to reproduce this bug @jwmueller?
I tried to follow the installs/imports for the snowflake tutorial and did not run into any issues importing cleanlab-studio in the later cells.
# create new virtual env
# python3 -m venv ~/virtual/bugfix
# source ~/virtual/bugfix/bin/activate

%pip install openai
%pip install snowflake-snowpark-python
%pip install --upgrade cleanlab-studio

import openai
from openai import OpenAI
import os
from snowflake.snowpark import Session
import snowflake.snowpark.functions as F
import cleanlab_studio

In fact, it seems both %pip install snowflake and %pip install snowflake-snowpark-python work for me in above ^

What are the steps to reproduce this bug @jwmueller?
I tried to follow the installs/imports for the snowflake tutorial and did not run into any issues importing cleanlab-studio in the later cells.

# create new virtual env

# python3 -m venv ~/virtual/bugfix

# source ~/virtual/bugfix/bin/activate

%pip install openai

%pip install snowflake-snowpark-python

%pip install --upgrade cleanlab-studio

import openai

from openai import OpenAI

import os

from snowflake.snowpark import Session

import snowflake.snowpark.functions as F

import cleanlab_studio

In fact, it seems both %pip install snowflake and %pip install snowflake-snowpark-python work for me in above ^
Oh it is only replicable in colab, right. Will work on that then. AFAIK, jupyter notebook is not affected by this then

Yes the general API failing upon import is only in colab, because there something is already be preinstalled with regards to snowflake.
That said I'm pretty such our snowflake integration code no longer works with snowflake v0.11 although I haven't verified

The only other lazy import is pyspark.sql which is handled appropriately.


User feedback and feature ideas

https://docs.google.com/spreadsheets/d/1I-BQqnG5Ww7r8Ufa3e9En8gCStNw8A79IH7DC1lTD8Y/edit?usp=sharing

@NikitaMatveev what is this issue for?
Please close if not actionable.


Automated import path for educators without schools

We discovered the need for this feature when @kevinrobinson realizing that the educators table was different across the staging and production environments. Admin educators were missing in staging!
This happened because admin educators are not assigned to schools in X2, and the data import process from X2 to Student Insights runs on a per-school basis. All admin educators in production had been hand-rolled by me in order to give our Somerville admin partners access to the site.
Solution:
Regardless of the schools selected for import, always import admin educators not assigned to a school.

Did some more digging into the data ...
Turns out that all educators are assigned to schools in X2, although some of the assignments are a bit unintuitive.
Some admins are assigned to the Parent Information Center as their "school" even though they don't work out of there.
One account does not appear in X2 at all, only in the LDAP server for testing purposes.


[ERROR] AssertionError: Torch not compiled with CUDA enabled

Hi there,
After run command "python -m streamlit run DiffSynth_Studio.py", the webpage showing with this error: "AssertionError: Torch not compiled with CUDA enabled"

How to resolve it, thank you so much!

To resolve this issue you have to install Cuda use this command
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

@itxTouseef74 Yes. Thanks.
@phanhavn Please see the official website of Pytorch: https://pytorch.org/.

Am I doing something wrong?
Still getting error Torch not compiled with CUDA enabled
# python -m pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 --user
DEPRECATION: Loading egg at c:\users\pc\appdata\roaming\python\python311\site-packages\h2-2.6.2-py3.11.egg is deprecated. pip 24.3 will enforce this behaviour change. A possible replacement is to use pip for package installation. Discussion can be found at https://github.com/pypa/pip/issues/12330
DEPRECATION: Loading egg at c:\users\pc\appdata\roaming\python\python311\site-packages\hpack-3.0.0-py3.11.egg is deprecated. pip 24.3 will enforce this behaviour change. A possible replacement is to use pip for package installation. Discussion can be found at https://github.com/pypa/pip/issues/12330
DEPRECATION: Loading egg at c:\users\pc\appdata\roaming\python\python311\site-packages\hyperframe-3.2.0-py3.11.egg is deprecated. pip 24.3 will enforce this behaviour change. A possible replacement is to use pip for package installation. Discussion can be found at https://github.com/pypa/pip/issues/12330
DEPRECATION: Loading egg at c:\users\pc\appdata\roaming\python\python311\site-packages\ksql-0.10.2-py3.11.egg is deprecated. pip 24.3 will enforce this behaviour change. A possible replacement is to use pip for package installation. Discussion can be found at https://github.com/pypa/pip/issues/12330
DEPRECATION: Loading egg at c:\python311\lib\site-packages\hyper-0.7.0-py3.11.egg is deprecated. pip 24.3 will enforce this behaviour change. A possible replacement is to use pip for package installation. Discussion can be found at https://github.com/pypa/pip/issues/12330
DEPRECATION: Loading egg at c:\python311\lib\site-packages\ksql-0.10.2-py3.11.egg is deprecated. pip 24.3 will enforce this behaviour change. A possible replacement is to use pip for package installation. Discussion can be found at https://github.com/pypa/pip/issues/12330
Looking in indexes: https://download.pytorch.org/whl/cu118
Requirement already satisfied: torch in c:\python311\lib\site-packages (2.1.1+cu118)
Requirement already satisfied: torchvision in c:\users\pc\appdata\roaming\python\python311\site-packages (0.16.1)
Requirement already satisfied: torchaudio in c:\users\pc\appdata\roaming\python\python311\site-packages (2.1.1+cu118)
Requirement already satisfied: filelock in c:\python311\lib\site-packages (from torch) (3.13.1)
Requirement already satisfied: typing-extensions in c:\users\pc\appdata\roaming\python\python311\site-packages (from torch) (4.8.0)
Requirement already satisfied: sympy in c:\python311\lib\site-packages (from torch) (1.12)
Requirement already satisfied: networkx in c:\python311\lib\site-packages (from torch) (3.2.1)
Requirement already satisfied: jinja2 in c:\python311\lib\site-packages (from torch) (3.1.2)
Requirement already satisfied: fsspec in c:\python311\lib\site-packages (from torch) (2023.10.0)
Requirement already satisfied: numpy in c:\python311\lib\site-packages (from torchvision) (1.26.2)
Requirement already satisfied: requests in c:\python311\lib\site-packages (from torchvision) (2.31.0)
Requirement already satisfied: pillow!=8.3.*,>=5.3.0 in c:\users\pc\appdata\roaming\python\python311\site-packages (from torchvision) (10.0.1)
Requirement already satisfied: MarkupSafe>=2.0 in c:\python311\lib\site-packages (from jinja2->torch) (2.1.3)
Requirement already satisfied: charset-normalizer<4,>=2 in c:\python311\lib\site-packages (from requests->torchvision) (3.2.0)
Requirement already satisfied: idna<4,>=2.5 in c:\python311\lib\site-packages (from requests->torchvision) (3.4)
Requirement already satisfied: urllib3<3,>=1.21.1 in c:\python311\lib\site-packages (from requests->torchvision) (1.26.16)
Requirement already satisfied: certifi>=2017.4.17 in c:\python311\lib\site-packages (from requests->torchvision) (2023.7.22)
Requirement already satisfied: mpmath>=0.19 in c:\python311\lib\site-packages (from sympy->torch) (1.3.0)

Seems duplicated of #52
I will try solution described there

Am I doing something wrong? Still getting error Torch not compiled with CUDA enabled
# python -m pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 --user
DEPRECATION: Loading egg at c:\users\pc\appdata\roaming\python\python311\site-packages\h2-2.6.2-py3.11.egg is deprecated. pip 24.3 will enforce this behaviour change. A possible replacement is to use pip for package installation. Discussion can be found at https://github.com/pypa/pip/issues/12330
DEPRECATION: Loading egg at c:\users\pc\appdata\roaming\python\python311\site-packages\hpack-3.0.0-py3.11.egg is deprecated. pip 24.3 will enforce this behaviour change. A possible replacement is to use pip for package installation. Discussion can be found at https://github.com/pypa/pip/issues/12330
DEPRECATION: Loading egg at c:\users\pc\appdata\roaming\python\python311\site-packages\hyperframe-3.2.0-py3.11.egg is deprecated. pip 24.3 will enforce this behaviour change. A possible replacement is to use pip for package installation. Discussion can be found at https://github.com/pypa/pip/issues/12330
DEPRECATION: Loading egg at c:\users\pc\appdata\roaming\python\python311\site-packages\ksql-0.10.2-py3.11.egg is deprecated. pip 24.3 will enforce this behaviour change. A possible replacement is to use pip for package installation. Discussion can be found at https://github.com/pypa/pip/issues/12330
DEPRECATION: Loading egg at c:\python311\lib\site-packages\hyper-0.7.0-py3.11.egg is deprecated. pip 24.3 will enforce this behaviour change. A possible replacement is to use pip for package installation. Discussion can be found at https://github.com/pypa/pip/issues/12330
DEPRECATION: Loading egg at c:\python311\lib\site-packages\ksql-0.10.2-py3.11.egg is deprecated. pip 24.3 will enforce this behaviour change. A possible replacement is to use pip for package installation. Discussion can be found at https://github.com/pypa/pip/issues/12330
Looking in indexes: https://download.pytorch.org/whl/cu118
Requirement already satisfied: torch in c:\python311\lib\site-packages (2.1.1+cu118)
Requirement already satisfied: torchvision in c:\users\pc\appdata\roaming\python\python311\site-packages (0.16.1)
Requirement already satisfied: torchaudio in c:\users\pc\appdata\roaming\python\python311\site-packages (2.1.1+cu118)
Requirement already satisfied: filelock in c:\python311\lib\site-packages (from torch) (3.13.1)
Requirement already satisfied: typing-extensions in c:\users\pc\appdata\roaming\python\python311\site-packages (from torch) (4.8.0)
Requirement already satisfied: sympy in c:\python311\lib\site-packages (from torch) (1.12)
Requirement already satisfied: networkx in c:\python311\lib\site-packages (from torch) (3.2.1)
Requirement already satisfied: jinja2 in c:\python311\lib\site-packages (from torch) (3.1.2)
Requirement already satisfied: fsspec in c:\python311\lib\site-packages (from torch) (2023.10.0)
Requirement already satisfied: numpy in c:\python311\lib\site-packages (from torchvision) (1.26.2)
Requirement already satisfied: requests in c:\python311\lib\site-packages (from torchvision) (2.31.0)
Requirement already satisfied: pillow!=8.3.*,>=5.3.0 in c:\users\pc\appdata\roaming\python\python311\site-packages (from torchvision) (10.0.1)
Requirement already satisfied: MarkupSafe>=2.0 in c:\python311\lib\site-packages (from jinja2->torch) (2.1.3)
Requirement already satisfied: charset-normalizer<4,>=2 in c:\python311\lib\site-packages (from requests->torchvision) (3.2.0)
Requirement already satisfied: idna<4,>=2.5 in c:\python311\lib\site-packages (from requests->torchvision) (3.4)
Requirement already satisfied: urllib3<3,>=1.21.1 in c:\python311\lib\site-packages (from requests->torchvision) (1.26.16)
Requirement already satisfied: certifi>=2017.4.17 in c:\python311\lib\site-packages (from requests->torchvision) (2023.7.22)
Requirement already satisfied: mpmath>=0.19 in c:\python311\lib\site-packages (from sympy->torch) (1.3.0)

First uninstall the current PyTorch installation use this command
pip uninstall torch  torchaudio torchvision
Than install CUDA Toolkit .You can download it from the NVIDIA official site (https://developer.nvidia.com/cuda-toolkit).
Now reinstall PyTorch with CUDA support use command:
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
After that verify the installation that PyTorch is installed with CUDA support:
To verify make a test file paste this code there and run file
Here is code:
import torch
print(torch.version.cuda) //And this should return version of cuda
print(torch.cuda.is_available())  //This should return True
Than run project again  this will solve your problem. I hope this answer will help you.
NOTE: The code i have provided this just to verify cudda support it is not part of application Thanks .

@itxTouseef74 yep, your solution works, I'm rarely using python thus didn't knew that pip wont replace package on upgrade, or it is just pytorch specific. Anyway thanks!

I'm facing the same issue. However, I have a MacBook that do not support CUDA as it has an integrated GPU. How would one install it to Apple M1/2 silicone?

I'm facing the same issue. However, I have a MacBook that do not support CUDA as it has an integrated GPU. How would one install it to Apple M1/2 silicone?

As this project requires CUDA, it won't run natively on MacBooks with Apple Silicon (M1/M2) since CUDA is not supported on these devices. Instead, you would need to use the Metal Performance Shaders (MPS) backend for GPU acceleration on macOS, which can be a complex and lengthy process.


scrcpy on Asus TF101 running Android 6.0.1

Hi there!
I am trying to get my old Asus EeePC (TF101) to work with scrcpy on Ubuntu 18.04. The tablet is currently running KatKiss Marshmallow 6.0.1 ROM with USB Debugging on:
$ adb devices
List of devices attached
037001494120f517	device
When I run scrcpy I get:
$ scrcpy
INFO: scrcpy 1.12 https://github.com/Genymobile/scrcpy
/usr/local/share/scrcpy/scrcpy-server: 1 file pushed. 1.1 MB/s (26196 bytes in 0.022s)
INFO: Initial texture: 1280x800
but no windows open. My scrcpy installation is working perfectly with my Samsung S9, so I guess the problem is elsewhere. The output of "adb logcat -d" (attached logcat.txt) has some weird outputs related to the Nvidia.h264.encoder:
03-28 15:17:40.792  3848  3865 I OMXClient: Using client-side OMX mux.
03-28 15:17:40.797   111  1270 E OMXNodeInstance: setParameter(2b:Nvidia.h264.encoder, OMX.google.android.index.storeMetaDataInBuffers(0x7fc00007): Output:1 en=0 type=1) ERROR: BadParameter(0x80001005)
03-28 15:17:40.797  3848  3865 E ACodec  : [OMX.Nvidia.h264.encoder] storeMetaDataInBuffers (output) failed w/ err -2147483648
03-28 15:17:40.798  3848  3865 W ACodec  : do not know color format 0x7f000789 =<PHONE_NUMBER>
03-28 15:17:40.799  3848  3865 I ACodec  : setupVideoEncoder succeeded
03-28 15:17:40.799   111  1270 E OMXNodeInstance: setParameter(2b:Nvidia.h264.encoder, OMX.google.android.index.enableAndroidNativeBuffers(0x7fc00004): Output:1 en=0) ERROR: BadParameter(0x80001005)
03-28 15:17:40.800  3848  3865 W ACodec  : do not know color format 0x7f000789 =<PHONE_NUMBER>
03-28 15:17:40.801   111  2380 E OMXNodeInstance: getParameter(2b:Nvidia.h264.encoder, ParamConsumerUsageBits(0x6f800004)) ERROR: NotImplemented(0x80001006)
Any ideas on how to circumvent this?
Thanks in advance,
Marcelo

Hi, I have the same problem and I think it is a problem with the Nvidia Codec as you are saying because I tried installing different version of the Os but I still don't have any output window


[Doc]: openai_chat_completion_client_for_multimodal.py error

📚 The doc issue
vllm serve microsoft/Phi-3.5-vision-instruct --dtype auto --trust-remote-code --max_model_len 8192 --limit-mm-per-prompt image=2
raise self._make_status_error_from_response(err.response) from None

openai.BadRequestError: Error code: 400 - {'object': 'error', 'message': "[{'type': 'extra_forbidden', 'loc': ('body', 'max_completion_tokens'), 'msg': 'Extra inputs are not permitted', 'input': 64}]", 'type': 'BadRequestError', 'param': None, 'code': 400}
Suggest a potential alternative/fix
No response
Before submitting a new issue...

[X] Make sure you already searched for relevant issues, and asked the chatbot living at the bottom right corner of the documentation page, which can answer lots of frequently asked questions.

You should update your openai version to support max_completion_tokens.

@johnson7788 the new max_completion_tokens field (#9837) is supported in the latest vllm release. Using >v0.6.4 should fix your issue.


enable notes for reviewer on draft option

config preample files
add frame with doto notes and corrections

there is conflict \w tikz package i think
`Package xwatermark Warning: No end-page for page-range of watermark:
||||
I have used the default end-page '1' instead.
(/usr/share/texlive/texmf-dist/tex/latex/todonotes/todonotes.sty
! LaTeX Error: Option clash for package xcolor.
See the LaTeX manual or LaTeX Companion for explanation.
Type  H   for immediate help.
...
l.31 \RequirePackage
{tikz}
`

TODO...
on preample file send part of todo notes before watermark


prettier/prettier-svelte in workspace root?

hi! wanted to open a discussion but hope here is ok.
wondering why prettier and prettier-svelte is in workspace root? while eslint and eslint-svelte is in project folders?
thanks for this repo! super helpful

I've been meaning to make a global prettier and eslint config to be used throughout the monorepo so that every project can be linted with one command. I just haven't gotten around to fixing it yet. I will get to it soon though. In the meantime, thank you for using it!

could you hint at what would that take? so i can get an idea how to set that up and possibly contribute to this.
ie would that be in workspace root or something like rename-eslint-preset?

It would be configs set at the project root. Then add a global lint script that runs prettier and eslint.


U8 transforms 2

Coverage decreased (-0.5%) to 76.531% when pulling 4a61718352671cdd782e6798240b6358ca5febac on tdaede:u8_transforms_2 into 55cf5354cb154658cc8fe18b033dd75817393216 on xiph:master.

OK. I'm going to rebase this on 64x64 tx and move them all over at once.

Can you look over it a gain? Should be no longer wip


ChangeToken.OnChange ends in an endless loop

Describe the bug
This sounds ridiculous, but hear me out. I assume that due to my somewhat unusual setup, ChangeToken.OnChange ends up in an endless loop and at some point crashes with a StackOverflowException.
I am using the 32bit Windows 7 VM from modern.ie running on VirtualBox with the latest Visual Studio 2017 Community version to play around with the Azure Functions v2 SDK. Whenever I start the example function, the runtime only prints the runtime versions (and the logo) and that's it:
Azure Functions Core Tools (2.3.148 Commit hash: f9b3db04f9833b431f1b001efb3e5783a169ebfc)
Function Runtime Version: 2.0.12210.0

After about 25 mins, the process crashes with a StackOverflowException.  In my case the code never continues past the ctor, instead the OnChange callback is being executed recursively, from what it seems.
To Reproduce
Steps to reproduce the behavior:

Use the Windows 7 (IE 11) 32bit Virtual Box VM linked above and install Visual Studio 2017 Community with the Azure workload tools.
Install .NET Core 2.1 and 2.2
Can be reproduced with the following console application:

    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");

            String folderWorking = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile);
            String folderNonWorking = System.IO.Path.GetDirectoryName(Assembly.GetEntryAssembly().Location);
            IFileProvider provider = new PhysicalFileProvider(folderNonWorking);

            var source = new JsonConfigurationSource
            {
                FileProvider = provider,
                Path = "nonexistent.json",
                Optional = true,
                ReloadOnChange = true,
                ReloadDelay = 250,
            };

            new JsonConfigurationProvider(source);

            Console.WriteLine("Bye World!");
            Console.ReadLine();

        }
    }

csproj:
<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <!-- also reproducible with netcoreapp2.1 -->
    <TargetFramework>netcoreapp2.2</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <!-- also reproducible with version 2.1.6 (netcoreapp2.1) -->
    <PackageReference Include="Microsoft.AspNetCore.App" Version="2.2.0" />
  </ItemGroup>

</Project>

Bye world often times does not get shown.

Expected behavior
It should not crash with a StackOverflowException.
Additional context
In the sample above if I use the user's home folder (folderWorking), then the application terminates as expected - I executed it several dozen times and not even once did the sample get stuck... However if I user the folderNonWorking, which is the bin folder, then at least 50% of the times, the execution get stuck and the second print statement is not being shown.
This example works as expected on my native macOS.

I can see how it can happen from the code but we need to figure out what's going on here because the alternative would just be an infinite loop. My guess is that you're somehow in a situation where you end up getting the same token that's already fired or maybe something is triggering that many file changes.
Can you reproduce this outside of virtual box? If not, can you run something like procmon to see if there's any file system activity or if there's a bug elsewhere.

Closing this as we haven't heard from you. Please feel free to comment if you're able to get the information we're looking for and we can reopen the issue if we're able to identify the problem.

I was having the same issue on the MSEdge on Win10 (x64) Stable 1809 VirtualBox VM when running code located on a host OS volume exposed to the guest OS as a shared folder. About 8 out of 10 times starting an ASP.NET Core app would result in this loop, ending with a StackOverflowException.
I haven't experienced the problem again yet after copying the code to a drive within the VM.


Increment versions for communication releases

Increment package versions for communication releases

API change check
API changes are not detected in this pull request.

@vcolin7 thanks!


Add more zalloc

add more OPENSSL_zalloc calls
remove some useless NULL or zero init. following  these calls.

+1, will merge when another reviewer looks at it; thanks!

@richsalz +1

fixed with a2d0baa thanks!

You're welcome.
So closing it.


Review ServerSentEvents transport for raw binary data

The ServerSentEvents transport is currently only able to send simple text messages with no new lines (why? details below). We need to make some changes to support multi-line messages and binary messages

Split text messages on newlines and write them as individual data: [line] lines, in order to ensure they are properly reconstructed (see https://html.spec.whatwg.org/multipage/comms.html#event-stream-interpretation)

Base64-encode binary messages

In general we just need to review how we are intending to encode messages on transports. We can't just blindly write binary, or even text (if it has newlines), data to the transport because if the data includes bytes 0x0A (\n) or 0x0D (\r) it will break the protocol. Something to consider as we build the protocol for Long Polling to batch messages.
/cc @davidfowl

See #125

@anurse is this good to close?

Yes.


High-severity vulnerability in dependent package

GitHub Advisory Database / CVE-2020-28477
Prototype Pollution in immer
⛔ high severity

Package
Affected versions
Patched versions

 immer (npm)
< 8.0.1
8.0.1

Overview
Affected versions of immer are vulnerable to Prototype Pollution.
Proof of exploit
const {applyPatches, enablePatches} = require("immer");
enablePatches();
let obj = {};
console.log("Before : " + obj.polluted);
applyPatches({}, [ { op: 'add', path: [ "__proto__", "polluted" ], value: "yes" } ]);
// applyPatches({}, [ { op: 'replace', path: [ "__proto__", "polluted" ], value: "yes" } ]);
console.log("After : " + obj.polluted);

Remediation
Version 8.0.1 contains a fix for this vulnerability, updating is recommended.
References

https://nvd.nist.gov/vuln/detail/CVE-2020-28477
immerjs/immer#738
immerjs/immer@da2bd4f
https://github.com/immerjs/immer/blob/master/src/plugins/patches.ts%23L213
https://snyk.io/vuln/SNYK-JAVA-ORGWEBJARSNPM-1061986
https://snyk.io/vuln/SNYK-JS-IMMER-1019369
https://www.npmjs.com/package/immer

Updating the Immer package past 8.0.1 is advised for security -- it looks like this can be accomplished by updating the easy-peasy dependency.

looks like it's easy-peasy that's causing the issue..

Whoops, it looks like it's

Updating the Immer package past 8.0.1 is advised for security -- it looks like this can be accomplished by updating the easy-peasy dependency.

Hey! Since v9 we no longer use easy-peasy (and immer) anymore.

Riiiight i just saw that-- tis me who needs to update!


The liveness probe in the mission control deployment is over indented and when passing a nodeselector

Link to offending line of code: https://github.com/helm/charts/blob/edd5421c4724a1f41475b236bdf6d86b5de9e8a0/stable/mission-control/templates/mission-control-deployment.yaml#L117

@Manojtuguru I have created PR with the fix. Here is link to PRhttps://github.com/helm/charts/pull/6449

@Manojtuguru This PR is merged.


CI for Docs?

I saw we don't have any checks on this repo.  Is this intentional?  Should we at least build the docs? @choldgraf @willingc @betatim

A PR to implement travis would be welcome IMO, though I don't think it's strictly necessary since these docs aren't too complicated

Go for it @jzf2101. Thanks 👍


Where is the Docker source file for the wordpress-alpine-php Docker Image

Hi,
Where can I find the docker source file for the wordpress-alpine-php Docker Image?

The github repo Azure-App-Service/wordpress-alpine-php haven't been updated for 6 years.
The docker hub appsvcorg/wordpress-alpine-php image is 2 years old.

Thanks,
Tao

@lintaonz
https://github.com/Azure-App-Service/ImageBuilder/tree/master/GenerateDockerFiles/wordpress/wordpress


fix: unable to exit hamburger overlay large screen

Fixes #48

@jupeeter8 thanks for the contribution.


Issues with setup instructions on the the quick start guide

Run the script make k8s-save ,in the step 8/13 : Run go mod download ,It turns out the result below,why?
go: finding github.com/docker/spdystream v0.0.0-20181023171402-6480d4af844c
go: finding github.com/go-errors/errors v1.0.1
go: finding github.com/gogo/protobuf v1.2.0
go: finding github.com/uber/jaeger-lib v1.5.0
go: finding github.com/evanphx/json-patch v4.1.0+incompatible
go: finding github.com/golang/protobuf v1.2.0
go: finding github.com/docker/distribution v2.7.1+incompatible
go<EMAIL_ADDRESS>unrecognized import path "k8s.io/code-generator" (https fetch: Get https://k8s.io/code-generator?go-get=1: proxyconnect tcp: tls: first record does not look like a TLS handshake)
go<EMAIL_ADDRESS>unrecognized import path "k8s.io/apiserver" (https fetch: Get https://k8s.io/apiserver?go-get=1: proxyconnect tcp: tls: first record does not look like a TLS handshake)
go<EMAIL_ADDRESS>unrecognized import path "gopkg.in/inf.v0" (https fetch: Get https://gopkg.in/inf.v0?go-get=1: proxyconnect tcp: tls: first record does not look like a TLS handshake)
go: finding github.com/elazarl/goproxy v0.0.0-20181111060418-2ce16c963a8a
go: finding github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742
go<EMAIL_ADDRESS>unrecognized import path "google.golang.org/grpc" (https fetch: Get https://google.golang.org/grpc?go-get=1: proxyconnect tcp: tls: first record does not look like a TLS handshake)
go: finding github.com/ligato/vpp-agent v0.0.0-20181004120253-d2ae51e30bb3
go<EMAIL_ADDRESS>unknown revision v1.0.1
go<EMAIL_ADDRESS>unknown revision v1.5.0
go<EMAIL_ADDRESS>unknown revision v2.7.1
go<EMAIL_ADDRESS>unknown revision v1.2.0
go<EMAIL_ADDRESS>unknown revision v4.1.0
go<EMAIL_ADDRESS>unknown revision v1.2.0
go: finding github.com/gregjones/httpcache v0.0.0-20181110185634-c63ab54fda8f
go: finding github.com/golang/groupcache v0.0.0-20181024230925-c65c006176ff
go: finding github.com/rs/xid v1.2.1
go: finding github.com/ghodss/yaml v1.0.0
go: finding github.com/pkg/errors v0.8.1
go<EMAIL_ADDRESS>unrecognized import path "k8s.io/client-go" (https fetch: Get https://k8s.io/client-go?go-get=1: proxyconnect tcp: tls: first record does not look like a TLS handshake)
go: finding github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c
go<EMAIL_ADDRESS>git fetch -f origin refs/heads/:refs/heads/ refs/tags/:refs/tags/ in /go/pkg/mod/cache/vcs/60dfa5c037476c38c09ec11ed0ec6b986ca3f4a132e4cfbfc39c9192de8456ef: exit status 128:
fatal: unable to access 'https://github.com/docker/spdystream/': error:1408F10B:SSL routines:ssl3_get_record:wrong version number
go<EMAIL_ADDRESS>unknown revision v1.0.0
go<EMAIL_ADDRESS>unknown revision v1.2.1
go: finding github.com/teris-io/shortid v0.0.0-20160104014424-6c56cef5189c
go<EMAIL_ADDRESS>unknown revision v0.8.1
go: finding github.com/opentracing/opentracing-go v1.0.2
go<EMAIL_ADDRESS>git fetch -f origin refs/heads/:refs/heads/ refs/tags/:refs/tags/ in /go/pkg/mod/cache/vcs/e3da2a565352fc053fb7730886bf07c23545d2a92d4bc6bc166097f9c01f7a88: exit status 128:
fatal: unable to access 'https://github.com/modern-go/reflect2/': error:1408F10B:SSL routines:ssl3_get_record:wrong version number
go<EMAIL_ADDRESS>git fetch -f origin refs/heads/:refs/heads/ refs/tags/:refs/tags/ in /go/pkg/mod/cache/vcs/e29e26be7ff527fb4d81ef752f9583f0b1edcb460d80ef53f57c935b54e310e8: exit status 128:
fatal: unable to access 'https://github.com/elazarl/goproxy/': error:1408F10B:SSL routines:ssl3_get_record:wrong version number
go: finding github.com/opencontainers/go-digest v1.0.0-rc1
go<EMAIL_ADDRESS>unrecognized import path "golang.org/x/net" (https fetch: Get https://golang.org/x/net?go-get=1: proxyconnect tcp: tls: first record does not look like a TLS handshake)
go<EMAIL_ADDRESS>unrecognized import path "k8s.io/klog" (https fetch: Get https://k8s.io/klog?go-get=1: proxyconnect tcp: tls: first record does not look like a TLS handshake)
go<EMAIL_ADDRESS>unrecognized import path "k8s.io/api" (https fetch: Get https://k8s.io/api?go-get=1: proxyconnect tcp: tls: first record does not look like a TLS handshake)
go: finding github.com/spf13/pflag v1.0.3
go: finding github.com/sirupsen/logrus v1.3.0
go<EMAIL_ADDRESS>git fetch -f origin refs/heads/:refs/heads/ refs/tags/:refs/tags/ in /go/pkg/mod/cache/vcs/f40bd33ee6dc95b8c3055923676aa199a36080ce593a1dd93277c9d723c89773: exit status 128:
fatal: unable to access 'https://github.com/ligato/vpp-agent/': error:1408F10B:SSL routines:ssl3_get_record:wrong version number
go: finding github.com/googleapis/gnostic v0.2.0
go<EMAIL_ADDRESS>unrecognized import path "golang.org/x/sys" (https fetch: Get https://golang.org/x/sys?go-get=1: proxyconnect tcp: tls: first record does not look like a TLS handshake)
go<EMAIL_ADDRESS>unrecognized import path "k8s.io/utils" (https fetch: Get https://k8s.io/utils?go-get=1: proxyconnect tcp: tls: first record does not look like a TLS handshake)
go<EMAIL_ADDRESS>unrecognized import path "k8s.io/kubernetes" (https fetch: Get https://k8s.io/kubernetes?go-get=1: proxyconnect tcp: tls: first record does not look like a TLS handshake)
go<EMAIL_ADDRESS>git fetch -f origin refs/heads/:refs/heads/ refs/tags/:refs/tags/ in /go/pkg/mod/cache/vcs/6501966d1331e1f5a2dbad92d2095aea1693033b492678e4ccee57beb108039c: exit status 128:
fatal: unable to access 'https://github.com/gregjones/httpcache/': error:1408F10B:SSL routines:ssl3_get_record:wrong version number
go<EMAIL_ADDRESS>git fetch -f origin refs/heads/:refs/heads/ refs/tags/:refs/tags/ in /go/pkg/mod/cache/vcs/f7a002ff08195b00c4fb5bb7261149151f6e428ed0b5528aaeb02b6c48b497cf: exit status 128:
fatal: unable to access 'https://github.com/golang/groupcache/': error:1408F10B:SSL routines:ssl3_get_record:wrong version number
go<EMAIL_ADDRESS>unknown revision v1.0.2
go: finding github.com/ventu-io/go-shortid v0.0.0-20171029131806-771a37caa5cf
go<EMAIL_ADDRESS>unknown revision v1.0.0-rc1
go: finding github.com/imdario/mergo v0.3.6
go<EMAIL_ADDRESS>unrecognized import path "gopkg.in/yaml.v2" (https fetch: Get https://gopkg.in/yaml.v2?go-get=1: proxyconnect tcp: tls: first record does not look like a TLS handshake)
go<EMAIL_ADDRESS>unrecognized import path "google.golang.org/appengine" (https fetch: Get https://google.golang.org/appengine?go-get=1: proxyconnect tcp: tls: first record does not look like a TLS handshake)
go<EMAIL_ADDRESS>unrecognized import path "golang.org/x/oauth2" (https fetch: Get https://golang.org/x/oauth2?go-get=1: proxyconnect tcp: tls: first record does not look like a TLS handshake)
go: finding github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645
go: finding github.com/google/gofuzz v0.0.0-20170612174753-24818f796faf
go<EMAIL_ADDRESS>git fetch -f origin refs/heads/:refs/heads/ refs/tags/:refs/tags/ in /go/pkg/mod/cache/vcs/4ff5de2528e697f9c44db2ba60956692d248fab9ff5138086b2b6aac5271bfa4: exit status 128:
fatal: unable to access 'https://github.com/google/btree/': error:1408F10B:SSL routines:ssl3_get_record:wrong version number
go: finding github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd
go<EMAIL_ADDRESS>unknown revision v1.3.0
go<EMAIL_ADDRESS>unknown revision v1.0.3
go: finding github.com/hashicorp/golang-lru v0.5.0
go<EMAIL_ADDRESS>unrecognized import path "golang.org/x/time" (https fetch: Get https://golang.org/x/time?go-get=1: proxyconnect tcp: tls: first record does not look like a TLS handshake)
go<EMAIL_ADDRESS>unrecognized import path "k8s.io/apiextensions-apiserver" (https fetch: Get https://k8s.io/apiextensions-apiserver?go-get=1: proxyconnect tcp: tls: first record does not look like a TLS handshake)
go: finding github.com/peterbourgon/diskv v2.0.1+incompatible
go<EMAIL_ADDRESS>unknown revision v0.2.0

what's the reason of causing mistakes? how to solve it?

@bryclexiayongzhi are you behind a proxy?
proxyconnect tcp: tls: first record does not look like a TLS handshake

You might find this comment useful:
https://github.com/docker/for-linux/issues/415#issuecomment-453610657

@bryclexiayongzhi A brief explanation of what's happening here.
We build using go modules.  What this means is that the first time you build, its going to download and build the dependencies.
That download process seems to be having an issue, from the looks of the errors because of a malfunctioning proxy.
The good news is, the way we constructed our docker layers, the go mod download should cache, so once you've done it once, layer caching will be your friend.
Was that helpful?

@bryclexiayongzhi are you behind a proxy?
proxyconnect tcp: tls: first record does not look like a TLS handshake

You might find this comment useful:
docker/for-linux#415 (comment)

But I can use the command curl to get the information through proxy， this maybe show proxy is ok. Besides there are some other mistakes ,for example: go<EMAIL_ADDRESS>unknown revision v1.5.0, how to solve this issue.

@bryclexiayongzhi is go mod download working for you if you are not in the docker container? I.e. instead of running make k8s-save run go mod download. The purpose of this command would be to figure out if your host can download all the dependent modules (as you say curl works). Then you can see what settings you have on your host and check how to replicate them for your docker setup.
https://docs.docker.com/network/proxy/


Proposal to Make Prettify Type in Valibot Overridable for Better Developer Control

The Prettify type is an internal type used by Valibot. It acts as a “trick” in TypeScript to “unroll” the types, making them easier for the end user to understand. However, the Prettify type can cause issues because it “decomposes” the types, potentially leading to uncommon errors in TypeScript. Therefore, I propose that this type be declared in a declare module 'valibot' block. This would allow developers to override the type in their projects if, for example, they want to negate its effects.
declare module 'valibot/types' {
    export type Prettify<TObject> = {
        [TKey in keyof TObject]: TObject[TKey];
    } & {};
}

Thanks for bringing this up! I agree and will look into it, but it may take some time as other things have a higher priority for me right now.

@fabian-hiller
I just created a pull request, feel free to review it when you have time. Thank you very much!


Add explicit dependancy annotations for controller and directive

Hi!
First of all, nifty little directive you've got here. Anyways, this PR adds explicit Angular annotations, so that one can run their Angular app in ng-strict-di mode if they wish. Currently it just throws errors if running in ng-strict-di.

Thank you !


Update the description of the service type

4 changes in this update:

The description of "The default value is NodePort" is inaccurate. There is only 1 yml generated by APIM for Kubernetes, and the default service type in it is LoadBalancer. The old description sounds like there is another version of yml for AKS. It's a bit misleading.
Thought it is worth mentioning the internal load balancer, as it is a feature of AKS which is not available on Kubernetes. So mentioned it in the service type part.
If users are using custom domain names for the APIM service endpoints, config.service.endpoint needs to be updated with the custom domain name. So mentioned in Point 7.
Fixed some typos.

@chunliu : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@miaojiang - Would you review this pull request? Thanks.

Thank you @chunliu as always :)

A file-level merge conflict has developed and the PR can't be merged as-is. I'll try closing and reopening the PR.

The branch has been deleted, so I can't reopen the PR. @miaojiang If you the updates should be made to the content, could you submit them in a new pull request in the private repo? Thanks.

@dlepow @v-hhunter would you mind taking a look?


ANDROID DEVICE: addViewAt: failed to insert view [664] into parent [646] at index 0   The specified child already has a parent. You must call removeView() on the child's parent first.

Summary
When i add Polyline inside MapView then it give this error:
addViewAt: failed to insert view [664] into parent [646] at index 0
The specified child already has a parent. You must call removeView() on the child's parent first.
Reproducible sample code
import {Alert, Dimensions, Image, PanResponder, View} from 'react-native';
import React, {useRef, useState} from 'react';
import {styles} from './style';
import MapView, {PROVIDER_GOOGLE, Polyline} from 'react-native-maps';

const MapPage = () => {
  const mapRef = useRef(null);
  const [lines, setLines] = useState([]);
  const [isDrawing, setIsDrawing] = useState(false);
  const [prevCoordinate, setPrevCoordinate] = useState(null);

  const handleTouchStart = () => {
    setIsDrawing(true);
  };

  const handlePanDrag = event => {
    const {coordinate} = event.nativeEvent;
    if (isDrawing && prevCoordinate) {
      setLines([...lines, [prevCoordinate, coordinate]]);
      console.log('lines', [...lines, [prevCoordinate, coordinate]]);
    }
    setPrevCoordinate(coordinate);
  };

  const handleTouchEnd = () => {
    setIsDrawing(false);
    setPrevCoordinate(null);
  };
  return (
    <View style={styles.container}>
      <MapView
        ref={mapRef}
        style={{flex: 1}}
        scrollEnabled={false}
        provider={PROVIDER_GOOGLE}
        initialRegion={{
          latitude: 37.78825,
          longitude: -122.4324,
          latitudeDelta: 0.0922,
          longitudeDelta: 0.0421,
        }}
        onTouchStart={handleTouchStart}
        onPanDrag={handlePanDrag}
        onTouchEnd={handleTouchEnd}>
        {lines.map((line, index) => (
          <Polyline
            key={index}
            coordinates={line}
            strokeColor="#FF0000"
            strokeWidth={3}
            lineDashPattern={[1]}
          />
        ))}
      </MapView>
    </View>
  );
};

export default MapPage;

Steps to reproduce

Install react-native-maps
Add MapView
Add Polyline inside MapView
In android start by dragging in the map
App crashed (Attached screenshot)

Expected result
It should draw a Polylines in MapView
Actual result
It crashes with the android app
React Native Maps Version
1.14.0
What platforms are you seeing the problem on?
Android
React Native Version
0.73.6
What version of Expo are you using?
Not using Expo
Device(s)
Pixel_3a_API_34 Emulator
Additional information

had the same issue. issue happens when Polyline is used on Expo Go for Android simulator. No issue experienced on iOS simulator

I found an solution for this for android, here are the steps to follow:

Create a file named react-native.config.js in the root dir. of the project,
Paste below code in the file and build again.

module.exports = {
  project: {
    android: {
      unstable_reactLegacyComponentNames: [
        'AIRGoogleMap',
        'AIRMap',
        'AIRMapMarker',
        'PanoramaView',
        'AIRMapPolyline',
      ],
    },
    ios: { },
  }
};

@react-native-maps-bot
This is temporary solution, we are looking for the permanent solution in the next version.
Thanks!

@kuldipopenxcell this is rather the way to enable react-native-maps with Fabric enabled, please checkout the documentations on the main page or the example file:
https://github.com/react-native-maps/react-native-maps/?tab=readme-ov-file#react-native-configuration-for-fabric--new-architecture


Cross post series of blog posts on performance

I just have added a simple introduction, and a link to my blog post.
Is there something else to add? What do you think, @reshamas, @laurburke?

Thanks @jjerphan.


[1579] Remove course subquery from CourseSearchService

Context
Previously, a 'where' scope was being added to clear out the duplicate
records. In its absence, the service call was failing with
a 'PG::InvalidColumnReference: ERROR: for SELECT DISTINCT, ORDER BY expressions must appear in select list'
While this works fine as is, the extra scope call can lead to some
awkward sql subqueries, which are generated by ActiveRecord, for
example, of the form
Select ... from (select id where course id in (...long list of possibly
all courses in the database)...., making it harder for our performance
monitoring tools (skylight) to parse the query
This change adds the order by expressions to the select, thus negating
the need for a subquery
Changes proposed in this pull request
Guidance to review
While the first two commits do the job just fine, the third commit is a rewrite of the course_search_service_spec.rb to use calls to the actual AR objects rather than stubbing
Checklist

[x] Make sure all information from the Trello card is in here
[x] Attach to Trello card
[x] Rebased master
[x] Cleaned commit history
[x] Tested by running locally

 [Spike] [1/2 day] Investigate skylight error logs

Closing this as skylight issues are handled by https://github.com/DFE-Digital/teacher-training-api/pull/1885