Call to Window::create can take up to a minute

Window::create executes very slowly
When creating a new sf::RenderWindow, the eventual call to WindowImpl::WindowImpl can take up to a minute to complete. In a StackOverflow thread I found out that the problem is DirectInput, and apparently only occurs when certain hardware is connected (Corsair K55 keyboard). This problem doesn't occur immediately, but only after building the project a couple dozen times. It's a very weird issue.
Your environment

Windows 10 Pro 64 Bit
SFML built from source (commit 59df9d0)
MSVC 14.27.29110

Steps to reproduce
As described above, this issue is specific to the connected USB devices. Steps to reproduce are:

Connect a Corsair K55 Keyboard
Start working on a project using SFML.

#include <SFML/Graphics.hpp>

int main()
{
    // After a couple dozen builds while working on the project this is the call SFML gets stuck on
    sf::RenderWindow window(sf::VideoMode(1280, 720), "Minimal, complete and verifiable example");

    while (window.isOpen())
    {
        sf::Event event;
        while (window.pollEvent(event))
        {
            if (event.type == sf::Event::Closed)
                window.close();
        }

        window.clear();
        window.display();
    }
}

Expected behavior
SFML should not get stuck when creating a new RenderWindow
Actual behavior
SFML gets stuck when creating a new RenderWindow

Updating firmware of keyboard by Corsair iCUE application fixes this issue. Now creating a new RenderWindow takes ~400ms.

@Lauchmelder23 any info on this? Does @milosz263 suggestion help?

@MrZeusTheCoder I don't know if @milosz263 answer works, I haven't tested it yet. I found a hacky """"workaround"""" tho, if you don't mind building sfml yourself.
https://stackoverflow.com/a/64139867

There has been known issues with K55s. Your workaround may work, but by removing the processJoystickEvents you are disabling use of any joystick. (Hence, of course, your note) Some more debug info would be awesome. Could you track down what line in the processJoystickEvents is taking forever? Hopefully this is fixable!

@MrZeusTheCoder I have located the culprit. In file JoyStickImpl.cpp line 472 there is a call to a DirectInput function which can take a solid 30 seconds to return. So unfortunately the problem isn't with SFML, but with either DirectInput or Corsair. I don't know enough about DirectInput to attempt a fix myself, but maybe someone else can take over from here.

If updating the firmware fixes then it is a Corsair issue. I was pretty sure of this in the first place, but it is good to know for sure. https://forum.corsair.com/forums/showthread.php?t=173987 <<< You don't seem to be the only one having trouble with the K55.
From Corsair from that page:

What we have found through our own rigorous testing is that Steam will continuously poll all USB devices looking for controllers once you start the program. This causes HID devices to get confused as to which program takes priority and which to respond to, and will cause hangs or crashes with either Steam or CUE. If a fix is possible through CUE, we will provide it once available.

Polling the device happens to be what we are doing. Of course we need to do this. I assume the firmware update contains a fix for the above issue. Thanks for posting, @Lauchmelder23 . Probably safe to close this one seeing it is an issue on Corsair's side.

@MrZeusTheCoder I would leave this issue open for just a bit longer. This is obviously a fault with Corsair's driver, but I feel like there should still be a way to prevent this from happening in this library. Lots of software uses DirectInput, and none of them have ever raised this exact issue for me. I don't know enough about DirectInput to confidently change that part of the code, but maybe someone stumbling upon this will!
I'll do some experiments as well to see if I can find a way to circumvent this.

Relate: https://github.com/glfw/glfw/issues/1284
Their fix was to wait on initializing joysticks till after the window is made. This isn't really desirable. I am pretty sure this would delay the joystick(/keyboard?) working until a minute after the window is created. I really don't think it is possible to fix this from the SFML side, but yo do what you think is best. Best of luck and happy coding!

How GLFW addressed it, is lazy initialization of joysticks on first use, see https://github.com/glfw/glfw/commit/782e6b6cefc9ac2a2b6779f9e658ab948809253b. This had the nice effect that programs which don't use the joystick don't have to pay for its initialization/deinitialization.
I'm not sure what happens if you access a joystick before the window, or if that's even possible.

I'm still no expert in DirectInput, so I couldn't find a solution to this problem that doesn't break a fundamental part of the library. The only possibility I see would be to have the user initialize the Joystick explicitely (e.g. in SDL2 the user chooses what parts of the library he wants to initialize). However this would change a fundamental feature and would probably break every project that uses Joysticks.

I used a K55 myself and a lot of other software, like literally any Capcom game, would freeze for 1-2 minutes after window creation before starting. In the Persona 4 Golden PC port, I would get frequent minute-long freezes during gameplay (every 3 minutes or so). SFML window creation took exactly 40 seconds every time, which made debugging a nightmare, etc.
I think at this point it's really just a problem with Corsair and their very substandard drivers and overall software. My particular keyboard had all sorts of other defects and firmware issues, and couldn't be updated/reset properly.
So yeah, I don't want to be that guy, but anyone using the K55 or other Corsair peripherals should probably just switch boards.
I don't think libraries like SFML should have to bend over backwards to try and avoid a driver issue from one company. And Corsair should be ashamed of their driver department.

I used a K55 myself and a lot of other software, like literally any Capcom game, would freeze for 1-2 minutes after window creation before starting. In the Persona 4 Golden PC port, I would get frequent minute-long freezes during gameplay (every 3 minutes or so). SFML window creation took exactly 40 seconds every time, which made debugging a nightmare, etc.
I think at this point it's really just a problem with Corsair and their very substandard drivers and overall software. My particular keyboard had all sorts of other defects and firmware issues, and couldn't be updated/reset properly.
So yeah, I don't want to be that guy, but anyone using the K55 or other Corsair peripherals should probably just switch boards.
I don't think libraries like SFML should have to bend over backwards to try and avoid a driver issue from one company. And Corsair should be ashamed of their driver department.

How much of a problem is this these days? Has the situation significantly improved with Corsair firmware quality?

Beyond just removing any hardware input polling, there isn't really anything we can do about broken driver or firmware.
I haven't heard of this issue in quite a while, so I assume it's safe to just close it.


NelderMead requires Default but doesn't need it

I want to use the nalgebra support for argmin in master, but I am having some difficulties. Specifically, I want to use NelderMead optimization, but I have found that it requires the param to be Default. I am using nalgebra::DMatrix. DMatrix does not implement Default. I looked at the implementation of NelderMead, and it seems that it does not utilize the Default bound at all. Is it possible to remove this bound so that I can use DMatrix with it. Thank you!

If this is okay, I can just submit a PR that removes this trait bound.

I went ahead and just made the PR since its a 2 line change and takes basically no time. Feel free to accept or reject.

Looks good to me, thanks!


[SPARK-40096][CORE][TESTS][FOLLOW-UP] Fix flaky test case

What changes were proposed in this pull request?
Fix flakey test failure
Why are the changes needed?
MT-safety issue in test
Does this PR introduce any user-facing change?
No
How was this patch tested?
Local tests.
Need to validate on CI

+CC @HyukjinKwon, @LuciferYang, @wankunde

I am still not able to reproduce this locally - but logically, this looks like the right fix.

Can you merge this if the tests pass @HyukjinKwon ? I might not be online tomorrow and it is getting late tonight for me :-)

Merged to master.


[WRONG] ESM imports are hoisted, even by runtimes

Describe the bug
import swcCore from '@swc/core';

const res = swcCore.transformSync(scriptContent, {
  // Some options cannot be specified in .swcrc
  filename: filePath + (scriptLang === 'tsx' ? '.tsx' : ''),
  sourceMaps: true,
  // Input files are treated as module by default.
  isModule: true,
  module: {
    type: 'es6'
  },
  // All options below can be configured via .swcrc
  jsc: {
    parser: {
      "syntax": "typescript",
      "tsx": false,
      "decorators": true,
      "dynamicImport": true
    },
    transform: {},
    loose: true
  },
})

return res

Input code
import Vue from 'vue'
import Dropdown from<EMAIL_ADDRESS>import TextArea from<EMAIL_ADDRESS>
@Component<Requirements>({
  components: {
    TextArea,
    Dropdown
  },
})
export default class Requirements extends Vue {
}

Config
No response
Playground link
No response
SWC Info output
function _ts_decorate(decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for(var i = decorators.length - 1; i >= 0; i--)if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
}
import Vue from 'vue'
import Dropdown from<EMAIL_ADDRESS>import TextArea from<EMAIL_ADDRESS>export { Requirements as default };
Expected behavior
function _ts_decorate(decorators, target, key, desc) { }  helper should be placed after import statements
Actual behavior
function _ts_decorate(decorators, target, key, desc) { } method is placed above import statements which causes invalid output
Version
1.3.90
Additional context
No response

ESM imports are hoisted anyway

ESM imports are hoisted anyway

I am transpiling vue templates to be used in jest native ESM runner and the code does not execute. Where this hoisting process is supposed to happen?

Or is it so that swcCore.transformSync does not hoist imports?

Ah you are right the problem is something else


Merge lit-html-1.x into security

Similar to #1829. Again, this is probably a more useful diff to evaluate this change: https://github.com/lit/lit/compare/lit-html-1.x...security-merge
This PR still needs to be tested internally.

Testing internally as cl/377145983.

Testing internally as http://cl/377145983.

I've merged latest lit-html-1.x into this branch and updated the CL. Waiting on internal tests.

This passed internal tests.


Fix funder timeout tests

TestFunding_PeerTimeout failed sometimes, this was due to an event race in the logic of the funder's waitForFundingConfirmation function: it was handling the same context's Done() event in two different select branches.
In this MR, I properly prioritize the select branches so that the race is resolved.

@RmbRT
Can you insert a link to a pipeline failing because of this?
I don't fully understand the problem yet. Maybe we can also briefly discuss in a call.

Can you insert a link to a pipeline failing because of this? I don't fully understand the problem yet. Maybe we can also briefly discuss in a call.

I don't have a link, sorry. The problem was that the funder sometimes failed to properly report all failed fundings, instead, it returned an error that the context was closed, as a subscription error. Since the tests expect that all missing assets are reported in the error, the tests sometimes failed.


Add provisioningProfileName input alongside provisioningProfileUuid.

If a user wants to sign with different signing assets than those
referenced by their project, they need to override both
PROVISIONING_PROFILE and PROVISIONING_PROFILE_SPECIFIER.
This change makes that easier. This will be useful for AppCenter,
who are overriding the signing configuration in the Xcode project files.

PROVISIONING_PROFILE_SPECIFIER was added in Xcode 8 to make it easier to add members to your team and update the provisioning profile you're using for signing.
Hardcoded example:

Output variables example:

I'm bumping the minAgentVersion to try to get the tests to pass. There was 1 use of the InstallAppleProvisioningProfile v1.* task from a node 5 agent (pre-2.117.0) in the last 14 days:

For Xcode v4.* there were 15 uses from older agents in the last 14 days:


Support a --quiet flag

The quiet flag means that tcurl should only output the response arg3 and nothing else.
Without the --quiet flag it can output arg2 and whether the response as ok or not.

In the current version, all you get is the response in JSON for as=json and as=thrift, or the as=raw response body.


Enable NUMA support for docker swarm

