Cannot get latest version: module contains a go.mod file, so module path should be github.com/jordan-wright/email/v4

Background
The github.com/jordan-wright/email uses Go modules and the current release stream version is v4. It must comply with the specification of "Releasing Modules for v2 or higher" available in the Modules documentation and enforced since the most recent versions of Go. The module path should be "github.com/jordan-wright/email/v4". Quoting the specification:

A package that has opted in to modules must include the major version in the import path to import any v2+ modules
To preserve import compatibility, the go command requires that modules with major version v2 or later use a module path with that major version as the final element. For example, version v2.0.0 of example.com/m must instead use module path example.com/m/v2.
https://github.com/golang/go/wiki/Modules#releasing-modules-v2-or-higher

Using go get (under go1.13 and go1.14) does not work for<EMAIL_ADDRESS>.
I consider this a pretty high severity issue since not doing so prevents any other Go project also using Go Modules to properly require jordan-wright/email on version v4.0.0 as a dependency, resulting in errors like:
invalid version: module contains a go.mod file, so major version must be compatible: should be v0 or v1, not v4

SO anyone using Go modules will not be able to easily use any newer version of jordan-wright/email
Steps to Reproduce
Under a project making use of Go modules, run go get targeting any version >= v4.0.0 of the jordan-wright/email:
$ go get<EMAIL_ADDRESS>go get<EMAIL_ADDRESS><EMAIL_ADDRESS>invalid version: module contains a go.mod file, so major version must be compatible: should be v0 or v1, not v4

Solution
1.  Kill the go.mod files.
This would push them back to not being managed by Go modules (instead of incorrectly using Go modules). Importing specific versions would work, but they'd receive the +incompatible prefix and would need to be manually upgraded.
Probably best option short-term -- better to not use Go modules than use it incorrectly.
Also, best option for older branches/versions that aren't maintained.
2.  Make breaking changes
Patch the go.mod file to declare the module as github.com/jordan-wright/email/v4 as per the specs. AND adjust all internal imports.
There are two alternative mechanisms to release a v2 or higher module. Note that with both techniques, the new module release becomes available to consumers when the module author pushes the new tags. Using the example of creating a v3.0.0 release, the two options are:

Major branch: Update the go.mod file to include a /v3 at the end of the module path in the module directive (e.g., module github.com/my/module/v3). Update import statements within the module to also use /v3 (e.g., import "github.com/my/module/v3/mypkg"). Tag the release with v3.0.0.

Go versions 1.9.7+, 1.10.3+, and 1.11 are able to properly consume and build a v2+ module created using this approach without requiring updates to consumer code that has not yet opted in to modules (as described in the "Semantic Import Versioning" section above).
A community tool github.com/marwan-at-work/mod helps automate this procedure. See the repository or the community tooling FAQ below for an overview.
To avoid confusion with this approach, consider putting the v3.. commits for the module on a separate v3 branch.
Note: creating a new branch is not required. If instead you have been previously releasing on master and would prefer to tag v3.0.0 on master, that is a viable option. (However, be aware that introducing an incompatible API change in master can cause issues for non-modules users who issue a go get -u given the go tool is not aware of semver prior to Go 1.11 or when module mode is not enabled in Go 1.11+).
Pre-existing dependency management solutions such as dep currently can have problems consuming a v2+ module created in this way. See for example dep#1962.

Major subdirectory: Create a new v3 subdirectory (e.g., my/module/v3) and place a new go.mod file in that subdirectory. The module path must end with /v3. Copy or move the code into the v3 subdirectory. Update import statements within the module to also use /v3 (e.g., import "github.com/my/module/v3/mypkg"). Tag the release with v3.0.0.

This provides greater backwards-compatibility. In particular, Go versions older than 1.9.7 and 1.10.3 are also able to properly consume and build a v2+ module created using this approach.
A more sophisticated approach here could exploit type aliases (introduced in Go 1.9) and forwarding shims between major versions residing in different subdirectories. This can provide additional compatibility and allow one major version to be implemented in terms of another major version but would entail more work for a module author. An in-progress tool to automate this is goforward. Please see here for more details and rationale, along with a functioning initial version of goforward.
Pre-existing dependency management solutions such as dep should be able to consume a v2+ module created in this way.

3.  Major version bump / repository change
Leave v4 as a dead version and bump to v5 with the path changes.
4.  Remain unchanged
Don’t want to fix it. Not intended to be used as a library and does not make any guarantees about the API.
5.  Let the user change
The standard rule of go modules conflicts with your development mode. So you can’t comply with the specification of "Releasing Modules for v2 or higher" available in the Modules documentation.
Regardless, since it's against one of the design choices of Go, it'll be a bit of a hack. Instead of go get github.com/jordan-wright/email@version-tag, the install procedure would be something like:
(1)Search for the tag you want (in browser)
(2)Get the commit hash for the tag you want
(3)Run go get github.com/jordan-wright/email@commit-hash
(4)Edit the go.mod file to put a comment about which version you actually used
References

https://github.com/golang/go/wiki/Modules#semantic-import-versioning
https://golang.org/cmd/go/#hdr-Module_compatibility_and_semantic_versioning
https://github.com/golang/go/wiki/Modules#releasing-modules-v2-or-higher

@JensRantil  @l-ross  Could you help me review this issue? Thx :p

Hi there!
Thanks for sending this in. This is something I've been aware of for some time, just haven't gotten time to fix. So let's chat about it 😄
The Go docs suggest:

Note that if you are adopting modules for the first time for a pre-existing repository or set of packages that have already been tagged v2.0.0 or higher before adopting modules, then the recommended best practice is to increment the major version when first adopting modules. For example, if you are the author of foo, and the latest tag for the foo repository is v2.2.2, and foo has not yet adopted modules, then the best practice would be to use v3.0.0 for the first release of foo to adopt modules (and hence the first release of foo to contain a go.mod file).

This is why I'd lean towards doing the following:

Changing the module in the go.mod to include /v5.
Tagging a new v5.0.0 release

This should get modules working where v5.0.0. While there may be some issues with certain clients like dep, it feels like it's the correct and most simple approach to more proper module support.
What do you think?

@jordan-wright   Thank you for your reply.
You can see your downstream repos through this link:
https://github.com/search?l=Go&q=github.com%2Fjordan-wright%2Femail&type=Code
And your downstream module user can be seen here:
https://github.com/search?q=github.com%2Fjordan-wright%2Femail+extension%3Amod&type=Code
Downstream repos that use dep、glide and so on, can be seen here:
https://github.com/search?q=github.com%2Fjordan-wright%2Femail+extension%3Ajson+extension%3Aconf+extension%3Atoml+extension%3Alock&type=Code
If you want to be compatible with all the downstream, maybe you could consider using one of two options:

Delete the go.mod file when you send a commit.
2.2.  Create the repo using the "Major subdirectory" method

Major subdirectory: Create a new v3 subdirectory (e.g., my/module/v3) and place a new go.mod file in that subdirectory. The module path must end with /v3. Copy or move the code into the v3 subdirectory. Update import statements within the module to also use /v3 (e.g., import "github.com/my/module/v3/mypkg"). Tag the release with v3.0.0.

This provides greater backwards-compatibility. In particular, Go versions older than 1.9.7 and 1.10.3 are also able to properly consume and build a v2+ module created using this approach.
A more sophisticated approach here could exploit type aliases (introduced in Go 1.9) and forwarding shims between major versions residing in different subdirectories. This can provide additional compatibility and allow one major version to be implemented in terms of another major version but would entail more work for a module author. An in-progress tool to automate this is goforward. Please see here for more details and rationale, along with a functioning initial version of goforward.
Pre-existing dependency management solutions such as dep should be able to consume a v2+ module created in this way.

@jordan-wright
The "mixed" dependency management modes (GOPATH and Go modules) in the Go ecosysem can cause tons of issues.
Having a global view of your downstream and upstream projects and their migration situations (to Go Modules) can help you select a better solution by making a trade-off analysis, which aims to avoid introducing breaking changes into other projects in the community :p
Hope my provided information about your downstream and upstream projects are useful.
Thanks again.
Best regards.

Hi @KateGo520,
Thanks for all the great feedback. I've opted to take the easy way out here for now and just removed the go.mod file. In the future, I'll consider a different option when I'm ready to cut a new major release.


Additional Python Callback Handlers

Hello - first off, thank you so much for the awesome work on this project. I've finished and will soon be releasing an emulator for a Z80, ISA bus compatible computer that's moving onto the hardware phase. In addition to your Z80 emulator, it contains a custom MMU for banking and interfacing with the ISA bus, a Zilog CTC emulator, a CGA/EGA/VGA text framebuffer emulator, a partial Intel 82077aa emulator for floppies, etc.  However, I've had to make the following alterations to the Z80 code to accommodate my project, and I was wondering if you'd think they'd be useful enough to include in the base repo. As a bonus, that would also make it easier for me, as I can just include it as a dependency in my PyPi package and I won't have to include a whole modified copy of your Z80 package.  My modifications are as follows:

Python OUT instruction callback handler (it looks like you just added this - I should have just waited a couple weeks!)
Python memory READ callback handler
Python memory WRITE callback handler
Python RETI callback handler (the Zilog CTC emulator needs an efficient way of monitoring when the interrupt routine ended besides polling fetched instructions and/or IFF registers)
Python callback handler for getting the lower portion of the address for Interrupt Mode 2 vectors.  I think currently you hard code 0xFF as the lower 8 bits as opposed to fetching it via a read cycle.

1-4 above I implement the exact way you do your other callbacks, very easy and straightforward.  # 5 above I do a really hacky way right now by replacing the harcoded 0xFF with a read cycle request of address "-1", which I then detect in my READ callback handler and return the vector address accordingly.  I could easily see this instead being an "on_get_int_vector" or something in the z80 base class that gets overridden in the python C module to check for a callback handler like the other 4 items above, but I didn't do it that way yet.
Apologies for the long ticket, but my questions are:

Are there any built in ways that I missed of doing any of those things better?
Would you be interested in incorporating any/all of these changes into your repo,
If so, would you like me to submit what I've done for 1-4 or would you prefer to make the changes yourself
If you'd like me to make a patch for functionality # 5 above, could you recommend which class and location in the class you'd suggest making the on_get_int_vector function?  The base classes are all very large and complex (by necessity) and I don't want to disorganize them.

No worries too if you're not interested, I thought I'd just double check.  Thanks again for an awesome project, it runs CP/M, MBASIC, all the games I've thrown at it, and all my custom MMU stuff (including memory resident drivers in other banks) with absolutely no problems - you did a great job!

