After upgrading to HA 2024.4.0 no prices where retreived

I did reset my password @ Entsoe and my API key to be sure.
It shows this after reloading it all.
It has the prices of yesterday and the 3rd of April but after reloading the 5th is not showing up:

I've installed the update around 22:00

Same here on 2024.03 version so it's probably the API.

Yes, I also think this is not an issue regarding the upgrade to 2024.4.0. Same issue over here.
Also see: https://github.com/JaccoR/hass-entso-e/issues/149
The Entsoe API has returned errors.

Same issue here.
Core 2024.4.0
Supervisor 2024.03.1
Operating System 12.1
Frontend 20240403.1

Same here. Not working after the update to 2024.4.0, but that might be a coincidence like @ronaldt80 mentioned he has is with 2024.3.
When I logged in to Entso-e website, I had to change my password.
Data for The Netherlands looks empty on some pages:

Same here, I've sent an email to<EMAIL_ADDRESS>to ask if it is a known issue.

Same here since 2024.4.0

Still on HA 2024.3.0, but same problem....

I have found this in the log:

I got the same, on HA 2024.3.0. Switched over to the NordPool integration for now.

Reactie van ENTSO-e:
The data was published on Transparency Platform by our Data Provider.
Could you please validate and confirm if we can consider the ticket closed?
En het lijkt nu inderdaad weer online te zijn!
Even de integratie reloaden in home assistant en de data komt tevoorschijn.

Not yet here. Even after a restart or reload of the integration

Here also still no change after reboot or reload....

Data on the Entso-e site are working again:

Still not working on HA after a restart of the addon and even after a restart of HA.

But an other log entry now:

Bij mij werkt het weer. Een nieuwe set services aanmaken met een andere naam.

Wat bedoel je daarmee?

2 hours ago I reloaded/restarted the integration and restarted HA without luck. Just now checked the graph again with no intervention inbetween, and the prices are there. (updated around 3pm CEST)
Unclear what went wrong, but at least I have a beautiful graph for tomorrow😃👌

Still this in the log: 2024-04-05 15:31:24.658 DEBUG (MainThread) [custom_components.entsoe.coordinator] Fetching ENTSO-e data
2024-04-05 15:31:24.658 DEBUG (MainThread) [custom_components.entsoe.coordinator] NL
2024-04-05 15:31:26.538 DEBUG (MainThread) [custom_components.entsoe.coordinator] Finished fetching ENTSO-e coordinator data in 1.880 seconds (success: True)
2024-04-05 15:31:26.542 WARNING (MainThread) [homeassistant.components.sensor] Entity sensor.energieprijzen_current_electricity_market_price (<class 'custom_components.entsoe.sensor.EntsoeSensor'>) is using state class 'measurement' which is impossible considering device class ('monetary') it is using; expected None or one of 'total'; Please update your configuration if your entity is manually configured, otherwise create a bug report at https://github.com/JaccoR/hass-entso-e/issues
2024-04-05 15:31:26.546 WARNING (MainThread) [homeassistant.components.sensor] Entity sensor.energieprijzen_next_hour_electricity_market_price (<class 'custom_components.entsoe.sensor.EntsoeSensor'>) is using state class 'measurement' which is impossible considering device class ('monetary') it is using; expected None or one of 'total'; Please update your configuration if your entity is manually configured, otherwise create a bug report at https://github.com/JaccoR/hass-entso-e/issues
2024-04-05 15:31:26.551 WARNING (MainThread) [homeassistant.components.sensor] Entity sensor.energieprijzen_lowest_energy_price_today (<class 'custom_components.entsoe.sensor.EntsoeSensor'>) is using state class 'measurement' which is impossible considering device class ('monetary') it is using; expected None or one of 'total'; Please update your configuration if your entity is manually configured, otherwise create a bug report at https://github.com/JaccoR/hass-entso-e/issues
2024-04-05 15:31:26.555 WARNING (MainThread) [homeassistant.components.sensor] Entity sensor.energieprijzen_highest_energy_price_today (<class 'custom_components.entsoe.sensor.EntsoeSensor'>) is using state class 'measurement' which is impossible considering device class ('monetary') it is using; expected None or one of 'total'; Please update your configuration if your entity is manually configured, otherwise create a bug report at https://github.com/JaccoR/hass-entso-e/issues
2024-04-05 15:31:26.570 WARNING (MainThread) [homeassistant.components.sensor] Entity sensor.energieprijzen_average_electricity_price_today (<class 'custom_components.entsoe.sensor.EntsoeSensor'>) is using state class 'measurement' which is impossible considering device class ('monetary') it is using; expected None or one of 'total'; Please update your configuration if your entity is manually configured, otherwise create a bug report at https://github.com/JaccoR/hass-entso-e/issues
2024-04-05 15:31:26.583 WARNING (MainThread) [custom_components.entsoe.sensor] Unable to update entity due to data processing error: None and error: min() iterable argument is empty
2024-04-05 15:31:26.583 WARNING (MainThread) [homeassistant.components.sensor] Entity sensor.energieprijzen_current_percentage_of_highest_electricity_price_today (<class 'custom_components.entsoe.sensor.EntsoeSensor'>) is using state class 'measurement' which is impossible considering device class ('monetary') it is using; expected None or one of 'total'; Please update your configuration if your entity is manually configured, otherwise create a bug report at https://github.com/JaccoR/hass-entso-e/issues
2024-04-05 15:31:26.596 WARNING (MainThread) [custom_components.entsoe.sensor] Unable to update entity due to data processing error: None and error: min() iterable argument is empty
2024-04-05 15:31:26.597 WARNING (MainThread) [homeassistant.components.sensor] Entity sensor.energieprijzen_time_of_highest_price_today (<class 'custom_components.entsoe.sensor.EntsoeSensor'>) is using state class 'measurement' which is impossible considering device class ('timestamp') it is using; expected None; Please update your configuration if your entity is manually configured, otherwise create a bug report at https://github.com/JaccoR/hass-entso-e/issues
2024-04-05 15:31:26.610 WARNING (MainThread) [custom_components.entsoe.sensor] Unable to update entity due to data processing error: None and error: min() iterable argument is empty
2024-04-05 15:31:26.610 WARNING (MainThread) [homeassistant.components.sensor] Entity sensor.energieprijzen_time_of_lowest_price_today (<class 'custom_components.entsoe.sensor.EntsoeSensor'>) is using state class 'measurement' which is impossible considering device class ('timestamp') it is using; expected None; Please update your configuration if your entity is manually configured, otherwise create a bug report at https://github.com/JaccoR/hass-entso-e/issues

Bij mij werkt het weer. Een nieuwe set services aanmaken met een andere naam.

Wat bedoel je daarmee?