Background
Some distributed applications(MS,bigdata and so on)have CPU intensive workload, which need bind each container/replica to a specific NUMA node to gain a better performance.
Currently
1.can't find cpuset and cpuset-mem options in swarm service create/update command
2.can't assign different options for different replica within the same service
As a PAAS tool, I think Docker should enable such infrastructure performance features.

Thanks for opening; we have an "epic" to track options that are not (yet) available for services; https://github.com/docker/docker/issues/25303.
For this particular option, there's already an issue here; https://github.com/docker/docker/issues/30477
I'll close this one as it's a duplicate, and to keep the discussion central; you can subscribe to the linked issue to stay informed on updates. Feel free to comment though 👍


Fixes may 2017

The "got" and "expected" were reversed in equality tests - fixed that.
The histograms should have newlines at the end. The example in the problem description shows a newline at the end. It's also easy to write that way with 'unlines'.

Thanks Lyle!


Increase Monitoring retention

What would you like to be added:
Increase the retention of the Shoot cluster Prometheus from 180h (7.5d) to 30d.
Probably we need also to increase the disk size which is currently fixed 20gb.
I checked the Prometheus db disk size of a cluster with ~30 nodes. Currently it is using only 20% of the available storage capacity.
$ df -h
Filesystem                Size      Used Available Use% Mounted on
...
/dev/sdc                 19.6G      3.8G     14.8G  20% /var/prometheus/data
...

Todos

[ ] Increase Prometheus metrics retention to 30d
[ ] Calculate proper Prometheus disk size (keep in mind we need also free disk space for the WAL)
[ ] Check how to resize existing db disks, if we need to change the disk size
[ ] Adapt all Grafana dashboards to allow to select data over the last 30d

Why is this needed:
To analyse long running Gardener performance and scale tests we need to keep the metrics for a longer period. Also for Shoots which run prod workloads it would be good to keep the data for a longer period.
We can also discuss to make the disk size configurable, if we want to provide options to save money, because not all clusters will really need this increased retention.
cc @amshuman-kr @wyb1 @vlerenc

I suggest we whitelist the metric prometheus_tsdb_storage_blocks_bytes and collect it in the aggregate-prometheus as well. Then we can see on average how much storage all prometheus instances need. Obviously this does not account for the wal so we should leave some buffer. In addition to that we can whitelist prometheus_tsdb_lowest_timestamp to figure out how "old" the data is.
In the mean time we can set --storage.tsdb.retention.size=15GB and --storage.tsdb.retention.time=30d.


Memory Management

Removed CreatePrimeNumberList, Added UpdatePrimeNumberList that acts on an ArrayList, resizing it to match the argument. Rewrote GetFirstPrimeAboveLimit using a simple function called RedFactor that reduces a product by a factor.

Product Generator Updates Required

Add a mutable list of Prime numbers that can be used to check the validity of generated products with greater time efficiency.  Add a version of checkForPrimeAboveLimit() that uses this predefined list of prime numbers.

When the max prime or product range is updated, the mutable list of Primes will be updated.

The function name redFactor would be better named as reduceByFactor.

The name of this branch is memory management, which had the original intent to produce a PrimeNumberTools object with a memory efficient manner of producing and storing prime numbers. It has recently been used as a vehicle for cleaning up packages and even adding tests for the IntegerMgr component.
This branch will return to the objective as soon as these packages and tests are fixed.

Another unstable test result caused by a probability value being slightly out of the allowed range.

Tests and functions still contain print statements.


Add retries to the crawler.

Fixes #802.

@facebook-github-bot import

Thanks for importing. If you are an FB employee go to Phabricator to review.

@facebook-github-bot import

Thanks for importing. If you are an FB employee go to Phabricator to review.


Opt mode for Bosh Compress 6000AW

Hi !
I have added my Heatpump today and It seems to work.
But seems to lack the option Opt as mode for the heating.
I changed the temp to 20.5 degrees in HA and it changed in the Bosch app on my iphone.
But it changed mode to Auto.
Im on latest HA version. 0.108.3

bosch_scan.txt
Rename it to json instead of txt

You have RC300 gateway module.
It supports 2 operations modes: auto and manual.
Provide some logs and better description of the problem.