Hi Toni, yes, those are all exactly the kind of facilities the emulator is meant to provide (and I confirm we currently don't have these exposed in Python).
What you have implemented sounds perfectly reasonable and for the mode 2 int handler I think I would indeed introduce the on_get_int_vector() thing as you guessed, so please do create pull requests. Then should any polishing be necessary, such as finding the right places for new code, I can take care of that.
Thanks for sharing and the kind words. Exciting stuff it is that you are working on!

Great, sounds good! I'll submit some pull requests in the next day or so.  Thanks again!

I also want to applaude you for this project.
While I do not need this particular feature, the emulator has helped me tremendously in (almost) getting an old (1977) z80 based computer (Q1 Lite) up and running. This is being done as part of a Danish Computer History Foundation (pro bono) project.


Optional Parameters generated for Controller with [FromQuery] always required

I have following Controller:
public async Task<IActionResult> ControllerName([FromQuery] MyQueryDto request) {.....}
MyQueryDto looks like this:
public sealed class MyQueryDto
{
    public string? SomeString { get; set; }
    public string? AnotherString { get; set; }
}

when I generate my Typescript HttpClient it looks like this:
controllerName(someString: string | null, anotherString: string | null): Observable<ResponseDto> {....}

In my nswag.json I've set the nullValue property to be 'Undefined'. So I would expect the '| null' to be '| undefined' right?
All my Interfaces are correctly set with undefined where they are nullable expect when I have a controller which unwraps the DTO class because of the [FromQuery] attribute.

I would expect the unwrapped DTO class properties to still be optional as they are in MyQueryDto.
But when I print the properties of TypeScriptParameterModel from the Liquid file, I see that the Properties are set as Required=true and Optional=false. which is wrong I guess.
Is this a bug?

in a config (openApiToTypeScriptClient) check if generateOptionalParameters is set to true;
this should produce proper code:
controllerName(someString?: string | null | undefined, anotherString?: string | null | undefined): Observable<MyQueryDto>;


Have you considered adding watermark to the picture

Have you considered adding watermark to the picture? The watermark content is dynamic. Read the watermark text from the request header
http://:9000 {
	header * {
		-Server
	}
	root D:/Images

	@thumbnail {
		path_regexp thumb /.+\.(jpg|jpeg|png|gif|bmp|tif|tiff|webp)$
	}

	handle @thumbnail {
		image_filter {
			fit {query.w} {query.h}
		}
	}

	file_server
}

http://localhost {
	header * {
		-Server
	}
	root * D:/Images
	route {

		reverse_proxy /api/operation/downfile http://localhost:205 {
			@accel header X-Accel-Redirect *
			handle_response @accel {
				rewrite * {rp.header.X-Accel-Redirect}
				header {
					#To realize the download after the file name is changed, add the Content-Disposition at the bottom.
					#If it is not added, it can realize the authentication before the file acquisition (through the file ID),  Can be used for preview
					Content-Disposition {rp.header.Content-Disposition}
					Water-Mark {rp.header.Water-Mark}
				}
				reverse_proxy [::1]:9000
			}
		}

		try_files {path} /index.html

		file_server
	}
}

#   C# Code if you need I can also provide the go code
#The code returns the true path of the file through the response header. With the watermark to be added, can caddy add the #watermark to the returned image when forwarding to localhost: 9000

# public IActionResult DownFile() {
# 	//If the file does not exist, point to a default picture

# 	//return Redirect("http://localhost:8001/UserFile/notfind.jpg");

# 	//HttpContext.Response.Headers["Content-type"] = "application/octet-stream";
# 	var _fileName = HttpUtility.UrlEncode("imagerealName.jpg");
# 	HttpContext.Response.Headers["Content-Disposition"] = "attachment;filename=" + _fileName;

# 	HttpContext.Response.Headers["X-Accel-Redirect"] = "D:/Images/aaaa.jpg";
#   HttpContext.Response.Headers["Water-Mark"] = "UserRealId";

# 	HttpContext.Response.StatusCode = 200;

# 	return Json("");
# }

I haven't considered it yet. I pretty much only implemented the filters that https://pkg.go.dev/github.com/disintegration/imaging can do and I believed useful.
But no one is stopping you from implementing it independently yourself :) https://github.com/ueffel/caddy-imagefilter#write-your-own-filter

I need to understand the implementation of module first. It will take several months to write it


Bug/6.3/tdi 37658 runtime

Please check if the PR fulfills these requirements

[ ] The commit message follows Talend standard
[x] Tests for the changes have been added (for bug fixes / features)

What is the current behavior? (You can also link to an open issue here)
tsalesforcebulkexec can't work in studio
What is the new behavior?
now it can work
Does this PR introduce a breaking change?

[ ] Yes
[x] No

If this PR contains a breaking change, please describe the impact and migration path for existing applications: ...
Other information:
https://jira.talendforge.org/browse/TDI-37658

Pull request test result: success :star:

there is a limit for the pr : don't support the nb line and success line and reject line, so close it.


Changed tests for FASTQ output from qual.n to com.n

This change prevents corrupt output (mixed fasta and fastq records) when encountering input fastq records with zero-length sequences.
com.n is a more reliable format indicator; it is definitiively zero with FASTA input and definitively nonzero with FASTQ input, regardless of the sequence length and quality legnth.

I've done that. Thank you!

The problem, that zero-length fastq sequences in the output cause corrupt output persists.

Sorry, I was mistaken, the current version does not have this bug; it is fixed.


[FEATURE] JavaScript API - Pass plugin functions directly to plugins in createConfiguration

The problem that you want to solve.
I'm building a tool on top of Snowpack. I use the JavaScript API. I initialise the configuration using the createConfiguration function similar to this snippet:
const config = createConfiguration({
    ...SnowpackConfig,
    plugins: [
      ...snowpackPlugins,
      ["@snowpack/plugin-postcss"],
      ["@kretes/plugin-myown-1", {}],
      ["@kretes/plugin-myown-2", {}],
    ]
})

Now, in order to use those plugins, I need to separately create packages for each of these internal plugins and then add them to package.json so that Snowpack can pick them up. It's a bit cumbersome. I'd like to pass the plugin function directly to plugins in createConfiguration.
Your take on the correct solution to problem.
Pass the plugin functions directly to plugins when creating a Snowpack configuration.
Are you willing to submit a pull request to implement this change?
Yes

I have the same request! I like being able to start early development on a plugin by simply writing it inline within my config file. If it grows mature enough to be worth creating a package, I can do so then, but I like being able to start without any time overhead.
Granted, there is an "in-between" approach: Create a local file in a "SnowpackPlugins" folder in your repo, and use a relative path in the plugins list:
plugins: [
    './SnowpackPlugins/MyPlugin.js',
],

But that's still less flexible than being able to pass an actual function in, as it requires creating extra files (for "plugins" that may only be a couple lines), as well as blocking the ability to put multiple plugin functions in the same file.


Nick: Watch bblinds.com.au

Nick requests the watch of the watch_keyword bblinds\.com\.au. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

bblinds\.com\.au has been seen in 1 true positive, 0 false positives, and 0 NAAs.


some items pictures are wrong

fixed door tin https://github.com/MinetestForFun/server-minetestforfun/commit/48d535a8941ead1c1345b141e5cb5f8ad0aa1e22

I feer that the dyes' problem might be a rendering bug, or some combination or textures not properly rendered...

OK, now this is getting weird..

Here's a screenshot of a medium lime, lime and magenta stained glass once placed. I tried removing the texture files for the lime stained glass, and the magenta texture kept being applied onto it..
I'm really thinking that this is engine-level of bug..

Damn, thsi isn't a good news...

Texture corruption has been a thing in Minetest since long ago. IIRC the Irrlicht engine is responsible of some of these issues, the rest is MT being unable to properly handle its resources due to poorly written code.
Unless you get to track down what pieces of code were executed (and with which data) to give these results -- implying using tools like callgrind --, nothing of that will get fixed, especially considering the evergoing MT coredev mindset of "doesn't happen to me/happens rarely, WONTFIX".


Configure to set allowed quantifiers

Allow the user to set a list of quantifiers to recognize.

Would be nice to also provide a map of aliases. E.g. lastName or last --> lastName.


DS-Build Command URL Update

Please see spreadsheet for details.
DS-Build-Update-Issue.xlsx

Summarized here:

Update ds-build/pull/Vagrant command to point to something other than staging.beta.dosomething.org

Actually, that's the whole description.

stagingdata.dosomething.org

Addressed in DoSomething/ansible-dosomething#35

https://github.com/DoSomething/ansible-dosomething/pull/36


Before your solution I used a different ESP home custom integration that uses the the same or similar libraries. It was very stable, but I wanted to check your new solution. Even though my log dbm's are really low (75 - 85 dam), they always trigger. But the RTS part (the ESP) looses connection after a while.
This is what I have used before in ESP home. I add this, maybe it helps.
esphome:
name: esphome-web-0d66e0
platform: ESP32
board: nodemcu-32s
libraries:
- EEPROM
- SPI
-<EMAIL_ADDRESS>-<EMAIL_ADDRESS>includes:
- somfy_cover.h
web_server:
port: 80
Enable logging
logger:
Enable Home Assistant API
api:
ota:
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Esphome-Web-0D66E0"
password: xxxxxx
captive_portal:
sensor:

platform: uptime
name: Uptime Sensor

platform: wifi_signal
name: "WiFi Signal Sensor"

cover:

platform: custom
lambda: |-
auto somfy_remote = new SomfyESPRemote();
somfy_remote->add_cover("somfy", "Zonwering", 0x123456);
App.register_component(somfy_remote);
return somfy_remote->covers;
covers:

id: "somfy"
name: "Somfy Cover"

switch:

platform: template
name: "PROG"
turn_on_action:

lambda: |-
((SomfyESPCover*)id(somfy))->program();

platform: template
name: "STOP"
turn_on_action:

lambda: |-
((SomfyESPCover*)id(somfy))->stop();

Added JBR

platform: template
name: "MY"
turn_on_action:

lambda: |-
((SomfyESPCover*)id(somfy))->my();

platform: template
name: "SUN_WIND"
turn_on_action:

lambda: |-
((SomfyESPCover*)id(somfy))->sun_wind();

platform: template
name: "WIND"
turn_on_action:

lambda: |-
((SomfyESPCover*)id(somfy))->wind();

This is the called somfy_cover.h:
#include "esphome.h"
#include <ELECHOUSE_CC1101_SRC_DRV.h>
#include <NVSRollingCodeStorage.h>
#include <SomfyRemote.h>
#define EMITTER_GPIO 2
#define CC1101_FREQUENCY 433.42
#define COVER_OPEN 1.0f
#define COVER_CLOSED 0.0f
class SomfyESPCover : public Cover {
private:
SomfyRemote *remote;
NVSRollingCodeStorage *storage;
public:
SomfyESPCover(const char *name, const char *key, uint32_t remoteCode)
: Cover() {
storage = new NVSRollingCodeStorage(name, key);
remote = new SomfyRemote(EMITTER_GPIO, remoteCode, storage);
}
CoverTraits get_traits() override {
auto traits = CoverTraits();
traits.set_is_assumed_state(true);
traits.set_supports_position(false);
traits.set_supports_tilt(false);
return traits;
}
void sendCC1101Command(Command command) {
ELECHOUSE_cc1101.SetTx();
remote->sendCommand(command);
ELECHOUSE_cc1101.setSidle();
}
void control(const CoverCall &call) override {
if (call.get_position().has_value()) {
float pos = *call.get_position();
  if (pos == COVER_OPEN) {
    ESP_LOGI("somfy", "OPEN");
    sendCC1101Command(Command::Up);
  } else if (pos == COVER_CLOSED) {
    ESP_LOGI("somfy", "CLOSE");
    sendCC1101Command(Command::Down);
  } else {
    ESP_LOGI("somfy", "WAT");
  }

  this->position = pos;
  this->publish_state();
}

if (call.get_stop()) {
  ESP_LOGI("somfy", "STOP");
  sendCC1101Command(Command::My);
}

}
void program() {
ESP_LOGI("somfy", "PROG");
sendCC1101Command(Command::Prog);
}
// Added JBR. I also think that stop is missing above, therefore I created a My
void my() {
ESP_LOGI("somfy", "MY");
sendCC1101Command(Command::My);
}
void sun_wind() {
ESP_LOGI("somfy", "SUN_WIND");
sendCC1101Command(Command::SunFlag);
}
void wind() {
ESP_LOGI("somfy", "WIND");
sendCC1101Command(Command::Flag);
}
};
class SomfyESPRemote : public Component {
public:
std::vector<esphome::cover::Cover *> covers;
void setup() override {
// need to set GPIO PIN 4 as OUTPUT, otherwise no commands will be sent
pinMode(EMITTER_GPIO, OUTPUT);
digitalWrite(EMITTER_GPIO, LOW);
ELECHOUSE_cc1101.Init();
ELECHOUSE_cc1101.setMHZ(CC1101_FREQUENCY);

}
void add_cover(const char *name, const char *key, uint32_t remoteCode) {
auto cover = new SomfyESPCover(name, key, remoteCode);
covers.push_back(cover);
}
};