So I have created a test Enstoe (just the name with same API key and now I see the data. So there is a difference what HA applies between versions I think

Hm...I deleted the old entrance and created a new one with exact the same name. I think I got values, but the graphs are still empty.... I have to investigate further.

Bij mij werkt het weer. Een nieuwe set services aanmaken met een andere naam.

Wat bedoel je daarmee?

So I have created a test Enstoe (just the name with same API key) and now I see the data. So there is a difference what HA applies between versions I think

Same here, only problem is that I lost the statistics on the new sensors as the naming is different and my pricing template is not working anymore so I am seeing only market prices without an uplift. Anyone facing this as well?

Hm...I deleted the old entrance and created a new one with exact the same name. I think I got values, but the graphs are still empty.... I have to investigate further.

Try deleting old configuration and create a new one with a different name, with the same name it doens't seem to work. Only problem is that you'll have to go through all the dashboards that use it to update with new name.

Bij mij werkt het weer. Een nieuwe set services aanmaken met een andere naam.

Wat bedoel je daarmee?

So I have created a test Enstoe (just the name with same API key) and now I see the data. So there is a difference what HA applies between versions I think

Same here, only problem is that I lost the statistics on the new sensors as the naming is different and my pricing template is not working anymore so I am seeing only market prices without an uplift. Anyone facing this as well?

It seems to only work when using a new name, but yes then need to update all the dashboards to the new entity name and you'll loose all historic data. Did you tick the box to fill in tax and template at the start when creating the configuration? I found out that when trying to apply afterwards it doesn't work (maybe it does with the new set of data tomorrow).

I removed the entso-e integration. Reinstall with another name. The same name is not working. I changed one character and it works!!

After reading this issue, I've also deleted my integration.
But I've managed to keep my history by doing the following:

Save/remember entity name
Delete the existing integration
Restart home assistant (THIS IS THE IMPORTANT PART)
Reconfigure integration with Same name from step 1 (or your previous install)
Find your history intact!

Quitte a work-around, but it's working for now.

I removed the entso-e integration. Reinstall with another name. The same name is not working. I changed one character and it works!!

...and what happened to your history? Previous time all this happened and reinstalled integration, I lost all historic data...

Do we know what is causing this failure? Maybe then we can tackle this problem. I would like to keep historic data.

Still this in the log:
2024-04-05 15:31:24.658 DEBUG (MainThread) [custom_components.entsoe.coordinator] Fetching ENTSO-e data
2024-04-05 15:31:24.658 DEBUG (MainThread) [custom_components.entsoe.coordinator] NL
2024-04-05 15:31:26.538 DEBUG (MainThread) [custom_components.entsoe.coordinator] Finished fetching ENTSO-e coordinator data in 1.880 seconds (success: True)
2024-04-05 15:31:26.542 WARNING (MainThread) [homeassistant.components.sensor] Entity sensor.energieprijzen_current_electricity_market_price (<class 'custom_components.entsoe.sensor.EntsoeSensor'>) is using state class 'measurement' which is impossible considering device class ('monetary') it is using; expected None or one of 'total'; Please update your configuration if your entity is manually configured, otherwise create a bug report at https://github.com/JaccoR/hass-entso-e/issues
2024-04-05 15:31:26.546 WARNING (MainThread) [homeassistant.components.sensor] Entity sensor.energieprijzen_next_hour_electricity_market_price (<class 'custom_components.entsoe.sensor.EntsoeSensor'>) is using state class 'measurement' which is impossible considering device class ('monetary') it is using; expected None or one of 'total'; Please update your configuration if your entity is manually configured, otherwise create a bug report at https://github.com/JaccoR/hass-entso-e/issues
2024-04-05 15:31:26.551 WARNING (MainThread) [homeassistant.components.sensor] Entity sensor.energieprijzen_lowest_energy_price_today (<class 'custom_components.entsoe.sensor.EntsoeSensor'>) is using state class 'measurement' which is impossible considering device class ('monetary') it is using; expected None or one of 'total'; Please update your configuration if your entity is manually configured, otherwise create a bug report at https://github.com/JaccoR/hass-entso-e/issues
2024-04-05 15:31:26.555 WARNING (MainThread) [homeassistant.components.sensor] Entity sensor.energieprijzen_highest_energy_price_today (<class 'custom_components.entsoe.sensor.EntsoeSensor'>) is using state class 'measurement' which is impossible considering device class ('monetary') it is using; expected None or one of 'total'; Please update your configuration if your entity is manually configured, otherwise create a bug report at https://github.com/JaccoR/hass-entso-e/issues
2024-04-05 15:31:26.570 WARNING (MainThread) [homeassistant.components.sensor] Entity sensor.energieprijzen_average_electricity_price_today (<class 'custom_components.entsoe.sensor.EntsoeSensor'>) is using state class 'measurement' which is impossible considering device class ('monetary') it is using; expected None or one of 'total'; Please update your configuration if your entity is manually configured, otherwise create a bug report at https://github.com/JaccoR/hass-entso-e/issues
2024-04-05 15:31:26.583 WARNING (MainThread) [custom_components.entsoe.sensor] Unable to update entity due to data processing error: None and error: min() iterable argument is empty
2024-04-05 15:31:26.583 WARNING (MainThread) [homeassistant.components.sensor] Entity sensor.energieprijzen_current_percentage_of_highest_electricity_price_today (<class 'custom_components.entsoe.sensor.EntsoeSensor'>) is using state class 'measurement' which is impossible considering device class ('monetary') it is using; expected None or one of 'total'; Please update your configuration if your entity is manually configured, otherwise create a bug report at https://github.com/JaccoR/hass-entso-e/issues
2024-04-05 15:31:26.596 WARNING (MainThread) [custom_components.entsoe.sensor] Unable to update entity due to data processing error: None and error: min() iterable argument is empty
2024-04-05 15:31:26.597 WARNING (MainThread) [homeassistant.components.sensor] Entity sensor.energieprijzen_time_of_highest_price_today (<class 'custom_components.entsoe.sensor.EntsoeSensor'>) is using state class 'measurement' which is impossible considering device class ('timestamp') it is using; expected None; Please update your configuration if your entity is manually configured, otherwise create a bug report at https://github.com/JaccoR/hass-entso-e/issues
2024-04-05 15:31:26.610 WARNING (MainThread) [custom_components.entsoe.sensor] Unable to update entity due to data processing error: None and error: min() iterable argument is empty
2024-04-05 15:31:26.610 WARNING (MainThread) [homeassistant.components.sensor] Entity sensor.energieprijzen_time_of_lowest_price_today (<class 'custom_components.entsoe.sensor.EntsoeSensor'>) is using state class 'measurement' which is impossible considering device class ('timestamp') it is using; expected None; Please update your configuration if your entity is manually configured, otherwise create a bug report at https://github.com/JaccoR/hass-entso-e/issues

I have the exact same logs. It seems the Entities have changed classes (for example from Measurement to Monetary or Measurement to Timestamp).
Maybe deleting / reinstalling the integration configures it all correctly. But that would kill historic data.
Better would be to for the integration to fix the already configured entities, that no longer work.

I guess if recreating the plugin instance with another name is solving this problem that it is a bug in this plugin. I'll wait until this bug is fixed.

Second it happened to me. I switched to Nordpool. Sorry
-------- Oorspronkelijk bericht --------Van: Arno Broeders @.> Datum: 13-04-2024  12:04  (GMT+01:00) Aan: JaccoR/hass-entso-e @.> Cc: RogMoe @.>, Comment @.> Onderwerp: Re: [JaccoR/hass-entso-e] After upgrading to HA 2024.4.0 no prices
where retreived (Issue #150)
I guess if recreating the plugin instance with another name is solving this problem that it is a bug in this plugin. I'll wait until this bug is fixed.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.***>

If you're using another integration that uses this Entso data, you'll need to change the sensor to "sensor.average_electricity_price_today". This sensor contains the hourly prices for the today and (sometime during the afternoon) tomorrow.

I had the same issue even before i upgraded to the latest HA version. I have had this same issue before that i had to reinstall the integration.
The last release of this github page dates back to 2022. So i don't think there will come a new fix. So for the third time i
I don't know where the problem came from this time or last time. I didn't bother to find out. In the end i knew i had to reinstall the integration again.
My first approach:

Check API key if still valid
Check account settings at entso-E
Restart home assistant
Reload integration

if all of this doesn't solve the issue, there is only one option left: reinstall the integration and link/replace all old entities to the new one.
Just be sure to check your dashboards where you have used the old entities and replace them with the new one.
For example these all gave me warnings and i just replaced them in my dashboard.
sensor.current_electricity_market_price_2						sensor.entsoe_3_current_electricity_market_price
sensor.next_hour_electricity_market_price						sensor.entsoe_3_next_hour_electricity_market_price
sensor.average_electricity_price_today_2						sensor.entsoe_3_average_electricity_price_today
sensor.current_percentage_of_highest_electricity_price_today	sensor.entsoe_3_current_percentage_of_highest_electricity_price_today
sensor.highest_energy_price_today_2								sensor.entsoe_3_highest_energy_price_today
sensor.lowest_energy_price_today_2								sensor.entsoe_3_lowest_energy_price_today
sensor.time_of_highest_price_today								sensor.entsoe_3_time_of_highest_price_today
sensor.time_of_lowest_price_today								sensor.entsoe_3_time_of_lowest_price_today

You don't have to reinstall the integration.
If you delete the current configuration and add a new entry, using the same API key and settings as before, everything will work again.
But you are right that there are now new sensors you need to replace the old ones with where applicable.

Renewing the configuration did not work for me the first time i had this issue, so i didn't bother on checking again if it would work this time, but you're right it could be something to check before reinstalling it again.
I didn't care about history data, so this was the easiest and quickest.

You have to delete the ensoe entries from .storage/core.restore_state

You have to delete the ensoe entries from .storage/core.restore_state

How do you proceed after deleting them?
I've deleted all entso entries and reloaded HA, but old data is retained,
I've changed the last seen value to None / a date in the past and reload HA, but no change.
I've deleted the specific entry with hourly values and kept the file open, reloaded the integration and it still gets the wrong values from somewhere, these values are not in the core.restore_state file, it's only updated with the old values once I close the file.
I've queried my database, but entso data isn't stored there. I'll try to add the data to recorder and try to delete it there.

I stopped HA, deleted the stored values and started HA. But that fixed only the "today" values, "tomorrow" was still wrong. So I fixed sth. in the code. If you have access to the custom_components/entsoe files, I can give you my fix.

I have access, looking at your hass-entso-e repo now, do you have the change documented? or in comments in the affceted file? So I can re-apply / understand the fix :)

The main change is  func async_get_last_sensor_data in sensor.py. It always returns "None" now.
I also changed coordinator.py, but I'm not sure if you need that.
Maybe the mean, max or min values will stop work. I did not check that.

I'll check it out, I'm moving from the provided min/avg/max values; today the avg provided by Entso-E is below the min value :/
I'm checking out TheFes's work to get the optimal hours - https://github.com/TheFes/cheapest-energy-hours

I'm checking out TheFes's work to get the optimal hours

This looks pretty complex. I did not know that there is sth. like custom templates!

You can import it through hacs, if you enable experimental features in HACS (Integrations -> Hacs - > Configure), you then still need to move the cheapest_energy_hours.jinja file from the www/community/cheapest-energy-hours folder to the custom_templates folder (which you may need to create at the same level as the www & custom_components folders.
I then used the following in the template editor to get some results, later I'll create some sensors or automations with them.
There's some more stuff you can do with weighted hours, still figuring this out myself ;)
{%- set sensor = 'sensor.entso_average_electricity_price_today' -%} {% from 'cheapest_energy_hours.jinja' import cheapest_energy_hours %} Cheapest 3 hour period tonight:  {{ cheapest_energy_hours(sensor=sensor, attr_today='prices_today', attr_tomorrow='prices_tomorrow', time_key='time', value_key='price', hours=all, start='21:00', end=today_at('09:00') + timedelta(days=1), look_ahead=true) }} Cheapest 3 hour period tomorrow:  {{ cheapest_energy_hours(sensor=sensor, attr_today='prices_today', attr_tomorrow='prices_tomorrow', time_key='time', value_key='price', hours=all, start='09:00', end=today_at('21:00') + timedelta(days=1), look_ahead=true) }}

Happened to me again in the last couple days. Have to remove and add the integration with a new name again...

And again, after updating to the latest Home Assistant release, I have no data. Tried reinstalling with another name, but no luck this time. Can't this be solved permanently?

And again, after updating to the latest Home Assistant release, I have no data. Tried reinstalling with another name, but no luck this time. Can't this be solved permanently somehow?

Haven't tried to do the trick again, and updated my ha today, so might be broken since today.

This happened again today (for the second time). You can either create a new integration with a different name (this sucks because you also have to change the name in the automations and you lose the history) or use this fix (which worked for me).
I'm not sure what the underlying cause is. Maybe this issue has something to do with it.

I didn't upgrade and I had implemented Martin's fix, still broke. Trying to clear config/.storage/core.restore_state entries now...

I didn't upgrade and I had implemented Martin's fix, still broke. Trying to clear config/.storage/core.restore_state entries now...
Update: Clearing the entries from core.restore_state worked.

I only needed to clear this object (including all the nested today and tomorrow prices that seemed to be stuck since 6 days ago): sensor.[your entso-e config name]_average_electricity_price_today
Prices and graphs filled almost immediately after starting hass again.

I only needed to clear this object (including all the nested today and tomorrow prices that seemed to be stuck since 6 days ago): sensor.[your entso-e config name]_average_electricity_price_today
Prices and graphs filled almost immediately after starting hass again.

Can you say how to clear the object including the nested today and tomorrow prices?

Sure,
SSH into your HASS
Shut down HASS with ha core stop
Make a backup of the state config file cp config/.storage/core.restore_state config/.storage/core.restore_state.bak
Edit it: nano config/.storage/core.restore_state
Remove this segment starting with the {
      "state": {"entity_id":"sensor.dynamischeenergieprijzen_average_electricity_price_today","state":"0.26295","attributes":{"state_class":"measurement","prices_today":[{"time":"2024-06-14 00:00:00+02:00","price":0.25825},{"time":">
      "extra_data": {
        "native_value": 0.26295,
        "native_unit_of_measurement": null,
        "_attr_extra_state_attributes": {
          "prices_today": [
            {
              "time": "2024-06-14 00:00:00+02:00",
              "price": 0.25825
            },
            {
              "time": "2024-06-14 01:00:00+02:00",
              "price": 0.24494
            },

...cut to keep this readably short...

            {
              "time": "2024-06-14 23:00:00+02:00",
              "price": 0.3043
            }
          ],
          "prices_tomorrow": [],
          "prices": [
            {
              "time": "2024-06-13 00:00:00+02:00",
              "price": 0.29839
            },

...cut to keep this readably short...

            {
              "time": "2024-06-14 22:00:00+02:00",
              "price": 0.30842
            },
            {
              "time": "2024-06-14 23:00:00+02:00",
              "price": 0.3043
            }
          ]
        }
      },
      "last_seen": "2024-06-14T07:15:22.322960+00:00"
    },

Restart HASS with ha core start

I didn't upgrade and I had implemented Martin's fix, still broke. Trying to clear config/.storage/core.restore_state entries now...
Update: Clearing the entries from core.restore_state worked.

I only needed to clear this object (including all the nested today and tomorrow prices that seemed to be stuck since 6 days ago): sensor.[your entso-e config name]_average_electricity_price_today
Prices and graphs filled almost immediately after starting hass again.

Clearing this one object solved the issue for me.
Hopefully there will be a fix soon, that fixes it permanently ;-)

This is a quite persistent and annoying error. I've been using the integration for over two years. Everytime the ENTSO-e API had some error, and there is no data available for some time, the integration seems to corrupt the data in sensors. Even after the data in the API is correct again, you can't use the previous sensors anymore. You'll have to delete the integration, add it again and change all our automations etc. Probably some better error handling is necessary when receiving empty or wrong data from the API...

Sure,
SSH into your HASS Shut down HASS with ha core stop Make a backup of the state config file cp config/.storage/core.restore_state config/.storage/core.restore_state.bak Edit it: nano config/.storage/core.restore_state
Remove this segment starting with the {

where should the config dir be? I managed to get the ha core to stop, but I cannot find the file you are refering to.

v0.4.0 is released this version contains fixes that solve a lot of warnings and known issues. This issue is probably also solved.
Please update to the latest version.
Closing this issue for now. If you still have issue please feel free to open a new issue.

Dont think its resolved.. my prices tomorrow attribute is empty; prices today contains today's prices and prices attribute contains prices of yesterday and tomorrow.

Here the same as @ronaldt80.

The entso-e platform does not respond with the prices of tomorrow a.t.m. So the issue you currently experiencing is not related to the integration.

It happened again today so the 0.4.0 update didn't fix the issue.

The entso-e platform did not return prices for today until it was almost noon. Currently the integrations does not handle this properly. We are working on this.: Follow-up on this in issue #171. But entso-e being 20 hours late with prices is something we can't solve.
V0.4.0 should have automatically recovered this afternoon without user intervention.  If this is not the case feel free to open a new issue with detailed information about your config.

I noticed the current today prices are the prices of 3 days ago. How can I force the data to update?


feat: runtime typechecker

TODO: open an issue in equinox showing that applying the converter in __post_init__ rather than pre-__init__ leads to this error.


quilt crash with only touhou origins and dependencies, seems to be aplugi.

I am getting this crash, after removing aplugi and touhou origins the game will launch.
crash-2023-01-29_02.09.31-client.txt

Seems to be a mixin injection failure, but I am not tech-savvy enough to tell for sure.

This was indeed caused by apugli and it seems the crash has already been fixed, so I'll update the library on my end.

Ah great, thanks!


Flipping the status and service around fixes service_running?

The stdout from shell_out was just a newline, so bluepill never stopped my services.

Hi. I am an automated pull request bot named Curry. There are commits in this pull request whose authors are not yet authorized to contribute to Chef Software, Inc. projects or are using a non-GitHub verified email address. To become authorized to contribute, you will need to sign the Contributor License Agreement (CLA) as an individual or on behalf of your company. You can read more on Chef's blog.
GitHub Users Who Are Not Authorized To Contribute
The following GitHub users do not appear to have signed a CLA:

@gswallow

Please sign the CLA here.

Hi. Your friendly Curry bot here. Just letting you know that all commit authors have become authorized to contribute. I have added the "Signed CLA" label to this issue so it can easily be found in the future.

@gswallow I'm confused on the change in format.  Bluepill is BINARY ACTION SERVICENAME with its commands.  Their docs show example commands that back this up here https://github.com/bluepill-rb/bluepill#usage-1
Do you have more information on the version of bluepill and the exit code you receive when you run the command in a shell.

Yeah, the docs say so, but in practice it's different:
indigo_chef@ip-172-24-229-130:~$ bluepill -v
bluepill, version 0.0.69
indigo_chef@ip-172-24-229-130:~$ sudo chef-shell -z
...
chef > shell_out('/usr/local/bin/bluepill compute-runner status').stdout
=> "\n"
chef > shell_out('/usr/local/bin/bluepill status compute-runner').stdout
=> "compute-runner(pid:7070): up\nevent history:\n\n"

Based on feedback from a past colleague I'm going to close this one out. If bluepill is not following their docs in some situations that needs to be fixed upstream because the current settings are working for multiple users.


Add setting to locate php

so that terminal can use a different (older 😢 ) version while vscode still works. 🌷

@unional See php.executablePath on https://github.com/felixfbecker/vscode-php-intellisense/blob/master/README.md


push a same image to the registry:2.0 and registry:0.9 ，the registry:2.0's growing size is more bigger than registry:0.9

we pulled two images from registry0.9, imageA and imageB , imageA is imageB's base image
1 run registry2.0 container
docker run -d --privileged=true --net=host --name registry-2 -e SETTINGS_FLAVOR=local -e REGISTRY_HOST=localhost -e REGISTRY_PORT=5000 registry:2.0
2  firstly, wo commit the empty rigisty2.0 and see the virtual size is  548.6 MB
(1)docker commit registry2.0-containerID  registry2.0
localhost:5000/registry                        2.0                     ec94325cd2c4        4 weeks ago         548.6 MB
(2) then push imageA ,and commit and see the virtual size is 1.039G
docker push localhost:5000/imageA
docker commit registry2.0-containerID  registry2.0
the grow size is 491M
(3) push imageB , commit and see th virtual size is 1.119 GB
the grow size is 70M
3 then I run registy0.9 container and do the same thing
(1)	when the registry is empty, we commit and see the virtual size is 413.8 MB
(2) after pushed imageA, commit and see the virtaul size is 903.5 MB,
the grow size is 389.7M , the grow size is as same as regisry2.0 growed
(3)but when I pushed imageB , commit and see th virtual size is 920.6 MB
the grow size only 17M
so why imageB's  grow size in registry2.0 is bigger than in registry0.9 ?

Different compression settings?

@dmp42
Do you mean the registry2.0 and registry0.9 use the different compress ration settings?
And how to modify the compress ratio settings?

In fact the compression is processed in client side.
And the way you comparing size is not accurate. The difference between two container size can from log, some intermediate file, blob, metadata and so on.
As I tested, the blob size is different but the content in the tar file is same. So I guess docker client use different archive method for different registry.

@oilbeater this is correct
Protocol v2 and v1 are significantly different, and size discrepancies is expected.
@bohai you cannot modify compression settings on the client side - and the registries themselves don't touch the payloads.
@liuwanzhi I'm closing this as "answered" - if you still feel this is not satisfactory, I'll reopen.
Thanks.

@dmp42
Thanks for your answer. I still have some question about this thing.
I feel maybe there is a defect in the V2 registry.
The below is the detail information and my analyzation.
I pushed the same image to the registry0.9 and registry 2.0.1. And then commit the registry    containers and save them  as tar file.
And then go through the tar file , and see what happened in them .
In the 0.9 registry:
/home/0.9.3/a6c847604ae100de4ffcacc06ebcf3db05326758c9609fc4d3a29bb36c832676/tmp/registry/images
[root@localhost images]# du -hs * |grep M
45M     1753f91adeef2a15a9d3ba11a0c7e570cef5cc39c3eb8ea995f6505c60a66b1f
320M    480e5080a24e3d069615143445d62e2101677148da2ff92197c64fe1171a98be
37M     73a756be114946cfd8415ebc7c25bc41355fe1ca5d398deee93c538b286adeea
60M     b6ae834858770d2c32c811460d480311575ff15090d3f6486d7b68242fc45a2d
325M    c08e0d908fd705c459adc5b49008eed77339e0a266797c25a8da24baeedd6657
But in the 2.0.1registry:
[root@localhost sha256]# pwd
/home/2.0.3/edbf1f4011ccdbd151d8e59e136e011dbb17465ff2fd99965ee66d070620bd3d/tmp/registry-dev/docker/registry/v2/blobs/sha256
[root@localhost sha256]# du -hs *|grep M
105M    15
320M    20
60M     d2
37M     d3
326M    e8
We can see almost every layer is same only one exception.
A 45M  layer in the 0.9 registry becomes 105M layer in the 2.0.1 registry.
Then i enter the directory, and see what's the reason.
in the 0.9 registry
[root@localhost images]# du -hs 1753f91adeef2a15a9d3ba11a0c7e570cef5cc39c3eb8ea995f6505c60a66b1f/*
4.0K    1753f91adeef2a15a9d3ba11a0c7e570cef5cc39c3eb8ea995f6505c60a66b1f/ancestry
4.0K    1753f91adeef2a15a9d3ba11a0c7e570cef5cc39c3eb8ea995f6505c60a66b1f/_checksum
4.0K    1753f91adeef2a15a9d3ba11a0c7e570cef5cc39c3eb8ea995f6505c60a66b1f/json
45M     1753f91adeef2a15a9d3ba11a0c7e570cef5cc39c3eb8ea995f6505c60a66b1f/layer
in the 2.0.1 registry
[root@localhost sha256]# du -hs 15/*
45M     15/15410c7dd43c023c605b7daeaa99ee3d6f0e3a8b82d222f525b57433a5b281d5
60M     15/15aadd037d91d1f9907b6bc14b536d42671542be1e483cef5a6366092e6903d8
I doubt the 60M layer is saved twice in registry 2.0.1

@dmp42
Could you reopen the issue to make more people pay the attentions.

I can't reproduce your result. As far as I can guess from your description, there is two layers in 15/ and the data file in the layer directory is also a tar file. May be you can extract it and find more information.
However, as different layer will have different tarsum, I guess the two 60M layers are different in content.

@oilbeater
Thanks.
I will try to make a  simple and reproduce example.
I tried to look the content of the 60M file  and found the files are similar.(I am sorry, i didn't find a method to verify all the files are same )

@dmp42 Can you reopen this issue? Thanks
@liuwanzhi @bohai @oilbeater
Maybe I meet the same issue. Reproduce step:
1.
Registry Container:
[root@localhost ~]# docker exec -it 2.0.1 /bin/bash
root@8fe6d4479136:/# cd /tmp/registry-dev/docker/registry/v2/blobs/sha256
root@8fe6d4479136:/tmp/registry-dev/docker/registry/v2/blobs/sha256# du -h
52K	./ee/eee530e672a0106fddea284d2b8d5cb7325f542da41eebdaac24674f8406421d
56K	./ee
11M	./ba/bad54a5c2ae3392a1a6224d8ab5a5400fe79b983fe423a98a56981595f2ee6c9
11M	./ba
8.0K	./dd/ddf532273b60e90431d7630711d2a31b1ab73424d88c4569fd6c793a173cdae0
12K	./dd
24M	./44/44590cce7a4f3d85cc2a5ec978512b469bd9b873f5e9c2acaa80181277276edc
24M	./44
41M	./c3/c33eb106dfcf81f8ecefeb8890e1c4cbddd97a27bb31ea49894f949a5243c4ab
41M	./c3
31M	./f9/f9a0522cbaa228af3def597b0790db18c802aba4a2b7e1c4a1054fed0dfdc41a
31M	./f9
8.0K	./a3/a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4
12K	./a3
3.1M	./25/259e85cb2eba63b0813396e884f16c18163c0b72edbef84dbdbb4f14cc60bb14
3.1M	./25
6.6M	./f4/f4fd525d70fd60cabafc2d2edb42da99d6e344525cb0fcc78dd94d17c16d1576
6.6M	./f4
8.0K	./ea/ea2a9399d365a1e5f01829dcc49030e4e6ec6b686247141f11dd1da015a7cbea
12K	./ea
8.0K	./dc/dc1764cdb8928c75a9cd1e4583a9f8e591a323ecc30cf99de5fe356e94552cee
12K	./dc
49M	./4d/4d2e9ae40c411dd421f35dd20c133152bed21f8f9b903ba265a5d77c69a79edc
49M	./4d
18M	./70/70c3450b82875ff61c4a9bd662efcb8a8fa2fc3b61213962d7a0787ebd70cecf
18M	./70
182M	.
root@8fe6d4479136:/tmp/registry-dev/docker/registry/v2/blobs/sha256# du -h | wc -l
27

2.2 Push image again(registry:latest)
Host:
[root@localhost xcb]# docker push <IP_ADDRESS>:5200/registry:latest
The push refers to a repository [<IP_ADDRESS>:5200/registry] (len: 1)
f9684be4155a: Image already exists
f9684be4155a: Image already exists
6df65975f079: Image already exists
10afac01c05b: Image already exists
98cc4694054b: Image already exists
e6c388bc67fb: Image already exists
66780839eff4: Image already exists
6a192b88c36f: Image already exists
aeb43bf230e4: Image already exists
124e2127157f: Image already exists
69c177f0c117: Image already exists
141b650c3281: Image already exists
8fb45e60e014: Image already exists
63e9d2557cd7: Image already exists
b279b4aae826: Image already exists
d86979befb72: Image already exists
8ddc08289e1a: Image already exists
8d38711ccc0d: Image already exists
0f5121dd42a6: Image already exists
607e965985c1: Image already exists
1ff9f26f09fb: Image already exists
9a61b6b1315e: Image already exists
Digest: sha256:eee530e672a0106fddea284d2b8d5cb7325f542da41eebdaac24674f8406421d

Registry Container:
root@8fe6d4479136:/tmp/registry-dev/docker/registry/v2/blobs/sha256# du -h
52K	./ee/eee530e672a0106fddea284d2b8d5cb7325f542da41eebdaac24674f8406421d
56K	./ee
11M	./ba/bad54a5c2ae3392a1a6224d8ab5a5400fe79b983fe423a98a56981595f2ee6c9
11M	./ba
8.0K	./53/533fcaf91b8be0a663c977d5e41f0bd161d49650793aa83da7ca00ae2071c464
12K	./53
8.0K	./dd/ddf532273b60e90431d7630711d2a31b1ab73424d88c4569fd6c793a173cdae0
12K	./dd
24M	./44/44590cce7a4f3d85cc2a5ec978512b469bd9b873f5e9c2acaa80181277276edc
24M	./44
41M	./c3/c33eb106dfcf81f8ecefeb8890e1c4cbddd97a27bb31ea49894f949a5243c4ab
41M	./c3
31M	./f9/f9a0522cbaa228af3def597b0790db18c802aba4a2b7e1c4a1054fed0dfdc41a
31M	./f9
8.0K	./a3/a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4
12K	./a3
3.1M	./25/259e85cb2eba63b0813396e884f16c18163c0b72edbef84dbdbb4f14cc60bb14
3.1M	./25
6.6M	./f4/f4fd525d70fd60cabafc2d2edb42da99d6e344525cb0fcc78dd94d17c16d1576
6.6M	./f4
8.0K	./ea/ea2a9399d365a1e5f01829dcc49030e4e6ec6b686247141f11dd1da015a7cbea
12K	./ea
8.0K	./dc/dc1764cdb8928c75a9cd1e4583a9f8e591a323ecc30cf99de5fe356e94552cee
12K	./dc
49M	./4d/4d2e9ae40c411dd421f35dd20c133152bed21f8f9b903ba265a5d77c69a79edc
49M	./4d
18M	./70/70c3450b82875ff61c4a9bd662efcb8a8fa2fc3b61213962d7a0787ebd70cecf
18M	./70
182M	.
root@8fe6d4479136:/tmp/registry-dev/docker/registry/v2/blobs/sha256# du -h | wc -l
29

We can find that one layer has been saved in registry( (29-27)/2 )
Question2: Why added one layer when pushing the same image?
2.3 Push image(registry2:latest same as registry:latest)
Host:
[root@localhost xcb]# docker tag f9684be4155a <IP_ADDRESS>:5200/registry2:latest
[root@localhost xcb]# docker push <IP_ADDRESS>:5200/registry2:latest
The push refers to a repository [<IP_ADDRESS>:5200/registry2] (len: 1)
f9684be4155a: Image already exists
f9684be4155a: Buffering to Disk
6df65975f079: Image already exists
98cc4694054b: Image successfully pushed
e6c388bc67fb: Image successfully pushed
e6c388bc67fb: Buffering to Disk
66780839eff4: Image already exists
6a192b88c36f: Image already exists
124e2127157f: Image successfully pushed
124e2127157f: Buffering to Disk
69c177f0c117: Image already exists
141b650c3281: Image already exists
63e9d2557cd7: Image successfully pushed
63e9d2557cd7: Buffering to Disk
d86979befb72: Image successfully pushed
8ddc08289e1a: Image successfully pushed
8ddc08289e1a: Buffering to Disk
0f5121dd42a6: Image successfully pushed
607e965985c1: Image successfully pushed
1ff9f26f09fb: Image successfully pushed
1ff9f26f09fb: Buffering to Disk
902b87aaaec9: Image successfully pushed
Digest: sha256:555a369757825dc8c02dccd6484ad0a653556494b59b96b6c0113135744af030

Question3: Why some layers are exists and another are not?
Registry Container:
root@8fe6d4479136:/tmp/registry-dev/docker/registry/v2/blobs/sha256# du -h
18M	./be/be6ccd7e478c1b1750c123b4bc8ac7f13f1254bb507f785685bca903daaae86c
18M	./be
52K	./ee/eee530e672a0106fddea284d2b8d5cb7325f542da41eebdaac24674f8406421d
56K	./ee
11M	./ba/bad54a5c2ae3392a1a6224d8ab5a5400fe79b983fe423a98a56981595f2ee6c9
11M	./ba
8.0K	./95/95444a2413c1ef715eb0340a31d9396559293f4e6a8ff4b153282bafa454aaa9
12K	./95
8.0K	./53/533fcaf91b8be0a663c977d5e41f0bd161d49650793aa83da7ca00ae2071c464
12K	./53
8.0K	./dd/ddf532273b60e90431d7630711d2a31b1ab73424d88c4569fd6c793a173cdae0
12K	./dd
52K	./55/555a369757825dc8c02dccd6484ad0a653556494b59b96b6c0113135744af030
56K	./55
24M	./44/44590cce7a4f3d85cc2a5ec978512b469bd9b873f5e9c2acaa80181277276edc
24M	./44
41M	./c3/c33eb106dfcf81f8ecefeb8890e1c4cbddd97a27bb31ea49894f949a5243c4ab
41M	./c3
31M	./f9/f9a0522cbaa228af3def597b0790db18c802aba4a2b7e1c4a1054fed0dfdc41a
31M	./f9
8.0K	./a3/a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4
12K	./a3
3.1M	./25/259e85cb2eba63b0813396e884f16c18163c0b72edbef84dbdbb4f14cc60bb14
3.1M	./25
6.6M	./f4/f4fd525d70fd60cabafc2d2edb42da99d6e344525cb0fcc78dd94d17c16d1576
6.6M	./f4
8.0K	./ea/ea2a9399d365a1e5f01829dcc49030e4e6ec6b686247141f11dd1da015a7cbea
12K	./ea
8.0K	./dc/dc1764cdb8928c75a9cd1e4583a9f8e591a323ecc30cf99de5fe356e94552cee
12K	./dc
49M	./4d/4d2e9ae40c411dd421f35dd20c133152bed21f8f9b903ba265a5d77c69a79edc
49M	./4d
18M	./70/70c3450b82875ff61c4a9bd662efcb8a8fa2fc3b61213962d7a0787ebd70cecf
18M	./70
200M	.
root@8fe6d4479136:/tmp/registry-dev/docker/registry/v2/blobs/sha256# du -h | wc -l
35

root@8fe6d4479136:/tmp/registry-dev/docker/registry/v2/blobs/sha256# du -h | grep 18M
18M	./be/be6ccd7e478c1b1750c123b4bc8ac7f13f1254bb507f785685bca903daaae86c
18M	./be
18M	./70/70c3450b82875ff61c4a9bd662efcb8a8fa2fc3b61213962d7a0787ebd70cecf
18M	./70

We can find that three layers have been saved in registry( (35-29)/2 ), such as have two 18M layers
Question4: Why?
3. Some Analysis
I find that check layers exists in docker(https://github.com/docker/docker/blob/master/graph/push_v2.go#L144) using the interface HEAD /v2/<name>/blobs/<digest>. This will lead to:
If push the images(have same layers) with differeent reponame, the interface will return Not exists when push layers.
Why layer digest bind to reponame(check layer exists)?
Also, Why the same layer have different sha256 when pushing?

Maybe we can find something meaningful in https://github.com/docker/distribution/issues/634

@jimmyxian
I did some simple test, and find something interesting. When pushing an image to a new registry,the status of pushing first layer changes from "buffer to disk" to "Image successfully pushed" and then to "Image already exists".
I think the finally status is wrong,it should stop at "Image successfully pushed". But after go through the code, I still cannot find how this comes. From the code logical, there should not be an "Image already exists" status.

I went through a very similar series of steps a few days ago when I was investigating a separate issue, and asked myself the same questions. Here are my conclusions.

Question1: why first layer already exists ?

It doesn't already exist, and the output that says it exists is misleading. This is a bug on the client side. It sometimes sends a HEAD request to see if a layer exists, gets a 404, then uploads the layer and sends another HEAD request. When the second HEAD request returns 200, it claims that the image already exists, even though it was just uploaded.

Question2: Why added one layer when pushing the same image?

I believe the new blob is the manifest file for the new repository. Since it contains the repository name, it's not identical to the old manifest.

Question3: Why some layers are exists and others are not?

See answer to question 1. All the layers are pushed, but for some the client wrongly reports that they already exist.

Question4: We can find that three layers have been saved in registry( (35-29)/2 ), such as have two 18M layers Why?

This could be an issue with tar files being reconstructed with minor differences, so that their digests aren't the same. As of a few days ago, the Docker engine's master branch has code that should prevent this from happening. I'd suggest trying the docker/docker master branch to see if it resolves this particular issue.

@aaronlehmann Thanks for your quick reply. I have tried the docker master, it's ok, solved by https://github.com/docker/docker/pull/14067

Should this be closed as fixed?

@dmp42 Yeah, should be closed, thanks


brew remove start service

How can I remove a 'started' service, such that I can 'run' it but it doesn't get started please?

brew services stop; brew services run


Extension that can send messages using chat app webhooks.

It would be cool to have an extension that allows sending messages to a chat app server using a chat app webhook url.

Sounds like it could cause security issues. Is there any situation where you would find this useful?

Sounds like it could be a security problem having projects being able to send whatever messages they want as the user. Is there any situation where you would find this useful?

"send whatever messages they want as the user"
No, this is for interacting with Discord webhooks (Discord's bot feature made to specifically send messages by posting to a URL), not the user. This is probably already possible with the fetch extension.

Hi, I don't normally program in js, but somehow I managed to get it working.
https://github.com/matej2005/TurboWarp-extension/blob/main/discord.js
"This is probably already possible with the fetch extension." I tried but it didn't work.

TurboHook


JsonReaderException: Unterminated string sending first DebugAdapter message

Hello
I'm trying to debug a .NET Core app over SSH on a Docker container that's running on a remote server. I read your offroad debugging docs and learned a lot by trial and error talking to vsdbg. I'm able to run the plink/ssh command in a shell, paste a JSON message (with Content-Length; see picture) and get the remote app to talk back to me. However, when doing the same in Visual Studio 2019 the DebugAdapter throws a JsonReaderException and often doesn't send any data to the remote (but sometimes it does send!).
Here's my launch.json, the comments are for my team:
// This is for anyone working in Visual Studio to debug _remote_ Docker
// containers via SSH to ca-vic-app01 in QA
// View->Other Windows->Command Window
// DebugAdapterHost.Logging /On /OutputWindow
// DebugAdapterHost.Launch /LaunchJson:"<THIS FILE.json>" /EngineGuid:541B8A8A-6081-4506-9F0A-1CE771DEBC04
{
	// Docs on launch.json:
	// https://github.com/Microsoft/MIEngine/wiki/Offroad-Debugging-of-.NET-Core-on-Linux---OSX-from-Visual-Studio
	"version": "0.2.0",
	"adapter": "C:\\Program Files\\PuTTY\\plink.exe",
	// Change the container name here. Must be built with debugging symbols and
	// include the remote debugger via bind mount or the Dockerfile
	"adapterArgs": "-i \"C:\\id.ppk" user@ca-vic-app01 -t -batch docker attach maestro-api-debug-vsdbg",
	"configurations": [
		{
			"name": ".NET Core Remote Docker Attach",
			"type": "coreclr",
			"request": "attach",
			"processId": 1
		}
	]
}
// If you just want to do local Docker debugging, install this:
// https://marketplace.visualstudio.com/items?itemName=Dreamescaper.AttachToDockerContainer

I'm running these in the command window:
>DebugAdapterHost.Logging /On /OutputWindow /Verbosity:debug
>DebugAdapterHost.Launch /LaunchJson:"C:\Projects\EFX\launch.json" /EngineGuid:541B8A8A-6081-4506-9F0A-1CE771DEBC04

I get a pop up of the error and this output:
 1> DebugAdapterHost version: 16.0.30220.2 commit:37bf7cc091107568bd6aa14b6229bb6741ce945f
 1> State: Unset => Initializing
 1> Sending VS event: IDebugEngineCreateEvent2 (fe5b734c-759d-4e59-ab04-f103343bdd06)
 1> Sending VS event: IDebugProgramCreateEvent2 (96cd11ee-ecd4-4e89-957e-b5d496fc4139)
 1> Starting 'C:\Program Files\PuTTY\plink.exe' with arguments '-i "C:\id.ppk" user@ca-vic-app01 -t -batch docker attach maestro-api-debug-vsdbg'
 1> [DebugAdapter] --> C (initialize-1): {"command":"initialize","arguments":{"clientID":"visualstudio","clientName":"Visual Studio","adapterID":"coreclr","locale":"en-US","linesStartAt1":true,"columnsStartAt1":true,"pathFormat":"path","supportsVariableType":true,"supportsRunInTerminalRequest":true,"supportsHandshakeRequest":true},"seq":1,"type":"request"}
 1> WARNING: Stopping due to fatal error: JsonReaderException: Unterminated string. Expected delimiter: ". Path 'type', line 3, position 313.
 1> Cancelling outstanding request(s) with ID(s): 1
 1> ERROR: Debug Adapter did not respond to initial requests.
 1> ERROR: Unexpected error

AggregateException: One or more errors occurred.

Aggregate exception:
    DebugAdapterLaunchException: Failed to launch debug adapter.  Additional information may be available in the output window.

    Failure Location: UserCanceled
    Inner Exception:
        OperationCanceledException: The operation was canceled.
Inner Exception:
    DebugAdapterLaunchException: Failed to launch debug adapter.  Additional information may be available in the output window.

Microsoft.VisualStudio.Debugger.VSCodeDebuggerHost.Engine.Implementation.DebuggedProcess.<StartDebugAdapter>b__91_1(Exception ex)
Microsoft.VisualStudio.Debugger.VSCodeDebuggerHost.Utilities.TaskExtensions.<>c__DisplayClass11_0`1.<Catch>b__0(TException ex)
Microsoft.VisualStudio.Debugger.VSCodeDebuggerHost.Utilities.TaskExtensions.<>c__DisplayClass10_0`1.<Catch>b__0(AggregateException ex)

    Failure Location: UserCanceled
    Inner Exception:
        OperationCanceledException: The operation was canceled.

 1> ERROR: One or more errors occurred.

Failed to launch debug adapter.  Additional information may be available in the output window.

The operation was canceled.
 1> Sending VS event: IDebugErrorEvent2 (fdb7a36c-8c53-41da-a337-8bd86b14d5cb)
 1> State: Initializing => Exiting
 1> State: Exiting => Exited
 1> Sending VS event: IDebugProgramDestroyEvent2 (e147e9e3-6440-4073-a7b7-a65592c714b5)
 1> ERROR: Unexpected error

JsonReaderException: Unterminated string. Expected delimiter: ". Path 'type', line 3, position 313.

Newtonsoft.Json.JsonTextReader.ReadStringIntoBuffer(Char quote)
Newtonsoft.Json.JsonTextReader.ParseString(Char quote, ReadType readType)
Newtonsoft.Json.JsonTextReader.ParseValue()
Newtonsoft.Json.JsonTextReader.Read()
Newtonsoft.Json.Serialization.JsonSerializerInternalReader.ReadForType(JsonReader reader, JsonContract contract, Boolean hasConverter)
Newtonsoft.Json.Serialization.JsonSerializerInternalReader.ResolvePropertyAndCreatorValues(JsonObjectContract contract, JsonProperty containerProperty, JsonReader reader, Type objectType)
Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObjectUsingCreatorWithParameters(JsonReader reader, JsonObjectContract contract, JsonProperty containerProperty, ObjectConstructor`1 creator, String id)
Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateNewObject(JsonReader reader, JsonObjectContract objectContract, JsonProperty containerMember, JsonProperty containerProperty, String id, Boolean& createdFromNonDefaultCreator)
Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader, Type objectType, Boolean checkAdditionalContent)
Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader reader, Type objectType)
Newtonsoft.Json.JsonConvert.DeserializeObject(String value, Type type, JsonSerializerSettings settings)
Newtonsoft.Json.JsonConvert.DeserializeObject[T](String value, JsonSerializerSettings settings)
Microsoft.VisualStudio.Shared.VSCodeDebugProtocol.Protocol.DebugProtocol.HandleIncomingMessage(String msg)
Microsoft.VisualStudio.Shared.VSCodeDebugProtocol.Protocol.DebugProtocol.ProcessMessageBody()
Microsoft.VisualStudio.Shared.VSCodeDebugProtocol.Protocol.DebugProtocol.ReaderThreadProc()

 1> ERROR: Unterminated string. Expected delimiter: ". Path 'type', line 3, position 313.
 1> Sending VS event: IDebugErrorEvent2 (fdb7a36c-8c53-41da-a337-8bd86b14d5cb)
 1> Debug adapter process exited.
 1> Debug adapter non-protocol standard output: st"}

It says it's "user canceled" but I'm not touching anything else after running it.
I'm using docker attach in my launch.json above, but the issue also happens for docker exec -it /opt/vsdbg/vsdbg --interpreter=vscode or even on the Linux host with /home/user/vsdbg/vsdbg --interpreter=vscode. I don't think it's an issue on the remote, I think it's in VS2019/DebugAdapter...
The DebugAdapter always throws an error, but sometimes (once or twice) the message is sent before it crashes, and this is what I see:

Which is valid JSON! So I'm not sure why it thinks the st" is being cut off. Although I was concerned if it had to do with the Content-Length header and then have 3 newlines in the output? Might not be related.
I didn't see any issues about this, or JSON, or unterminated strings in this repo or Omnisharp's. Have you seen something like this before?
Thanks for all your work into this project!

I’m not familiar with your scenario at all, but looking at your json it looks like this line is improperly formatted. It looks like it is missing a ‘\’ after the “ppk”.
              "adapterArgs": "-i \"C:\\id.ppk" user@ca-vic-app01 -t -batch docker attach maestro-api-debug-vsdbg",

From: heyheyhello<EMAIL_ADDRESS>Sent: Wednesday, August 14, 2019 5:35 PM
To: microsoft/MIEngine<EMAIL_ADDRESS>Cc: Subscribed<EMAIL_ADDRESS>Subject: [microsoft/MIEngine] JsonReaderException: Unterminated string sending first DebugAdapter message (#914)
Hello
I'm trying to debug a .NET Core app over SSH on a Docker container that's running on a remote server. I read your offroad debugging docs and learned a lot by trial and error talking to vsdbg. I'm able to run the plink/ssh command in a shell, paste a JSON message (with Content-Length; see picture) and get the remote app to talk back to me. However, when doing the same in Visual Studio 2019 the DebugAdapter throws a JsonReaderException and often doesn't send any data to the remote (but sometimes it does send!).
Here's my launch.json, the comments are for my team:
// This is for anyone working in Visual Studio to debug remote Docker
// containers via SSH to ca-vic-app01 in QA
// View->Other Windows->Command Window
// DebugAdapterHost.Logging /On /OutputWindow
// DebugAdapterHost.Launch /LaunchJson:"" /EngineGuid:541B8A8A-6081-4506-9F0A-1CE771DEBC04
{
    // Docs on launch.json:

    // https://github.com/Microsoft/MIEngine/wiki/Offroad-Debugging-of-.NET-Core-on-Linux---OSX-from-Visual-Studio

    "version": "0.2.0",

    "adapter": "C:\\Program Files\\PuTTY\\plink.exe",

    // Change the container name here. Must be built with debugging symbols and

    // include the remote debugger via bind mount or the Dockerfile

    "adapterArgs": "-i \"C:\\id.ppk" user@ca-vic-app01 -t -batch docker attach maestro-api-debug-vsdbg",

    "configurations": [

           {

                   "name": ".NET Core Remote Docker Attach",

                   "type": "coreclr",

                   "request": "attach",

                   "processId": 1

           }

    ]

}
// If you just want to do local Docker debugging, install this:
// https://marketplace.visualstudio.com/items?itemName=Dreamescaper.AttachToDockerContainer
I'm running these in the command window:

DebugAdapterHost.Logging /On /OutputWindow /Verbosity:debug

DebugAdapterHost.Launch /LaunchJson:"C:\Projects\EFX\launch.json" /EngineGuid:541B8A8A-6081-4506-9F0A-1CE771DEBC04

I get a pop up of the error and this output:
1> DebugAdapterHost version: 16.0.30220.2 commit:37bf7cc091107568bd6aa14b6229bb6741ce945f
1> State: Unset => Initializing
1> Sending VS event: IDebugEngineCreateEvent2 (fe5b734c-759d-4e59-ab04-f103343bdd06)
1> Sending VS event: IDebugProgramCreateEvent2 (96cd11ee-ecd4-4e89-957e-b5d496fc4139)
1> Starting 'C:\Program Files\PuTTY\plink.exe' with arguments '-i "C:\id.ppk" user@ca-vic-app01 -t -batch docker attach maestro-api-debug-vsdbg'
1> [DebugAdapter] --> C (initialize-1): {"command":"initialize","arguments":{"clientID":"visualstudio","clientName":"Visual Studio","adapterID":"coreclr","locale":"en-US","linesStartAt1":true,"columnsStartAt1":true,"pathFormat":"path","supportsVariableType":true,"supportsRunInTerminalRequest":true,"supportsHandshakeRequest":true},"seq":1,"type":"request"}
1> WARNING: Stopping due to fatal error: JsonReaderException: Unterminated string. Expected delimiter: ". Path 'type', line 3, position 313.
1> Cancelling outstanding request(s) with ID(s): 1
1> ERROR: Debug Adapter did not respond to initial requests.
1> ERROR: Unexpected error
AggregateException: One or more errors occurred.
Aggregate exception:
DebugAdapterLaunchException: Failed to launch debug adapter.  Additional information may be available in the output window.

Failure Location: UserCanceled

Inner Exception:

    OperationCanceledException: The operation was canceled.

Inner Exception:
DebugAdapterLaunchException: Failed to launch debug adapter.  Additional information may be available in the output window.

Microsoft.VisualStudio.Debugger.VSCodeDebuggerHost.Engine.Implementation.DebuggedProcess.b__91_1(Exception ex)
Microsoft.VisualStudio.Debugger.VSCodeDebuggerHost.Utilities.TaskExtensions.<>c__DisplayClass11_0`1.b__0(TException ex)
Microsoft.VisualStudio.Debugger.VSCodeDebuggerHost.Utilities.TaskExtensions.<>c__DisplayClass10_0`1.b__0(AggregateException ex)
Failure Location: UserCanceled

Inner Exception:

    OperationCanceledException: The operation was canceled.

1> ERROR: One or more errors occurred.
Failed to launch debug adapter.  Additional information may be available in the output window.
The operation was canceled.
1> Sending VS event: IDebugErrorEvent2 (fdb7a36c-8c53-41da-a337-8bd86b14d5cb)
1> State: Initializing => Exiting
1> State: Exiting => Exited
1> Sending VS event: IDebugProgramDestroyEvent2 (e147e9e3-6440-4073-a7b7-a65592c714b5)
1> ERROR: Unexpected error
JsonReaderException: Unterminated string. Expected delimiter: ". Path 'type', line 3, position 313.
Newtonsoft.Json.JsonTextReader.ReadStringIntoBuffer(Char quote)
Newtonsoft.Json.JsonTextReader.ParseString(Char quote, ReadType readType)
Newtonsoft.Json.JsonTextReader.ParseValue()
Newtonsoft.Json.JsonTextReader.Read()
Newtonsoft.Json.Serialization.JsonSerializerInternalReader.ReadForType(JsonReader reader, JsonContract contract, Boolean hasConverter)
Newtonsoft.Json.Serialization.JsonSerializerInternalReader.ResolvePropertyAndCreatorValues(JsonObjectContract contract, JsonProperty containerProperty, JsonReader reader, Type objectType)
Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObjectUsingCreatorWithParameters(JsonReader reader, JsonObjectContract contract, JsonProperty containerProperty, ObjectConstructor`1 creator, String id)
Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateNewObject(JsonReader reader, JsonObjectContract objectContract, JsonProperty containerMember, JsonProperty containerProperty, String id, Boolean& createdFromNonDefaultCreator)
Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader, Type objectType, Boolean checkAdditionalContent)
Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader reader, Type objectType)
Newtonsoft.Json.JsonConvert.DeserializeObject(String value, Type type, JsonSerializerSettings settings)
Newtonsoft.Json.JsonConvert.DeserializeObject[T](String value, JsonSerializerSettings settings)
Microsoft.VisualStudio.Shared.VSCodeDebugProtocol.Protocol.DebugProtocol.HandleIncomingMessage(String msg)
Microsoft.VisualStudio.Shared.VSCodeDebugProtocol.Protocol.DebugProtocol.ProcessMessageBody()
Microsoft.VisualStudio.Shared.VSCodeDebugProtocol.Protocol.DebugProtocol.ReaderThreadProc()
1> ERROR: Unterminated string. Expected delimiter: ". Path 'type', line 3, position 313.
1> Sending VS event: IDebugErrorEvent2 (fdb7a36c-8c53-41da-a337-8bd86b14d5cb)
1> Debug adapter process exited.
1> Debug adapter non-protocol standard output: st"}
It says it's "user canceled" but I'm not touching anything else after running it.
I'm using docker attach in my launch.json above, but the issue also happens for docker exec -it /opt/vsdbg/vsdbg --interpreter=vscode or even on the Linux host with /home/user/vsdbg/vsdbg --interpreter=vscode. I don't think it's an issue on the remote, I think it's in VS2019/DebugAdapter...
The DebugAdapter always throws an error, but sometimes (once or twice) the message is sent before it crashes, and this is what I see:
[image]https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fuser-images.githubusercontent.com%2F44614862%2F63064873-5b81bd80-beb8-11e9-8dfc-c04766a7f24c.png&data=02|01|paulmay%40microsoft.com|30da9afa46554cdefbb708d7211879c4|72f988bf86f141af91ab2d7cd011db47|1|0|637014261316317070&sdata=Ch7FzPOhtycwrN5cZJzUsrhRKf1VvhNeUgLEc8E14wk%3D&reserved=0
Which is valid JSON! So I'm not sure why it thinks the st" is being cut off. Although I was concerned if it had to do with the Content-Length header and then have 3 newlines in the output? Might not be related.
I didn't see any issues about this, or JSON, or unterminated strings in this repo or Omnisharp's. Have you seen something like this before?
Thanks for all your work into this project!
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmicrosoft%2FMIEngine%2Fissues%2F914%3Femail_source%3Dnotifications%26email_token%3DAC7PLWGV47NNIWX5VTWYHPDQESQFDA5CNFSM4IL2CI72YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HFKU2KA&data=02|01|paulmay%40microsoft.com|30da9afa46554cdefbb708d7211879c4|72f988bf86f141af91ab2d7cd011db47|1|0|637014261316317070&sdata=A7V3L3EKRpzRWDUxx7yjWn9y7VPQGnBmm%2Ft8BKWyWqE%3D&reserved=0, or mute the threadhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAC7PLWD5LO56CJY473VKNEDQESQFDANCNFSM4IL2CI7Q&data=02|01|paulmay%40microsoft.com|30da9afa46554cdefbb708d7211879c4|72f988bf86f141af91ab2d7cd011db47|1|0|637014261316327070&sdata=TJsBjQorfqveE7lzlWTKOrcNJJbXMs8wBefZovG62jw%3D&reserved=0.

Oh yes thank you, that's just a typo on my part on GitHub, but good catch. The real file does have the \ after ppk. The DebugAdapter is reading the launch JSON ok, and connects to the remote via SSH, it just fails at sending the JSON message

I think the problem is that you are using -t (enable pty allocation) but you want to use -T (disable pty allocation).

Oh interesting! Sorry to miss your message I'll try tomorrow at work :)

Hi that was it. I just needed to use -T. The command args that worked for me was "adapterArgs": "-i \"C:\\id.ppk\" user@ca-vic-app01 -T -batch docker exec -i maestro-api-debug /opt/vsdbg/vsdbg --interpreter=vscode"

Wanted to make a note about chaining in the docs, but you don't allow edits to the wiki. Here's trhe commit: https://github.com/heyheyhello/MIEngine-wiki/commit/921cd76c7b88f1406fe8b7fddb256bba002c4820
If you're not interested that's fine too 😊 Thanks for you help!

Thanks! I made a few tweaks and merged in your changes.


dask.array.indices incorrectly sets up chunks for each dimension

I ran into some strange behaviour when running da.nonzero on the result of da.ediff1d.
When one uses the to_begin=1 kwarg of ediff1d, a chunk of length 1 is added to the front of the resulting dask array. This seems to cause da.nonzero to enter into an infinite loop.
Software Versions

python 2.7.12
dask 0.17.0

Example
from __future__ import print_function

import dask
import dask.array as da

if __name__ == "__main__":
    N = 975409
    chunks = 100000

    A = da.linspace(1.4, 1.5, N, chunks=chunks)
    # Evaluates
    print(da.nonzero(da.ediff1d(A))[0].compute())
    # Evaluates
    print(da.nonzero(da.ediff1d(A, to_end=1))[0].compute())
    # Gets stuck in a recursive loop
    print(da.nonzero(da.ediff1d(A, to_begin=1, to_end=1))[0].compute())

Suspect the problem occurs here in dask/creation.py
    dimensions = tuple(dimensions)
    dtype = np.dtype(dtype)
    chunks = tuple(chunks)

    if len(dimensions) != len(chunks):
        raise ValueError("Need same number of chunks as dimensions.")

    xi = []
    for i in range(len(dimensions)):
        xi.append(arange(dimensions[i], dtype=dtype, chunks=chunks[i]))

The arange command produces a dask array consisting of entirely of chunks of size 1

Probably a quick fix, working on a PR now.

Fixed by #3167


The ability to enter Cyrillic in the form

@googlebot I fixed it.

@googlebot I fixed it.

@googlebot I fixed it.

@googlebot I fixed it.


Issue:- #652 Solved:- Added Air Quality Predictor

Issues Identification
Closes: #652
Description
I will attach images to show my work
Image):-

Video:-
https://github.com/user-attachments/assets/b2f286d8-c1f0-43c9-a2fe-ee03b3cff7b0
Types of Changes
Please check the boxes that apply

[ ] Bugfix (non-breaking change that fixes an issue)
[yes ] New feature (non-breaking change that adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation update (Documentation content changed)
[ ] Other (please describe):

Checklist
Please check the boxes that apply

[yes ] My code follows the style guidelines of this project
[yes ] I have performed a self-review of my own code
[yse ] I have commented my code, particularly in hard-to-understand areas
[ yes] I have made corresponding changes to the documentation
[yes ] My changes generate no new warnings
[yes ] My changes do not break the current system and pass all existing test cases
[ yes] I have added tests that prove my fix is effective or that my feature works
[ yes] New and existing unit tests pass locally with my changes

@PrAyAg9 just make a one change.

change the heading.

@vivekvardhan2810  Done


Kanban Board

Hi dear reviewer
in this group we are 3 people @qwibbler :100: , @tafaramafemba :heavy_check_mark:  and @Juanse7793 :+1:
here is the Link to our kanban board
Repositories

Front-end Repo

Back-end Repo

Current state of the kanban board:

Hi dear student,
In my opinion, your project is ready for presentation!  There is nothing else to say other than... it's time to merge it :shipit:

Good luck! 🎉
Feel free to leave any questions or comments in the PR thread if something is not 100% clear.


Implement the Parse function

Implemented a function to parse a file according to the file format and according to our custom parsers already implemented

Close by #70


Sample IVisualPlugin code generated by the IVisual template does not compile

Create a new item using the IVisual template.

The generated code is similar to the following:
/* Creating IVisualPlugin that is used to represent IVisual. */
//
// Uncomment it to see your plugin in "PowerBIVisualsPlayground" plugins list
// Remember to finally move it to plugins.ts
//
//module powerbi.visuals.plugins {
//    export var NewVisual: IVisualPlugin = {
//        name: 'NewVisual',
//        capabilities: NewVisual.capabilities,
//        create: () => new NewVisual()
//    };
//}
Note that the variable being declared (line 85 in the source) is the same name as the declared class.  This will not compile.
The correct sample code should be:
module powerbi.visuals.plugins {
export var newVisual: IVisualPlugin = {
name: 'newVisual',
capabilities: NewVisual.capabilities,
create: () => new NewVisual()
};

That's right. But we cannot change a case of variables in the template. You should do it manually.
Resolved #297


GetAll() does not work on arrays of len 1

Hey dan,
I'm not really sure if this is the way it's supposed to work. I'm not really an expert in rethink, so sorry if i this is the way intended.
If i have an array of multiple keys it works perfectly, if i pass only one key as a string it it works too.
But when i pass an array of a single key like the one below it does not work.
usersId := []string{"da5a344a-eeca-4167-8b41-338dce3e5b47"}

res, err := rethink.Table(UsersTable).
  GetAll(usersId).Run(Session)

Thanks for the drivers, amazing work!

(posting answer discussed in Slack)
Spreading the slice in the arguments to GetAll should make this work however that will require switching the type of userId to []interface{} as otherwise the code will not compile. For example:
usersId := []interface{}{"da5a344a-eeca-4167-8b41-338dce3e5b47"}

res, err := rethink.Table(UsersTable).GetAll(usersId...).Run(Session)


ci: update manual docker build wasm-simd workflow

Description
Adds new release branches
closes: #XXXX

Before we can merge this PR, please make sure that all the following items have been
checked off. If any of the checklist items are not applicable, please leave them but
write a little note why.

[ ] Targeted PR against the correct branch (see CONTRIBUTING.md).
[ ] Linked to GitHub issue with discussion and accepted design, OR link to spec that describes this work.
[ ] Code follows the module structure standards and Go style guide.
[ ] Wrote unit and integration tests.
[ ] Updated relevant documentation (docs/).
[ ] Added relevant godoc comments.
[ ] Provide a conventional commit message to follow the repository standards.
[ ] Include a descriptive changelog entry when appropriate. This may be left to the discretion of the PR reviewers. (e.g. chores should be omitted from changelog)
[ ] Re-reviewed Files changed in the GitHub PR explorer.
[ ] Review SonarCloud Report in the comment section below once CI passes.

oh we should make note to add entries for these in the document we have for versioning them (commits they correspond to, ibc-go/wasmvm requirement etc)

definitely, I think we can do that post release


Getting 'GS' key error when reading a csv from GCS using gcsfc

Hi I upgraded gcsfs and now I get the following error:
My code is pretty simple:
data = dd.read_csv(file_path, parse_dates=[date_column])\
        .compute()
    return data```

It used to work but all of a sudden it stopped working.
file_path = gs://mybuck/res.csv

```File "main.py", line 51, in run
    data = load_parse_file(file_path=args.input_file)
  File "/FbProphet/prophet_gcp/utils.py", line 15, in load_parse_file
    data = dd.read_csv(file_path, parse_dates=[date_column])\
  File "/work/miniconda/lib/python3.7/site-packages/dask/dataframe/io/csv.py", line 578, in read
    **kwargs
  File "/work/miniconda/lib/python3.7/site-packages/dask/dataframe/io/csv.py", line 405, in read_pandas
    **(storage_options or {})
  File "/work/miniconda/lib/python3.7/site-packages/dask/bytes/core.py", line 93, in read_bytes
    fs, fs_token, paths = get_fs_token_paths(urlpath, mode="rb", storage_options=kwargs)
  File "/work/miniconda/lib/python3.7/site-packages/dask/bytes/core.py", line 425, in get_fs_token_paths
    fs, fs_token = get_fs(protocol, options)
  File "/work/miniconda/lib/python3.7/site-packages/dask/bytes/core.py", line 571, in get_fs
    cls = _filesystems[protocol]
KeyError: 'gs'

Ah yes, sorry - my fault. For now, you can replace "gs" with "gcs".

I have tried both, still get the same issue

Hm, actually on second thoughts, you are not using the new code at all.
I don't know why you are seeing this, there has been no change in dask (master) or gcsfs (release) yet. Can you show the contents of dask.bytes.code._filesystems, try import gcsfs explicitly, or run dask.bytes.core.get_fs('gs')?

Of course, the workaround for you may be simply to downgrade gcsfs until we have completed the transition to fsspec (which is the reason for a little turbulence right now).

seeing the same behavior w/ 0.3.0:
[ins] In [2]: dd.read_csv('gs://gcp-public-data-landsat/index.csv.gz', compression=
         ...: 'gzip')
---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
<ipython-input-2-2c32b0849045> in <module>
----> 1 dd.read_csv('gs://gcp-public-data-landsat/index.csv.gz', compression='gzip')

~/venvs/model/lib/python3.7/site-packages/dask/dataframe/io/csv.py in read(urlpath, blocksize, collection, lineterminator, compression, sample, enforce, assume_missing, storage_options, include_path_column, **kwargs)
    576             storage_options=storage_options,
    577             include_path_column=include_path_column,
--> 578             **kwargs
    579         )
    580

~/venvs/model/lib/python3.7/site-packages/dask/dataframe/io/csv.py in read_pandas(reader, urlpath, blocksize, collection, lineterminator, compression, sample, enforce, assume_missing, storage_options, include_path_column, **kwargs)
    403         compression=compression,
    404         include_path=include_path_column,
--> 405         **(storage_options or {})
    406     )
    407

~/venvs/model/lib/python3.7/site-packages/dask/bytes/core.py in read_bytes(urlpath, delimiter, not_zero, blocksize, sample, compression, include_path, **kwargs)
     91
     92     """
---> 93     fs, fs_token, paths = get_fs_token_paths(urlpath, mode="rb", storage_options=kwargs)
     94
     95     if len(paths) == 0:

~/venvs/model/lib/python3.7/site-packages/dask/bytes/core.py in get_fs_token_paths(urlpath, mode, num, name_function, storage_options)
    423         update_storage_options(options, storage_options)
    424
--> 425         fs, fs_token = get_fs(protocol, options)
    426
    427         if "w" in mode:

~/venvs/model/lib/python3.7/site-packages/dask/bytes/core.py in get_fs(protocol, storage_options)
    569             "    pip install gcsfs",
    570         )
--> 571         cls = _filesystems[protocol]
    572
    573     elif protocol in ["adl", "adlfs"]:

KeyError: 'gs'

re: the q's you asked above
[nav] In [7]: import dask.bytes.core
         ...: dask.bytes.core._filesystems
         ...:
Out[7]: {'file': dask.bytes.local.LocalFileSystem}

[nav] In [9]: import dask.bytes.core
         ...: dask.bytes.core.get_fs('gs')
---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
<ipython-input-9-855d81a61db6> in <module>
      1 import dask.bytes.core
----> 2 dask.bytes.core.get_fs('gs')

~/venvs/model/lib/python3.7/site-packages/dask/bytes/core.py in get_fs(protocol, storage_options)
    569             "    pip install gcsfs",
    570         )
--> 571         cls = _filesystems[protocol]
    572
    573     elif protocol in ["adl", "adlfs"]:

KeyError: 'gs'

I'm afraid you need to use the master version of dask to pick this up, following https://github.com/dask/dask/pull/5064

sg, seems like this is resolved then?

`C:\Anaconda3\lib\site-packages\dask\dataframe\io\csv.py in read(urlpath, blocksize, collection, lineterminator, compression, sample, enforce, assume_missing, storage_options, include_path_column, **kwargs)
576             storage_options=storage_options,
577             include_path_column=include_path_column,
--> 578             **kwargs
579         )
580
C:\Anaconda3\lib\site-packages\dask\dataframe\io\csv.py in read_pandas(reader, urlpath, blocksize, collection, lineterminator, compression, sample, enforce, assume_missing, storage_options, include_path_column, **kwargs)
403         compression=compression,
404         include_path=include_path_column,
--> 405         **(storage_options or {})
406     )
407
C:\Anaconda3\lib\site-packages\dask\bytes\core.py in read_bytes(urlpath, delimiter, not_zero, blocksize, sample, compression, include_path, **kwargs)
91
92     """
---> 93     fs, fs_token, paths = get_fs_token_paths(urlpath, mode="rb", storage_options=kwargs)
94
95     if len(paths) == 0:
C:\Anaconda3\lib\site-packages\dask\bytes\core.py in get_fs_token_paths(urlpath, mode, num, name_function, storage_options)
423         update_storage_options(options, storage_options)
424
--> 425         fs, fs_token = get_fs(protocol, options)
426
427         if "w" in mode:
C:\Anaconda3\lib\site-packages\dask\bytes\core.py in get_fs(protocol, storage_options)
569             "    pip install gcsfs",
570         )
--> 571         cls = _filesystems[protocol]
572
573     elif protocol in ["adl", "adlfs"]:
KeyError: 'gcs'`
Have the same issue now

@PoradaKev - you a version of gcsfs that is too new for Dask. Either downgrade, or install Dask from master.

Tried that dask==2.1.0 and gcsfs==0.2.3 would work.


Add PluralRules selectRange

Number ranges have their own rules for plural selection.  CLDR has this data.  Consider exposing it in JavaScript via PluralRules.prototype.selectRange().
https://unicode-org.atlassian.net/browse/ICU-21190

UTS 35 briefly discusses plural rules for ranges: https://unicode.org/reports/tr35/tr35-numbers.html#Plural_Ranges

I can probably expand my intl-pluralrules polyfill to support this. @sffc please let me know once there's something like a spec to start playing around with?

The spec is here:
https://unicode.org/reports/tr35/tr35-numbers.html#Plural_Ranges
The data is here:
https://github.com/unicode-org/cldr/blob/master/common/supplemental/pluralRanges.xml

By spec I actually meant a spec for the PluralRules.prototype.selectRange()JS function, but I can presume that it's something like (start: number, end: number): 'zero'|'one'|'two'|'few'|'many'|'other' to start with, and make up stuff about errors.
As a first step I'll need to add the data to make-plural, which is what intl-pluralrules internally uses. While starting at that, I noticed that the cldr-core npm package does not include the pluralRanges data. I'll add a ticket to the CLDR Jira about this.


Shang-Chi says to click "Finish", but the button is now "Done"

Describe the bug
With the new tutorial design, the Done button says Finish now!
Shang-Chi tutorial 1, last step

In the second tutorial, there's a typo -- it should be "past the pit"

Marking this bug for search and replace all Finish to Done post release.


Refine description of html-target-and-javascript-windowopen

Update as of 2021: All current versions of major browsers now automatically use the behavior of rel="noopener" for any target="_blank" link, nullifying this issue.
See https://stackoverflow.com/a/50709724/1484823

I wonder if we should remove this discussion entirely. I do worry that other attacks will surface (the implicit shared process is something of a weakness), but no one seems to have found exploits. It's complicated to explain, the HTML spec has been modified, and the browsers people use have been updated. If it's no longer a security weakness, we don't need to explain it & people can focus on other things.
I guess we could mention that this used to be a problem, but isn't any more (citation needed I suspect).

thanks @david-a-wheeler for your quick feedback. After taking the class, I looked to fix this weakness in one of our component and hence reported back my learning. I wasn't aware of this parent-child process using target blank windows. +1 for removing the section to focus on current problems. Feel free to close this pr and reword this section in a distinct PR.

Hmm, it's not clear it's fully solved by published browsers.
The problem is that a value of “target” other than the default “_self” may, in some cases, create a vulnerability.
Browsers now automatically add rel=noopener when target=_blank ... but what about other targets? Granted, those targets are less common but they are certainly allowed.
At first glance it appears that the vulnerability is less likely, not eliminated. Am I misunderstanding something?

Sorry for all the extra comments. However, I try to double and triple check that a problem is actually gone before saying it's gone :-). There have been many prior security "solutions" that weren't :-).

I'd like to close this, but I can't figure out if I should or not. Is this still a vulnerability? Does anyone have more information?

I've asked some people to help me research if this is resolved or not. I'd like to change the section to a note that this is no longer relevant, but I can't make that statement without analysis showing that it's true. Help wanted!

I also teach this vulnerability in my training with hands-on labs and I can conclude that lately (in the last 6-12 months) all browsers are actually solving the issue and personally, I've removed it from my training materials as it's not relevant anymore. Here is the Lab that I used to teach it, you can always try it :)
docker pull blabla1337/owasp-skf-lab:tabnabbing
Go to localhost:5000 and you can play with it
The old writeup for the lab:
https://github.com/blabla1337/skf-labs/blob/26d9cd76e16988c8ac2f6be8ac498b954be4d52a/md/Python/kbid-266-tabnabbing.md

All: I received this wonderfully detailed answer, I hope soon to give the author credit here but let me share what I've learned:

The spec has been updated to automatically assume noopener if the target matches exactly "_blank", and only blank. The other pre-defined targets _self, _parent, and _top, have never been a problem because the opening content will be wiped away; there won't be an opener. Any other named target will still have the old behavior. A named frame in the current document isn't a concern because the documents are already linked.
If there isn't a frame by that name then the browser will re-use an existing window by that name, or create one if there aren't any. The opener will be set unless you explicitly use rel="noopener" because this was a common pattern for older style websites that used literal popups for informational displays instead of the more common floating  elements of modern sites. Those popups could use the opener to postMessage() back to the "main" page, or if they were same-origin they could do even uglier direct manipulation that these days would be considered a horrible way to design a site.
Typically a named window in this kind of use would have trusted, cooperative content. If a site is linking to untrusted external content they probably don't want to use a named window, but if they do they still need to explicitly use rel="noopener".
The referrer is a separate issue, and sites should still use noreferrer when needed. Modern browsers have changed the default referrer to "strict-origin-when-cross-origin" so there might only be problems if your page has overridden the default policy with a more permissive one.
Your course text says the opener causes problems because "the page being linked to runs in the same process as the calling page." That is not correct. The opener problem is because the opener links the two sites, and a window reference (whether a frame, a window.open() return value, or an opener) allows cross-origin contexts access to a subset of the window functionality (setting, but not reading, the location property, etc). That was true in the days of single-process browsers, and compatibility has been maintained in multiprocess browsers without respect to what processes the two documents live in.

I've created a different fix here: https://github.com/ossf/secure-sw-dev-fundamentals/pull/123
As I feared, the problem is mostly but not entirely gone. So I've revised the text to make the new situation clear (I hope). Proposed changes to the text in #123 go there.

All: Please review & comment on this proposed change that I believe addresses this: https://github.com/ossf/secure-sw-dev-fundamentals/pull/123/files

I think this has been resolved. Thank you everyone!


Require task-creating clients to relativize to setup directory

Right now, when generating task configs, we prepend certain config parameters with the path prefix setup/ when generating the config. If a client creates a task with target_exe = "my-fuzzer.exe", then config.target_exe == "setup/my-fuzzer.exe". In general, the server expects the client to submit a blob container-relative virtual blob for such config parameters.
Move this responsibility to the client, and require that task creators relativize paths as-needed using the {setup_dir} expansion variable. This expansion will not yet work in general, as described in #2387. As an interim step, have the CLI templates effect the hardcoding that is currently happening server-side.
AB#41312886

This is doable, runs into even-worse hardcoding friction in server-side paths where we'd soon need to implement placeholder expansion. See the discussion in #2399.
Closing this for now, since any solution that shifts the burden to the client side really should use variable expansion, and be holistically implemented, which may require more significant changes to the repro VM runtime code.


WebRTC Master-End Metrics

The Canary is currently using local sample frames so they are viewable from KVS stream playback console for testing. The following env vars were set for testing:
export CANARY_CHANNEL_NAME=<storageChannelName>
export CANARY_IS_MASTER=TRUE
export CANARY_TRICKLE_ICE=TRUE

Note
The storageChannelName channel must be configured to ingest media into a KVS stream using these instructions.

The Canary has not yet been tested on a Jenkins server. Proper aggregate metric labeling can be tested once run on a Jenkins server.

Switching to a different branch for development


Added loss_binary_log_weighted

Hello,
I found the need to train with imbalanced data using a binary loss layer. I found a very easy way to add weights (using the labels), and slightly modified loss_binary_log. Since it worked well for my purposes, I thought perhaps you would like to add it.
My IDE sort of cleaned up the whitespace, I hope that's not a problem (was not really intentional).

Cool, thanks for the PR.  This is a good idea.
There don't need to be two separate classes though. That is, it would be better to just make the change to loss_binary_log as it doesn't break any existing uses.  Also please don't include whitespace changes in the PR.

I'm sorry, I will have to reopen this pull-request. I'm not really good with git yet...

No worries :)


Crash after update when loading previously working save file

Describe the Bug
After loading our save file that worked fine with v0.3.6, a crash occurs with v0.3.7:
 678.992 Error MainLoop.cpp:1207: Exception at tick 41152794: The mod LTN Manager [ALPHA] (0.3.7) caused a non-recoverable error.
Please report this error to the mod author.

Error while running event LtnManager::on_tick (ID 0)
__LtnManager__/scripts/ltn-data.lua:286: attempt to index field '?' (a nil value)
stack traceback:
	__LtnManager__/scripts/ltn-data.lua:286: in function <__LtnManager__/scripts/ltn-data.lua:285>
	[C]: in function 'sort'
	__LtnManager__/scripts/ltn-data.lua:285: in function 'callback'
	__flib__/table.lua:201: in function <__flib__/table.lua:173>
	(...tail calls...)
	__LtnManager__/scripts/ltn-data.lua:584: in function 'iterate'
	__LtnManager__/control.lua:155: in function <__LtnManager__/control.lua:151>
 678.993 Error ClientMultiplayerManager.cpp:98: MultiplayerManager failed: "The mod LTN Manager [ALPHA] (0.3.7) caused a non-recoverable error.
Please report this error to the mod author.

Error while running event LtnManager::on_tick (ID 0)
__LtnManager__/scripts/ltn-data.lua:286: attempt to index field '?' (a nil value)
stack traceback:
	__LtnManager__/scripts/ltn-data.lua:286: in function <__LtnManager__/scripts/ltn-data.lua:285>
	[C]: in function 'sort'
	__LtnManager__/scripts/ltn-data.lua:285: in function 'callback'
	__flib__/table.lua:201: in function <__flib__/table.lua:173>
	(...tail calls...)
	__LtnManager__/scripts/ltn-data.lua:584: in function 'iterate'
	__LtnManager__/control.lua:155: in function <__LtnManager__/control.lua:151>"

I can provide a safe file if required, but our game is rather large. Since this happens without doing anything, I expect we will not be the only ones affected.

Yes, please provide your save file.

Any advice for where I can upload a 100 MiB savefile?

Hopefully this works: https://rapidshare.io/33c/Hex71.zip
My username is "DerRalfinator".

Unfortunately I am unable to reproduce the crash. I loaded up your save and left it running for 20 minutes without a crash. I also loaded it in multiplayer and nothing happened.
Please clarify: this happens every time you try to start the game? Also, am I correct that this is a multiplayer map?

Yes, this is a multiplayer map. We loaded that savegame... well actually we loaded the savegame of one of my friends, not mine, but they were created at basically the same time. I will try to acquire the concrete save that we loaded.

We were unable to reproduce this problem, and on a later savefile the new version of the mod loads just fine... so sorry for the noise, seems I cannot actually produce a savefile.
Also let me use this opportunity to thank you for this mod, is is extremely useful when handling a large base that heavily relies on LTN for resource transport and management. :)

Alright, if it ever happens again, please let me know! Thanks for using the mod. :)


Get ember-cli-chartist working with Ember CLI 0.2.x

If you're a developer who needs to run ember-cli-chartist with Ember CLI 0.2.x, put the following in your config/environment.js file:
ENV.sassOptions = {
  includePaths: [
    'node_modules/ember-cli-chartist/vendor/chartist/scss'
  ]
};

Of course, if this array already exists (for example, to get ember-cli-bootstrap-sass working), that string should be added to the includePaths array.

#46 should resolve this.


We check get_best_path() each time functions are called

These functions all call get_best_path every time they are called

read_power_source
read_battery_charge
read_lid_state

We should do something at the start to determine each path

maybe cache the path?

Yea

Done


Cannot update markers attribute on mwc-slider programmatically

I would like to be able to update the markers attribute programmatically. But it does not work
Code
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>MWC Slider</title>
    <script src="https://unpkg.com/@material/mwc-button@0.18.0?module" type="module"></script>
    <script src="https://unpkg.com/@material/mwc-slider@0.18.0?module" type="module"></script>
    <link href="https://fonts.googleapis.com/css?family=Roboto:300,400,500" rel="stylesheet">
    <link href="https://fonts.googleapis.com/css?family=Material+Icons&display=block" rel="stylesheet">
    </head>
  <body>
    <mwc-slider style="width:100%" value="0" min="0" max="10" step="1"></mwc-slider>
    <mwc-button onclick='el=document.getElementsByTagName("mwc-slider")[0];el.setAttribute("markers", "")'>Toggle Markers</mwc-button>
  </body>
</html>

Steps
Open in browser

Click button

As you can see the markers attribute has been set but the markers are not showing.
Additional Context
It works if the markers are set initially.

Thanks for the bug report! I'll add this to our backlog to fix


not a valid add-on repository

Describe the bug
https://github.com/davidusb-geek/emhass is not a valid add-on repository
To Reproduce
Add the repository to HA
Expected behavior
Add the repository to HA
Screenshots

Home Assistant installation type

Home Assistant OS

Your hardware

OS: HA OS
Architecture: amd64

EMHASS installation type

Add-on

Additional context
Add any other context about the problem here.

I think you have to use this one.
https://github.com/davidusb-geek/emhass-add-on

I think you have to use this one. https://github.com/davidusb-geek/emhass-add-on

Exactly, you are not using the correct URL for the add-on repository.
Closing as that will solve the issue.


create a secret failed

There is an extra space before the field 'type', so to create a secret failed. The message is "error: error parsing nginxsecret.yaml: error converting YAML to JSON: yaml: line 5: did not find expected key".

@illidan33 Please sign the CLA. This PR will not be reviewed until the CLA is signed.

/check-cla

@illidan33 Please sign the CLA. This PR will not be reviewed until the CLA is signed.

sure, i have signed.

/lgtm
/approve


Added Boop ERD concept

Added the initial ERD concept based on our first discussion.

Can you convert this to an svg file?

It's now a drawio.svg file so we can continue editing it using draw.io.

@JChris246 does this have the changes that would be required for when we eventually implement group chat?

@JChris246 does this have the changes that would be required for when we eventually implement group chat?

I suggest adding a 'Participants' table to allow for tracking of 2+ users of a conversation as well as renaming the table fields to better identify FKs.

I redid the ERD with the suggestions. I also renamed the messages timestamp to sent_at so the name's more meaningful. We should do the same for the users timestamp.

I redid the ERD with the suggestions. I also renamed the messages timestamp to sent_at so the name's more meaningful. We should do the same for the users timestamp.

Remind me, what does the timestamp in the user refer to, is it the date the user created their account?

I redid the ERD with the suggestions. I also renamed the messages timestamp to sent_at so the name's more meaningful. We should do the same for the users timestamp.

Remind me, what does the timestamp in the user refer to, is it the date the user created their account?

Wasn't it being used to track activity status?
This is part of the design we started with:

It's being used in the Join function that is called when the user starts a session.

I redid the ERD with the suggestions. I also renamed the messages timestamp to sent_at so the name's more meaningful. We should do the same for the users timestamp.

Remind me, what does the timestamp in the user refer to, is it the date the user created their account?

Wasn't it being used to track activity status?
This is part of the design we started with:

It's being used in the Join function that is called when the user starts a session.

Ahh, so call last_active then?

I redid the ERD with the suggestions. I also renamed the messages timestamp to sent_at so the name's more meaningful. We should do the same for the users timestamp.

Remind me, what does the timestamp in the user refer to, is it the date the user created their account?

Wasn't it being used to track activity status?
This is part of the design we started with:

It's being used in the Join function that is called when the user starts a session.

Ahh, so call last_active then?
Made the change:


Stuck in "Sorry to bother you" in Kiosk mode

We have a big screen in the office to monitor builds and us this great plugin for that. However the screen runs in kiosk mode, so no interaction is needed. When updating Jenkins or on reboot (cookies timed out) the page will show the Sorry to bother you message, and be stuck at that message, so I need to automatically reload the page when this happens.
I found that adding this javascript the the service.js file:
setTimeout(function() {
$window.location.reload();
}, 10000);
after the:
$dialog.messageBox(...);
line solves the issue and automatically reloads the page and everything is fine again.

I've added a pull request, to make it easy for you if you agree.


[Feature] connpool supoort  "max-requests-per-connection"

The New Feature
https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/cluster/v3/cluster.proto#envoy-v3-api-field-config-cluster-v3-cluster-max-requests-per-connection
Your scenes
Describe your use scenes (why need this feature).
Your advice
Describe the advice or solution of this new feature.
Environment

MOSN Version

#2078


Missing Built file

Completed the installation and missing the build folder. Please guide.

Did you run any of the build commands?

The build folder will be created on any build command - documentation updated.


If two portals are preset their data will merge

I came across this error where I had 2 portals on the same layout.  The resulting nested portals appeared to have merged data.  I first thought it was copying the data over the array.  But after I made the field names unique in each portal I was able to discover that it just adds to the array of field names.  I am trying to figure out how to have it clear the list each time.

That sounds right, and I'll take a look too.  I'll be perfectly honest, that our preferred technique is making table specific calls to dedicated layouts and then "stitching them together" with the nestObjects() function. It's a lot easier doing this with 2 JSON arrays then with the FMPXMLRESULT ;-)
Having said that, I want it working and will get in there soon.
Thanks again!

just wanted to add that this is really sweet.  I appreciate it and am happy to contribute.

I was thinking about the fact that FMPXMLRESULT doesn't let you know if the fields are in a portal or not.  Couldn't you use fmpresultset with findany just to get the metadata about the fields?  Then you can turn portal nesting on for the user and know if a field is in a portal or not etc?  Just an idea


1.19.2

Can you make a 1.19.2 version?

See another fabric port done by Jonafanho: http://github.com/jonafanho/SlideShow

Thank you so much
Sincerely Liam
On Mon, Nov 7, 2022 at 9:51 AM Nemo @.***> wrote:

See another fabric port done by Jonafanho:
http://github.com/jonafanho/SlideShow
https://github.com/jonafanho/SlideShow
—
Reply to this email directly, view it on GitHub
https://github.com/zbx1425/SlideShow/issues/1#issuecomment-1304980460,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A4BJT2NSKBROCPGX46OUQHLWHBOAPANCNFSM6AAAAAARYWUGVM
.
You are receiving this because you authored the thread.Message ID:
@.***>


Add descendant strategy for miq requests to RBAC

https://bugzilla.redhat.com/show_bug.cgi?id=1302835
ParentTenant have ChildTenant.
User of ChildTenant created MiqRequest.
before:
User of ParentTenant cannot see the MiqRequest, only user of ChildTenant. (= current strategy)
after:
User of ParentTenant can see(and can approve it) the MiqRequest. (= descendant strategy)
cc @gtanzillo @patchkez @bascar

Looks good! :+1:


Persona image source options

Any way that we can render the persona component with images without a source URL? In my case, I am getting the images in bytes/base64string format.

Persona uses Image for the image.  And Image just uses a plain <img> tag with src attribute to show images.  So you should be able to show base64 data.  Just format it properly:
https://stackoverflow.com/questions/8499633/how-to-display-base64-images-in-html

sweet. worked like a charm :)