Hi Pawel !
Do you support switch too ?
When pump start/stop etc
Have you seen this ?
This use the ems communication
https://github.com/proddy/EMS-ESP
Nice page in HA
https://camo.githubusercontent.com/aba8f4f97fb074257ff146f11a469b730163f461/68747470733a2f2f656d736573702e6769746875622e696f2f646f63732f5f6d656469612f686f6d65253230617373697374616e742f68612e706e67
Husdata
http://husdata.se/?lang=eng
Or if you search for husdata on gitHub
Husdata use the service port
I have baught 2 differentr Interfaces from Husdata, but they was lacking energy ettc.
Now they have come out With a New document that support more.
http://husdata.se/Download/o309fq2jio/H1 Manual 20.01.pdf
But I think youe sulution is good, but I cant see you have support for the switches ?
Like a part of one of the pages you can have on/off
<EMAIL_ADDRESS>Or as you see Down right here På means on Av means off (same in swedish and Norwegian)
<EMAIL_ADDRESS>Best Regards
Niels
Sendt fra E-posthttps://go.microsoft.com/fwlink/?LinkId=550986 for Windows 10
Fra<EMAIL_ADDRESS>Sendt: mandag 13. april 2020 kl. 19.56
Til<EMAIL_ADDRESS>Kopi<EMAIL_ADDRESS><EMAIL_ADDRESS>Emne: Re: [pszafer/home-assistant-bosch-custom-component] Opt mode for Bosh Compress 6000AW (#28)
You have RC300 gateway module.
It supports 2 operations modes: auto and manual.
Provide some logs and better description of the problem.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/pszafer/home-assistant-bosch-custom-component/issues/28#issuecomment-613014538, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AISYX5QK43SNDS3ZZYOZPNDRMNG6PANCNFSM4MGM3PDA.

Show me uri for which function is missing for you from bosch scan txt you attached before

Hi Pawel !
Im not an expert to read the file.
At Husdata.se in their manual that they connect a Device on the service plug.
Thei can read/Write a lot from the heatpump
If you look in the H1 Manual on page 8 I have a HP Compress 6000 AW that are the same as IVT Airx    Rego 2000
So that means I
On the pages 8-9 and Down at page 11 you see all that you can read/Write to as the I type support.
And like here you can see a Picture what they can get out:
http://www.heatpumponline.se/docs/h60-manual/home-assistant-integration/
Temps and also on/off  in swedish/norwegian  på/av as you can see on the right on the pic.
And to copy the sample yaml file.
I think you have the same under sensor, but can I enable more than 8 sensors ?
The ones Im missing is simular like the binary_sensor:

mqtt:
password: password
Temperature sensors and other variables
sensor:

platform: mqtt
state_topic: "/HP/0001"
name: "Rad Return"
unit_of_measurement: "c"
icon: mdi:thermometer

platform: mqtt
state_topic: "/HP/0002"
name: "Rad Forward"
unit_of_measurement: "c"
icon: mdi:thermometer

platform: mqtt
state_topic: "/HP/0003"
name: "Heat Carrier Return"
unit_of_measurement: "c"
icon: mdi:thermometer

platform: mqtt
state_topic: "/HP/0004"
name: "Heat Carrier Forward"
unit_of_measurement: "c"
icon: mdi:thermometer

platform: mqtt
state_topic: "/HP/0005"
name: "Brine In"
unit_of_measurement: "c"
icon: mdi:thermometer

platform: mqtt
state_topic: "/HP/0006"
name: "Brine Out"
unit_of_measurement: "c"
icon: mdi:thermometer

platform: mqtt
state_topic: "/HP/0007"
name: "Outdoor"
unit_of_measurement: "c"
icon: mdi:thermometer

platform: mqtt
state_topic: "/HP/0008"
name: "Indoor"
unit_of_measurement: "c"
icon: mdi:thermometer

platform: mqtt
state_topic: "/HP/0009"
name: "Warm water"
unit_of_measurement: "c"
icon: mdi:thermometer

platform: mqtt
state_topic: "/HP/000B"
name: "Hot gas"
unit_of_measurement: "c"
icon: mdi:thermometer

platform: mqtt
state_topic: "/HP/3104"
name: "Additional electric heater"
unit_of_measurement: "%"
icon: mdi:flash

On/Off units
binary_sensor:

platform: mqtt
state_topic: "/HP/1A01"
name: "Compressor"
payload_on: "1"
payload_off: "0"

platform: mqtt
state_topic: "/HP/1A07"
name: "Switch valve"
payload_on: "1"
payload_off: "0"

platform: mqtt
state_topic: "/HP/1A04"
name: "Brine pump"
payload_on: "1"
payload_off: "0"

platform: mqtt
state_topic: "/HP/1A06"
name: "Radiator pump"
payload_on: "1"
payload_off: "0"

platform: mqtt
state_topic: "/HP/1A05"
name: "Heat carrier pump"
payload_on: "1"
payload_off: "0"

platform: mqtt
state_topic: "/HP/1A20"
name: "Alarm"
payload_on: "1"
payload_off: "0"

Heat pump setting
climate:

platform: mqtt
temperature_state_topic: "/HP/0203"
temperature_command_topic: "/HP/SET/0203"
min_temp: 13
max_temp: 26
temp_step: .1
name: "Room temp setting"

platform: mqtt
temperature_state_topic: "/HP/2204"
temperature_command_topic: "/HP/SET/2204"
min_temp: 0
max_temp: 10
temp_step: .1
name: "Curve Influence setting"

platform: mqtt
temperature_state_topic: "/HP/0205"
temperature_command_topic: "/HP/SET/0205"
min_temp: 20
max_temp: 50
temp_step: .1
name: "Curve Left setting"

platform: mqtt
temperature_state_topic: "/HP/0206"
temperature_command_topic: "/HP/SET/0206"
min_temp: 20
max_temp: 50
temp_step: .1
name: "Curve Right setting"

Sendt fra E-posthttps://go.microsoft.com/fwlink/?LinkId=550986 for Windows 10
Fra<EMAIL_ADDRESS>Sendt: tirsdag 14. april 2020 kl. 15.51
Til<EMAIL_ADDRESS>Kopi<EMAIL_ADDRESS><EMAIL_ADDRESS>Emne: Re: [pszafer/home-assistant-bosch-custom-component] Opt mode for Bosh Compress 6000AW (#28)
Show me uri for which function is missing for you from bosch scan txt you attached before
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/pszafer/home-assistant-bosch-custom-component/issues/28#issuecomment-613455224, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AISYX5WU3W5UVAZSSDQH3VLRMRS5TANCNFSM4MGM3PDA.

Hi Pavel
You see there are more themps here on the husdata
In and out for the gas outside and the temp into the unit inside.
Then the temp to water for shower etc or ot goes to heat the house.
And the Return tem and temp in the tank for shower.
<EMAIL_ADDRESS>Is it possible to get the missing ones ?
If you look here you can see how it look on the web on hgusdata server for a Bosch
http://husdata.se/userlist.asp
Almopst at the bottom:
A1379
[cid:image002.gif@01D6128A.C470EC50]http://husdata.se/pop_info.asp?ID_User=1379&View=Info
[cid:image004.jpg@01D6128A.C470EC50]http://husdata.se/pop_blog.asp?ID_User=1379&View=Blog
[cid:image005.jpg@01D6128A.C470EC50]http://husdata.se/pop_report.asp?ID_User=1379&DS=2&View=Rapport
[cid:image006.gif@01D6128A.C470EC50]http://husdata.se/pop_pulse.asp?ID_User=1379&DS=2&View=Pulse
FINLAND
Bosch Compress 7000/7001i LWM 8
150 m2 + garage 40m2 in southern Finland
If you click on this link its the same as selecting the right symbol at the left of Finland.
http://husdata.se/pop_pulse.asp?ID_User=1379&DS=2&View=Pulse
Real data and see if the valve send data to heating or to heat the water for shower etc-
I enabeled all sensors in HA
You see hot water temp  it show -1 and also Actual Power and burner Power setpoint
<EMAIL_ADDRESS>Sendt fra E-posthttps://go.microsoft.com/fwlink/?LinkId=550986 for Windows 10
Fra<EMAIL_ADDRESS>Sendt: tirsdag 14. april 2020 kl. 15.51
Til<EMAIL_ADDRESS>Kopi<EMAIL_ADDRESS><EMAIL_ADDRESS>Emne: Re: [pszafer/home-assistant-bosch-custom-component] Opt mode for Bosh Compress 6000AW (#28)
Show me uri for which function is missing for you from bosch scan txt you attached before
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/pszafer/home-assistant-bosch-custom-component/issues/28#issuecomment-613455224, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AISYX5WU3W5UVAZSSDQH3VLRMRS5TANCNFSM4MGM3PDA.

3 That doesnt work
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>Sendt fra E-posthttps://go.microsoft.com/fwlink/?LinkId=550986 for Windows 10

Fra: Pawel<EMAIL_ADDRESS>Sendt: Monday, April 13, 2020 7:56:55 PM
Til: pszafer/home-assistant-bosch-custom-component<EMAIL_ADDRESS>Kopi: Vikingn<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Emne: Re: [pszafer/home-assistant-bosch-custom-component] Opt mode for Bosh Compress 6000AW (#28)
You have RC300 gateway module.
It supports 2 operations modes: auto and manual.
Provide some logs and better description of the problem.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/pszafer/home-assistant-bosch-custom-component/issues/28#issuecomment-613014538, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AISYX5QK43SNDS3ZZYOZPNDRMNG6PANCNFSM4MGM3PDA.

I don't see any images in your posts. Correct them. Do not use respond via email. Messages are too long.

Closing issue due to inactivity.
Open new one if needed and describe your problems with images, logs and fresh bosch_scan.


Syncing my forked repo as directed

so I guess this should sync the repos the way you wanted. hope so anyway. VG, S

Eh? You want to get the changes to your repo, not the other way around. This would revert the repository to a state from a couple of months ago. Or something. Else. Will not merge ;)


Code completion in editor doesn't work on local variables

From<EMAIL_ADDRESS>on 2014-05-12T10:20:27Z
Spyder Version:  2.2.5
Python Version:  2.7.6
Qt Version    :  4.8.5, PySide 1.2.1 on Linux
pyflakes >=0.5.0:  0.7.3 (OK)
pep8 >=0.6      :  1.4.6 (OK)
IPython >=0.13  :  1.1.0 (OK)
rope >=0.9.2    :  0.9.4 (OK)
sphinx >=0.6.6  :  1.2.1 (OK)
matplotlib >=1.0:  1.3.1 (OK)
sympy >=0.7.0   :  <IP_ADDRESS> (OK)
pylint >=0.25   :  None (NOK)
What steps will reproduce the problem?
1.assign a local variable to an array class
2.now local variable , period and hit CTRL-SPACE
3.nothing happens
What is the expected output? What do you see instead?
pop up box with method
Please provide any additional information below
. OS version
<EMAIL_ADDRESS>(gcc version 4.4.7 20120313 (Red Hat 4.4.7-4) (GCC) ) #1 SMP Fri Jan 3 21:39:27 UTC 2014
Original issue: http://code.google.com/p/spyderlib/issues/detail?id=1816

From ccordoba12 on 2015-02-08T09:43:04Z
Status: Duplicate
Labels: -MS-v2.4
Mergedinto: 2162

From ccordoba12 on 2015-01-01T15:05:44Z
Summary: Code completion in editor doesn't work on local variables  <span class="oldvalue"> (was: code completion in editor doesn't work on local variables) </span>
Labels: MS-v2.4 Cat-Editor


Gmail API Creating messages with attachments example not working

Summary
Creating messages with attachments Example it seems to be outdated.
Expected Behavior
Executing https://github.com/googleworkspace/python-samples/blob/master/gmail/snippet/send mail/create_draft_with_attachment.py with proper credentials and a valid email address should send an email.
Actual Behavior
---------------------------------------------------------------------------
HttpError                                 Traceback (most recent call last)
Input In [203], in <cell line: 2>()
      1 # pylint: disable=E1101
      2 send_message = gmail_service.users().messages().send(
      3     userId="me",
      4     body=create_message
----> 5 ).execute()

File ~/src/ifts18/gworkspace-ifts18-helper/venv/lib/python3.10/site-packages/googleapiclient/_helpers.py:130, in positional.<locals>.positional_decorator.<locals>.positional_wrapper(*args, **kwargs)
    128     elif positional_parameters_enforcement == POSITIONAL_WARNING:
    129         logger.warning(message)
--> 130 return wrapped(*args, **kwargs)

File ~/src/ifts18/gworkspace-ifts18-helper/venv/lib/python3.10/site-packages/googleapiclient/http.py:938, in HttpRequest.execute(self, http, num_retries)
    936     callback(resp)
    937 if resp.status >= 300:
--> 938     raise HttpError(resp, content, uri=self.uri)
    939 return self.postproc(resp, content)

HttpError: <HttpError 400 when requesting https://gmail.googleapis.com/gmail/v1/users/me/messages/send?alt=json returned "'raw' RFC822 payload message string or uploading message via /upload/* URL required". Details: "[{'message': "'raw' RFC822 payload message string or uploading message via /upload/* URL required", 'domain': 'global', 'reason': 'invalidArgument'}]">

Steps to Reproduce the Problem

Go to https://developers.google.com/gmail/api/guides/sending#creating_messages_with_attachments
Copy code and paste it in your local computer
Execute with proper credentials
See the outcome

Specifications

Python version (python --version): 3.10.4
OS (Mac/Linux/Windows): Mac

This issue is related with #317 and #318


Value within last item not saved unless you collapse the field.

Hi guys, got a little bit of a problem with a Nested Content within a Vorto. Had a quick look and couldn't see any issue that was similar.
Umbraco 7.4.3
Nested Content 0.3.0
Vorto (originally v<IP_ADDRESS> with modifications)
The issue is, is when you create a new block of content, (say for example its just a simple text string) and you entered in some text and hit save, that value would not be saved, but if you enter in some text, hit the edit button (or force that block to collapse) then it will save the value.

@Will-i-am- Thanks for reporting this. Can you reproduce the issue without Vorto? (It reduces complications for us)

Thanks Lee, Will be sure to check this for you ASAP

Unable to replicate, or possibly fixed in other commit.
Setup vorto as described and value was saved successfully. Closing till further information provided.


Backport fix race in shot profiles

Coverage decreased (-0.003%) to 89.231% when pulling 9351c7fbb2145f8e70d65f04289e3039fbf27ab4 on backport_fix_race_in_shot_profiles into 9ac3589a1048de91fbd780068f4579ecceef15fc on 0.30.


Update the Traefik Version to 2.x

Here is the details
a.  Renamed the the script setup.sh to setupLoadBalancer.sh  in kubernetes/samples/charts/util directory
b. Modified the README.md files
c. Removed the reference to Traefik version 1.x
d. Add the references to stable Traefik Version 2.x
e. Modified kubernetes/samples/charts/traefik/values.yaml to reflect V2.x cutomizatiom
f.  Modified configuration files (host-routing.yaml,path-routing.yaml,tls.yaml) in kubernetes/samples/charts/traefik/samples directory to support V2.x
Modified the mii-sample tests to support Traefik 2.x.  This is the only Tests that uses Traefik Load Balancer
Run the test on Kind Cluster. All tests passed
https://build.weblogick8s.org:8443/job/weblogic-kubernetes-operator-kind-new/874/

@markxnelson verbally approved.


Unhandled Payload error

Hi!
I'm noticed following error in logs:
[ DEBUG ] shard: 0, Got text: {"t":null,"s":null,"op":7,"d":null} (Discord/Gateway/DiscordWebSocketable.swift:79)
[ ERROR ] Unhandled payload: reconnect (Discord/Gateway/DiscordEngine.swift:224)

Looks like, discord api was changed

Fixed in 725950f9c5d07271e3e74d0075ecbef9d916e628, thanks! (See #14 for some further context)


DEV: use spin (prototype)

Reference issue

What does this implement/fix?

Linked PR from spin - https://github.com/scientific-python/spin/pull/238
https://github.com/numpy/numpy/pull/27606
Regarding the context, we are moving away from dev.py and shifting to spin for building, testing SciPy. Right now it's a work in progress. I have completed spin build, spin test and spin docs. Apologies for the delay in providing background for this PR. Its in a good shape now. Testing on CI still remains to be done.
Sub commands check list,

[x] build
[x] test
[ ] lint
[ ] mypy
[ ] shell
[ ] python
[ ] ipython
[x] docs
[ ] refguide-check
[ ] smoke-docs
[x] bench
[ ] smoke-tutorials

Additional information

cc: @melissawm @rgommers

Regarding the changes I made in spin. There are three steps in spin.meson.build function - setup, compile, install. Now there are some meson_args which can only go in setup step, some can only go in compile step and some can only go in install step. If I provide all the meson_args in setup step then meson errors. That's why I had to add 3 keys "setup", "compile" and "install" in "meson_args". It differentiates inside spin.meson.build. Since, spin is only used in numpy, and scipy's build step has more command line arguments, so this differentiation is necessary. We need to map the command line arguments of dev.py to 3 different steps of spin.meson.build in order to keep the developer experience intact when one shifts from python dev.py to spin.

@czgdp1807 that's the same for NumPy & co though. There is nothing special in dev.py I think, except perhaps -C which maps to meson setup arguments IIRC. Can you please give a concrete example of what actually is missing when you don't make changes to spin? Which dev.py invocation do you have a problem with?

With the latest commits in https://github.com/scientific-python/spin/pull/238 and this PR both spin build and spin test work with SciPy.

Another option is to add more options (@click.option) in spin itself so that it has the superset of the options in both numpy and scipy.

@rgommers I can try this if it seems better to you. See https://github.com/scipy/scipy/pull/21674#issuecomment-2416863649

If we just pass them as it is (i.e., by just calling ctx.forward(meson.build)) then spin gives unrecognised argument error.

I thought the design was to pass them to meson setup only. That's where the vast majority of flags go. But okay, I understand that we need to pass on those flags and need to specify to what meson xxx subcommand they go. That should be made possible in spin indeed, if that is not the case now.

Now the click.option arguments are same in spin/spin/cmds/meson.py and numpy/.spin/cmds.py

I'm not sure that that is true, for example --with-scipy-openblas (see here) is a flag in NumPy and that flag doesn't appear in spin. The logic for it seems to be:
    ctx.params.pop("with_scipy_openblas", None)
    ctx.forward(meson.build)

so one can at least forward specifically to meson setup. Seems like what's then missing is "forward to meson compile or meson.install".

Another option is to add more options (@click.option) in spin itself so that it has the superset of the options in both numpy and scipy.

That doesn't seem like the way to go, since it doesn't generalize - we're almost certainly going to want to add some other flags in the future.

I'm not sure that that is true, for example --with-scipy-openblas (see here) is a flag in NumPy and that flag doesn't appear in spin. The logic for it seems to be:

Yes. It gets popped and spin never sees it.

That doesn't seem like the way to go, since it doesn't generalize - we're almost certainly going to want to add some other flags in the future.

Correct. What I did in https://github.com/scientific-python/spin/pull/238 is something general. We specify in the project's (i.e., scipy or numpy)  which argument should go in which subcommand of meson and spin fetches it from "compile", "setup" and "install" keys. This is general and will work with addition of more arguments in the future as well.

FYI, I am working on spin bench support in SciPy. spin build, spin test, spin docs support are complete here.

Update - The support for spin bench is complete in SciPy (here) and in spin. spin bench and python dev.py bench work in the same manner.

I had a quick browse through all the changes - everything looks reasonable to me. Didn't do an in-depth review because I think more commands still need porting, right?

Tried giving this PR a spin (pun intended):
(scipy-dev) ev-br@qgpu3:~/repos/scipy$ git clean -xdf
Removing .spin/__pycache__/
(scipy-dev) ev-br@qgpu3:~/repos/scipy$ pip install spin
Collecting spin
  Using cached spin-0.12-py3-none-any.whl.metadata (11 kB)
Requirement already satisfied: click in /home/ev-br/.conda/envs/scipy-dev/lib/python3.11/site-packages (from spin) (8.1.7)
Requirement already satisfied: importlib-metadata>=7 in /home/ev-br/.conda/envs/scipy-dev/lib/python3.11/site-packages (from spin) (8.4.0)
Requirement already satisfied: zipp>=0.5 in /home/ev-br/.conda/envs/scipy-dev/lib/python3.11/site-packages (from importlib-metadata>=7->spin) (3.20.1)
Using cached spin-0.12-py3-none-any.whl (27 kB)
Installing collected packages: spin
Successfully installed spin-0.12
(scipy-dev) ev-br@qgpu3:~/repos/scipy$ spin build
$ meson setup build --prefix=/usr compile install setup jobs
usage: meson [-h]
             {setup,configure,dist,install,introspect,init,test,wrap,subprojects,rewrite,compile,devenv,env2mfile,format,fmt,help}
             ...
meson: error: unrecognized arguments: compile install setup jobs

Traceback (most recent call last):
  File "/home/ev-br/.conda/envs/scipy-dev/lib/python3.11/site-packages/click/core.py", line 804, in forward
    return __self.invoke(__cmd, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/ev-br/.conda/envs/scipy-dev/lib/python3.11/site-packages/click/core.py", line 783, in invoke
    return __callback(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/ev-br/.conda/envs/scipy-dev/lib/python3.11/site-packages/spin/cmds/meson.py", line 328, in build
    raise RuntimeError(
RuntimeError: Meson configuration failed; please try `spin build` again with the `--clean` flag.

An internal error has occurred. Please file a bug report at

  https://github.com/scientific-python/spin

including the above traceback and the following information:

  spin: 0.12, package: scipy

Aborting.
(scipy-dev) ev-br@qgpu3:~/repos/scipy$ spin build --clean
Usage: spin build [OPTIONS] [MESON_ARGS]...
Try 'spin build --help' for help.

Error: No such option: --clean (Possible options: --asan, --release)

Options supported in build sub-command in both dev.py and spin,
(scipy-dev) 14:00:24:~/Quansight/scipy % python dev.py build --help

 Usage: dev.py build [OPTIONS]

 🔧 Build & install package on path.

  Examples:

  $ python dev.py build --asan ;
      ASAN_OPTIONS=detect_leaks=0:symbolize=1:strict_init_order=true
      LD_PRELOAD=$(gcc --print-file-name=libasan.so)
      python dev.py test -v -t
      ./scipy/ndimage/tests/test_morphology.py -- -s

╭─ Options ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ --werror                           Treat warnings as errors                                                                  │
│ --gcov                             enable C code coverage via gcov (requires GCC).gcov output goes to build/**/.gc           │
│ --asan                             Build and run with AddressSanitizer support. Note: the build system doesn't check whether │
│                                    the project is already compiled with ASan. If not, you need to do a clean build (delete   │
│                                    build and build-install directories).                                                     │
│ --debug                -d          Debug build                                                                               │
│ --release              -r          Release build                                                                             │
│ --parallel             -j  N_JOBS  Number of parallel jobs for building. This defaults to the number of available physical   │
│                                    CPU cores                                                                                │
│ --setup-args           -C  TEXT    Pass along one or more arguments to meson setup Repeat the -C in case of multiple         │
│                                    arguments.                                                                                │
│ --show-build-log                   Show build output rather than using a log file                                            │
│ --with-scipy-openblas              If set, use the scipy-openblas32 wheel installed into the current environment as the      │
│                                    BLAS/LAPACK to build against.                                                             │
│ --with-accelerate                  If set, use Accelerate as the BLAS/LAPACK to build against. Takes precedence over         │
│                                    -with-scipy-openblas (macOS only)                                                         │
│ --tags                     TEXT    Install tags to be used by meson.                                                         │
│                                    [default: runtime,python-runtime,tests,devel]                                             │
│ --help                             Show this message and exit.                                                               │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯

(scipy-dev) 14:00:25:~/Quansight/scipy % spin build --help
Usage: spin build [OPTIONS] [MESON_ARGS]...

  🔧 Build package with Meson/ninja and install

  MESON_ARGS are passed through e.g.:

  spin build -- -Dpkg_config_path=/lib64/pkgconfig

  The package is installed to build-install

  By default builds for release, to be able to use a debugger set CFLAGS appropriately. For example, for linux use

  CFLAGS="-O0 -g" spin build

Options:
  --werror               Treat warnings as errors
  --gcov                 enable C code coverage via gcov (requires GCC).gcov output goes to build/**/*.gc*
  --asan                 Build and run with AddressSanitizer support. Note: the build system doesn't check whether the project
                         is already compiled with ASan. If not, you need to do a clean build (delete build and build-install
                         directories).
  -d, --debug            Debug build
  -r, --release          Release build
  -j, --parallel N_JOBS  Number of parallel jobs for building. This defaults to the number of available physical CPU cores
  -C, --setup-args TEXT  Pass along one or more arguments to `meson setup` Repeat the `-C` in case of multiple arguments.
  --show-build-log       Show build output rather than using a log file
  --with-scipy-openblas  If set, use the `scipy-openblas32` wheel installed into the current environment as the BLAS/LAPACK to
                         build against.
  --with-accelerate      If set, use `Accelerate` as the BLAS/LAPACK to build against. Takes precedence over -with-scipy-
                         openblas (macOS only)
  --tags TEXT            Install tags to be used by meson.  [default: runtime,python-runtime,tests,devel]
  --help                 Show this message and exit.
(scipy-dev) 14:00:32:~/Quansight/scipy %

--clean option is not supported in either of dev.py (current main) and spin (this PR). So for now one has to manually clean and then re-build (as far as I can understand). We can pass arguments to meson directly using -- but that isn't working with, spin build -- --clean or spin build -- -Dclean or spin build -- -D--clean.
So if we want to support --clean then we will be required to do it first in python dev.py build and then in spin build.

The problem for me is that just $ spin build error out (x86_64 Ubuntu Linux, conda env)

The problem for me is that just $ spin build error out (x86_64 Ubuntu Linux, conda env)

Same on macOS with latest spin:
spin build
$ meson setup build --prefix=/usr compile install setup jobs
usage: meson [-h] {setup,configure,dist,install,introspect,init,test,wrap,subprojects,rewrite,compile,devenv,env2mfile,format,fmt,help} ...
meson: error: unrecognized arguments: compile install setup jobs

The build command doesn't really make sense, the trailing compile install setup jobs. Is this just broken, or does it require the upstream changes in spin that are in https://github.com/scientific-python/spin/pull/238?

does it require the upstream changes in spin that are in scientific-python/spin#238?

Yes. It needs changes from spin. I have done an editable install of spin (after cloning it locally) in my SciPy environment. I am using my spin branch and it works fine with this SciPy PR. Let me add the steps in description.

https://github.com/scientific-python/spin/pull/238 is ready for review from my end. Meanwhile before I make any changes here in this PR, I will first go through all the reviews left here (by @tylerjereddy, @ev-br) and then proceed with the work I have been doing here.
Also see the latest description, its fully detailed with what all is left to be done, and the steps to use the combination of this PR and https://github.com/scientific-python/spin/pull/238.

Standard array API testing produces different results (runs way less tests) vs. dev.py:

Regarding this (quoted from https://github.com/scipy/scipy/pull/21674#pullrequestreview-2364994333),
spin test -j 32 -b all gives
=========================== 62374 passed, 6538 skipped, 879 xfailed, 14 xpassed in 194.86s (0:03:14) ===========================
and
python dev.py test -j 32 -b all gives =========================== 62374 passed, 6538 skipped, 879 xfailed, 14 xpassed in 159.81s (0:02:39) ===========================
System - Apple MacBook Pro M2 Pro.
Exactly same output for both commands. So I guess we are fine.

Using the spin branch, $ spin build and $ spin test seem to work, great!
In general, I'm a big fat +1 for this PR; one reason is that it fixes an old obscure annoyance of https://github.com/scipy/scipy/issues/16452
Further small hiccups from test-driving spin test subcommand:

Default test collection seems broken. In numpy, $ spin test numpy/linalg only collects linalg tests; with this PR, it collects all of scipy tests (?)

$ spin test scipy/linalg

<snip>

collected 76434 items / 16145 deselected / 60289 selected

scipy/_lib/tests/test__gcutils.py ......                                                                                [  0%]
scipy/_lib/tests/test__pep440.py .........                                                                                [  0%]
scipy/_lib/tests/test__testutils.py ..                                                                                [  0%]
scipy/_lib/tests/test__threadsafety.py ..                                                                                [  0%]
scipy/_lib/tests/test__util.py ........................^C
Aborted!

spin test -t path/to/test/file does not seem to work:

$ spin test -t scipy/signal/tests/test_spectral.py
Invoking `build` prior to running tests:
$ meson compile -j 4 -C /home/br/repos/scipy/scipy/build
INFO: autodetecting backend as ninja
INFO: calculating backend command to run: /home/br/miniforge3/envs/scipy-dev/bin/ninja -C /home/br/repos/scipy/scipy/build -j 4
ninja: Entering directory `/home/br/repos/scipy/scipy/build'
[1/1] Generating scipy/generate-version with a custom command
$ meson install --only-changed -C build --tags=runtime,python-runtime,tests,devel
$ export PYTHONPATH="/home/br/repos/scipy/scipy/build-install/lib/python3.12/site-packages"
$ /home/br/miniforge3/envs/scipy-dev/bin/python3.12 -P -c 'import scipy'
$ cd /home/br/repos/scipy/scipy/build-install/lib/python3.12/site-packages

Traceback (most recent call last):
  File "/home/br/repos/spin/spin/cmds/util.py", line 57, in run
    cmdstr = " ".join(shlex.quote(arg) for arg in cmd)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/br/repos/spin/spin/cmds/util.py", line 57, in <genexpr>
    cmdstr = " ".join(shlex.quote(arg) for arg in cmd)
                      ^^^^^^^^^^^^^^^^
  File "/home/br/miniforge3/envs/scipy-dev/lib/python3.12/shlex.py", line 327, in quote
    if _find_unsafe(s) is None:
       ^^^^^^^^^^^^^^^
TypeError: expected string or bytes-like object, got 'tuple'

An internal error has occurred. Please file a bug report at

  https://github.com/scientific-python/spin

including the above traceback and the following information:

  spin: 0.13rc0.dev0, package: scipy

Aborting.

additional pytest arguments get swallowed somewhere (this should collect zero tests)

$ spin test -s linalg  -- --k'nonsense'

<snip>

/home/br/miniforge3/envs/scipy-dev/bin/python3.12 -P -m pytest --import-mode=importlib --pyargs scipy.linalg -m 'not slow'
============================================================ test session starts =============================================================
platform linux -- Python 3.12.4, pytest-8.2.2, pluggy-1.5.0
rootdir: /home/br/repos/scipy/scipy
configfile: pytest.ini
plugins: cov-5.0.0, hypothesis-6.108.0, xdoctest-1.2.0, xdist-3.6.1, anyio-4.4.0, timeout-2.3.1, scipy_doctest-1.5.dev0
collected 6126 items / 7 deselected / 6119 selected
^C

(Minor) $ spin test -s linalg works, but do we actually need the -s switch? It is superseded by just giving the path to the submodule, $ spin test scipy/linalg. Switching to NumPy's spin from SciPy's dev.py the lack of -s switch tripped me on a first use, but it's quick and easy to switch to giving paths. OTOH, if it works already, it's fine to keep.

Regarding your comments on passing path of submodule to spin test, I agree 100% with it. This should be supported. I don't know how python dev.py test works but I believe this should be supported in dev.py is already not supported yet. I will check if it's there in dev.py. This is a nice feature. I am going to add it in SciPy's spin test. This is excellent.

dev.py test ... -- extra_pytest_arguments is indeed supported; IIUC spin supports this, too, and we need this.
And UX wise, $ python dev.py test path/to/file was never supported, it is either dev.py test -s submodule or dev.py test -t path/to/file. I suspect this was historic, to match  what runtests.py was doing (and runtests.py predated pytest, so may or may not have been due to some long-irrelevant nose limitations; or maybe just a random decision from a decade ago).
Either way, my only point is if we're moving to spin, it'd be nice to harmonize our usage with numpy, pywt, scikit-image and other spin users across the ecosystem.

I see. -t is for path and -s is for submodule. Actually I tried passing both and -s supersedes. But I think the behaviour should be either of the following,

Union of -t and -s. If I pass, -s linalg -t scipy/optimize, then the union of scipy.linalg and scipy.optimize tests should run.
An error should be raised saying that its confused which test to run.

1 is preferable but I think that's not possible to implement easily.

The current dev.py test behavior is to ignore -t if -s is given (cf a demo under the fold). While this is not reasonable, we've never had a complaint or a problem AFAIU, so it's perfectly OK to ignore this :-).
If anything, I'd suggest to take the simplest approach and follow what numpy has/does.

```
$ python dev.py test -s constants -t scipy/ndimage/tests/test_fourier.py
💻  ninja -C /home/br/repos/scipy/scipy/build -j4
ninja: Entering directory `/home/br/repos/scipy/scipy/build'
[1/1] Generating scipy/generate-version with a custom command
Build OK
💻  meson install -C build --only-changed --tags runtime,python-runtime,tests,devel
Installing, see meson-install.log...
Installation OK
SciPy from development installed path at: /home/br/repos/scipy/scipy/build-install/lib/python3.12/site-packages
Running tests for scipy version:1.15.0.dev0+git20241110.5c86839, installed at:/home/br/repos/scipy/scipy/build-install/lib/python3.12/site-packages/scipy
============================================================ test session starts =============================================================
platform linux -- Python 3.12.4, pytest-8.2.2, pluggy-1.5.0
rootdir: /home/br/repos/scipy/scipy
configfile: pytest.ini
plugins: cov-5.0.0, hypothesis-6.108.0, xdoctest-1.2.0, xdist-3.6.1, anyio-4.4.0, timeout-2.3.1, scipy_doctest-1.5.dev0
collected 16 items
scipy/constants/tests/test_codata.py .........                                                                                [ 56%]
scipy/constants/tests/test_constants.py .......                                                                                [100%]
============================================================= 16 passed in 0.27s =============================================================
</details>

No need for a union I'd say, better to error since the behavior is ambiguous and there's no real use case for using both -s and -t at once.

Note that python dev.py test -t scipy.optimize also works. One doesn't need the forward slash, dots work.

I made some changes (pushing in a few minutes). The new behaviour of this PR is as follows,
(scipy-dev) czgdp18079@scipy-linux-9:~/Quansight/scipy$ spin test scipy/linalg
Invoking `build` prior to running tests:
$ meson compile -C build
INFO: autodetecting backend as ninja
INFO: calculating backend command to run: /home/czgdp18079/miniforge3/envs/scipy-dev/bin/ninja -C /home/czgdp18079/Quansight/scipy/build
ninja: Entering directory `/home/czgdp18079/Quansight/scipy/build'
[1/1] Generating scipy/generate-version with a custom command
$ meson install --only-changed -C build --destdir ../build-install
$ export PYTHONPATH="/home/czgdp18079/Quansight/scipy/build-install/home/czgdp18079/Quansight/scipy/build-install/lib/python3.12/site-packages:/opt/intel/oneapi/advisor/2024.2/pythonapi"
$ /home/czgdp18079/miniforge3/envs/scipy-dev/bin/python3.12 -P -c 'import scipy'
$ cd /home/czgdp18079/Quansight/scipy/build-install/home/czgdp18079/Quansight/scipy/build-install/lib/python3.12/site-packages
$ /home/czgdp18079/miniforge3/envs/scipy-dev/bin/python3.12 -P -m pytest --import-mode=importlib -m 'not slow' --pyargs scipy/linalg
============================= test session starts ==============================
platform linux -- Python 3.12.6, pytest-8.3.3, pluggy-1.5.0
rootdir: /home/czgdp18079/Quansight/scipy
configfile: pytest.ini
plugins: anyio-4.4.0, xdist-3.6.1, cov-5.0.0, hypothesis-6.112.1, timeout-2.3.1
collected 6131 items / 7 deselected / 6124 selected

scipy/linalg/tests/test_basic.py ....................................... [  0%]
........................................................................ [  1%]
......s................................................................. [  2%]
........................................................................ [  4%]
........................................................................ [  5%]
........................................................................ [  6%]
........................................................................ [  7%]
..............^C
Aborted!
(scipy-dev) czgdp18079@scipy-linux-9:~/Quansight/scipy$ spin test -t scipy/signal/tests/test_spectral.py
Invoking `build` prior to running tests:
$ meson compile -C build
INFO: autodetecting backend as ninja
INFO: calculating backend command to run: /home/czgdp18079/miniforge3/envs/scipy-dev/bin/ninja -C /home/czgdp18079/Quansight/scipy/build
ninja: Entering directory `/home/czgdp18079/Quansight/scipy/build'
[1/1] Generating scipy/generate-version with a custom command
$ meson install --only-changed -C build --destdir ../build-install
$ export PYTHONPATH="/home/czgdp18079/Quansight/scipy/build-install/home/czgdp18079/Quansight/scipy/build-install/lib/python3.12/site-packages:/opt/intel/oneapi/advisor/2024.2/pythonapi"
$ /home/czgdp18079/miniforge3/envs/scipy-dev/bin/python3.12 -P -c 'import scipy'
$ cd /home/czgdp18079/Quansight/scipy/build-install/home/czgdp18079/Quansight/scipy/build-install/lib/python3.12/site-packages
$ /home/czgdp18079/miniforge3/envs/scipy-dev/bin/python3.12 -P -m pytest --import-mode=importlib -m 'not slow' --pyargs scipy/signal/tests/test_spectral.py
============================= test session starts ==============================
platform linux -- Python 3.12.6, pytest-8.3.3, pluggy-1.5.0
rootdir: /home/czgdp18079/Quansight/scipy
configfile: pytest.ini
plugins: anyio-4.4.0, xdist-3.6.1, cov-5.0.0, hypothesis-6.112.1, timeout-2.3.1
collected 123 items

scipy/signal/tests/test_spectral.py .................................... [ 29%]
........................................................................ [ 87%]
...............                                                          [100%]

============================= 123 passed in 1.81s ==============================
(scipy-dev) czgdp18079@scipy-linux-9:~/Quansight/scipy$ ^C
(scipy-dev) czgdp18079@scipy-linux-9:~/Quansight/scipy$ spin test -s linalg  -- --k'nonsense'
Invoking `build` prior to running tests:
$ meson compile -C build
INFO: autodetecting backend as ninja
INFO: calculating backend command to run: /home/czgdp18079/miniforge3/envs/scipy-dev/bin/ninja -C /home/czgdp18079/Quansight/scipy/build
ninja: Entering directory `/home/czgdp18079/Quansight/scipy/build'
[1/1] Generating scipy/generate-version with a custom command
$ meson install --only-changed -C build --destdir ../build-install
$ export PYTHONPATH="/home/czgdp18079/Quansight/scipy/build-install/home/czgdp18079/Quansight/scipy/build-install/lib/python3.12/site-packages:/opt/intel/oneapi/advisor/2024.2/pythonapi"
$ /home/czgdp18079/miniforge3/envs/scipy-dev/bin/python3.12 -P -c 'import scipy'
$ cd /home/czgdp18079/Quansight/scipy/build-install/home/czgdp18079/Quansight/scipy/build-install/lib/python3.12/site-packages
$ /home/czgdp18079/miniforge3/envs/scipy-dev/bin/python3.12 -P -m pytest --import-mode=importlib -m 'not slow' --knonsense --pyargs scipy.linalg
ERROR: usage: __main__.py [options] [file_or_dir] [file_or_dir] [...]
__main__.py: error: unrecognized arguments: --knonsense
  inifile: /home/czgdp18079/Quansight/scipy/pytest.ini
  rootdir: /home/czgdp18079/Quansight/scipy

(scipy-dev) czgdp18079@scipy-linux-9:~/Quansight/scipy$

TLDR - All the spin commands in https://github.com/scipy/scipy/pull/21674#issuecomment-2466223271 work as expected.

4. (Minor) $ spin test -s linalg works, but do we actually need the -s switch? It is superseded by just giving the path to the submodule, $ spin test scipy/linalg. Switching to NumPy's spin from SciPy's dev.py the lack of -s switch tripped me on a first use, but it's quick and easy to switch to giving paths. OTOH, if it works already, it's fine to keep.

Regarding this, well dev.py has both -s and -t options. To make spin a drop in replacement for python dev.py, I had to support -s as well. IMO, we should not support both in dev.py as well because it leads to confusion. -t should accept a superset of what -s accepts, so we should just broaden -t to support commands like, spin test -t linalg, right now the following happens,
(scipy-dev) czgdp18079@scipy-linux-9:~/Quansight/scipy$ spin test -t linalg
Invoking `build` prior to running tests:
$ meson compile -C build
INFO: autodetecting backend as ninja
INFO: calculating backend command to run: /home/czgdp18079/miniforge3/envs/scipy-dev/bin/ninja -C /home/czgdp18079/Quansight/scipy/build
ninja: Entering directory `/home/czgdp18079/Quansight/scipy/build'
[1/1] Generating scipy/generate-version with a custom command
$ meson install --only-changed -C build --destdir ../build-install
$ export PYTHONPATH="/home/czgdp18079/Quansight/scipy/build-install/home/czgdp18079/Quansight/scipy/build-install/lib/python3.12/site-packages:/opt/intel/oneapi/advisor/2024.2/pythonapi"
$ /home/czgdp18079/miniforge3/envs/scipy-dev/bin/python3.12 -P -c 'import scipy'
$ cd /home/czgdp18079/Quansight/scipy/build-install/home/czgdp18079/Quansight/scipy/build-install/lib/python3.12/site-packages
$ /home/czgdp18079/miniforge3/envs/scipy-dev/bin/python3.12 -P -m pytest --import-mode=importlib -m 'not slow' --pyargs linalg
============================= test session starts ==============================
platform linux -- Python 3.12.6, pytest-8.3.3, pluggy-1.5.0
rootdir: /home/czgdp18079/Quansight/scipy
configfile: pytest.ini
plugins: anyio-4.4.0, xdist-3.6.1, cov-5.0.0, hypothesis-6.112.1, timeout-2.3.1
collected 0 items

============================ no tests ran in 0.32s =============================
ERROR: module or package not found: linalg (missing __init__.py?)

Or another interpretation of -s and -t together can be that -s means submodule, so if I provide -s linalg then we should search the tests provided in -t under linalg. -s anyways is still redundant because -t can work on its own.
TLDR - We should deprecate -s in favour of -t in dev.py and merge -s into -t i.e., -t should keep its own behaviour and also support the behaviour of -s with -s being removed/deprecated.

Added support for python, ipython, mypy, shell. mypy needed some code from dev.py for beautification of logs so I copy pasted those functions from dev.py.

FYI @czgdp1807 :  smoke-docs and related refguide-check commands can be taken from numpy: https://github.com/numpy/numpy/blob/main/.spin/cmds.py#L291
IIRC there were a couple of small hiccups due to spin idiosyncrasies, so you can just ctrl-c--ctrl-v those.

All is done. Regarding bench, except one small difference, SciPy and NumPy has exactly the same code in their respective cmds.py files. The difference is SciPy passes --quick to asv and NumPy doesn't. So I think bench from SciPy should be uplifted to spin.

The difference is SciPy passes --quick to asv and NumPy doesn't.

Okay, let's keep that as is then. SciPy benchmarks are super slow/heavy, so IIRC --quick was made the default to make sure that a regular dev.py bench invocation without arguments will actually finish (it still takes long, just not multiple days).
In case there's a desire to modify it, that can be done separately from this migration PR.

So I think bench from SciPy should be uplifted to spin.

I'm not sure yet. asv usage certainly isn't universal (having benchmarks isn't even universal). So if it's moved to spin, it should probably be an opt-in feature. @stefanv could that make sense?

This is looking pretty good. .spin/cmds.py still being almost as long as dev.py is a bit unfortunately, but we should be able to make it a lot shorter once https://github.com/scientific-python/spin/issues/242 is resolved.

I've been working on that, and hope to have a solution by the end of the day.

@czgdp1807 since https://github.com/scientific-python/spin/issues/242 is in now, you can push this forward I think. You can also use @stefanv's NumPy PR (https://github.com/numpy/numpy/pull/27794) as a reference; changes to this PR should be quite similar.

I am working on re-writing cmds.py according to the latest spin API. I have unchecked the items in the checklist provided in the description of this PR. Will check them again as I move forward with each subcommand.

All is done except smoke_docs. I am working on it. Will push tomorrow. @rgommers @stefanv Please check the latest commits I pushed. Is it okay to modify, kwargs (something I have done here).

I'm on leave until 2 Dec, just so you don't wait on me.

So I updated build to not update kwargs directly. spin build works correctly in SciPy after this. However, I noticed the following in NumPy,
https://github.com/numpy/numpy/blob/4e8f724fbc136b1bac1c43e24d189ebc45e056eb/.spin/cmds.py#L151-L152
It updates kwargs["pytest_args"] and then also passes it as a separate key-value pair in parent_callback. Isn't it redundant? Please let me know if there is a deeper reason behind this.
In the update I made above, things work fine even if I don't update, kwargs["meson_args"] (note I pass, "meson_args": meson_args in parent_callback).

So I have made all the updates. Earlier the size of .spin/cmds.py was 1102 lines. After all the updates it is 1007 lines. Current length of dev.py is 1666 lines. So, the code for building SciPy is reduced from 1666 lines to 1007 lines - a reduction of ~40%. Let me know if we can reduce the code surface more.

So I have addressed the reviews for now. I will work on shifting to spin from dev.py on CI first on my fork. Once the tests pass there, then I will push changes here. I don't want to push several debug commits in the main PR.

Note that we need to support spin --no-build. Right now I think its only available in spin docs. Or should I avoid --no-build usage in spin?

Note that we need to support spin --no-build. Right now I think its only available in spin docs. Or should I avoid --no-build usage in spin?

Not sure, I haven't used that in forever. If it's not easy, perhaps leave it out and see if anyone notices.

Makes sense. I knew about it but never used it. I think build step should only be invoked if the source is updated or build-install directory is touched. Can be done on the basis of timestamps. Something for later.

The following fixes the problem:
% spin build --prefix=$PWD/build
% spin test

That is designed for the user to pass the prefix though. That isn't what we need here -the catch is figuring out how to use the prefix keyword within cmds.py.

Didn't work on my system. Its still giving the same error. However, let me check on CI.

The following tests fail on CI,

macOS tests / Conda & umfpack/scikit-sparse, fast, py3.11/npAny, dev.py (3.11) - Related bug is reported in https://github.com/scientific-python/spin/pull/256#issuecomment-2505834164. Need to be fixed.
macOS tests / M1 & OpenBLAS, fast, py3.11/npAny, dev.py (3.11) - Same as above.
macOS tests / Accelerate, fast, py3.11/npAny, dev.py (3.11) - Same as above.
Linux tests / Oldest GCC & pydata/sparse, fast, py3.10/npMin, pip+pytest - Fails on other PRs as well. Irrelevant.
Linux tests / Prerelease deps & coverage report, full, py3.10/npMin & py3.11/npPre - Same as above.
ci/circleci: run_benchmarks - Need to be fixed.

Didn't work on my system. Its still giving the same error. However, let me check on CI.

Are you sure that you tried from a clean build? Adding --prefix won't have an effect unless you first completely removed the build directory. If you did, could you please paste the full contents of the build?

macOS tests / Conda & umfpack/scikit-sparse, fast, py3.11/npAny, dev.py (3.11) - Related bug is reported in DEV: Update spin to accept arguments of meson compile and meson install scientific-python/spin#256 (comment). Need to be fixed.

6. ci/circleci: run_benchmarks - Need to be fixed.

I will try to fix the above two tomorrow. If urgent then please let me know I can prioritise it accordingly.

Are you sure that you tried from a clean build? Adding --prefix won't have an effect unless you first completely removed the build directory. If you did, could you please paste the full contents of the build?

Yes fully clean build. It fails on CI too so reproducible bug. I pass --prefix in CI. See, https://github.com/scipy/scipy/actions/runs/12087035720/job/33707645414?pr=21674

Okay thanks, that is enough to show the problem. I will have a closer look again.

ci/circleci: run_benchmarks is fixed. It was a minor path error. Fixed now.

I did export DYLD_FALLBACK_LIBRARY_PATH=/Users/czgdp1807/Quansight/scipy/build-install/usr/lib/python3.13/site-packages/scipy/special and then the error went away. I can use it as a temporary workaround for the time being on macOS. I can do it inside spin/.cmds.py for now and add a comment to remove it once things start to work.
On a side note, seems like when we specify --destdir in meson install command then dlopen searches in paths relative to build-install (but interprets them as absolute paths). So say, if you specify as --prefix=/usr then dlopen will look into /usr/lib/python3.13/site-packages/scipy/special (which is incorrect because /usr is present in system root). It created path /usr/lib/python3.13/site-packages/scipy/special but treated it as absolute path. When I specified DYLD_FALLBACK_LIBRARY_PATH using the above export, the error went away. To complete this work I am going to use this workaround.
@rgommers Makes sense to you?

To complete this work I am going to use this workaround.

Feel free to use it to ensure that things in CI work as expected then, but we can't merge that workaround. I'll need to figure out what is going wrong here.

Makes sense, I would do the same thing. I think the problem is with specification of —destdir. It causes issues in search paths of Apple Linker.  Rest let me know when you figure out the root cause.

On my fork (see https://github.com/czgdp1807/scipy/pull/8) the workaround I suggested helps in testing macOS as well. It works. So the only thing left to complete this PR is fixing the error in https://github.com/scipy/scipy/pull/21674#issuecomment-2516888055. The tests should pass here with the workaround.

So with main branch of spin project, everything works here. I am working on adding lcov support here, recently merged in https://github.com/scipy/scipy/pull/21919

All tests pass.

I opened https://github.com/scientific-python/spin/pull/257 to address the blocker here.

So I have noticed two things regarding spin,

Firstly, if spin build is not executed before calling spin test then the build command is invoked inside parent_callback (effectively inside spin).  Now, this piece of code requires SciPy to be already built (i.e., spin build must have been called already). Basically it checks which compiler was used to compile SciPy. If it is not compiled with gcc and --gcov was enabled during SciPy build, then tests aren't run. Reason is explained in https://github.com/scipy/scipy/pull/21919#discussion_r1850734770. Now, if SciPy is not already built then we don't know which compiler was used. So the user will face missing symbol error (see https://github.com/scipy/scipy/pull/21919#discussion_r1850734770) when they run the tests. We can't add my check linked above in spin because it is SciPy specific. For now @rgommers and I have decided to raise an error if spin test --coverage is called without calling spin build before. It is a must to make sure that users don't face test giving missing symbol error.
We can't execute code after call to parent_callback while extending spin commands. In other words, no code after parent_callback is executed. For now I added try-finally block to run lcov once parent_callback is complete (lcov can only called after completion of test execution which is done by parent_callback).  I think we should be able to do this without try-finally block.

@stefanv Any thoughts on the above two observations?
cc: @rgommers

The limitation for (1) seems acceptable. (2) I think will be addressed by https://github.com/scientific-python/spin/pull/258, which is probably motivated by NumPy running into the same issue with having to run lcov. That indeed seems upstream-able, since running lcov isn't specific to SciPy.

An update may be needed here to accommodate for gh-22015

Right now I am not calling spin lint in lint.yml. python tools/lint.py is directly called. I guess it was the same with dev.py. Also, I think CLI for tools/lint.py is still the same, since lint.yml is as it is after gh-22015 has been merged. So I think the change which I can make is updating python tools/lint.py --diff-against origin/$GITHUB_BASE_REF to spin lint --diff-against origin/$GITHUB_BASE_REF. What do you think @rgommers @lucascolley ?

lint.yml probably doesn't need to change. What I meant was exposing the new python dev.py lint --all option as spin lint --all.

Sure. I pushed the changes here. Also tried switching to spin lint from python tools/lint.py for testing on my fork. Seems to work - https://github.com/czgdp1807/scipy/actions/runs/12276145368/job/34252722344?pr=8. Let me know if I should cherry-pick those commits here. @rgommers @lucascolley

spin lint should already include the check_unicode.py etc. scripts, so there is no need to repeat them again in the workflow

@lucascolley Done. Added tools/lint.py, tools/check_unicode.py, tools/check_python_h_first.py in spin lint. Also, lint.yml uses spin lint.


fix: typo in type hint

Closes #180.
Summary of Changes

Change pd.Dataframe to pd.DataFrame

🦙 MegaLinter status: ✅ SUCCESS

Descriptor
Linter
Files
Fixed
Errors
Elapsed time

✅ PYTHON
black
2
0
0
0.71s

✅ PYTHON
mypy
2

0
1.49s

✅ PYTHON
ruff
2
0
0
0.04s

✅ REPOSITORY
git_diff
yes

no
0.02s

See detailed report in MegaLinter reports
Set VALIDATE_ALL_CODEBASE: true in mega-linter.yml to validate all sources, not only the diff
MegaLinter is graciously provided by

:tada: This PR is included in version 0.11.0 :tada:
The release is available on:

v0.11.0
GitHub release

Your semantic-release bot :package::rocket:


Create overview-of-the-windows-graphics-architecture.md

Just removed a reference that I think was not functioning

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

#sign-off


Set no limit to the timeout by default

Fixes #874
Changes
Change the default value of timeout to "infinity".
Release Note
The timeout can be configured via stream-idle-timeout in config-kourier, the default value is set to "infinity" which means there is no timeout.
Users can change this value in config-kourier with decimal numbers plus a unit suffix such as "ns", "us" (or "µs"), "ms", "s", "m", "h"

/retest

/lgtm
/approve
Thank you!


Fix failing duplicate identifier detection

Diff.differencesForSectionedView(initialSections:finalSections:)

Is not throwing Duplicate item or Duplicate section error's when finalSections contains duplicates while initialSections did not.
I'll see if I can add the fix to this pull request as well.

@freak4pc I see you closed this? Is the issue fixed in 6.0.0?

@freak4pc I see you closed this? Is the issue fixed in 6.0.0?

Can you reopen this against main? I changed the main branch name and apparently it closed all the PRs leading to it 🤦♂🤦♂🤦♂

Can you reopen this against main? I changed the main branch name and apparently it closed all the PRs leading to it 🤦♂🤦♂🤦♂

Haha maybe that's what happened at apple as well? 😜  here you go https://github.com/RxSwiftCommunity/RxDataSources/pull/390

Haha maybe that's what happened at apple as well? 😜  here you go https://github.com/RxSwiftCommunity/RxDataSources/pull/390


Base64 img

Hello, first of all thank you for this insane package.
I would like to add an image in base64 format in a  using body_images = {}
Is this possible?
If yes can you show me an example, my image is a string in base64 format (data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAA .... )
Thanks a lot

Hi, thanks! It's always nice to hear people like it.
I think it should be possible, for example, see this:
from redmail import gmail

gmail.user_name = "..."
gmail.password = "..."

# A red dot as base64 found from Wikipedia:
data_as_base64 = 'iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg=='

import base64
gmail.send(
    subject='An example',
<EMAIL_ADDRESS>    html='
This is an image:
 {{ myimage }}',
    body_images={
        'myimage': base64.b64decode(data_as_base64)
    }
)

However, I realized due to a slightly stupid mistake, I had not built support for other than PNG. My aim was to allow one to define it exactly if they passed a dictionary, like:
gmail.send(
    subject='An example',
<EMAIL_ADDRESS>    html='
This is an image:
 {{ myimage }}',
    body_images={
        'myimage': {
            'content': base64.b64decode(data_as_base64),
            'maintype': 'image',
            'subtype': 'jpg',
    }
)

but I slightly messed it up: https://github.com/Miksus/red-mail/blob/master/redmail/email/body.py#L200 and has stupidly PNG hardcoded. It seems I only worked and tested with PNGs but it seems it's pretty easy to fix. I'll try to release a patch that fixes this latest next week.
Thanks for bringing this up!

Thank you for your quick response, I have tested your examples and it works great. Thanks again for this package.


fix dependencies for some foxy msgs/srvs.

Based on the latest version of navigation2(V0.4.3) integrated into this repo, I found some build/runtime errors when launching Navigation2 demo apps, and evaluated their root-causes and provided the solution. Please have a review. @shr-project .
To make the build/launching correctly, some items relevant to navigation2 stack in ros-distro-blacklist should also be removed.

LGTM will merge after builds on internal jenkins are finished.

Merged in dunfell, gatesgarth, master. Thanks
6ac493533..730a17206  dunfell -> dunfell
6ac493533..b962bca51  gatesgarth -> gatesgarth
6ac493533..b962bca51  master -> master


fixbug: qianfan timeout

Features

add timeout to qianfan provider api

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
Attention: Patch coverage is 50.00000% with 2 lines in your changes missing coverage. Please review.

Project coverage is 62.45%. Comparing base (ab846f6) to head (5bec4bb).

Files
Patch %
Lines

metagpt/provider/qianfan_api.py
50.00%
2 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1460      +/-   ##
==========================================
- Coverage   62.59%   62.45%   -0.14%
==========================================
  Files         287      287
  Lines       17589    17589
==========================================
- Hits        11009    10985      -24
- Misses       6580     6604      +24

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Make local and binary file locations relative

Makes the local and binary file locations relative instead of absolute
paths within the .odo/config.yaml file.
Closes: https://github.com/openshift/odo/issues/1552

WIP:

[ ] Need to fix odo watch
[ ] Add binary support
[ ] Tests

This is my current implementation @kadel it worked well until I started troubleshooting odo watch. To be honest, we have quite a lot code that needs to be cleaned up / refactored within the CLI... Where I thought I fixed the path, it would appear somewhere else again!

This is my current implementation @kadel it worked well until I started troubleshooting odo watch. To be honest, we have quite a lot code that needs to be cleaned up / refactored within the CLI... Where I thought I fixed the path, it would appear again somewhere else..

what is broken in odo watch I've tried to do some quick tests, and it seems to work for me

Seems to be going good so far

Any regression tests for this?

/retest
 ✗  the server has asked for the client to provide credentials (get builds.build.openshift.io)

/retest

Haven't looked much into the code, but tested it  with a few examples and it looks good
/approve

/hold
@cdrage do you want to update any check lists?

/test e2e-core
•Running command: odo project list -o json
{"kind":"List","apiVersion":"odo.openshift.io/v1alpha1","metadata":{},"items":[{"kind":"Project","apiVersion":"odo.openshift.io/v1alpha1","metadata":{"name":"json-test","creationTimestamp":null},"spec":{"apps":["myapp"]},"status":{"active":true}},{"kind":"Project","apiVersion":"odo.openshift.io/v1alpha1","metadata":{"name":"myproject","creationTimestamp":null},"spec":{"apps":["myapp"]},"status":{"active":false}},{"kind":"Project","apiVersion":"odo.openshift.io/v1alpha1","metadata":{"name":"odo2-1555342753","creationTimestamp":null},"spec":{"apps":["myapp"]},"status":{"active":false}}]}
Result:
 stdout: {"kind":"List","apiVersion":"odo.openshift.io/v1alpha1","metadata":{},"items":[{"kind":"Project","apiVersion":"odo.openshift.io/v1alpha1","metadata":{"name":"json-test","creationTimestamp":null},"spec":{"apps":["myapp"]},"status":{"active":true}},{"kind":"Project","apiVersion":"odo.openshift.io/v1alpha1","metadata":{"name":"myproject","creationTimestamp":null},"spec":{"apps":["myapp"]},"status":{"active":false}},{"kind":"Project","apiVersion":"odo.openshift.io/v1alpha1","metadata":{"name":"odo2-1555342753","creationTimestamp":null},"spec":{"apps":["myapp"]},"status":{"active":false}}]}

 stderr:
 exitcode: 0

------------------------------
• Failure [0.347 seconds]
odojsonoutput odo machine readable output [It] should be able to list the projects
/go/src/github.com/openshift/odo/tests/e2e/json_test.go:63

  Expected
      <bool>: false
  to be true

  /go/src/github.com/openshift/odo/tests/e2e/json_test.go:67

/test e2e-scenarios
level=error msg="1 error occurred:"
level=error msg="\t* module.vpc.aws_vpc.new_vpc: 1 error occurred:"
level=error msg="\t* aws_vpc.new_vpc: Error creating VPC: VpcLimitExceeded: The maximum number of VPCs has been reached."
level=error msg="\tstatus code: 400, request id: b073ccd4-62c1-4000-9e06-4e5896183d10"

Rebase please. Json error fixed in another pr.

[ ]  Need to fix odo watch ignoring files
[x]  Add binary support
[ ]  Tests

@cdrage are those items addressed in this PR? If not we can open separate issues for those.

/retest

[ ]   Need to fix odo watch ignoring files
[x]   Add binary support
[ ]   Tests

@cdrage are those items addressed in this PR? If not we can open separate issues for those.

#1630 and #1631 were opened to track those two things
/hold cancel


AtlasNet ground-truth point clouds

Hello,
I can't find the AtlasNet ground-truth point clouds. Can you please elaborate on where to find them?
I tried using this script from AtlasNet v2.2:
https://github.com/ThibaultGROUEIX/AtlasNet/blob/V2.2/data/download_data.sh
but the download links are broken. Am I searching in the right place?
Best regards

Hi @ErnieLud, it seems like the AtlasNet repo has significantly restructured over the years. Can you try downloading with this script instead? You may also want to contact the AtlasNet authors on how to get the customShapeNet directory.


Cannot run stackdriver integration tests off GCP

We deploy ingress, which crashloops with 2020-11-30T16:51:23.611339Z     error   Failed to generate bootstrap config: unable to process Stackdriver tracer: Get "http://<IP_ADDRESS>/computeMetadata/v1/project/project-id": dial tcp <IP_ADDRESS>:80: i/o timeout
I am a bit suspicious the test is not working properly off GCP either - how does it start using the fake SD if its extracting metadata info at startup of ingress, before fake SD is deployed?

Ah probably the test never checks ingress so it doesn't really matter?

The sidecars crash with the same

I've run it locally with the fake metadata server in the setup, iirc. Has something changed?

@douglas-reid I think maybe the envoy SD filter gets passed the fake SD url, but I am seeing the agent golang code calling <IP_ADDRESS> which seems like its not pointing to the fake

Maybe I'm thinking of the Stackdriver VM tests only (which I know use a fake GCE Metadata Server).

@howardjohn ok. i looked into this a bit more. the stackdriver tracing configuration does not use the platform metadata stuff to detect onGCE(), and assumes GCP configuration. This seems like a real issue. We shouldn't require onGCE() == true to configuration SD tracing.
/cc: @bianpengyuan

Lines that need to be adapted to use the platform environment struct: https://github.com/istio/istio/blob/master/pkg/bootstrap/config.go#L310-L312
We should also enable configuration of project ID for off-GCP use.

@howardjohn do you have an easy repro for the issue? can you try running with the provisional changes in https://github.com/istio/istio/pull/29882 ?

@howardjohn do you have an easy repro for the issue? can you try running with the provisional changes in https://github.com/istio/istio/pull/29882 ?

cc @douglas-reid I'll try this against our private fork that runs on AWS

cc @douglas-reid I'll try this against our private fork that runs on AWS


Add additional mailbox manipulation commands (MOVE, LIST, etc)

Love the library, nicely done.
Its current focus is clearly around read-only, receiving of messages. I've actually forked it and started adding some additional functionality around LIST and MOVE specifically, and will need to add fetching of prior messages and creation of mailboxes/folders as well.
Are you open to PRs adding additional, non-receiving, functionality? Wanted to check-in on your goals with the lib first before investing in getting my early spikes to PR ready. If yes, any specific requests or contributor guidelines besides the norm (doc comments, tests etc)?

Hi!
My initial use case for the library was indeed very read-only, but I’d be more than happy to review a PR for additional features to make the library more complete.
Aside from the norm, all I’d say is to try and keep the details of IMAP at least somewhat abstracted away so that users need not be familiar with the intricacies of the IMAP spec in order to use the library.
Thanks!

Awesome, so far I've added LIST, MOVE, and CREATE with tests, as well as some smaller related updates (slightly improved IDLE handling, flowing seqnum through the message to support a very easy MOVE workflow, etc). Keeping the API surface area reasonably abstracted from IMAP, since I don't like having to remember much of it either 😆. Will finish confirming they are working as expected, and then split up into a few PRs to keep it from being overwhelming.


Added repeat mode and secure mode cmdline args support

Repeat mode and Secure mode cmdline args support for Echo Server
Description

Added repeat mode cmdline args support: -repeat & -interval
Added secure mode cmdline args support: -cert & -key
Updated Readme.

Checklist:

[ ] I have tested my changes. No regression in existing tests.
[ ] My code is Linted.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@onsankawai thanks for this contribution!


How to fix the except_wrap function.

Example for @JohnDMcMaster

I carried this to the other functions and pushed to main


How to catch global saga errors

I know how to handle expected errors within a saga, this is not the problem.
I have effects which can produce errors, which should "never" happen. E.g fetch user profile information. This ajax call only fails if the api server isn't running.
These errors are handled in
https://github.com/yelouafi/redux-saga/blob/ae39cf06dee57ddd3db935a0023db5f584eb1748/src/internal/proc.js#L243
which logs the error to the console. Is this overwritable to e.g. dispatch an action to show the error to the user or send it to a error logging backend API?

Have you tried like so:
store.runSaga(rootSaga).done.catch((e) => {
  console.log(e.message)
})

I think what @hoschi  is asking is a 'generic' way to handle errors inside tasks. Catching the error on the root saga will abort all the currently executing tasks on the execution tree. The same observation holds for the above snippet in proc.js, when you reach that point it's too late because all the tasks in the way have already been canceled.
redux-saga follows the same synchronous style for handling errors, so in order to handle some errors in a generic way you'll have to implement a generic saga for handling those errors and then call it inside your catch blocks. A better way IMO, is to not use try/catch to handle application errors and use explicit return values instead. JavaScript hasn't good support for try/catch as it doesn't provide Typed catch blocks. so your catch block can swallow also application bugs (e.g. undefined var)

It is OK when the hell breaks loose and nothing works at this moment in the browser. I just want to send as much information as I can above this error to a logging service to:

know I have a bug
get information about the bug

When the solution of @pavelkornev catches the error before the logger in proc.js, this is the "good enough" solution for my use case.
Initially I thoght it would be more complicated to catch these kind of errors and I wanted to reuse the existing code of proc.js, but replace console.log with sendToBackendLogger. Perhaps this was confusing.

This works in the way mentioned, but good enough for me, thanks.


Update antrea YAML with latest udp offload stuff

What this PR does / why we need it
Adding UDP offload
Details for the Release Notes (PLEASE PROVIDE)
support UDP offload configmaps

https://github.com/vmware-tanzu/community-edition/blob/main/addons/packages/antrea/1.2.3/package.yaml#L16
This package needs to be bumped and updated here.

closing this one, @knabben will carry this on


Limit RSS feed entries

Sicking Jekyll Feed loose on my personal site, with 100+ posts, resulted in a 1.1MB file, which is a bit silly for a feed... it shouldn't be an export of the entire site's content.
The go to design would be to add rss_limit or similar to your _config.yml file, defaulting to something like 10. That feels lame to me. Why would someone want 11? 25? 5? Feels like we're abstracting a variable for the sense of not hard-coding a number, but I don't see why the number can't be hard-coded.
What's a good number of posts for a feed? The 10 most recent? 5 most recent? Let's figure out that magic number and just run with it, rather than pushing the question onto users.

Flipboard requires at least 30 items.
Keep in mind that feeds are usually downloaded in the background, rather than HTML where the user is just waiting for the page to finish loading.
One problem with hard coding a number that is too low is sites that publish many stories a day. If a reader doesn't pull the feed for a couple days, the reader should still expect to get all the items on the next request. It would be a shame if a site published more items in a few days than the feed contained.

Valid point. On the flip side, FeedBurner (if anyone still uses that), limits feed to 512kb (how I discovered the issue).

Is there a feed file size limit?
Yes. FeedBurner will not accept feeds that are larger than 512K. It's rare for a feed to be larger than 512K, but some publishing tools generate their original source feeds with no limit to how far back in time they will reach to include items. Such feeds are vulnerable to steady size increases.
If you currently publish an existing FeedBurner feed, and the original source feed exceeds the 512K limit, FeedBurner will not update the 'burned' version of your feed until the original drops below the limit. For most feeds this will never be an issue -- but if you know that your content postings are regularly very large in size, you might want to keep any eye on the original feed's file size.

As another datapoint, WordPress (which is the top results for "RSS Feed Limit") is slated to remove the option from WordPress 4.3. From their analysis, less than 1% of users of WordPress.com changed it from the default of 10.

That is certainly a strong datapoint, but keep in mind that, while they are removing this setting from the user-facing dashboard, they are keeping the API so that the setting can still be changed by adding one line of code to a plugin or theme.
Just because, here are just a few others:

GitHub Blog - 15
New York Times homepage - 20
Daring Fireball - 47(!)

Certainly 10 would be a reasonable default if it were possible for a user to override, but if the setting is set in stone for all users I worry about setting it too low.

Can't the limit be configurable?


{icestorm,nextpnr}: fixes

Motivation for this change
This fixes cliffordwolf/icestorm#234 for me, and should hopefully also fix #67898 (it at least builds successfully, but unfortunately I don't have a 10.14 desktop to test that the GUI works on).
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Notify maintainers
cc @thoughtpolice

@GrahamcOfBorg build icestorm nextpnr

The builds timed out of course, but we know they work fine on x86_64, and it fixed the compile failure on Darwin, so let's go!


[Suggestion] Add AMD card compatibility

https://github.com/SociallyIneptWeeb/AICoverGen/issues/19
You can refer to this

Yeah sorry, I didn't notice that issue. But the thing is, until yesterday the Colab notebook was my main option, but Google has started to crack down on the notebooks using RVC (not banning the notebooks, but users get disconnected even 5-10 minutes after starting a runtime, even banning some users. I think you should consider adding AMD compatibility because of this, or some kind of option that allows the CPU to do the inference.

Unfortunately, I do not have an AMD graphics card, so I can't really develop and test this properly on my environment.

I second this.
From the looks of it, it seems to be using pytorch so perhaps the rocm version of pytorch could add compatibility? I'll take a look.

The first part uses the cpu(splitting the vocals etc), afterwards it uses the gpu if used with pytorch rocm

 The first part uses the cpu(splitting the vocals etc), afterwards it uses the gpu if used with pytorch rocm

i have rx 6800, how did you do this?

 The first part uses the cpu(splitting the vocals etc), afterwards it uses the gpu if used with pytorch rocm

is it possible to do this with directml ?

For me on Linux with ROCm 5.6 and torch 2.1.0 it crashes with SIGSEV
I have adjusted CUDAExecutionProvider with ROCMExecutionProvider bot no change, it crashes at the first section after pressing Generate.
I am willing to help to bring support for AMD, unfortunately my Graphics card RX 7900XT requires ROCm 5.6 and torch2.1 to work.
I am able to use this Project without any issues: https://github.com/RVC-Project/Retrieval-based-Voice-Conversion-WebUI/tree/main
It uses the same UVR5 models etc., so I don't understand, but even with a working VENV from that project it still does not work here.
That was a lot of I here 😰

NVM i forgot that i have two graphics cards, fixed it with
export PYTORCH_ROCM_ARCH="gfx1100"
export ROCR_VISIBLE_DEVICES=0
here is the installation process:
python3.10 -m venv venv
source venv/bin/activate
pip install --pre torch torchaudio --index-url https://download.pytorch.org/whl/rocm5.6

# Remove torch from requirements.txt
pip install -r requirements.txt

export PYTORCH_ROCM_ARCH="gfx1100" # Probably not needed for you, also adjust the model
export ROCR_VISIBLE_DEVICES=0                # Probably not needed for you
python src/download_models.py
python src/webui.py

If this does not work also replace CUDAExecutionProvider with ROCMExecutionProvider within mdx.py on line 69


Markdown input component

#Do not merge

@mindreeper2420 I think I got them all, can we merge it asap?


Remove Other Examples folder

Great to show, but we don't have time to test them before the Aug 10th launch so it is better to hide them for now than present them untested and without modified text so that they make sense on a Paperspace setup.

For each of these we plan to test the code, review the text, and add them back in to the repo, after the We Aug 10th launch.


Error messages in HEDA Settings page should be nicely displayed

In a user-friendly manner. Now they are just shown as a string at the bottom of the page.

**lurch: attach W-008614

Tracking W-008614

Carlos, you can see how I'm doing it in the manage household ui LC here:
https://github.com/SalesforceFoundation/Cumulus/blob/feature/lex-manage-household-REVIEWED/src/aura/HH_Container/HH_ContainerHelper.js#L126

A user pointed out that an unfriendly error message is displayed at the bottom of the page when you try to create a new reciprocal setting and you don't field the Name field.

Included in beta release 1.27 (Beta 2)

Included in production release rel/1.27


MethodNotAllowedHttpException in RouteCollection.php line 218:

Anyone got this issue?
It was running fine but now it just popped up.

You're calling a method that isn't supported. Check your routes.  If you copy/paste your routes file here we can help more.


Fixed link for downloading artifacts from code.google.com

Fixed link for downloading artifacts from code.google.com

This pull request is now redundant. Google code no longer active, and docs have now been updated with information on how to download from Maven Central.