Sorry for the bad layout

Are you saying the wifi connection to the ESP fails?

No, I'm still not sure what the issue is and will further look for a reproduction scenario.
One issue is repeatable:
The automatic sun can be set from the HA integration and RTS. The motor jogs to confirm. If I check the automatic setting on the remote, it is visually 'off' on the led. I can imagine that the led is set on button hold and can therefore not be controlled externally.

Unfortunately, the remotes have no ears and can only talk.  That LED on the remote cannot be controlled.

No, I'm still not sure what the issue is and will further look for a reproduction scenario.
One issue is repeatable: The automatic sun can be set from the HA integration and RTS. The motor jogs to confirm. If I check the automatic setting on the remote, it is visually 'off' on the led. I can imagine that the led is set on button hold and can therefore not be controlled externally.I can imagine this is just how it works and we cannot update the led status of the RTS remote control externally.

That's correct, the remote LED indicating if awnings have the sun flag enabled won't stay synced with ESPSomfy.
However, if the Sun mode is on, and the remote shows off, when on is enabled, the awnings won't jog because they are already in that mode.

I have done several test with the transceiver very close to the awning and RTS remote. Signal is around -60dbm. I think there is an issue in the RTS Somfy app. If the awning is set to automatic sun mode, it responds instantly with a jog. However, when the sun is strong enough, the awning will extend automatically, but it is not updated in the RTS Somfy app.

I have done several test with the transceiver very close to the awning and RTS remote. Signal is around -60dbm. I think there is an issue in the RTS Somfy app. If the awning is set to automatic sun mode, it responds instantly with a jog. However, when the sun is strong enough, the awning will extend automatically, but it is not updated in the RTS Somfy app.

@Henk72 it should be updated in the ESPSomfy web after 2 minutes, because that's the delay documented in the Somfy RTS sun/wind sensor.
However, I've also noticed that in normal conditions the awnings go down right after the Sun sensor broadcasts the sun bit. I've only seen it wait for some seconds or a couple of minutes when you've recently commanded the awnings to go up.

I have seen the behaviour that after a bit of time the ESPSomfy updated as you mentioned. For some reason this is not happening anymore, but if I click a button on the ESPSomfy the awning reacts directly. I'm afraid that some logic is not working correctly in the ESPSomfy.

@Henk72 should we close this issue and open another one with your specific issues on this feature?

That is fine with me. It seems the automatic sun is the issue.

I am going to close this now.  Please open an issue that describes the issue in as much detail as you can.  I do not have this hardware and have no idea as to how it works exactly.  Also please provide a frame log of the sun transitions both when the awning responds to sunny and when it responds to not sunny.


Improve Task Weaver Module

Summary
take the attached use case and align the current taskweaver planner for each data task
Requirements

one or more additional plugins from TaskWeaver for example SQL

one or more new taskweaver plugins or classes in the taskweaver_module per phase or per data task below.

integrate taskweaver into semantic-kernel
   # Data Driven Advisory (Use Case)

Phase 1: Engagement Setup (1-2 weeks)
Client Background Information: Company history, mission, vision, and strategic objectives.
Industry Data: Market size, trends, competitors, and regulatory environment.
Stakeholder Information: Key stakeholders, organizational structure, and decision-makers.
Phase 2: Data Gathering and Analysis (3-6 weeks)
Operational Data: Sales figures, production data, supply chain details, employee information.
Financial Data: Profit and loss statements, balance sheets, cash flow statements, budgets.
Customer Data: Customer demographics, satisfaction surveys, purchase history.
Internal Documents: Previous strategy documents, reports, internal analyses.
Phase 3: In-Depth Analysis and Hypothesis Testing (4-8 weeks)
Segmented Data: More detailed operational and financial data broken down by business unit, geography, product line, etc.
Competitive Intelligence: Detailed competitor analysis, market share, business models.
Benchmarking Data: Industry benchmarks, best practices, case studies.
Qualitative Data: Interviews, focus groups, expert opinions.

need to align taskweaver expected project structure

we need to align the project structure
we need to add the correct plugins for taskweaver
enhance taskweaver_module.py

https://export.arxiv.org/pdf/2311.17541

Open Tasks :
In Progress

verify code_executor.py
verify code_generator.py
verify planner.py
verify improve or finalize plugins (sql)

Backlog

add code_templates
add config
add domain_specific_examples.yaml
add planner_examples.py

Need to follow plugin guidelines and config guidelines.


Very limited time to work on this mod

Currently i have little to non time doing minecraft modding, so until i close this issue the mod will not be fixed

Take all the time you need. We'll be here when you're ready :)


My model look like as multilabel  classifier instead of binary classifier

I am trying to do binary classifier, but the output looks like multi-label classification
Here are the steps
import ktrain
from ktrain import text
MODEL_NAME = 'bert-base-multilingual-cased'
t = text.Transformer(MODEL_NAME, maxlen=512,classes=['real','fake'])

trn = t.preprocess_train(train_text, train_labels)
tst = t.preprocess_test(test_text, test_labels)
model = t.get_classifier()

model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
learner = ktrain.get_learner(model, train_data=trn, val_data=tst, batch_size=8)
learner.fit_onecycle(0.00001, 5)

predictor = ktrain.get_predictor(learner.model, preproc=t)
y_pred=predictor.predict(test_text,return_proba=True)

The output looks like
[0.65020806, 0.5859068 ],
[0.6465919 , 0.63063735],
 [0.63927495, 0.62223727],
 [0.6334275 , 0.6333737 ]

Colab link:
https://colab.research.google.com/drive/1Y_m4Su2ER5zkYiraAViLZcEOgVy4_NJv?usp=sharing
So, the last layer is not sigmoid, but in binary classification, the last layer should be sigmoid. How can I resolve it.

Hello,
Remove this line:
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])

ktrain automatically detects binary/multi-class/multi-label problems from the data and configures the model appropriately, as demonstrated in the tutorial and example notebooks.
In this case, the dataset is preprocessed as 1-hot encoded with two columns for the label (i.e., binary classification) and correctly configures the model to use categorical_crossentropy, but you have changed it to binary_crossentropy.    You can use categorical_crossentropy for binary classification problems if the labels are 1-hot encoded (e.g.., [1,0] -> 0 and [0,1] -> 1), which is the default in ktrain.


Video.js player for customized video controls

Pre-Flight checklist

[ ] Screenshots and design review for any changes that affect layout or styling

[x] Desktop screenshots
[ ] Mobile width screenshots

[ ] Testing

[ ] Code is tested
[ ] Changes have been manually tested

What are the relevant tickets?
Fix #30
What's this PR do?
Adding video.js to play video with our customized video controls.
As of 2018 you cannot remove the the Youtube watch later and share links.
There is a plugin required for the quality selector, but you still need to provide the various quality source files which does not work with youtube.
The things I don't think are working for us:

using videojs controls:

Youtube captions don't move up and down when the control bar appears and disappears ( I spoke to Peter, we are not going to use YT's captions)
the youtube links , like 'share' and 'watch later' on the top of the video, and the YouTube logo on the bottom right corner are still visible.
cannot use the gear menu

Using Youtube controls:

Works great, can set which controls appear in the control bar. But it looks no different from the current embedded video.
does not match the desired styles.

How should this be manually tested?
Run a course, and go to the video lectures section.
This is a screenshot when video js controls are enbaled:

Here the videojs controls are disabled and YT controls are on.:

The available videojs-themes don't look great:

New styling:

moved the progress bar to the top of the control bar
changed the the time display to show current time/duration
made the control buttons larger then the default vjs style
made the control bar non transparent, and now it fully overlays the Youtube logo at the bottom right corner.

@annagav can we place the progress bar on the same line as the controls. It was a request that the controls should be inline with the rest of the controls.

@abdulkdawson

@annagav I'm sorry for wasting your time. I responded after looking at the wrong version of the mock. You had it right in the previous version. My apologies for the error.

@annagav does this play the captions from YouTube or from a local file?
For offline playback, we'll need to play captions from a file instead of from YouTube. But we can address that in another PR, after we have a plan for offline.

@abdulkdawson I changed back the styles:

@pdpinch the captions are currently switched off. There is an option to show youtube captions, but I remember you mentioned that we don't want to use them.

Sorry I wasn't clear.
We definitely need captions. If we can't link to the captions in the processed course JSON, it would be OK for now to use the YouTube captions.

@pdpinch I turned on the youtube captions for the player. @mbertrand I don't know if you would like to look at it again?

The captions appear but there's no way to turn them off, is that okay?

@pdpinch is it okay that the captions can't be switched off by the user for this PR?

In OVS we use the Youtube controls for YT videos,  videojs native controls for cloudfront videos, because the videojs controls didn't provide controls for toggling captions or quality options from YouTube.  I'm not completely up to speed on what the latest updates to the videojs and the youtube plugin are, but I think it might be necessary to create a custom plugin to add these controls.  https://github.com/videojs/videojs-youtube/issues/564

It only makes sense to merge this PR if we think we can make video.js work for the requirements on issue #30. If we need to write our own plug-in, that's fine. But I don't want to merge this if we don't think it's moving us in the right direction.

@pdpinch @mbertrand is this good to merge then?

Is there an easy way that I can preview it on netlify? If not, I say merge it and then I'll review on RC -- but I don't want to release until I've had a chance to try it out.

@pdpinch I asked Carey, there is currently no way to preview a course on netlify.


Package option: format on save

Title is self explainatory
We will make the default true later but not now due to bad formatting done by the current compiler in certain cases. Try v1.4.2.

What do you mean with "plugin option"? Does atom-typescripthave plugins? Or are you referring to the main package?
If so, please do not force autoformatting of code. Some people will really NOT like that someone or something messes up their code! ;-)
I, for instance, used to use Webstorm autoformatting with very specific settings to get the format just the way I like. It's not easy to replicate that on other formatting tools, as Webstorm has so many ways / rules to customize the formatting. That's why I'm considering writing my own autoformatter.
I would be fine with a configurable setting on the Settings for your package, though.

plugin option

fixed title.

If so, please do not force autoformatting of code

cool. Will leave default as false.

, as Webstorm has so many ways / rules to customize the formatting

We expose formatting options exposed from the language service. Have a look at : https://github.com/TypeStrong/atom-typescript/blob/master/docs/tsconfig.md#format. We support them on per project so it might be useful to share with your team and then everyone checks in similarly formatted code if you enable auto format on save.  See if these options meet your requirement. I'd be interested to know if there are options you want but don't see.

Thanks! I'll try it and then I'll give you some feedback.
Just to clarify:

I would be fine with a configurable setting on the Settings for your package, though.

I was referring to an option to format on save.

@basarat any news on the format on save option?

Still conflicted mentally between making it a package option or an option in tsconfig (I really want it to be in tsconfig) ... @fd do you have an opinion on where you would like this?
FWIW we have buildOnSave and compileOnSave in tsconfig

I think formatOnSave in tsconfig is probably the best option. This way it is consistent with the other OnSave settings.

I think formatOnSave in tsconfig is probably the best option. This way it is consistent with the other OnSave settings.

:+1: Up for grabs for now, unless I feel the need for it. Note that autoformatting jsx elements was a bit broken at the moment in Microsoft/TypeScript last I checked, so I'm not doing this as a quick win for now.

#810 implemented this so this can be closed.

🌹🌹


add freq_range kwarg to deconvolve

Calling deconvolve without a freq_range argument leads to an error in regularized_spectrum_inversion, because freq_range is mandatory. I've added a mechanism for setting a default value.

@mberz @sikersten, I would consider this a bug fix for the upcoming release. Do you agree? I checked our tests. We indeed always provided the parameter.

I'm not sure about the default freq_range=None. If I remember correctly, we decided to not provide a default for regularized_spectrum_inversion as there is not really a meaningful one

I would argue that for the deconvolution, it makes sense to not have a restriction on the frequency range as default. This would give you the plain H = Y/X, that can be adjusted to H = Y * X^-1 including regularization if the problem requires it.

Yes, good point, convinced that the default makes sense here.


Overriding power on a system allows more power to be used than is provided to the system.

This should no longer be possible with the new Systems Monitor card.


[BUG] Can't see roll results as GM if table is marked as hidden

Module Version: v2.1.9
Before open any issue

Enable the module setting "Enable debugging"
Click F12 go to the console tab
make the test you want and replicate the error
Go to the tab console open on point 2) and just right click and click 'Save as' and 'Save' or send a screenshot of the exception on the console.
Attach the text file on the github issue with all the logs related tot he module, or send a screenshot of the messages on the console.

Describe the bug
When making a BRT roll on a Better Roll Table, if the table is marked as hidden even the GM can't see the result.
To Reproduce
Steps to reproduce the behavior:

Click "Hidden table" in the BRT settings
Click Roll+
The chat log shows an obscured icon and ??? for the result in in the chat log
Console produces error

Expected behavior
The result of the roll should be presented the GM but not to players.
Screenshots

(Error message in Console)

(Chat result when clicking Roll+ button)

Result when clicking "Roll" button. Not hidden from players.
Browser:

Chrome 123.0.6312.59

Foundry Version:
11.315
Game System:
DnD5e 3.1
Additional context
This happens with just Libwrapper, socketlib, BRT and ItemPiles active.

Ty for the detailed ticket, it should be solved on 2.1.10, or at least it seem to work to me. If the issue persist i need a copy of the rolltables .

Thank you for the fix, but it seems like it's an issue with tables that have rolled numbers in the text field. A table this like also shows the "???" card when Roll+ is clicked:

try out 2.1.11, should be fixed now

yes! Works great, thank you!


Fix typos in docs

Checklist

[x] I have read the How to Contribute.
[x] I have run yarn build after adding my changes without getting any errors.

Fixing typos in the docs
I noticed a few typos in the documention and decided to run cSpell  on the docs to find all typos. I've removed everything I could find with a manual revision of what cSpell reported. I've also checked for terms explicitly discouraged in the editorial guidelines and replaced them with the correct term.
Maybe we could configure cSpell in the CI or a git hook to prevent (or at least reduce) future typos.

@rphair I completely understand your point on not imposing USA English. cSpell supports multiple languages and the ability to add custom dictionaries. I adjusted the config to include the "en-GB" locale and removed the unnecessary changes.


Unittesting not working: "Test framework undefined is not installed. Install?"

Environment data

VS Code version: 1.30.2 (user setup)
Extension version (available under the Extensions sidebar): Python 2018.12.1
OS and version: Windows_NT x64 10.0.17134
Python version (& distribution if applicable, e.g. Anaconda): Python 3.6 through Anaconda
Type of virtual environment used (N/A | venv | virtualenv | conda | ...): conda, venv...
Relevant/affected Python packages and their versions: None

Expected behaviour
I try to run unit tests using the standard unittest framework following the steps outlined in this tutorial.
Actual behaviour
However, when discovering the unittests, I get this error message: "Test framework undefined is not installed. Install?".
Steps to reproduce:
Same as in the tutorial.
Logs
Output for Python in the Output panel (View→Output, change the drop-down the upper-right of the Output panel to Python)
Starting Jedi Python language engine.
##########Linting Output - flake8##########
##########Linting Output - pylint##########

--------------------------------------------------------------------

Your code has been rated at 10.00/10 (previous run: 10.00/10, +0.00)

##########Linting Output - flake8##########
##########Linting Output - pylint##########

--------------------------------------------------------------------

Your code has been rated at 10.00/10 (previous run: 10.00/10, +0.00)

Output from Console under the Developer Tools panel (toggle Developer Tools on under Help; turn on source maps to make any tracebacks be useful by running Enable source map support for extension debugging)
[Extension Host] Python Extension: displayDiscoverStatus TypeError: Cannot read property 'uri' of undefined
	at module.exports.t.BaseTestManager.discoverTests.r.serviceContainer.get.discoverTests.then.catch.e (C:\Users\jmg\.vscode\extensions\ms-python.python-2018.12.1\out\client\extension.js:1:269713)
	at <anonymous>
	at process._tickCallback (internal/process/next_tick.js:188:7)
t.log @ console.ts:134
notificationsAlerts.ts:40 Test framework undefined is not installed. Install?
t.onDidNotificationChange @ notificationsAlerts.ts:40
notificationsAlerts.ts:40 Test discovery error, please check the configuration settings for the tests.

Have yo opened a folder in VS Code?
Please could you send a screenshot of VSCode.

Yes. I have clicked File -> Open Folder...
Here is a screen shot:

If I run the Python file in the terminal, it works:

Thanks for all help!

Please could you provide the contents of your .vscode/settings.json file

{
  "python.unitTest.unittestArgs": [
    "-v",
    "-s",
    ".",
    "-p",
    "test_*.py"
  ],
  "python.unitTest.pyTestEnabled": false,
  "python.unitTest.nosetestsEnabled": false,
  "python.unitTest.unittestEnabled": true
}

I have the same problem.
I am using a very similar settings.json

Please could you try this with the latest version of the extension.

I still get the same "Test framework undefined is not installed. Install?" error with version 2019.2.5433.

@jannefiluren
Please could you upload the contents of your sample repo so we can test this at our end.

I have deleted __pycache__ and restarted vscode by right-clicking on the folder with my python code and choosen "Open with Code". When doing this the python extension loads for quite some while (35s), and at the same time the test discovery is running:

After a while it fails as before (20s):

How do I get/see the error printed in the console window? I don´t know how to provide that info.
I have put my code here if it helps:
https://github.com/jannefiluren/pythontest
This works perfectly on my mac, where the python extension also loads much faster than on my windows machine from work.

How do I get/see the error printed in the console window? I don´t know how to provide that info.

Here are the instructions:

Output for Python in the Output panel (View→Output, change the drop-down the upper-right of the Output panel to Python)

Output from Console under the Developer Tools panel (toggle Developer Tools on under Help; turn on source maps to make any tracebacks be useful by running Enable source map support for extension debugging)

Also, once the extension has completed loading please try to manually discover the tests using the command Python: Discover Tests

Python in Output panel:
Starting Jedi Python language engine.
##########Linting Output - flake8##########

Linter 'pylint' is not installed. Please install it or select another linter".
Error: Module 'pylint' not installed.

Output from Console under the Developer Tools panel:

I am not sure I performed the second task correctly.
I get the same error message even after the extension has loaded, and I run Python: Discover Tests.

The cause is we're ignoring the possibility of rootDirectory being empty or not belonging to the workspace.
const wkspace = this.workspaceService.getWorkspaceFolder(Uri.file(this.rootDirectory))!.uri;
As can be seen above in baseTEstManager we are ignoring the TS warning, and this must be removed.

I was getting the exact same error. The problem was that
.vscode/settings.json
was checked in under source control. The value for "python.pythonPath" was pointing to a nonexistent path on my machine. I just deleted this key/value pair, and restarted. It then detected the correct value.

I ran into the same issue with
Version: 1.36.0
Commit: 0f3794b38477eea13fb47fbe15a42798e6129338
Date: 2019-07-03T13:20:56.241Z
Electron: 4.2.5
Chrome: 69.0.3497.128
Node.js: 10.11.0
V8: 6.9.427.31-electron.0
OS: Linux x64 4.18.0-20-generic

and extension version Python 2019.6.22090 (25 June 2019)
Found the following workaround: disable the extension, reload and then enable it again

Closing as stale.


Cleanup/alarm for logs in /store/logs/prod/recent/

Follow up of #8456
It's not a WMCore issue, but I think it's worthy having a ticket here and discuss how we're going to handle that log storage space. The allocation is 30TB and a maximum of 50M files, which can be seen with
amaltaro@aiadm61:~ $ eoscms quota /eos/cms/store/logs/prod/recent

By group:
┏━> Quota Node: /eos/cms/store/logs/prod/recent/
┌──────────┬──────────┬──────────┬──────────┬──────────┬──────────┬──────────┬──────────┬──────────┬──────────┐
│group     │used bytes│logi bytes│used files│aval bytes│aval logib│aval files│ filled[%]│vol-status│ino-status│
└──────────┴──────────┴──────────┴──────────┴──────────┴──────────┴──────────┴──────────┴──────────┴──────────┘
 zh           21.24 GB   10.62 GB     7.91 K   60.00 TB   30.00 TB    50.00 M     0.04 %         ok         ok
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛

According to dashboard, we're running between 500 and 600k jobs a day (based on the last week resource utilization). From Seangchan's recent tests, the tarballs are around 5MB each (though it can vary by quite a bit depending on the workflow and job configuration - and site stage out commands). In summary:

that gives us around 100 days worth of files
10 to 12 days worth of storage space (6M tarballs only!)

Thus, I'd suggest

we need to get more space for these logs. In avg, we need 100TB of usable space in order to keep 1 month worth of logs. (So I'd say we need 200TB of usable space)
for the cleanup, I think we can contact the transfer team and ask if they can setup some cleanup script. I know Sid is working on a script to perform the /store/unmerged cleanup
then for monitoring the quota and making sure we never reach the limit (including the limit of files!), we can ask the VOC to setup an alarm once we reach 80%(?) of the total space.

Any thoughts?

@vlimant - who in operations would be in the best position to do this?
It's "just a cronjob", but getting it known to operations (documented, finding a responsible team, etc) is probably more effort than writing the cronjob itself.

the availability of reports/logs from unified is set to "keep everything you have for workflows that have not been announced more than 2 weeks ago".
the cron is already set, I would just need to add /eos/cms/store/logs/prod/recent to the paths to clean and be given delete permission in it.

For the record, Daniel provided this grafana link to monitor that EOS space:
https://monit-grafana.cern.ch/dashboard/db/vocms-eos-quotas?orgId=6&refresh=15m&var-fulltotalquotas=All&var-quotas=All&var-totalquotas=All
and he's also set an alarm (runs every 10min) with a 90% thresholds, Seangchan and I are supposed to get it, initially.

Cleanup has also been addressed by the data transfer team (Sid). In short, any directory last-modified > 60 days ago will be deleted. This means a workflow might have some task directories but not others, in case nothing has been written in there for 60 days or more.
Further details can be found in the thread "CERN EOS logs cleanup" with data-transfer and oc-dmwm egroups.


TypeError: can't pickle _thread.RLock objects when using KerasClassifier with Keras and RandomizedSearchCV

I created a simple neural network for binary spam/ham text classification using pretrained BERT transformer. Now I want to apply randomized search for tuning the hyperparameters. For now the only hyperparameter I would like to tune is the dropout regularization probability.
I set up a sklearn pipeline with scikeras's KerasClassifier that contains my custom build_sequential_nn() method. When merely fitting  the pipeline, everything is fine; however, when I pass the pipeline into a sklearn RandomizedSearchCV, the following error message pops up:
TypeError: can't pickle _thread.RLock objects
Full error message will be detailed at the end of the post.
A full reproducible code is as follows, including sample data:
import numpy as np
import pandas as pd

import sklearn
from sklearn.base import BaseEstimator, TransformerMixin
from sklearn.pipeline import Pipeline
from sklearn.model_selection import RandomizedSearchCV

from scikeras.wrappers import KerasClassifier

import tensorflow_hub as hub
import tensorflow as tf
import tensorflow_text
from tensorflow.keras.layers import Input, Dropout, Dense

class BertPreprocessor(TransformerMixin, BaseEstimator):
    def __init__(self, preprocessor_model):
        super().__init__()
        self.preprocessor_model = preprocessor_model
    def fit(self, X=None, y=None):
        return self
    def transform(self, X, y=None):
        return self.preprocessor_model(X)

class BertEncoder(TransformerMixin, BaseEstimator):
    def __init__(self, encoder_model):
        super().__init__()
        self.encoder_model = encoder_model
    def fit(self, X=None, y=None):
        return self
    def transform(self, X, y=None):
        return pd.DataFrame(self.encoder_model(X)['pooled_output'])

def build_nn_sequential(dropout_prob=0.1, epochs=10):
    model = Sequential()
    model.add(Input(shape=768, name='bert_pooled_output'))
    model.add(Dropout(dropout_prob, name='dropout'))
    model.add(Dense(1, activation='sigmoid', name='classification_output'))

    metrics_list = [
        tf.keras.metrics.AUC(name='auc'),
        tf.keras.metrics.BinaryAccuracy(name='accuracy')
    ]
    model.compile(optimizer = 'adam', loss = 'binary_crossentropy', metrics = metrics_list)
    return model

# Automatically fetch BERT preprocessor and encoder
bert_encoder_url = "https://tfhub.dev/tensorflow/bert_en_uncased_L-12_H-768_A-12/4"
bert_preprocessor_url = "https://tfhub.dev/tensorflow/bert_en_uncased_preprocess/3"
bert_preprocessor_model = hub.KerasLayer(bert_preprocessor_url)
bert_encoder_model = hub.KerasLayer(bert_encoder_url)

# Get train data
df = pd.read_json(...)   # see data also below

X_train_ = df['comment_text']
y_train_ = df['label']

pipe = Pipeline([
    ('preprocess', BertPreprocessor(bert_preprocessor_model)),
    ('encode', BertEncoder(bert_encoder_model)),
    ('model', KerasClassifier(build_fn=build_nn_sequential)),
])

# pipe.fit(X_train_, y_train_)    # This evaluates fine!

search_spaces = ({
    'model__dropout_prob': np.logspace(np.log10(0.05), np.log10(0.67), 10),
    'model__epochs': [10, 20, 30],
})

search = RandomizedSearchCV(
    estimator=pipe,
    param_distributions=search_spaces,
    scoring='roc_auc',
    cv=3,
    verbose=0
).fit(X_train_, y_train_)   # <--- row where error pops up

Sample data:
df = pd.read_json('{"comment_text":{"0":"problem wanted say problem trying redirect event schedule pakistan NUMBERTAG NUMBERTAG pakistan mother fucker boy want married sister ohhhh love sister boob hmmmmm yummyy","1":"get life fucking loser question ask ask katie goulet picture","2":"cum drinker hey wat nigga thought u could ban took long cuz wa busy az hell recently ill keep cumming back take word cumdrinker","3":"liar liar pant fire seriously looked contribution tennis portal page tennis page ha descussion ever please lie NUMBERTAG NUMBERTAG NUMBERTAG NUMBERTAG","4":"stop writing p nothing discus given lack bsinc education diplomacy","5":"wa fucking page one edit page","6":"question mad gay","7":"warning page nerd please leave one stay girl though pleeeeeeeeeeeeeaaaaaaaaaaaaaaaaaaaaaassssssssssssssssseeeeeeeeeeeee NUMBERTAG oneoneoneoneoneoneoneoneoneoneoenone","8":"full shit","9":"go fuck conrad black cheated thousand people pension anyone defends hm asshole apologist evil","10":"list office bearer national union student australia wp userfy userfied page located","11":"talk history scottish national party claim spying hi sentence someone belief npov claim mean someone belief npov claim","12":"section meant vice review btw magazine website writer name attached also like richardwilson NUMBERTAG even know question ninjarobotpirate wa responding happy criticise answer \\u2026 \\u2026 btw NUMBERTAG far know none editor either albanian croatian maybe airplane vision quite good think take care","13":"next time subtweet","14":"physicsyo yo yo dog","15":"self censorship tv show might might notable tv pre empted breaking news notable happens time","16":"article contains information soursed huddersfield aa street street","17":"utc onto something centrifugal force experienced mass exhibiting inertia result tiny little bullet hitting side ride merry go round rueda puthoff haisch described zero point field electronic lorenz equation coupling inertial frame reference give mass inertial reluctance rather resistance enable describe change velocity direction compare ac v dc tesla v edison NUMBERTAG NUMBERTAG NUMBERTAG june NUMBERTAG","18":"meant wa meant state either unblock create new account rendering block useless simple","19":"NUMBERTAG utc hi NUMBERTAG must mistakenly thought ian wa original member b c always viewed band definitive axeman NUMBERTAG yeah almost bought akai headrush looper year ago notorious role cab one guitarist recording settled bos loop station instead rather headrush boomerang due two reliability price issue respectively check hovercraft southpacific auburn lull kind hallucinitory guitar looping thought cab new lineup wa incredible saw NUMBERTAG skipped classic lineup NUMBERTAG compare two performance wise best NUMBERTAG NUMBERTAG NUMBERTAG may"},"label":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0}}')

Full error message:
TypeError                                 Traceback (most recent call last)
~\AppData\Local\Temp\ipykernel_18240\1200168424.py in <module>
     63     cv=3,
     64     verbose=0
---> 65 ).fit(X_train_, y_train_)
     66
     67 # print(f"Best model parameters: {search.best_params_}, best score {search.best_score_}.")

~\AppData\Local\Programs\Python\Python37\lib\site-packages\skopt\searchcv.py in fit(self, X, y, groups, callback, **fit_params)
    464             self.optimizer_kwargs_ = dict(self.optimizer_kwargs)
    465
--> 466         super().fit(X=X, y=y, groups=groups, **fit_params)
    467
    468         # BaseSearchCV never ranked train scores,

~\AppData\Local\Programs\Python\Python37\lib\site-packages\sklearn\model_selection\_search.py in fit(self, X, y, groups, **fit_params)
    803         n_splits = cv_orig.get_n_splits(X, y, groups)
    804
--> 805         base_estimator = clone(self.estimator)
    806
    807         parallel = Parallel(n_jobs=self.n_jobs, pre_dispatch=self.pre_dispatch)

~\AppData\Local\Programs\Python\Python37\lib\site-packages\sklearn\base.py in clone(estimator, safe)
     84     new_object_params = estimator.get_params(deep=False)
     85     for name, param in new_object_params.items():
---> 86         new_object_params[name] = clone(param, safe=False)
     87     new_object = klass(**new_object_params)
     88     params_set = new_object.get_params(deep=False)

~\AppData\Local\Programs\Python\Python37\lib\site-packages\sklearn\base.py in clone(estimator, safe)
     62     # XXX: not handling dictionaries
     63     if estimator_type in (list, tuple, set, frozenset):
---> 64         return estimator_type([clone(e, safe=safe) for e in estimator])
     65     elif not hasattr(estimator, "get_params") or isinstance(estimator, type):
     66         if not safe:

~\AppData\Local\Programs\Python\Python37\lib\site-packages\sklearn\base.py in <listcomp>(.0)
     62     # XXX: not handling dictionaries
     63     if estimator_type in (list, tuple, set, frozenset):
---> 64         return estimator_type([clone(e, safe=safe) for e in estimator])
     65     elif not hasattr(estimator, "get_params") or isinstance(estimator, type):
     66         if not safe:

~\AppData\Local\Programs\Python\Python37\lib\site-packages\sklearn\base.py in clone(estimator, safe)
     62     # XXX: not handling dictionaries
     63     if estimator_type in (list, tuple, set, frozenset):
---> 64         return estimator_type([clone(e, safe=safe) for e in estimator])
     65     elif not hasattr(estimator, "get_params") or isinstance(estimator, type):
     66         if not safe:

~\AppData\Local\Programs\Python\Python37\lib\site-packages\sklearn\base.py in <listcomp>(.0)
     62     # XXX: not handling dictionaries
     63     if estimator_type in (list, tuple, set, frozenset):
---> 64         return estimator_type([clone(e, safe=safe) for e in estimator])
     65     elif not hasattr(estimator, "get_params") or isinstance(estimator, type):
     66         if not safe:

~\AppData\Local\Programs\Python\Python37\lib\site-packages\sklearn\base.py in clone(estimator, safe)
     84     new_object_params = estimator.get_params(deep=False)
     85     for name, param in new_object_params.items():
---> 86         new_object_params[name] = clone(param, safe=False)
     87     new_object = klass(**new_object_params)
     88     params_set = new_object.get_params(deep=False)

~\AppData\Local\Programs\Python\Python37\lib\site-packages\sklearn\base.py in clone(estimator, safe)
     65     elif not hasattr(estimator, "get_params") or isinstance(estimator, type):
     66         if not safe:
---> 67             return copy.deepcopy(estimator)
     68         else:
     69             if isinstance(estimator, type):

~\AppData\Local\Programs\Python\Python37\lib\copy.py in deepcopy(x, memo, _nil)
    178                     y = x
    179                 else:
--> 180                     y = _reconstruct(x, memo, *rv)
    181
    182     # If is its own copy, don't memoize.

~\AppData\Local\Programs\Python\Python37\lib\copy.py in _reconstruct(x, memo, func, args, state, listiter, dictiter, deepcopy)
    279     if state is not None:
    280         if deep:
--> 281             state = deepcopy(state, memo)
    282         if hasattr(y, '__setstate__'):
    283             y.__setstate__(state)

~\AppData\Local\Programs\Python\Python37\lib\copy.py in deepcopy(x, memo, _nil)
    148     copier = _deepcopy_dispatch.get(cls)
    149     if copier:
--> 150         y = copier(x, memo)
    151     else:
    152         try:

~\AppData\Local\Programs\Python\Python37\lib\copy.py in _deepcopy_dict(x, memo, deepcopy)
    239     memo[id(x)] = y
    240     for key, value in x.items():
--> 241         y[deepcopy(key, memo)] = deepcopy(value, memo)
    242     return y
    243 d[dict] = _deepcopy_dict

~\AppData\Local\Programs\Python\Python37\lib\copy.py in deepcopy(x, memo, _nil)
    178                     y = x
    179                 else:
--> 180                     y = _reconstruct(x, memo, *rv)
    181
    182     # If is its own copy, don't memoize.

~\AppData\Local\Programs\Python\Python37\lib\copy.py in _reconstruct(x, memo, func, args, state, listiter, dictiter, deepcopy)
    279     if state is not None:
    280         if deep:
--> 281             state = deepcopy(state, memo)
    282         if hasattr(y, '__setstate__'):
    283             y.__setstate__(state)

~\AppData\Local\Programs\Python\Python37\lib\copy.py in deepcopy(x, memo, _nil)
    148     copier = _deepcopy_dispatch.get(cls)
    149     if copier:
--> 150         y = copier(x, memo)
    151     else:
    152         try:

~\AppData\Local\Programs\Python\Python37\lib\copy.py in _deepcopy_tuple(x, memo, deepcopy)
    219
    220 def _deepcopy_tuple(x, memo, deepcopy=deepcopy):
--> 221     y = [deepcopy(a, memo) for a in x]
    222     # We're not going to put the tuple in the memo, but it's still important we
    223     # check for it, in case the tuple contains recursive mutable structures.

~\AppData\Local\Programs\Python\Python37\lib\copy.py in <listcomp>(.0)
    219
    220 def _deepcopy_tuple(x, memo, deepcopy=deepcopy):
--> 221     y = [deepcopy(a, memo) for a in x]
    222     # We're not going to put the tuple in the memo, but it's still important we
    223     # check for it, in case the tuple contains recursive mutable structures.

~\AppData\Local\Programs\Python\Python37\lib\copy.py in deepcopy(x, memo, _nil)
    148     copier = _deepcopy_dispatch.get(cls)
    149     if copier:
--> 150         y = copier(x, memo)
    151     else:
    152         try:

~\AppData\Local\Programs\Python\Python37\lib\copy.py in _deepcopy_dict(x, memo, deepcopy)
    239     memo[id(x)] = y
    240     for key, value in x.items():
--> 241         y[deepcopy(key, memo)] = deepcopy(value, memo)
    242     return y
    243 d[dict] = _deepcopy_dict

~\AppData\Local\Programs\Python\Python37\lib\copy.py in deepcopy(x, memo, _nil)
    148     copier = _deepcopy_dispatch.get(cls)
    149     if copier:
--> 150         y = copier(x, memo)
    151     else:
    152         try:

~\AppData\Local\Programs\Python\Python37\lib\copy.py in _deepcopy_dict(x, memo, deepcopy)
    239     memo[id(x)] = y
    240     for key, value in x.items():
--> 241         y[deepcopy(key, memo)] = deepcopy(value, memo)
    242     return y
    243 d[dict] = _deepcopy_dict

~\AppData\Local\Programs\Python\Python37\lib\copy.py in deepcopy(x, memo, _nil)
    178                     y = x
    179                 else:
--> 180                     y = _reconstruct(x, memo, *rv)
    181
    182     # If is its own copy, don't memoize.

~\AppData\Local\Programs\Python\Python37\lib\copy.py in _reconstruct(x, memo, func, args, state, listiter, dictiter, deepcopy)
    279     if state is not None:
    280         if deep:
--> 281             state = deepcopy(state, memo)
    282         if hasattr(y, '__setstate__'):
    283             y.__setstate__(state)

~\AppData\Local\Programs\Python\Python37\lib\copy.py in deepcopy(x, memo, _nil)
    148     copier = _deepcopy_dispatch.get(cls)
    149     if copier:
--> 150         y = copier(x, memo)
    151     else:
    152         try:

~\AppData\Local\Programs\Python\Python37\lib\copy.py in _deepcopy_tuple(x, memo, deepcopy)
    219
    220 def _deepcopy_tuple(x, memo, deepcopy=deepcopy):
--> 221     y = [deepcopy(a, memo) for a in x]
    222     # We're not going to put the tuple in the memo, but it's still important we
    223     # check for it, in case the tuple contains recursive mutable structures.

~\AppData\Local\Programs\Python\Python37\lib\copy.py in <listcomp>(.0)
    219
    220 def _deepcopy_tuple(x, memo, deepcopy=deepcopy):
--> 221     y = [deepcopy(a, memo) for a in x]
    222     # We're not going to put the tuple in the memo, but it's still important we
    223     # check for it, in case the tuple contains recursive mutable structures.

~\AppData\Local\Programs\Python\Python37\lib\copy.py in deepcopy(x, memo, _nil)
    148     copier = _deepcopy_dispatch.get(cls)
    149     if copier:
--> 150         y = copier(x, memo)
    151     else:
    152         try:

~\AppData\Local\Programs\Python\Python37\lib\copy.py in _deepcopy_dict(x, memo, deepcopy)
    239     memo[id(x)] = y
    240     for key, value in x.items():
--> 241         y[deepcopy(key, memo)] = deepcopy(value, memo)
    242     return y
    243 d[dict] = _deepcopy_dict

~\AppData\Local\Programs\Python\Python37\lib\copy.py in deepcopy(x, memo, _nil)
    178                     y = x
    179                 else:
--> 180                     y = _reconstruct(x, memo, *rv)
    181
    182     # If is its own copy, don't memoize.

~\AppData\Local\Programs\Python\Python37\lib\copy.py in _reconstruct(x, memo, func, args, state, listiter, dictiter, deepcopy)
    279     if state is not None:
    280         if deep:
--> 281             state = deepcopy(state, memo)
    282         if hasattr(y, '__setstate__'):
    283             y.__setstate__(state)

~\AppData\Local\Programs\Python\Python37\lib\copy.py in deepcopy(x, memo, _nil)
    148     copier = _deepcopy_dispatch.get(cls)
    149     if copier:
--> 150         y = copier(x, memo)
    151     else:
    152         try:

~\AppData\Local\Programs\Python\Python37\lib\copy.py in _deepcopy_dict(x, memo, deepcopy)
    239     memo[id(x)] = y
    240     for key, value in x.items():
--> 241         y[deepcopy(key, memo)] = deepcopy(value, memo)
    242     return y
    243 d[dict] = _deepcopy_dict

~\AppData\Local\Programs\Python\Python37\lib\copy.py in deepcopy(x, memo, _nil)
    148     copier = _deepcopy_dispatch.get(cls)
    149     if copier:
--> 150         y = copier(x, memo)
    151     else:
    152         try:

~\AppData\Local\Programs\Python\Python37\lib\copy.py in _deepcopy_list(x, memo, deepcopy)
    214     append = y.append
    215     for a in x:
--> 216         append(deepcopy(a, memo))
    217     return y
    218 d[list] = _deepcopy_list

~\AppData\Local\Programs\Python\Python37\lib\copy.py in deepcopy(x, memo, _nil)
    178                     y = x
    179                 else:
--> 180                     y = _reconstruct(x, memo, *rv)
    181
    182     # If is its own copy, don't memoize.

~\AppData\Local\Programs\Python\Python37\lib\copy.py in _reconstruct(x, memo, func, args, state, listiter, dictiter, deepcopy)
    279     if state is not None:
    280         if deep:
--> 281             state = deepcopy(state, memo)
    282         if hasattr(y, '__setstate__'):
    283             y.__setstate__(state)

~\AppData\Local\Programs\Python\Python37\lib\copy.py in deepcopy(x, memo, _nil)
    148     copier = _deepcopy_dispatch.get(cls)
    149     if copier:
--> 150         y = copier(x, memo)
    151     else:
    152         try:

~\AppData\Local\Programs\Python\Python37\lib\copy.py in _deepcopy_tuple(x, memo, deepcopy)
    219
    220 def _deepcopy_tuple(x, memo, deepcopy=deepcopy):
--> 221     y = [deepcopy(a, memo) for a in x]
    222     # We're not going to put the tuple in the memo, but it's still important we
    223     # check for it, in case the tuple contains recursive mutable structures.

~\AppData\Local\Programs\Python\Python37\lib\copy.py in <listcomp>(.0)
    219
    220 def _deepcopy_tuple(x, memo, deepcopy=deepcopy):
--> 221     y = [deepcopy(a, memo) for a in x]
    222     # We're not going to put the tuple in the memo, but it's still important we
    223     # check for it, in case the tuple contains recursive mutable structures.

~\AppData\Local\Programs\Python\Python37\lib\copy.py in deepcopy(x, memo, _nil)
    148     copier = _deepcopy_dispatch.get(cls)
    149     if copier:
--> 150         y = copier(x, memo)
    151     else:
    152         try:

~\AppData\Local\Programs\Python\Python37\lib\copy.py in _deepcopy_dict(x, memo, deepcopy)
    239     memo[id(x)] = y
    240     for key, value in x.items():
--> 241         y[deepcopy(key, memo)] = deepcopy(value, memo)
    242     return y
    243 d[dict] = _deepcopy_dict

~\AppData\Local\Programs\Python\Python37\lib\copy.py in deepcopy(x, memo, _nil)
    178                     y = x
    179                 else:
--> 180                     y = _reconstruct(x, memo, *rv)
    181
    182     # If is its own copy, don't memoize.

~\AppData\Local\Programs\Python\Python37\lib\copy.py in _reconstruct(x, memo, func, args, state, listiter, dictiter, deepcopy)
    279     if state is not None:
    280         if deep:
--> 281             state = deepcopy(state, memo)
    282         if hasattr(y, '__setstate__'):
    283             y.__setstate__(state)

~\AppData\Local\Programs\Python\Python37\lib\copy.py in deepcopy(x, memo, _nil)
    148     copier = _deepcopy_dispatch.get(cls)
    149     if copier:
--> 150         y = copier(x, memo)
    151     else:
    152         try:

~\AppData\Local\Programs\Python\Python37\lib\copy.py in _deepcopy_dict(x, memo, deepcopy)
    239     memo[id(x)] = y
    240     for key, value in x.items():
--> 241         y[deepcopy(key, memo)] = deepcopy(value, memo)
    242     return y
    243 d[dict] = _deepcopy_dict

~\AppData\Local\Programs\Python\Python37\lib\copy.py in deepcopy(x, memo, _nil)
    148     copier = _deepcopy_dispatch.get(cls)
    149     if copier:
--> 150         y = copier(x, memo)
    151     else:
    152         try:

~\AppData\Local\Programs\Python\Python37\lib\copy.py in _deepcopy_list(x, memo, deepcopy)
    214     append = y.append
    215     for a in x:
--> 216         append(deepcopy(a, memo))
    217     return y
    218 d[list] = _deepcopy_list

~\AppData\Local\Programs\Python\Python37\lib\copy.py in deepcopy(x, memo, _nil)
    178                     y = x
    179                 else:
--> 180                     y = _reconstruct(x, memo, *rv)
    181
    182     # If is its own copy, don't memoize.

~\AppData\Local\Programs\Python\Python37\lib\copy.py in _reconstruct(x, memo, func, args, state, listiter, dictiter, deepcopy)
    279     if state is not None:
    280         if deep:
--> 281             state = deepcopy(state, memo)
    282         if hasattr(y, '__setstate__'):
    283             y.__setstate__(state)

~\AppData\Local\Programs\Python\Python37\lib\copy.py in deepcopy(x, memo, _nil)
    148     copier = _deepcopy_dispatch.get(cls)
    149     if copier:
--> 150         y = copier(x, memo)
    151     else:
    152         try:

~\AppData\Local\Programs\Python\Python37\lib\copy.py in _deepcopy_tuple(x, memo, deepcopy)
    219
    220 def _deepcopy_tuple(x, memo, deepcopy=deepcopy):
--> 221     y = [deepcopy(a, memo) for a in x]
    222     # We're not going to put the tuple in the memo, but it's still important we
    223     # check for it, in case the tuple contains recursive mutable structures.

~\AppData\Local\Programs\Python\Python37\lib\copy.py in <listcomp>(.0)
    219
    220 def _deepcopy_tuple(x, memo, deepcopy=deepcopy):
--> 221     y = [deepcopy(a, memo) for a in x]
    222     # We're not going to put the tuple in the memo, but it's still important we
    223     # check for it, in case the tuple contains recursive mutable structures.

~\AppData\Local\Programs\Python\Python37\lib\copy.py in deepcopy(x, memo, _nil)
    148     copier = _deepcopy_dispatch.get(cls)
    149     if copier:
--> 150         y = copier(x, memo)
    151     else:
    152         try:

~\AppData\Local\Programs\Python\Python37\lib\copy.py in _deepcopy_dict(x, memo, deepcopy)
    239     memo[id(x)] = y
    240     for key, value in x.items():
--> 241         y[deepcopy(key, memo)] = deepcopy(value, memo)
    242     return y
    243 d[dict] = _deepcopy_dict

~\AppData\Local\Programs\Python\Python37\lib\copy.py in deepcopy(x, memo, _nil)
    178                     y = x
    179                 else:
--> 180                     y = _reconstruct(x, memo, *rv)
    181
    182     # If is its own copy, don't memoize.

~\AppData\Local\Programs\Python\Python37\lib\copy.py in _reconstruct(x, memo, func, args, state, listiter, dictiter, deepcopy)
    279     if state is not None:
    280         if deep:
--> 281             state = deepcopy(state, memo)
    282         if hasattr(y, '__setstate__'):
    283             y.__setstate__(state)

~\AppData\Local\Programs\Python\Python37\lib\copy.py in deepcopy(x, memo, _nil)
    148     copier = _deepcopy_dispatch.get(cls)
    149     if copier:
--> 150         y = copier(x, memo)
    151     else:
    152         try:

~\AppData\Local\Programs\Python\Python37\lib\copy.py in _deepcopy_dict(x, memo, deepcopy)
    239     memo[id(x)] = y
    240     for key, value in x.items():
--> 241         y[deepcopy(key, memo)] = deepcopy(value, memo)
    242     return y
    243 d[dict] = _deepcopy_dict

~\AppData\Local\Programs\Python\Python37\lib\copy.py in deepcopy(x, memo, _nil)
    178                     y = x
    179                 else:
--> 180                     y = _reconstruct(x, memo, *rv)
    181
    182     # If is its own copy, don't memoize.

~\AppData\Local\Programs\Python\Python37\lib\copy.py in _reconstruct(x, memo, func, args, state, listiter, dictiter, deepcopy)
    279     if state is not None:
    280         if deep:
--> 281             state = deepcopy(state, memo)
    282         if hasattr(y, '__setstate__'):
    283             y.__setstate__(state)

~\AppData\Local\Programs\Python\Python37\lib\copy.py in deepcopy(x, memo, _nil)
    148     copier = _deepcopy_dispatch.get(cls)
    149     if copier:
--> 150         y = copier(x, memo)
    151     else:
    152         try:

~\AppData\Local\Programs\Python\Python37\lib\copy.py in _deepcopy_dict(x, memo, deepcopy)
    239     memo[id(x)] = y
    240     for key, value in x.items():
--> 241         y[deepcopy(key, memo)] = deepcopy(value, memo)
    242     return y
    243 d[dict] = _deepcopy_dict

~\AppData\Local\Programs\Python\Python37\lib\copy.py in deepcopy(x, memo, _nil)
    178                     y = x
    179                 else:
--> 180                     y = _reconstruct(x, memo, *rv)
    181
    182     # If is its own copy, don't memoize.

~\AppData\Local\Programs\Python\Python37\lib\copy.py in _reconstruct(x, memo, func, args, state, listiter, dictiter, deepcopy)
    279     if state is not None:
    280         if deep:
--> 281             state = deepcopy(state, memo)
    282         if hasattr(y, '__setstate__'):
    283             y.__setstate__(state)

~\AppData\Local\Programs\Python\Python37\lib\copy.py in deepcopy(x, memo, _nil)
    148     copier = _deepcopy_dispatch.get(cls)
    149     if copier:
--> 150         y = copier(x, memo)
    151     else:
    152         try:

~\AppData\Local\Programs\Python\Python37\lib\copy.py in _deepcopy_dict(x, memo, deepcopy)
    239     memo[id(x)] = y
    240     for key, value in x.items():
--> 241         y[deepcopy(key, memo)] = deepcopy(value, memo)
    242     return y
    243 d[dict] = _deepcopy_dict

~\AppData\Local\Programs\Python\Python37\lib\copy.py in deepcopy(x, memo, _nil)
    178                     y = x
    179                 else:
--> 180                     y = _reconstruct(x, memo, *rv)
    181
    182     # If is its own copy, don't memoize.

~\AppData\Local\Programs\Python\Python37\lib\copy.py in _reconstruct(x, memo, func, args, state, listiter, dictiter, deepcopy)
    279     if state is not None:
    280         if deep:
--> 281             state = deepcopy(state, memo)
    282         if hasattr(y, '__setstate__'):
    283             y.__setstate__(state)

~\AppData\Local\Programs\Python\Python37\lib\copy.py in deepcopy(x, memo, _nil)
    148     copier = _deepcopy_dispatch.get(cls)
    149     if copier:
--> 150         y = copier(x, memo)
    151     else:
    152         try:

~\AppData\Local\Programs\Python\Python37\lib\copy.py in _deepcopy_tuple(x, memo, deepcopy)
    219
    220 def _deepcopy_tuple(x, memo, deepcopy=deepcopy):
--> 221     y = [deepcopy(a, memo) for a in x]
    222     # We're not going to put the tuple in the memo, but it's still important we
    223     # check for it, in case the tuple contains recursive mutable structures.

~\AppData\Local\Programs\Python\Python37\lib\copy.py in <listcomp>(.0)
    219
    220 def _deepcopy_tuple(x, memo, deepcopy=deepcopy):
--> 221     y = [deepcopy(a, memo) for a in x]
    222     # We're not going to put the tuple in the memo, but it's still important we
    223     # check for it, in case the tuple contains recursive mutable structures.

~\AppData\Local\Programs\Python\Python37\lib\copy.py in deepcopy(x, memo, _nil)
    148     copier = _deepcopy_dispatch.get(cls)
    149     if copier:
--> 150         y = copier(x, memo)
    151     else:
    152         try:

~\AppData\Local\Programs\Python\Python37\lib\copy.py in _deepcopy_dict(x, memo, deepcopy)
    239     memo[id(x)] = y
    240     for key, value in x.items():
--> 241         y[deepcopy(key, memo)] = deepcopy(value, memo)
    242     return y
    243 d[dict] = _deepcopy_dict

~\AppData\Local\Programs\Python\Python37\lib\copy.py in deepcopy(x, memo, _nil)
    178                     y = x
    179                 else:
--> 180                     y = _reconstruct(x, memo, *rv)
    181
    182     # If is its own copy, don't memoize.

~\AppData\Local\Programs\Python\Python37\lib\copy.py in _reconstruct(x, memo, func, args, state, listiter, dictiter, deepcopy)
    305             for key, value in dictiter:
    306                 key = deepcopy(key, memo)
--> 307                 value = deepcopy(value, memo)
    308                 y[key] = value
    309         else:

~\AppData\Local\Programs\Python\Python37\lib\copy.py in deepcopy(x, memo, _nil)
    178                     y = x
    179                 else:
--> 180                     y = _reconstruct(x, memo, *rv)
    181
    182     # If is its own copy, don't memoize.

~\AppData\Local\Programs\Python\Python37\lib\copy.py in _reconstruct(x, memo, func, args, state, listiter, dictiter, deepcopy)
    279     if state is not None:
    280         if deep:
--> 281             state = deepcopy(state, memo)
    282         if hasattr(y, '__setstate__'):
    283             y.__setstate__(state)

~\AppData\Local\Programs\Python\Python37\lib\copy.py in deepcopy(x, memo, _nil)
    148     copier = _deepcopy_dispatch.get(cls)
    149     if copier:
--> 150         y = copier(x, memo)
    151     else:
    152         try:

~\AppData\Local\Programs\Python\Python37\lib\copy.py in _deepcopy_dict(x, memo, deepcopy)
    239     memo[id(x)] = y
    240     for key, value in x.items():
--> 241         y[deepcopy(key, memo)] = deepcopy(value, memo)
    242     return y
    243 d[dict] = _deepcopy_dict

~\AppData\Local\Programs\Python\Python37\lib\copy.py in deepcopy(x, memo, _nil)
    178                     y = x
    179                 else:
--> 180                     y = _reconstruct(x, memo, *rv)
    181
    182     # If is its own copy, don't memoize.

~\AppData\Local\Programs\Python\Python37\lib\copy.py in _reconstruct(x, memo, func, args, state, listiter, dictiter, deepcopy)
    279     if state is not None:
    280         if deep:
--> 281             state = deepcopy(state, memo)
    282         if hasattr(y, '__setstate__'):
    283             y.__setstate__(state)

~\AppData\Local\Programs\Python\Python37\lib\copy.py in deepcopy(x, memo, _nil)
    148     copier = _deepcopy_dispatch.get(cls)
    149     if copier:
--> 150         y = copier(x, memo)
    151     else:
    152         try:

~\AppData\Local\Programs\Python\Python37\lib\copy.py in _deepcopy_dict(x, memo, deepcopy)
    239     memo[id(x)] = y
    240     for key, value in x.items():
--> 241         y[deepcopy(key, memo)] = deepcopy(value, memo)
    242     return y
    243 d[dict] = _deepcopy_dict

~\AppData\Local\Programs\Python\Python37\lib\copy.py in deepcopy(x, memo, _nil)
    167                     reductor = getattr(x, "__reduce_ex__", None)
    168                     if reductor:
--> 169                         rv = reductor(4)
    170                     else:
    171                         reductor = getattr(x, "__reduce__", None)

TypeError: can't pickle _thread.RLock objects

Versions:
numpy 1.21.5
pandas 1.3.5.
sklearn 1.0.2.
scikeras 0.6.1.
tensorflow 2.8.0.
tensorflow_text 2.8.1.
tensorflow_hub 0.12.0

Note:

A very similar issue was reported in 2020 where the issue was reproducible on TFv2.3 as mentioned in this comment in that thread. However there was no clear solution/workaround provided there, rather this link. Having compared the code snippets provided in that blog post with my code above, I don't see any obvious inconsistencies or mistakes in my solution. Note that the linked blog post is actually only about incorporating a KerasClassifier into a grid/randomized search logic, and not about incorporating an entire sklearn pipeline. This might be important.
Another time the same error message was reported here on github was this one. Yet, in this case the reason is seemingly unrelated.
In this thread on StackOverflow Marcin Możejko mentions that keras doesn't support parallelization via pickle which would be performed by default by grid/randomized search, and proposed explicitly setting n_jobs=1 to prevent multiprocessing. Makes total sense, I tried, yet I am still getting the same error message.
Another bug report from 2020 also mentioned the same issue. Just like before, this was unfortunately also closed without solution. Note however, that in this case too, a pure KerasClassifier model was used and not a sklearn pipeline. Might be relevant.

@leweex95
Please post this issue on keras-team/keras repo.
To know more see;
https://discuss.tensorflow.org/t/keras-project-moved-to-new-repository-in-https-github-com-keras-team-keras/1999
Thank you!

Thanks, I will do so.


Node 22 support

Description
Fixes #2775
This will require a release of the VSCode extension
Checklist

[ ] For UI or styling changes, I have added a screenshot or gif showing before & after
[ ] I have added a changeset
[x] I have added to the docs where applicable
[x] I have added to the VS Code extension where applicable

ReferenceError: window is not defined
      at detect (/home/zach/code/evidence/evidence/node_modules/.pnpm/echarts@5.4.3/node_modules/echarts/dist/echarts.js:123:54)
      at /home/zach/code/evidence/evidence/node_modules/.pnpm/echarts@5.4.3/node_modules/echarts/dist/echarts.js:97:9
      at /home/zach/code/evidence/evidence/node_modules/.pnpm/echarts@5.4.3/node_modules/echarts/dist/echarts.js:22:68
      at Object.<anonymous> (/home/zach/code/evidence/evidence/node_modules/.pnpm/echarts@5.4.3/node_modules/echarts/dist/echarts.js:25:2)
      at Module._compile (node:internal/modules/cjs/loader:1546:14)
      at Module._extensions..js (node:internal/modules/cjs/loader:1689:10)
      at Module.load (node:internal/modules/cjs/loader:1318:32)
      at Module._load (node:internal/modules/cjs/loader:1128:12)
      at TracingChannel.traceSync (node:diagnostics_channel:315:14)
      at wrapModuleLoad (node:internal/modules/cjs/loader:218:24)

Tried to reproduce both with just a plain Node app rendering an SVG using ECharts, and a SvelteKit app using ECharts and both worked just fine 🤔

Which version of echarts were you testing with


footer changes added favicons and some alignments are made

this is how footer is looking right now

Good job @sandeep0009  just instead of the GitHub written as text in the footer , add it's icon.


custom rke2 cluster is waiting to register

Rancher Server Setup
Rancher running docker container

Rancher version: 2.6.2
Installation option (Docker install/Helm Chart): docker

Information about the Cluster

Kubernetes version: rke2 v1.21.6+rke2r1
Cluster Type (Local/Downstream): custom cluster

Describe the bug
Trying to create a custom cluster using the rancher interface. I use the interface to create a cluster. Next I create a new VM and run the given command on the VM. Combinations I have tried sofar
proxmox - ubunu 18.04 - public ip address, no firewall
openstack - ubuntu 18.04 - public ip address, no firewall
openstack - centos 7 - public ip address, no firewall
openstack - centos 7 - private ip adderss + floating ip address, no firewall
I run the command wih --etcd --controlplane --worker. The node is created and initialized:
/var/lib/rancher/rke2/bin/kubectl --kubeconfig /etc/rancher/rke2/rke2.yaml get po -A -o wide
NAMESPACE         NAME                                                   READY   STATUS      RESTARTS   AGE     IP                NODE                    NOMINATED NODE   READINESS GATES
calico-system     calico-kube-controllers-748bcb7bb-n7qkv                1/1     Running     0          2m      <IP_ADDRESS>        foobar-controlplane-1   <none>           <none>
calico-system     calico-node-ldvfj                                      1/1     Running     0          2m      XXX.XXX.XXX.YYY   foobar-controlplane-1   <none>           <none>
calico-system     calico-typha-975b4d4cb-zp55s                           1/1     Running     0          2m      XXX.XXX.XXX.YYY   foobar-controlplane-1   <none>           <none>
cattle-system     cattle-cluster-agent-f6b5c59c7-qvgt2                   1/1     Running     2          2m23s   <IP_ADDRESS>        foobar-controlplane-1   <none>           <none>
cattle-system     kube-api-auth-ws2f4                                    1/1     Running     0          2m23s   XXX.XXX.XXX.YYY   foobar-controlplane-1   <none>           <none>
kube-system       cloud-controller-manager-foobar-controlplane-1         1/1     Running     0          2m1s    XXX.XXX.XXX.YYY   foobar-controlplane-1   <none>           <none>
kube-system       etcd-foobar-controlplane-1                             1/1     Running     0          2m17s   XXX.XXX.XXX.YYY   foobar-controlplane-1   <none>           <none>
kube-system       helm-install-rke2-calico-crd-jhrp8                     0/1     Completed   0          2m24s   XXX.XXX.XXX.YYY   foobar-controlplane-1   <none>           <none>
kube-system       helm-install-rke2-calico-d4mhx                         0/1     Completed   1          2m24s   XXX.XXX.XXX.YYY   foobar-controlplane-1   <none>           <none>
kube-system       helm-install-rke2-coredns-5c8kd                        0/1     Completed   0          2m24s   XXX.XXX.XXX.YYY   foobar-controlplane-1   <none>           <none>
kube-system       helm-install-rke2-metrics-server-kvlwx                 0/1     Completed   0          2m24s   <IP_ADDRESS>        foobar-controlplane-1   <none>           <none>
kube-system       kube-apiserver-foobar-controlplane-1                   1/1     Running     0          2m13s   XXX.XXX.XXX.YYY   foobar-controlplane-1   <none>           <none>
kube-system       kube-controller-manager-foobar-controlplane-1          1/1     Running     0          117s    XXX.XXX.XXX.YYY   foobar-controlplane-1   <none>           <none>
kube-system       kube-proxy-foobar-controlplane-1                       1/1     Running     0          119s    XXX.XXX.XXX.YYY   foobar-controlplane-1   <none>           <none>
kube-system       kube-scheduler-foobar-controlplane-1                   1/1     Running     0          2m2s    XXX.XXX.XXX.YYY   foobar-controlplane-1   <none>           <none>
kube-system       rke2-coredns-rke2-coredns-5c84cbd6bd-f45qj             1/1     Running     0          2m9s    <IP_ADDRESS>        foobar-controlplane-1   <none>           <none>
kube-system       rke2-coredns-rke2-coredns-autoscaler-78bdc5d6c-w5brv   1/1     Running     0          2m9s    <IP_ADDRESS>        foobar-controlplane-1   <none>           <none>
kube-system       rke2-metrics-server-5df7d77b5b-96l7p                   1/1     Running     0          88s     <IP_ADDRESS>        foobar-controlplane-1   <none>           <none>
tigera-operator   tigera-operator-698786489c-ml8gq                       1/1     Running     0          2m6s    XXX.XXX.XXX.YYY   foobar-controlplane-1   <none>           <none>

and
/var/lib/rancher/rke2/bin/kubectl --kubeconfig /etc/rancher/rke2/rke2.yaml get no -o wide
NAME                    STATUS   ROLES                       AGE   VERSION          INTERNAL-IP       EXTERNAL-IP   OS-IMAGE             KERNEL-VERSION       CONTAINER-RUNTIME
foobar-controlplane-1   Ready    control-plane,etcd,master   11m   v1.21.6+rke2r1   XXX.XXX.XXX.YYY   <none>        Ubuntu 18.04.6 LTS   4.15.0-162-generic   containerd://1.4.11-k3s1

However the rancher interface shows:

If check the cluster itself I see:

Not sure, but it seems that the initial hostname that is used (custom-4930177050d2) is not correct and is never resolved to be the real hostname (foorbar-controlplane-1). I have tried to pass in --node-name to explicitly set the node name, but that did not change anything.
At this point adding a new worker node does not work since the cluster is waiting for the first controlplane to be registered.
To Reproduce

create custom cluster in rancher interface
create new machine (ubuntu/centos)
run command from rancher to craete new custom cluster

Result
Expected Result

The name in the rancher interface should be the name of the host, not custom-XXXXXX
Once the node is up and running it should be marked as such

Update, after installing backup/restore and migrating to a helm installed version in kubernetes (not k3s/rancherd) it now succeeds to create cluster and bringing it up as normal.


Debug info for bot approval PR

Applicable spec: ISD115
Overview
The approval does not seem to be working for renovate PRs, adding showing the GitHub actor to figure out why that is the case.
Rationale
To get the workflow working
Workflow Changes
Adds showing the GitHub actor as a step for the bot approval workflow
Checklist

[x] The contributing guide was applied
[x] The PR is tagged with appropriate label (urgent, trivial, complex)

This is for debugging right?

yes


documentation for URNs used in the code

Hi!
I am going through the code and there are some URNs being used.
NS_CONNECTION = 'urn:x-cast:com.google.cast.tp.connection'
NS_RECEIVER = 'urn:x-cast:com.google.cast.receiver'
NS_HEARTBEAT = 'urn:x-cast:com.google.cast.tp.heartbeat'
May I know how did you get these urns. Is there any documentation from google for theese.
if google releases the new version of chrome-cast sdk, still will it work?
or if changes are required where do we need to make the changes?
Looking forward for your help.
Thanks

Got these from looking at the data transmitted between Chrome and the Chromecast. See instructions how to do that in the README.
Chances of Google breaking the Chrome Cast SDK are very very small as it is in TVs all over the world with a low chance of those getting updates.


feat(web): Allow navigating to collaborators changeset

By clicking on a user in the collaborators window, you will go to their changeset

bors merge


[Change Request] page 5855 Posted Purchase Document Lines – Make procedure ChangeSubMenu(NewMenuType: Integer) global and variable CurrentMenuType protected

Describe the request
Hi,
we have a request about the page 5855 ???Posted Purchase Document Lines".
Could you please change the variable ???CurrentMenuType??? to protected and change the procedure ChangeSubMenu(NewMenuType: Integer) to global, similar to the page 5850 "Posted Sales Document Lines".
var
        CopyDocMgt: Codeunit "Copy Document Mgt.";
        OldMenuType: Integer;
        LinesNotCopied: Integer;
        MissingExCostRevLink: Boolean;
        Text000: Label 'The document lines that have a G/L account that does not allow direct posting have not been copied to the new document.';
        OriginalQuantity: Boolean;
        Text002: Label 'Document Type Filter';
        PostedRcptsVisible: Boolean;
        PostedInvoicesVisible: Boolean;
        PostedReturnShptsVisible: Boolean;
        PostedCrMemosVisible: Boolean;
        CurrentMenuTypeOpt: Option x0,x1,x2,x3;

    protected var
        ToPurchHeader: Record "Purchase Header";
        ShowRevLineEnable: Boolean;
        ShowRevLinesOnly: Boolean;
//Start
        CurrentMenuType: Integer;
//End

//Start
    procedure ChangeSubMenu(NewMenuType: Integer)
//End
    begin
        if OldMenuType <> NewMenuType then
            SetSubMenu(OldMenuType, false);
        SetSubMenu(NewMenuType, true);
        OldMenuType := NewMenuType;
        CurrentMenuType := NewMenuType;
    end;

Additional context
We want to set an item filter on the subpages. Also we want the user to get the last used document filter type when he opens the page.
Internal work item: AB#549884

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: 28339.


chore(core): remove obsolete code and update

This PR cleanups the folder structure removing deprecated apps and packages. It also updates the two left packages whois and volta.

fixes #653


Allow user to register without invitation to server

Currently user is not able to register Kontena account if he/she has not invitation to a Kontena server. This PR fixes this issue.
Fixes #8

:+1:


Addition of User Stories

Pull Request Test Coverage Report for Build 158

0 of 0 (NaN%) changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 83.209%

Totals

Change from base Build 154:
0.0%

Covered Lines:
1784

Relevant Lines:
2144

💛  - Coveralls


Update dependencies

Not to derail, but one of our dev dependencies is an old version of Ramda... That seems troublesome. I think we should look into that.

@Bradcomp:
Yes we should.  I'm pretty sure that we can just replace it with @-latest.  We use Ramda in the build.  If our build can't use a recent version of our library, either the library or the build should get some serious attention.
But as you said, that doesn't need to derail this PR.  It looks good to me.  If you agree, then I think we can go ahead and merge it.

:bowtie:


32 bit rather then 16 bit

Is it possible to use 32 bit audio word sizes rather then 16 bit audio word sizes ?

No, currently only 16-bit PCM is supported. Supporting 24 or 32-bit PCM
will require some refactoring.

can you please point to the locations where this will require refactoring ?
On 27/3/19 8:47 pm, Arkadiusz Bokowy wrote:

No, currently only 16-bit PCM is supported. Supporting 24 or 32-bit PCM
will require some refactoring.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/Arkq/bluez-alsa/issues/198#issuecomment-477066839,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAq6B-iSpdmuNjAXNcNPT8YbxHuDiiZNks5vaz4tgaJpZM4cF_mT.


wip: POC Suggest arguments after typing method def

Motivation

Once we have adding methods taking the fast path, we can do cool things like
this.

[ ] @jez Build a second option like "(sorbet) Suggest keyword params" to let the user choose whether they want one or the other. Don't set the sort text on the result, so that VS Code can learn the user's preference over time.

Test plan

[ ] @jez Test this

Going to close this for the time being. the changes are good; we'll have to consider the UI (keyword or positional?) and write some tests but that can be something for a future project.


GH-15274: [Java] handle null keystore password (#15274)

Fixes #15274 by handling trust store passwords that are null.

Closes: #15274

Hmm, actually, is there a way to add a unit test here?

@lidavidm Added a unit test as best as I'm able

Thank you!


Roaming metrics

Similarly to router, we need to collect metrics to monitor operations, and also business metrics:

how many devices
how many packets transferred
how many data credits (balance, and consumed)

Need for per netid and an aggregated total.
[ported from ch]

Closed with https://github.com/helium/packet-purchaser/pull/56