How to integrate in existing setup?

I have created a new Ubuntu server (non-Docker) and installed Wireguard. It's working.
I have managed to run the ./wireguard-ui script so now I have  the nice webpage available.
However when I create a new client, there is no connection. Probably because the wireguard-ui script created it's own public and private key which doesn't match my existing setup.
Should I copy the public and private key from wireguard-ui and overwrite my /etc/wireguard/wg0.conf ?
Rather I'd change my existing keys and have wireguard-ui match them. But there is only the option to generate a new key.
I'm confused how this should work.

I wonder how hard it would be to build an import utility, where you could point it to an existing wg0.conf and have the underlying database get updated with existing peer information and other things (keys, etc). I'll take a look at it since I'm curious, no promises since I'm still learning Golang along the way. This seems like a useful thing to have, especially if others will use it.

This is a good idea!

Hi. Yes i finally manager to get it working. Thanks all!

Could you tell me how you did it ? I didn't manage to make it work

Basically if you pre-populate the JSON DB with the private key and public keys of your peers, it'll "just work". I haven't had enough time yet to work on automating this, but a parser that would take the wg0.conf file and fill out the JSON DB is exactly what I was thinking.

Aaah ok I see, I'll give it a try tonight. Thank you for the explanation!
Le mer. 9 mars 2022 à 17:25, brittondodd @.***> a
écrit :

Basically if you pre-populate the JSON DB with the private key and public
keys of your peers, it'll "just work". I haven't had enough time yet to
work on automating this, but a parser that would take the wg0.conf file and
fill out the JSON DB is exactly what I was thinking.
—
Reply to this email directly, view it on GitHub
https://github.com/ngoduykhanh/wireguard-ui/issues/135#issuecomment-1063109185,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADLPRAOWSWPUA23RWWGWMI3U7DGIJANCNFSM5JZTVTGA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you commented.Message ID:
@.***>

I've totally forgotten about this, but it reminded me I need to look at implementing this, so I can migrate wgui to a new VPS server soon, which includes existing clients.

Hoping to do the same. Thanks for looking into this.

Any update on this?
@brittondodd Do you mind breaking down your workaround for the newcomers (including myself :D)?
Thanks

Apologies, I've been short on extra time to look at this, workaround is as follows:
The data is persisted internally as JSON in a flat-file DB. The file location will vary depending on OS (on Linux it seems to persist as the homedir of the user the application runs as -- /home/ for users, or / for root.
The server configuration exists under keypairs.json and will look like this:
{
"private_key": "<private_key>",
"public_key": "<public_key>",
"updated_at": "2023-01-01T02:03:04.000000000Z"
}
each client (I'd create them in the UI first, then modify, I'm not sure what mechanism exists to generate the IDs, they seem random, which means I suppose you could just generate them and the app will simply read them in:
clients/.json:
{
"id": "c7i4vthmiubjov8fokvg",
"private_key": "<private_key>",
"public_key": "<public_key>",
"preshared_key": "<preshared_key>",
"name": "phone",
"email": "",
"allocated_ips": [
""
],
"allowed_ips": [
"<IP_ADDRESS>/0"
],
"use_server_dns": true,
"enabled": true,
"created_at": "",
"updated_at": ""
}
The app I imagined would parse a/the WG configs and populate the server parts and the peer/client information into these structures.
I went through some job changes, but have to re-do my WG stack again, but still utilize the same configs, so I'll be working on this very soon anyway. Let me know if the workaround description makes sense or not. I'd start out with a configured wireguard-ui setup, then replace values with the values you have in your existing WG setup :)

Thanks @brittondodd for the details. I'll give this a look asap as I'm redoing my own WG stack :sweat_smile:

I am unsure if this is the place to put it, but I have an existing wireguard connection, but wireguard-ui doesn't see/acknowledge it at all. I know /etc/wireguard/ can't be accessed as non-root but should wireguard-ui really be run as root?

You could run it with a common group that owns /etc/wireguard/wg0.conf. As for me, I run wireguard-ui as root (I have wireguard-ui running, and a path 'watcher' that watches for updates to the wg0.conf file and will automatically restart wiregiard for me -- something I'd love to eventually add in a PR). I run as root, but you could chgrp the wireguard conf file as a group that you can run the daemon as, which would then be able to read/modify the wireguard conf file too.
Update - I managed to move my existing wireguard setup three times by copying the db folder (as a tarball) to a new server, but I've also started working on a import utility to parse an existing wireguard conf and create the JSON DB too. Be on the lookout for a PR coming soon.

MIssing this feature too.
I am changing json files manually

It looks like a good idea. But it can be hard to implement. As @bd1308 said, we need to build import utility from a some config to wireguard-ui db. Obviously that config must use pre-shared keys, or it must have predefined keys as files with specific names and etc.

@bd1308 I am having trouble finding the files, I am using ubuntu 22.04 LTS.  I would like to edit these files, since I have an existing server config, and client configs.  Do you know if I can put in my own server public and private key into this config file?

So the daemon actually creates a folder called 'db' in the user's home directory (or in my case /, as I'm running this as root via systemd unit files I've made and might do a PR against here). You'll see JSON structures that form a database. My plan was to setup a utility, but I'm not sure whether or not it should be integrated into wireguard-ui or distributed as a separate program, in this repo. While I've figured out the parsing/templating part, the build system I'm still working through. I've not had as much time lately to work on this, but hopefully I should have some time to look at this tomorrow.

I found it, even though I ran it as root, it put the folder in the same directory that I untar'd the binary from.  That is why I was confused, when you say if you use root, that it would put it in the root directory.  Thanks for the help though.

I created systemd service files for the wireguard-ui app, the wg0 file watcher (it'll auto restart wg-quick if wg0.conf or whatever you named your wg changes). Also, I still need to setup an importer tool, but not sure how to integrate this into wireguard-ui...should I make a utility golang utility, or create a web-facing utility to copy/paste wireguard config templates? This should setup the server portion of the jsondb, the clients I suppose could be recreated as well. I'm open to suggestions, I haven't been able to decide on a solution, but still interested in adding this to wireguard-ui.

Some cli utility to parse the existing wg0.conf and producing compatible json database should be enough.
It requires only for initial migration to wireguard-ui, then the UI takes the full control over the config file.

Same issue here - importing the server settings is rather easy by setting these variables:
WGUI_SERVER_INTERFACE_ADDRESSES
WGUI_SERVER_LISTEN_PORT
WGUI_SERVER_POST_UP_SCRIPT
WGUI_SERVER_POST_DOWN_SCRIPT

However, for the peers it requires some kind of import script. I am thinking some bash + jq will probably do the job.

I think you are right, I think bash+jq is the way to go here, as it won’t require additional packaging effort. I struggled to find a way to integrate it into the stack, but having a bash solution will just allow it to do its one off work without being cumbersome to use. I have one more WG move left, so I have incentive to work on this. I also would like to add systemd unit files eventually here too

I just found https://github.com/WireGuard/wireguard-tools/blob/master/contrib/json/wg-json by @zx2c4. Either a combination of this script with a jq transformer or a fork to output direct wireguard-ui JSON should do the job.

I took a look at this, there's two major hurdles to making a utility for this:

In my mind a tool like this should run outside of wireguard-ui, because it will need to possibly read files outside of the scope of the application (e.g. previous wg0.conf from another build) and I haven't yet figured out enough about golang to build and bundle a new utility that would be bundled with wireguard-ui.
If importing configuration from a existing wg0.conf, all of the peer private keys would not exist. IIRC wgui creates these when creating a client, and persists these in the clients JSONDB, but I'm not really sure what would go there in place of a correct private key. The existing peer pubkey and related information could be easily imported, or each peer private key could somehow be provided (although that doesn't seem secure to me to bring together peer wg0 configs in one place for importing).

I'm willing to dig into this to figure it out, I just need some input on how to proceed with how to handle point #2. I kinda stopped looking after realizing the private keys wouldn't exist for imported peers, thus the QR code containing peer info wouldn't be complete.

It's ok to have old clients imported without private key. This means the private key was generated on the clients and is already stored somewhere on them (which is, from the security point of view, even more correct).
In json database such client looks like:
{
        "id": "cbntgb5pbihtd5ukh210",
        "private_key": "",
        "public_key": "MVW9LfHoofR12uI2KKSdk0t/UvYypFb+isdFOGPU2x4=",
        "preshared_key": "",
        "name": "openwrt@home",
...

And it's displayed and managed in UI correctly. You just cannot generate QR code.

Just in case anyone wants this but I've created a script that helped me convert from one system to the other:
from pathlib import Path
import json
import re

P_CURRENT = Path(__file__).parent
P_OUTPUT = P_CURRENT / "out"
P_WGCONF = P_CURRENT / "wg0.conf"
PROG_PRIV_KEY = re.compile(r"PrivateKey\s*=\s*(\S+)")
PROG_PUB_KEY = re.compile(r"PublicKey\s*=\s*(\S+)")
PROG_SHARED_KEY = re.compile(r"PresharedKey\s*=\s*(\S+)")
PROG_ADDRESS = re.compile(r"Address\s*=\s*(\S+)")

def get_regex(prog, content):
    match = prog.search(content)
    if not match:
        print("Not found")
        raise ValueError
    return match.group(1)

if not P_WGCONF.exists():
    print("No config file found")
    exit(1)

peers = {}
next_key = False
name = ""

# Read server's wg0.conf file
# Find the key of each peer and store it in a dict by peer name
for i, line in enumerate(P_WGCONF.read_text().split("\n")):
    line = line.strip()
    if line.startswith("# peer_"):
        name = line
        next_key = True

    elif next_key:
        next_key = False
        peers[name] = get_regex(PROG_PUB_KEY, line)

print(json.dumps(peers, indent=4))

# Go through all the peers' config files
P_OUTPUT.mkdir(exist_ok=True)
for i, file in enumerate(P_CURRENT.rglob("*.conf")):
    name = file.stem
    print(name)
    if name not in peers:
        continue

    with open(file, "r") as f:
        content = f.read()

    key_s = ""
    match = PROG_SHARED_KEY.search(content)
    if match:
        key_s = match.group(1)

    data = {
        "id": f"{i:020d}",
        "private_key": get_regex(PROG_PRIV_KEY, content),
        "public_key": peers[name],
        "preshared_key": key_s,
        "name": name.replace("_", " "),
        "email": "",
        "allocated_ips": [f"{get_regex(PROG_ADDRESS, content)}/32"],
        "allowed_ips": ["<IP_ADDRESS>/0"],
        "extra_allowed_ips": [],
        "use_server_dns": True,
        "enabled": True,
        "created_at": "2023-10-08T14:11:49.388436859Z",
        "updated_at": "2023-10-08T14:11:49.388436859Z",
    }
    print(json.dumps(data, indent=4))

    with open(P_OUTPUT / f"{i:020d}.json", "w") as f:
        json.dump(data, f, indent=4)

One minor change to @jmigual's script:  the user id is of type xid, which uses the Mongo Object ID algorithm to generate identifiers.
Using py-xid you can generate a valid one for each address you import.  With valid IDs in the filename <<id.json>> and the json object "id" field, the wireguard-ui interface works properly to edit all the details.

Hi
All info about Clients and server you can find in /db.
For example:
Keypair for server  ---> /db/server/keypair.json
all clients -->   db/clients/cepb*****.json
where cepb*****    ID
just copy all info into new db and restart service or docker-compose


Implement Trait IntoStyle for Style

I want to express my appreciation for the Leptos project. The framework has significantly streamlined my web development workflow, and I am genuinely impressed with its capabilities and design. The documentation have been incredibly helpful, making it a pleasure to work with Leptos.
Is your feature request related to a problem? Please describe.
Currently, there is no straightforward way to store and pass Style`s between components and apply them transparently in Leptos.
// Ok
leptos::html::div().style("foo", "bar");

// Compilation error, IntoStyle is not implemented for Style:
// the trait bound `leptos::leptos_dom::Style: leptos::IntoStyle` is not satisfied
leptos::html::div().style("foo", leptos::leptos_dom::Style::Value("bar".into()));

Describe the solution you'd like
I propose adding an implementation of IntoStyle for Style, as follows:
impl IntoStyle for Style {
    fn into_style(self) -> Style {
        self
    }

    fn into_style_boxed(self: Box<Self>) -> Style {
        *self
    }
}

The only current method for passing set of styles involves merging them into a string via as_value_string, which overwrites existing styles and results in a loss of reactivity. I would like to pass a style using a container that is better suited for storing a set of styles than concatenated raw strings:
pub struct StyleSet(pub Vec<(Oco<'static, str>, Style)>);

An alternative approach is to add a method similar to ToHtmlElement::bindings():
impl<El: ElementDescriptor + 'static> HtmlElement<El> {
  /// Adds multiple styles (values or callbacks) to the element css styles.
  #[track_caller]
  pub fn with_styles<B: IntoStyle>>(
      mut self,
      styles: impl std::iter::IntoIterator<Item = B>,
  ) -> Self {
      for style in styles {
          self = self.style(style.into_style());
      }
      self
  }
}

Without implementing IntoStyle for Style, it is impossible to create any custom style container effectively.

PR welcome!


This is a Test Issue to Test Assignment

This is a Test Issue to Test Assignment

@vipulnsward _a

@vipulnsward _a

@vipulnsward _a


CSV Generator Should Produce Human-Readable Data

Currently, our CSV generator produces unhelpful items like, userId: 2, etc. We need our CSV files to reflect data that the Admin can understand and incorporate into the Playtime donor database.
We're currently giving out users' Amazon UID. This might not be necessary or useful.

@micahbales Hi there! I'm a first-time contributor and was hoping to help out with this issue. I noticed nobody was assigned to it, but if there's already a solution in progress I'm happy to try helping out elsewhere.
For this specific issue, what type of data would be most helpful to return in the CSV? Thanks!

Hey @case-eee, welcome! 😄
I don't have a real answer, but maybe this will help you get started: Seeing all the foreign keys (ex. user_id -> 1) in the CSV is what prompted this issue to be created. Switching out foreign keys with a reasonable representation of the object would probably be a good start! (ex.user -> Micah Bales or something similar instead).
There are probably also attributes we don't want to show and calculated fields/association attributes we do, but that'll be up to @micahbales/someone else who's discussed this with Playtime.

Glad to have you with us, @case-eee!
Despite saying she doesn't have a real answer, I think that @leesharma has given a pretty good one. Basically, we're wanting the CSV data to represent actual keys and values that the organization is tracking. At present, it's just spitting out data that is only meaningful to the database, not to people.
Lee is correct that Playtime will have some input eventually about what data they would prefer not to be included in the CSV dump. For the time being, though, I'd say let's give it all to them.

Hey @leesharma and @micahbales - thanks for the warm welcome! That makes total sense - I think I initially thought you wanted to limit the scope of what attributes were being returned in the CSV - not necessarily ensuring that the data was meaningful (mostly the data coming from relationships).
I'll dive into this during my free time this week and see what I can come up with 👍

Hey @case-eee, now that you've had some time to look at the code, I just wanted to check in. 🙂 Do you have any questions/complaints/blockers?

We want to move to user testing shortly, so if I don't hear from you in the next couple days, I'll finish up this issue over the weekend.
If you're working on it, let us know! If things are a little busy right now and you don't have time, no worries–I'm sure we can find another issue that could use some help! 😉

Hey Lee!
So sorry for the delay. I did start working on it, but I didn't get super
far before work got busy and now I'm traveling for work so it's a bit more
busy.
Feel free to pass it on to someone else for now. I'll look at some other
issues and post a message when I know I have time to actively contribute.
Again, I apologize!!
On Thu, Sep 28, 2017 at 05:36 Lee Sharma<EMAIL_ADDRESS>wrote:

We want to move to user testing shortly, so if I don't hear from you in
the next couple days, I'll finish up this issue over the weekend.
If you're working on it, let us know! If things are a little busy right
now and you don't have time, no worries–I'm sure we can find another issue
that could use some help! 😉
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/rubyforgood/playtime/issues/99#issuecomment-332725400,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AGM9JSqAFCogUkntseH1_BoWKmBAa81eks5smyJKgaJpZM4PLRfD
.

@case-eee No worries–I hope you enjoy your travel! 😄
I'll take this issue, but hopefully we'll have a slew of new issues from user testing in time for Hacktoberfest (or whenever things calm down for you).

@micahbales How's this to start?
Pledge spreadsheet:

User spreadsheet:

Thanks, @leesharma. That seems good. I think the main issue I see is that I believe our Admin will want to be able to have the user's email address as one of the columns in the CSV. That seems pretty straightforward to set up, doesn't it?

@micahbales Yes, easy addition! That's in the pledge spreadsheet, right?

That's correct, @leesharma. It looks like the user spreadsheet has emails, but not the pledge spreadsheet.
I suspect that Playtime will be drawing data more frequently from the pledges CSV than from the user CSV.


[Bug] Importing MLC LLM disables color logging for rich

🐛 Bug
I use the rich package for colorized logging. However, importing MLC LLM as a python package makes it non-colorized.
To Reproduce
Steps to reproduce the behavior:

Import MLC LLM
Create a logger using RichHandler (see below)
The output is not colorized

import logging
import os

def setup_logger(debug: bool = os.environ.get("DEBUG", False)):
    # Try to use rich for pretty printing
    try:
        from rich.logging import RichHandler
        handler = RichHandler(rich_tracebacks=True)

        from rich.traceback import install
        install(show_locals=True)
    except ImportError:
        handler = logging.StreamHandler()

    # Initialize debug logger
    logging.basicConfig(
        level="NOTSET" if debug else "INFO",
        format="%(message)s",
        datefmt="[%X]",
        handlers=[handler]
    )

    return logging.getLogger("a2")

log = setup_logger()
log.info("Hi")

Expected behavior

The issue can be located in the following lines:
https://github.com/mlc-ai/mlc-llm/blob/36055f01fc656dee0297dc36c60393a38ada9171/python/mlc_llm/support/logging.py#L9-L16
I don't think it is a good idea to initialize a specific logging format in a library. Please consider removing this or moving the initialization code to command line launchers rather than in the initialization of every module file.

this is a good suggestion, @hykilpikonna do you mind send a PR to fix this


login: When requireEmailFormatUsernames, check client-side that username looks like an email address

It's nice to avoid a round-trip to the server when we can tell the user what's wrong and how to fix it.

Hey @chrisbobbe,
I've been digging into the codebase and still getting familiar with it. Could you assign this task to me, so I can start diving in and contributing?
After reviewing the issue and looking at the codebase, I'm planning to implement an additional validation if the requireEmailFormatUsernames is true. This will involve adding localization for a message prompting users to input a valid email if the format is incorrect.

Hi @davidodejobi, welcome! Could you describe the validation you have in mind? Please explain what a valid email address is and how you would like to check if the input is one.


'TabbedInterface' object has no attribute 'bind_to_model'

wagtailmenus/mainmenu/edit/2/
wagtail version 2.7.1
wagtailmenus version 2.13.1
DJANGO VERSION 2.2.9
AttributeError: 'TabbedInterface' object has no attribute 'bind_to_model'
/usr/local/lib/python3.6/site-packages/wagtailmenus/views.py in get_edit_handler, line 57
Has anyone come across this? I'm trying wagtailmenus for the first time.

Hi @lacymorrow. Are you sure on the wagtailmenus version there? This has been fixed for a while:
https://github.com/rkhleics/wagtailmenus/blob/15f3e8aaf8b9d4bf12224ff2dee431035103f159/wagtailmenus/views.py#L57-L60

I must have an old version in my environment somewhere, that check is not in my file.
Thanks for clarifying @ababic!


RTSP Streaming

Is anyone having success streaming RTSP?
I have tried streaming a publicly available camera to my VLC player:
rtsp://user:USER_SESSION_TOKEN@oculus109.dropcam.com:554/be6db485223a41ee8c25ba468c056f8e

It would seem nest has enabled gzip compression on its streams. I am working on a patch.


Add Fluent-bit-sequential-http code to kyma repo

Description
Changes proposed in this pull request:

Added fluentbut-sequential-http from https://github.com/mr-ma/fluent-bit-out-http-sequential
Updated the Dockerfile to use two extra plugins

Related issue(s)

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


Add email validation for Ruby code

The Ruby console app needs to validate the input email. Please follow validation rules from documentation.

I would like to work on it!!

Please go ahead and submit your PR

Closed with 4f3e227.


Use correct Jinja tag for homepage url

Following on from: https://github.com/alphagov/govuk_template/pull/150#issuecomment-104367421

https://github.com/alphagov/govuk_template/pull/153 for the above comment


Is there a simplest way to replace "fa-caret-down" and "fa-caret-right" with boostrap plus and minus icons

@leovo2708, Do you have working feature for it?

Hope it won't be taken care by a library but if it is there it will be really awesome, Expecting some comments from you dear friends

Use custom template


 Alpha includes another binary (I'm implementing it using go:embed) named Beta.
So Alpha uses Beta as a dependency.
However, when I run syft on the binary Alpha, I see only the dependencies which are specified in go.mod, but I don't see the transitive dependencies of Beta.
Why is this needed:
Finding the full SBOM of the binary
Additional context:

There isn't an easy way to do this since go:embed will essentially store the binary as a data payload, so there isn't anything that is really observable when parsing the outer binary file. The best way I can figure is to search within the binary for known patterns that looks like a buildinfo section within a standard go binary, which could lead to false positives, but would be possible.

@tomerse-sg, if both executables are go programs, is there a reason to embed one via go:embed instead of making one depend on the other as a normal go package? It's only the embed mechanism that's making it so we can't detect Beta from your example.

Hi, we're going to go ahead and close this issue--we've discussed this and we wouldn't be able to extract enough useful data from an embedded Go binary to make any useful identification in Syft. If there is ever a standard way to extract the Go embed data and we were able to treat the embedded data like the contents of an archive, we would have more options, but that method doesn't currently exist.


Level 777 Media downloaded with wrong size

            raise TimeoutError
                TimeoutError
       Level 777 Media downloaded with wrong size

@Romntic hi, program can not download success, because it may network not statable.If not do this action, you will lost this media.

We will add the failed download message id into ids_to_retry when have three times TimeoutError .

Yes.I understand but actually if I try with another download method it's success download :(


Have you published pretrained weights with proj heads

Hi,
I would like to extract features from byol pretrained models. I downloaed byol_r50_bs256_accmulate16_ep300-5df46722.pth, which only contains weights for resnet50, and the others features are all missing. Where could I download complete pretrained weights please ?

Hi, you need to retrain by yourself if you want to obtain other weights.


add wal record buffer

#189
Now data wiil be appended to file every time encoding. This PR add a simple buffer to cache record encoded  data when write WAL.
Here are the results of  a test on my machine(macbook  pro 18) with 10000 DynRecords inserted

without buffer
with buffer
wal disabled

7.747s
0.714s
0.160s

Could it be able to become a common buffered writer in fusio? Always using 4KB or 8KB as a chunk, flush to disk, aware Record type makes it not common.


Restrict matchmaker docker container

Restrict setgid setuid, no networking, non-root.

No networking taken care of by host. Non-root not important as it's in a container. Rest is no less secure than right now, and resources can be restricted later from docker configs.


Downgrade logging level to avoid log spam

Downgrade log level to debug to reduce amount of spam on users pipelines.

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Choose reviewer(s) and mention them in a comment (R: @username).
[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.


removes secrets from browser

Pull Request Test Coverage Report for Build 28

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

Totals

Change from base Build 26:
0.0%

Covered Lines:
13

Relevant Lines:
13

💛  - Coveralls


fix 'not found' case in [node] badge

NPM changed the error body, breaking the not found case
Fix this by checking the status code instead of relying on the errror message in the body.

It doesn't seem like the services-pr (non node-9) test is running correctly

Good spot. :eyes:
For some reason, in that build the CI_PULL_REQUEST variable didn't get populated in the 'Spin up Environment' step. Not sure why :thinking:  . I've checked all the other PRs I submitted today and this worked OK on those. I'm not going to get too hung up on this, but lets keep an eye on it - if it starts happening on other PRs, we can look into it.

When you are running CircleCI on your fork, this happens all the time. Is it possible that is the cause?


⚠ Bofrost.lu has degraded performance

In be757f0, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1019 ms

Resolved: Bofrost.lu performance has improved in 694dec7 after 10 minutes.


⚠ Mobitopup has degraded performance

In 290183e, Mobitopup (https://napcard.voz.tech) experienced degraded performance:

HTTP code: 200
Response time: 9782 ms

Resolved: Mobitopup performance has improved in c1cfa8d.


How can I get the mapping of coordinate between stabilized_frame and frame?

Thanks for sharing.
I'm trying to find the location of stabilized_frame on the orignal input frame. Such as (x,y) -> (x',y'). Is there any possible to get the transformation? Thanks.

Hi @Ling-wei,
If you'd like to visualize the transformations used frame-to-frame you can use the VidStab.plot_transforms() method (usage is shown here in README).  This method plots the VidStab.transforms attribute.  The VidStab.transforms attribute is a 3 column numpy array that represents the frame-to-frame transformations used to stabilize the input video.  The 3 columns, in order, represent the delta x, delta y, & delta angle (in radians).

Hi @Ling-wei,
If you'd like to visualize the transformations used frame-to-frame you can use the VidStab.plot_transforms() method (usage is shown here in README). This method plots the VidStab.transforms attribute. The VidStab.transforms attribute is a 3 column numpy array that represents the frame-to-frame transformations used to stabilize the input video. The 3 columns, in order, represent the delta x, delta y, & delta angle (in radians).

Hi @Ling-wei,
If you'd like to visualize the transformations used frame-to-frame you can use the VidStab.plot_transforms() method (usage is shown here in README). This method plots the VidStab.transforms attribute. The VidStab.transforms attribute is a 3 column numpy array that represents the frame-to-frame transformations used to stabilize the input video. The 3 columns, in order, represent the delta x, delta y, & delta angle (in radians).

Hi @AdamSpannbauer
Thanks for replying!
Yet, I have a few questions.  I'm trying to plot a bounding box of orignal frame on the stabilized_frame  but got the wrong position. So I wondered what is the rotation center of delta angle and the order of coordinate correction (first amend dx&dy or first rotate? ). If the border_size is not zero, should  the mapping be modified?

I'll speak to the questions around translating later in this reply, but if you're after the effect shown in the below gif then you can calculate the location of the box using the input frame dimensions and the chosen border size for the stabilization.  The output seen in the gif was created with the code chunk below the gif.

import os
import cv2
from vidstab import VidStab, download_ostrich_video

BORDER_SIZE = 100
VIDEO_PATH = "ostrich.mp4"

# Download test video to stabilize
if not os.path.isfile(VIDEO_PATH):
    download_ostrich_video(VIDEO_PATH)

# Initialize stabilizer and video reader
stabilizer = VidStab()
vidcap = cv2.VideoCapture(VIDEO_PATH)

bb_p1 = bb_p2 = None
while True:
    grabbed_frame, frame = vidcap.read()

    # Calculate location of original frame in final output based on border size
    if frame is not None:
        h, w = frame.shape[:2]

        bb_p1 = (BORDER_SIZE, BORDER_SIZE)
        bb_p2 = (BORDER_SIZE + w, BORDER_SIZE + h)

    # Pass frame to stabilizer even if frame is None
    stabilized_frame = stabilizer.stabilize_frame(input_frame=frame, border_size=BORDER_SIZE)

    # If stabilized_frame is None then there are no frames left to process
    if stabilized_frame is None:
        break

    # stabilized_frame is returned as all 0 while warming up
    if stabilized_frame.sum() > 0:
        # Draw showing original frame location
        cv2.rectangle(stabilized_frame, bb_p1, bb_p2, (0, 255, 0), 2)

    cv2.imshow('Frame', stabilized_frame)
    key = cv2.waitKey(5)

    if key == 27 or key == ord('q'):
        break

vidcap.release()
cv2.destroyAllWindows()

The below code chunk shows an example of how frame-to-frame transformations are applied.  This is done using cv2.warpAffine() (you can see some examples in OpenCV's documentation).
The code for the helper function build_transformation_matrix() can be seen here.
import cv2
import numpy as np
from vidstab.vidstab_utils import build_transformation_matrix

H = 300
W = 600
BORDER_SIZE = 100

transform = [
     50,           # delta x
    -30,           # delta y
    np.deg2rad(20) # delta angle
]

image = (np.random.rand(H, W) * 255).astype('uint8')
bordered_image = cv2.copyMakeBorder(image,
                                    top=BORDER_SIZE,
                                    bottom=BORDER_SIZE,
                                    left=BORDER_SIZE,
                                    right=BORDER_SIZE,
                                    borderType=cv2.BORDER_CONSTANT,
                                    value=0)

h, w = bordered_image.shape[:2]

transform_mat = build_transformation_matrix(transform)

transformed = cv2.warpAffine(bordered_image,
                             transform_mat,
                             (w, h),
                             borderMode=cv2.BORDER_CONSTANT,
                             borderValue=0)

cv2.imshow('Transformed', transformed)
cv2.waitKey(0)

Hi @AdamSpannbauer ,
The problem has been solved. Thank you very much~


Permission denied to access property "addEventListener" on cross-origin object

I'm deploying my Storybook with Chromatic. I noticed that if I use this addon, Chromatic's library breaks for all stories, even those without the inspector enabled.
Chromatic loads the story's iframe in a webapp hosted under www.chromatic.com, but the iframe lives in a different domain (xxx.chromatic.com). I guess they are setting a strict sandbox.
Opening the iframe's src in a new tab works just fine.
It would be nice to detect/catch those errors and handle them gracefully so not to break Chromatic's library.
Full error stack following
withXstateInspector/<@https://xxx.chromatic.com/vendors~main.2998908c.iframe.bundle.js:2:2657444
triggerEffects/<@https://xxx.chromatic.com/vendors~main.2998908c.iframe.bundle.js:2:331359
triggerEffects@https://xxx.chromatic.com/vendors~main.2998908c.iframe.bundle.js:2:331273
HooksContext/this.renderListener@https://xxx.chromatic.com/vendors~main.2998908c.iframe.bundle.js:2:330137
handleEvent/<@https://xxx.chromatic.com/vendors~main.2998908c.iframe.bundle.js:2:730987
handleEvent@https://xxx.chromatic.com/vendors~main.2998908c.iframe.bundle.js:2:730962
handler@https://xxx.chromatic.com/vendors~main.2998908c.iframe.bundle.js:2:729669
emit@https://xxx.chromatic.com/vendors~main.2998908c.iframe.bundle.js:2:729724
_callee3$@https://xxx.chromatic.com/vendors~main.2998908c.iframe.bundle.js:2:1911574
tryCatch@https://xxx.chromatic.com/vendors~main.2998908c.iframe.bundle.js:2:914659
invoke@https://xxx.chromatic.com/vendors~main.2998908c.iframe.bundle.js:2:914290
defineIteratorMethods/</<@https://xxx.chromatic.com/vendors~main.2998908c.iframe.bundle.js:2:915434
asyncGeneratorStep@https://xxx.chromatic.com/vendors~main.2998908c.iframe.bundle.js:2:1901145
_next@https://xxx.chromatic.com/vendors~main.2998908c.iframe.bundle.js:2:1901465

:rocket: Issue was released in v2.3.6 :rocket:

:rocket: Issue was released in v2.3.6 :rocket:


Update example stackdriver config to use CUMULATIVE

Stackdriver adapter used to overwrite DELTA metric kind to CUMULATIVE, which is no longer the case. Stackdriver custom metric does not support DELTA. Writing metric with CUMULATIVE and new start time every time, which is what Stackdriver adapter does, is essentially equivalent to DELTA.

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: bianpengyuan
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: ozevren
If they are not already assigned, you can assign the PR to them by writing /assign @ozevren in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

mixer/OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: bianpengyuan, douglas-reid
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

mixer/OWNERS [douglas-reid]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Produce Egyptian translation HTML documents

If you need an existing HTML template to work from then I have attached CC 3.0 Egyptian HTML files here.
egypt.zip

40-english.zip
4.0 English too.


Restoring Multiple Account Download in Master

Hi all, so I've noticed the multiple account download script doesn't work with latest master.
After digging in the code for the PR by @sdelgadoc  https://github.com/minimaxir/download-tweets-ai-text-gen/pull/14 I noticed the code that was merged isn't there anymore.
There's no assert to determine if an input is a file or an account anymore. Is there any plans to restore it?

@YazzyYaz, I can confirm that the code to download multiple accounts was removed in the latest master.  The README still references the functionality, and the example account files are still present, so it might be possible that it was not done on purpose.
A short term solution is to use this version of the download file:
https://github.com/minimaxir/download-tweets-ai-text-gen/blob/6ee1440d7d9fa8b50b8e453d53648de5342ae104/download_tweets.py
@minimaxir, was the removal of the multiple account download purposeful?  If not, happy to send a pull request bringing it back.


langchain: Upgrade openai's sdk and solve some interface adaptation problems.

Issue: close #19534

@liugddx There are two occurrences of isinstance(content, openai.types.beta.threads.MessageContentText), I guess the one on line 644 also has to be changed.
In the changed files I can only see that the occurance on line 528 was changed.

@liugddx change is great! Let's just make it also be backwards compatible without forcing users to upgrade openai version -- such upgrades can be difficult in large code bases

@liugddx change is great! Let's just make it also be backwards compatible without forcing users to upgrade openai version -- such upgrades can be difficult in large code bases

Got it, let me figure out how to make it compatible. thank you for your review.

@liugddx change is great! Let's just make it also be backwards compatible without forcing users to upgrade openai version -- such upgrades can be difficult in large code bases

Got it, let me figure out how to make it compatible. thank you for your review.

https://github.com/openai/openai-python/pull/1233. Openai python sdk does not provide backward compatibility for their interfaces. Do we need to adapt to their multiple versions?

@baskaryan PTAL


Some questions about pysc2

Hello everyone, I'm a student trying to implement a SC2 bot using pysc2 but I would like to resolve some dubts before to start.
Q1: Where are the agents described in the paper? Can we found they to use as an example?
Q2: What kind of algorithms are used in the current agents implementations?
Q3: Are there any StarCraft II AI agent competitions? What are the rules to win?
Thank you.

DeepMind's agents aren't open source. Various people active here have written and open sourced their agents.
OpenAI's dqn is a decent starting point, though there are likely open source a3c implementations as well.
It's worth following the reddit and facebook groups for more details. http://sc2ai.net/ is one tournament, though I don't know much about it.

OK,Thank you!


Update minimum PHP to 7.0 and WP to 4.9

Changes
Update minimum PHP version to 7.0
Testing

[x] This change has been tested on WP version 5.2.2

Checklist

[x] All existing and new tests complete without errors
[x] All code quality tools/guidelines in the Contribution guide have been run/followed
[x] All active GitHub CI checks have passed

This change did not introduce the CI failure here:
https://circleci.com/gh/auth0/wp-auth0/1649
https://circleci.com/gh/auth0/wp-auth0/1650
Working on it now.

Looks like the SVN servers are rate limited now:
https://wordpress.org/support/topic/too-many-requests-when-trying-to-checkout-plugin/
In CI:
circleci@863f2bf05453:/tmp/wordpress-tests-lib/data$ svn up
Updating '.':

Fetching external item into 'plugins/wordpress-importer':
svn: warning: W175002: Unexpected HTTP status 429 'Too Many Requests' on '/!svn/rvr/2199044/wordpress-importer/trunk'

At revision 46758.
svn: E205011: Failure occurred processing one or more externals definitions

Ready to go! Outstanding php_5 check will not complete as that's been removed from CI in this PR.

@lbalmaceda - Not a bad idea. I'll evaluate how to do that when I put together the migration guide 👍


Bug: Sticky Note Plugin crashes Playground on import

Lexical version: 0.5.1-next.1
Steps To Reproduce

Open Playground
Create a Sticky Note
Export
Import

TypeError: Cannot set properties of undefined (setting 'theme')
    at LexicalNestedComposer.1647df3c.js:1:575
    at Object.useMemo (main.fa4a2c4e.js:21:69182)
    at c.useMemo (main.fa4a2c4e.js:1:8266)
    at i (LexicalNestedComposer.1647df3c.js:1:443)
    at ma (main.fa4a2c4e.js:21:62859)
    at fu (main.fa4a2c4e.js:21:119869)
    at cc (main.fa4a2c4e.js:21:108839)
    at lc (main.fa4a2c4e.js:21:108767)
    at ac (main.fa4a2c4e.js:21:108630)
    at Xu (main.fa4a2c4e.js:21:105437)

Update: There are several issues with the StickyNote plugin. Thanks #3241 - this almost fixes the persistency issue.

StickyNode is sometimes recreated onMouseUp (when its dropped)
Weird behaviour of note dragging if document.body is scrollable.

I'll try to my best to do another PR.

PR #3241 does fix the crash, but nested editorState isn't restored on import. PR #3246 fixes both.


Fix flowtype errors on React Native >= 0.43

When using react-native>=0.43 (flow ^0.40.0), flow errors have been introduced, which breaks build steps. I've bumped the version to match what React Native installs by default and fixed these errors.
I'm unsure as to whether the flow errors are actually a result of a flow bug, however. There is this issue on the flow repository, but unfortunately no one has chimed in to say whether it's intended or not. In any case, the error was stemming from two different types of React elements being conditionally returned.
Maybe the deps version bump would be better off as a separate pull request entirely. Happy to tweak things if necessary.

@satya164 Could you do me a favor and have a look at this? This currently blocks our team :/

Closed in https://github.com/react-community/react-navigation/commit/2bbfc03cd0669e01cfd8f7f2d22ccae23e4dfb88


Styling of Select "Focus" vs. "Current Value"

Right now the focus style of our Select component is much more accented than the selected style.
This to me seems to be exactly the opposite of what we want.
The net result, is that it is very easy to get confused, and think that the focused item is currently selected.
This is especially a problem if you use the Select box for just two items (which we do sometimes.)  The focused item simply looks like the selected item.  You end up thinking that there is nothing for you to change, and wondering why you went in to the select box in the first place!

I had noticed this as well... played around with CSS vars a little and came up with the following:
https://github.com/exhi/hoist-react/tree/selectMenuStyling

Let's just ensure that what we are doing is standard here.  Worth looking at how other toolkits and os controls handle this.

I hadn't really paid attention to this before, but seeing now that MacOS uses a checkmark in a left-hand gutter to indicate the currently selected option.  That now seems like an obvious idea and one that makes for maximum clarity.

I think the native browser select inputs must be getting this same behavior, as I see it consistently on some web pages loading what look like basic / native controls. Interestingly Gmail seems to provide an example of a custom implementation of the same:

I think we should look at how difficult this would be to implement with react-select. (I would not be surprised if it's been tried or discussed in the wild.)


feat(utility): add name conflict check for "SortedNameList"

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

4 of 5 (80.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.008%) to 82.923%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

tensorbay/utility/name.py
4
5
80.0%

Totals

Change from base Build<PHONE_NUMBER>:
-0.008%

Covered Lines:
5293

Relevant Lines:
6383

💛  - Coveralls


Windows 11 Pro 22H2 build 22621.3007 - NOT SUPPORTED

Hi! I get this message when I open the RDPConf file.

Can you please help me?
Thanks!

You need repair your OS.

Windows 11 Pro 22H2 build 22621.3007 - NOT SUPPORTED

and

10.0.17763.5328

This DLL is wrong!


add method ChangeClassGuid(Guid g)

_hidClassGuid should have a public setter because I need to enumerate more device types but not only the HID GUID returned by HidD_GetHidGuid  ( e.g. GUID_DEVINTERFACE_USBPRINT (0x28d78fad, 0x5a12, 0x11d1, 0xae, 0x5b, 0x00, 0x00, 0xf8, 0x03, 0xa8, 0xc2)

Not sure I understand, this library only communicates with HID devices, why should it enumerate other device types?

my fault..  since i had a review again, so just ignore this~  sorry for the bothering

No worries.


Add a changelog

This PR adds a changelog to keep track of changes within the Node SDK.
The changelog has been backfilled with the release notes from each version.

Is this auto-generated or is this done manually for each release?

It's currently manual.
The idea is that while changes are made they get added to the Unreleased section and then when we cut a release we just rename Unreleased to the new version.

What's the advantage of a CHANGELOG file vs GitHub Releases?

The main advantage of having a CHANGELOG is that you can have a draft state of all unreleased changes. So every time a change is made, you can add an entry under Unreleased. Then when you cut a release, you don't need to go back and try to remember all of the changes that are going into the release.
Additionally, the CHANGELOG in the repo is versioned with the project, and is more easily accessible to library consumers, especially if they want to view the changes since some very old version (as they don't have to dig through pages of GitHub releases).
The two are not mutually exclusive, and what projects will typically do is create a GitHub Release and take the contents of the changelog for that version and copy-paste it into the GitHub Release description.
Here's what the Keep a Changelog site says on the matter:

It's a great initiative. Releases can be used to turn simple git tags (for example a tag named v1.0.0) into rich release notes by manually adding release notes or it can pull annotated git tag messages and turn them into notes.
GitHub Releases create a non-portable changelog that can only be displayed to users within the context of GitHub. It's possible to make them look very much like the Keep a Changelog format, but it tends to be a bit more involved.
The current version of GitHub releases is also arguably not very discoverable by end-users, unlike the typical uppercase files (README, CONTRIBUTING, etc.). Another minor issue is that the interface doesn't currently offer links to commit logs between each release.

What's the process for updating it and making releases?

Each time a change is made it is added under the Unreleased section in CHANGELOG.md under the corresponding section. Keep a Changelog defines the following sections:

Added for new features.
Changed for changes in existing functionality.
Deprecated for soon-to-be removed features.
Removed for now removed features.
Fixed for any bug fixes.
Security in case of vulnerabilities.

For example, a PR that fixes a bug would add a line about the fix under Fixed.
When making a release you would change Unreleased to the version being released, add a date, update the links at bottom of the changelog, and add a new, empty Unreleased section at the top. If the changes were kept on top of as they were made then the maintainer cutting the release shouldn't need to make any changes to the content of the changelog for that release.

If we add it to this SDK, it should also be added to all the other SDKs for consistency.

I agree that we would want to adopt this across the board.

Closing this out until we decide to revisit.

Closing this out until we decide to revisit.


[FEATURE] Make the Views.WindowsForms and Views.WPF actually target .NET Core

Is your feature request related to a problem? Please describe.
Right now, installing the SkiaSharp.Views.WindowsForms or SkiaSharp.Views.WPF packages will give a warning saying that it is not targeting the right thing and all that.
Describe the solution you'd like
We would like a nice package that targets both net45 and netcoreapp
Describe alternatives you've considered
We can use the NoWarn feature, but that is extra work that is unnecessary.

I might be able to help get dual targeting working for View.WPF.

Currently, View.WPF references on NuGet packages OpenTK and OpenTK.GLControl, but the project still compiles if they are removed.
Are these

I might be able to help get dual targeting working for View.WPF.

Currently, View.WPF references NuGet packages OpenTK and OpenTK.GLControl, but the project still compiles if they are removed.
Are these references needed?  Are they only runtime dependencies on them?

(After removing references to OpenTK and OpenTK.GLControl...)
I can get View.WPF to build without any warnings when targeting either net45 or netcoreapp3.0 but not when targeting both.  I could share more details about this, but there is another possibility.
Instead of targeting net45 and netcoreapp3.0, what about targeting net472 and netcoreapp3.0?
This makes things easier, because Views.Desktop.Common.NetStandard targets netstandard2.0, so both net472 and netcoreapp3.0 can target that (source).

Even after removing the references to OpenTK and OpenTK.GLControl and dual targeting net472 and netcoreapp3.0, I still had a problem (copying a pdb file).  I can share more details about this as well if this is the direction that should be taken.

I can get View.WPF to build without any warnings when targeting either net45 or netcoreapp3.0 but not when targeting both. I could share more details about this...

Quoting from https://github.com/mono/SkiaSharp/issues/1011#issue-523581067

Because during compilation it took the dll from SkiaSharp.Views.Forms instead of SkiaSharp.Views.Forms.WPF.  I think the error is that SkiaSharp.Views.Forms.WPF has a dependency on SkiaSharp.Views.Forms. (which it shouldn't have because both SkiaSharp.Views.Forms.WPF and SkiaSharp.Views.Forms provide SkiaSharp.Views.Forms.dll).  And nuget decides in my case to use the SkiaSharp.Views.Forms nuget package dll which does not work on WPF.

I think this describes a problem I had as well.  Both SkiaSharp.Desktop and SkiaSharp.NetStandard produce a DLL named SkiaSharp.dll.  Then when dual targeting, the target that comes second in the list fails to find the appropriate SkiaSharp.dll.

I might be able to help get dual targeting working for View.WPF.

THANKS!

It could also be an issue with all the old versions of things used in the master branch. Try using the dev/vs-2019 branch. I will be merged that in soon and it makes life much easier. I think the multi-targeting is broken a bit with the old .net core 2.1

Both SkiaSharp.Desktop and SkiaSharp.NetStandard produce a DLL named SkiaSharp.dll. Then when dual targeting, the target that comes second in the list fails to find the appropriate SkiaSharp.dll.

...Try using the dev/vs-2019 branch. ...

It is better.  That problem with SkiaSharp.dll is gone, but for simplicity before, I didn't mention that a similar problem exists where SkiaSharp.Views.Desktop.Common and SkiaSharp.Views.Desktop.Common.NetStandard both produce a DLL named SkiaSharp.Views.Desktop.Common.dll.
I think I can combine SkiaSharp.Views.Desktop.Common and SkiaSharp.Views.Desktop.Common.NetStandard into one project called SkiaSharp.Views.Desktop.Common that multitargets netstandard2.0, net45, and netcoreapp3.0.
Does that sounds like a good idea?

Does that sounds like a good idea?

It does :)
PR merged.

Currently View.WPF references NuGet packages OpenTK and OpenTK.GLControl, but the project still compiles if they are removed.
Are these references needed? Are they only runtime dependencies on them?

I think these OpenTK dependencies are now the only obstacle preventing View.WPF from targeting .NET Core.
Does anyone know anything about these dependencies?

Maybe the references can be removed for WPF.
But, I see the OpenTK is built for net20, so even if the references are not "official" .net core, it should work...
But, for WPF, if we aren't using it, then we can remove it.

What is the actual reason you can't target netcoreapp with a reference to OpenTK? Is it a compiler error? Runtime error?

But, I see the OpenTK is built for net20, so even if the references are not "official" .net core, it should work...
...
What is the actual reason you can't target netcoreapp with a reference to OpenTK? Is it a compiler error? Runtime error? I know I have a sample netcoreapp3.0 that uses the WPF views as is.

My concern is just these warnings.
'OpenTK 3.0.1' was restored using '.NETFramework,Version=v4.6.1, .NETFramework,Version=v4.6.2, .NETFramework,Version=v4.7, .NETFramework,Version=v4.7.1, .NETFramework,Version=v4.7.2, .NETFramework,Version=v4.8' instead of the project target framework '.NETCoreApp,Version=v3.0'. This package may not be fully compatible with your project.
'OpenTK.GLControl 3.0.1' was restored using '.NETFramework,Version=v4.6.1, .NETFramework,Version=v4.6.2, .NETFramework,Version=v4.7, .NETFramework,Version=v4.7.1, .NETFramework,Version=v4.7.2, .NETFramework,Version=v4.8' instead of the project target framework '.NETCoreApp,Version=v3.0'. This package may not be fully compatible with your project.

I also noticed that these packages target .NET Framework 2.0.  It does seem like a .NET Core 3.0 application should be able to utilize .NET Framework 2.0 dependencies (based on this table).

Maybe the references can be removed for WPF.
...
...if we aren't using it, then we can remove it.

They aren't being used at compile time.  That much is for sure.  Sometimes though a NuGet package needs to be included because of a runtime-only dependency.  Maybe that is the case here.  I don't know.
Even if the compatibility isn't perfect or these dependencies can be removed, adding the dual target seems better than the status quo.  I will make a PR soon.
P.S.
The next major version of OpenTK will target .NET Standard 2.0 https://github.com/opentk/opentk/issues/823

Oh no! 😭
https://github.com/opentk/opentk/issues/823:

Change all namespaces to the new root

The new namespace will be OpenToolkit - which is a nice name, just a bit more work ;)

Should be able to make quick work of it via find/replace.

I'm a bit more worried about people updating the package and then blowing up at runtime or something.

I see the actual WPF nuspec did not depend on OpenTK, so I think we should be good with the updates. Either that or I have been release broken packages 😆

Great observation :)
PR #1078 up for that change

This is now complete since #1067 and #1069

I didn't make any changes to Views.Windows Forms.  I think it still targets only .NET Framework.
Should this issue stay open until it is also dual targeting with .NET Core?

Yep, it should. Thanks.


Fix double round-brackets cases

From https://github.com/ricosjp/ruststep/pull/208#discussion_r853985829

https://github.com/ricosjp/ruststep/pull/208#discussion_r853985829 comment is incorrect.


Update bash script for best practices

Signed-off-by: Matt Langbehn<EMAIL_ADDRESS>

LGTM. I didn't test. I'll let you do the test for devops to make sure it works.


feat: add show only upcoming auction results filter

[THIS CAN BE REVIEWED]
This PR resolves CX-3222
Description

Allow filtering for upcoming lots

https://user-images.githubusercontent.com/11945712/207573835-0bd3feb5-8066-4a51-8e64-df238e2f1d24.mov
cc @egdbear

Blocked by https://github.com/artsy/metaphysics/pull/4580
PR Checklist

[ ] I tested my changes on iOS / Android.
[ ] I added screenshots or videos to illustrate my changes.
[ ] I added Tests and Stories for my changes.
[ ] I added an app state migration.
[ ] I hid my changes behind a feature flag.
[ ] I have prefixed changes that need to be tested during a release QA with [NEEDS EXTERNAL QA] on the changelog.

To the reviewers 👀

[ ] I would like at least one of the reviewers to run this PR on the simulator or device.

Changelog updates
Changelog updates

Cross-platform user-facing changes

iOS user-facing changes

Android user-facing changes

Dev changes

Need help with something? Have a look at our docs, or get in touch with us.

❤

Merging this to get it to the release hopefully


Broken Download for WAILA Harvestability

Trying to download the Mianite Reborn modpack, and it appears that the download link for WAILA Harvestability is down.
http://solder.endermedia.com/repository/mods/wailaharvestability/wailaharvestability-1.7.10-1.1.6.zip
I've tried substituting the downloads in for other mods and it works fine for others - is there a way I can get the file by other means, or if the download link could be fixed?

@ThisIsMARS You would need to contact the maintainer of the EnderMedia Solder to get it fixed.

Ahahaha, I was working on a new project and when adding a new version of that I accidentally nuked the old one, feel free to mark this as resolved, even though it's invalid for this GitHub.


Ref is saved as subdocument

I'm referencing another typegoose object but for some reason it is saved as the full object as subdocument in the database.
The Invoice class has a reference to Organization:
export class Invoice extends Typegoose {
  @prop({
    required: true,
    ref: Organization
  })
  organization: Ref<Organization>
}

It is saved in this method from the Organization class:
@instanceMethod
async getOrCreateInvoice(this: InstanceType<Organization>) {
     const invoice = new InvoiceModel()
     invoice.organization = this
    await invoice.save()
    // etc
}

With arrays and itemRef it works as expected, ie it only saves ObjectId's.
Any ideas?

This is my workaround:
  invoice.organization = mongoose.Types.ObjectId(this.id)

But I'd rather not have to use this

@Christilut I have the same issue. It just started randomly happening and breaking everything.

@Christilut The only thing i can think of is i added (below) instead of just using one connection.
export module mongodb {
    export let site: Connection = null;
    export let app: Connection = null;

    mongoose.Promise = require( 'bluebird' );
    app = mongoose.createConnection( MONGODB_APP_URI_LOCAL, {} );
    site = mongoose.createConnection( MONGODB_URI, {} );
}

I'm not sure how this relates to my issue actually

Those are my models, and my code being used.
let user = await UserModel.findOne( { _id: '5bae832f5ab07f0e68e89451' } );
let cart1 = await CartModel.findOne( { _id: '5bae832f5ab07f0e68e89470' } );
let cart2 = await CartModel.findOne( { _id: '5bae832f5ab07f0e68e89475' } );
let log1 = await LogModel.findOne( { _id: '5bbe1f6cc855056010a0e760' } );

cart1.user = user;
cart2.user = user;
log1.user = user;

await cart1.save();
await cart2.save();
await log1.save();

cart 1 and 2 both save user as a subdocument. log saves user correctly as a ref

Ah okay. I got confused by the 2 mongoose connections which I didn't think relate.
What you can do is check the LogModel.schema and CartModel.schema after it is constructed, it contains schema definitions and might show some difference between the two.

Looks like CartModel.schema User turns into a mixed
[Node]     user:
[Node]       Mixed {
[Node]         path: 'user',
[Node]         instance: 'Mixed',
[Node]         validators: [],
[Node]         setters: [],
[Node]         getters: [],
[Node]         options: [Object],
[Node]         _index: null,
[Node]         defaultValue: null,
[Node]         '$parentSchema': [Circular],
[Node]         [Symbol(mongoose:schema_mixed)]: true },

Where as LogModel ends up being correct as ObjectID
[Node]      user:
[Node]       ObjectId {
[Node]         path: 'user',
[Node]         instance: 'ObjectID',
[Node]         validators: [],
[Node]         setters: [],
[Node]         getters: [],
[Node]         options: [Object],
[Node]         _index: null,
[Node]         '$parentSchema': [Circular] },

I'm seeing the same thing here.

@Christilut My hacky fix for now is to implement this on my models.
@pre<Cart>( 'save', function ( next ) {
    fixRef( this, 'user' );
    // fixRef( this, 'anotherRefProp );
    next();
} )

import mongoose from 'mongoose';

export function fixRef( scope, ref: string ): void {
    if ( scope[ ref ] && scope[ ref ]._id ) { scope[ ref ] = mongoose.Types.ObjectId( scope[ ref ]._id ); }
}

Thanks for sharing. Maybe someone with Typegoose knowledge can find the problem. I'm not an expert enough in TS for this

One thing I did notice about this issue in particular on my end, was not every Cart has a user at the moment in my MongoDB. So TECHNICALLY it could be a User ref or undefined. Does your DB invoice.organization all have values? Maybe Mongoose scans the DB to validate the models that are created by us?

Yeah with my test setup there is only 1 invoice in the database. So I don't think that's it. It seems the schema generation is going wrong somewhere. Typegoose is kind of black magic to me since I don't have that much Typescript knowledge.

@Christilut  @JakeAi @szokodiakos I'm trying to store a simple two-field Typegoose object (which has to be a Typegoose objject because one of the two fields is a Ref and the other field just defines an enum scope) as a subdocument but I'm running across what seems to be the default behavior of a new collection being created instead of a subdocument. did you figure out the key to switching between the creation of subdocuments and collections? I see in the example @JakeAi  provided that his log model defined a collection name in the schemaOptions. In my case, I'm not passing collection as an option in schemaOptions in any of my model classes and the default behavior is that mongo collections are created.

@Christilut @JakeAi @gentleShark is this still a problem with typegoose 5.8.1+?
when yes, could someone provide an reproduce-able code, that is not so long, thanks?

not sure if it's still a problem. I refactored my typegoose models to work around the problem. here's a simple setup to test to see if sub-documents with refs are possible now:
export class Car extends Typegoose {
	@Field()
	readonly _id: ObjectId;

	@prop()
	make: string;

	@prop()
	model: string;
}

export class User extends Typegoose {
	@Field()
	readonly _id: ObjectId;

	@prop()
	name: string;
}

export class CarPurchase extends Typegoose {
	@Field()
	readonly _id: ObjectId;

	@prop()
	buyer: Ref<User>;

       @prop()
	referral: Referral;
}

export class Referral {
    @prop()
    referrer: Ref<User>;

    @prop()
    referralDiscount: number;
}

@gentleShark was the problem only with type-graphql or without too? (not tested yet, just noticed @Field()

the @Field() just snuck in there because I was copying from a model that
was also using type-graphql but the problem I encountered when trying to
store refs in sub-documents was strictly a typegoose issue.
On Fri, Jul 26, 2019, 6:59 AM hasezoey<EMAIL_ADDRESS>wrote:

@gentleShark https://github.com/gentleShark was the problem only with
type-graphql or without too? (not tested yet, just noticed @Field()
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/szokodiakos/typegoose/issues/204?email_source=notifications&email_token=AANS6TNWOYLEVH5OVUGXIP3QBLKKBA5CNFSM4FYSLDM2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD24IRXA#issuecomment-515410140,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AANS6TKAWTRKZUHRWDC2J33QBLKKBANCNFSM4FYSLDMQ
.

@gentleShark just wanted to confirm that it is with only typegoose, thanks, will test later.

@gentleShark i "improved" your example with:

removing type-graphql things
adding { ref: } to the prop options (where they should be)

and got no error, just works fine:
import * as mongoose from "mongoose";
import { prop, Ref, Typegoose } from "./typegoose/src/typegoose";

class Car extends Typegoose {
    @prop()
    public make: string;

    @prop()
    public model: string;
}

class User extends Typegoose {
    @prop()
    public name: string;
}

class Referral extends Typegoose {
    @prop({ ref: User })
    public referrer: Ref<User>;

    @prop()
    public referralDiscount: number;
}

class CarPurchase extends Typegoose {
    @prop({ ref: User })
    public buyer: Ref<User>;

    @prop({ _id: false })
    public referral: Referral;

    @prop({ ref: Car })
    public car: Ref<Car>;
}

const CarModel = new Car().getModelForClass(Car);
const UserModel = new User().getModelForClass(User);
const CPModel = new CarPurchase().getModelForClass(CarPurchase);
const ReferralModel = new Referral().getModelForClass(Referral);

(async () => {
    mongoose.set("debug", true);
    await mongoose.connect(`mongodb://mongodb:27017/`, {
        useNewUrlParser: true,
        useFindAndModify: true,
        useCreateIndex: true,
        dbName: "verify204",
        user: "user",
        pass: "passwd",
        authSource: "admin",
        autoIndex: true
    });

    const car = await CarModel.create({ make: "something", model: "TeslaS" } as Partial<Car>);
    const user = await UserModel.create({ name: "someone" } as User);
    const rfl = await ReferralModel.create({ referralDiscount: 1, referrer: user } as Partial<Referral>);
    const cp = await CPModel.create({ buyer: user, car, referral: rfl } as Partial<CarPurchase>);

    const found = await CPModel.findById(cp.id).populate("car").populate("buyer").exec();
    console.log(found);

    await mongoose.disconnect();
})();

so i consider this as solved?
@Ben305 @Christilut

I'll have to refactor my code with the new typegoose version and run my tests. I'll try to do this in the next few days or so

as a note for anyone coming by, in this comment is an example extension for typeguards

Thanks for the help on this topic here.
I upgraded my typegoose to the lastest 5.9.0 version and I still have this issue.
In my case, I am trying to update a reference in a subObject of my model, and in that case it updates it as an object instead of only the object id.
@hasezoey The only difference I see with your example is 'as Partial', could this have any impact on the expected result?

@hasezoey The only difference I see with your example is 'as Partial', could this have any impact on the expected result?

you can just use as ClassName, but at somepoint (i dont know when) it will get wrong, and wants the functions form the Typegoose class, thats why i make it as as Partial<ClassName> because so it dosnt get this error, but makes every property "optional", and thats a problem, that i will try to fix in #365, you could use Exclude<ClassName, something>, but currently i dont know how to use this and has potential issues with virtual functions & instancemethods...
(and the as something  is just to get at least some infomation of what properties can get set with type infomation, even if it is just set as optional by as Partital<ClassName>)
PS: sorry for this long text

@tmarhem could you give me an reproduceable example of how you use it that results in the object getting stored?

`import { User } from './userModel';
import { pre, prop, arrayProp, Ref, Typegoose } from 'typegoose';
import { Skill } from './skillModel';
import { Client } from './clientModel';
import { Shared } from '../shared';
enum State {
IN_DEVELOPMENT = 'IN_DEVELOPMENT',
IN_PRODUCTION = 'IN_PRODUCTION',
STAND_BY = 'STAND-BY',
NEGOCIATING = 'NEGOCIATING',
STOPPED = 'STOPPED',
CANCELED = 'CANCELED',
}
enum Type {
ER = 'ER',
IR = 'IR',
CIR = 'CIR',
}
enum Job {
UXDESIGNER = 'UXDESIGNER',
DEVELOPER = 'DEVELOPER',
LEADTECH = 'LEADTECH',
SCRUMMASTER = 'SCRUMMASTER',
MANAGER = 'PRODUCTOWNER',
PROJECTLEADER = 'PROJECTLEADER',
}
class ProjectSettings extends Typegoose {
@prop({
default: 'NA',
})
gitlabId!: string;
@prop({
    default: 'NA',
})
openprojectName!: string;

@prop({
    default: 'NA',
})
jenkinsName!: string;

@prop({
    default: 'NA',
})
gkeName!: string;

}
class UserOfProject extends Typegoose {
@prop({
ref: User,
})
user!: Ref;
@prop({
    enum: Job,
    required: true,
    default: Job.DEVELOPER,
    uppercase: true,
})
projectJob?: Job;

@prop() tjm?: Number;

}
class Project extends Typegoose {
@prop({
required: true,
})
name?: string;
@prop()
description!: string;

@prop({
    default: Date.now(),
})
dateCreated?: Date;

@prop({
    default: 0,
})
progress?: number;

@arrayProp({
    items: UserOfProject,
})
users?: UserOfProject[];

@arrayProp({
    items: UserOfProject,
})
positions?: UserOfProject[];

@prop() entity?: string;

@prop({
    ref: Client,
})
client?: Ref<Client>;

@prop({})
projectSettings?: ProjectSettings;

@arrayProp({ itemsRef: Skill })
skills?: Ref<Skill>[];

@prop({
    enum: State,
    required: true,
    default: State.STAND_BY,
    uppercase: true,
})
state?: State;

@prop({
    enum: Type,
    default: Type.CIR,
    uppercase: true,
})
type?: Type;

@arrayProp({ items: String })
otpCodes?: string[];

@arrayProp({ itemsRef: { name: 'UserModel' } })
admins?: Ref<User>[];

}
const UserOfProjectModel = new UserOfProject().getModelForClass(UserOfProject);
const ProjectModel = new Project().getModelForClass(Project);
export { Project, UserOfProject, ProjectModel, UserOfProjectModel, State, Type };
`
That is what my model looks like, reproduceable example is complicated with all the classes interactions though. The thing is when I try to update the "skills" property, everything goes well and the populated skill "casts" as its object id upon saving.
Although, when I do the same with the "positions" property, which is a 'UserOfProject' subobject, it does not work and saves the whole object in positions[x].user

@tmarhem, because it is so long, could you setup an reproduce-repo? (that includes everything needed and how its called?)

@hasezoey as the project in our private company repository and this is a specific part of it I don't think I will be able/authorized to make a fucntionning repo out of it.
Concerning the Ref subject at positions, the thing is my UserOfProject is a subobject but not a reference. I did this to better separate the different parts of my main class Project.
In the database, UserOfProject is a plain object, not a reference,but it does contain a reference to a user. That is why it has no Ref in my model. I actually tried to use it as a ref just in case, but it broke the thing completely.
Could it be the fact of including SubClasses as plain objects and not references that goes bad ?

as plain objects

typegoose dosnt support plain objects
only nested schemas are supported (like you have done in the (long) example above)

I don't think I will be able/authorized to make a functioning and open repo out of it.

i would just need to know the models that are used (stripped down to only the necessary parts) and how it is called to investigate this (i dont need the whole project...)

PS: sorry if some assumptions in this comment are wrong, because my last response is older then 6 days now, in the mean time i had other issues and working on release 6

Here's an extract from Typegoose README:
class Job {
  @prop()
  title?: string;

  @prop()
  position?: string;
}

class Car extends Typegoose {
  @prop()
  model?: string;
}

class User extends Typegoose {
  @prop()
  name?: string;

  @prop({ required: true })
  age!: number;

  @prop()
  job?: Job;

  @prop({ ref: Car })
  car?: Ref<Car>;
}

If I translate it to my Issue it would be
class Job {
  @prop(
ref: Car,
)
  jobCar?: Ref<Car>;
}

class Car extends Typegoose {
  @prop()
  model?: string;
}

class User extends Typegoose {
  @arrayProp(
items: Jobs,
)
  jobs?: Job[];

@arrayProp(
itemsRef:Car,
)
cars?:Ref<Car>[],

}

Here, when I get the document and later save it, "cars" objects would be casted into their IDs but "jobCar" would not and saves as plain object.
So I guess I cannot use 'Job' as a Subclass containing a Ref if it is not going to be referenced as a Ref itself in the parent Object(here User)?
I'll try to book time to make a repo out of this example next week.

will investiage this, after i finished the next feature for r6

@tmarhem @Christilut @JakeAi is this issue still a problem with 5.9.x / v6.0.0?
when yes, please open a new issue at the new repo, thanks
@Ben305 this can be closed as "stale" / "fixed?"


Remove application cr from kubeflow overlay

All Kubeflow components should have this removed per: https://github.com/kubeflow/manifests/issues/1715

thanks @pvaneck
/lgtm

/approve


Can we use Setfit just for finetuning ST Embedding model to create embeddings

Hello,
According to the documentation, SetFit is described as "a model framework to efficiently train text classification models with surprisingly little training data." Does this imply that using SetFit is only meaningful when applied to classification tasks, rather than generating embeddings? Or can we leverage SetFit to train a Sentence Transformer - Embedding model specifically for generating embeddings, without engaging in text classification?
https://huggingface.co/docs/setfit/en/conceptual_guides/setfit

Hello!
Yes, this is completely possible. However, at some point it might make some more sense to directly use Sentence Transformers.

Tom Aarsen

Thanks @tomaarsen for clarifying. We conclude that it's suitable to utilize the Sentence Transformer for training Embedding models for embedding tasks and to employ SetFit for training Embedding models for classification tasks.


Fix incorrect parameter name in doc comment

The resources parameter was renamed in this commit, but the accompanying parameter comment was left unchanged.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.

Thanks!


Plotly output generated with 'notebook' renderer not shown after re-opening notebook

Environment data

VS Code version: 1.58.0-insider
Jupyter Extension version (available under the Extensions sidebar): v2021.7.978384885
Python Extension version (available under the Extensions sidebar): v2021.7.969414671-dev
OS (Windows | Mac | Linux distro) and version: Win 10.0.19043
Python and/or Anaconda version: 3.9.0 64-bit
Type of virtual environment used (N/A | venv | virtualenv | conda | ...): N/A
Jupyter server running: Local

Expected behaviour
Plotly graphs are shown after re-opening a saved Jupyter notebook with these graphs
Actual behaviour
The ouput is blank after re-opening a notebook that contains cell output using the Plotly 'notebook' renderer. The graphs are shown correctly after re-executing the affected cells. Related to the fix for #6334 and merge #6318 with which support for the 'notebook' renderer was added.
Log output:
VM12:5 Uncaught TypeError: require.undef is not a function
    at <anonymous>:5:17
    at h (vscode-webview://f620ad82-e8b9-40f2-a1ab-808101a5c2a2/notebookWebviewPreloads.js:3)
    at vscode-webview://f620ad82-e8b9-40f2-a1ab-808101a5c2a2/notebookWebviewPreloads.js:3
resourceLoading.ts:82 Error: Unable to read file 'c:\Temp\plotly.js' (Error: Unable to resolve non-existing file 'c:\Temp\plotly.js')
    at ai.doReadFileStream (fileService.ts:539)
    at async Object.w [as loadLocalResource] (resourceLoading.ts:68)
    at async u.loadResource (baseWebviewElement.ts:530)
plotly.js:1 Failed to load resource: the server responded with a status of 404 ()
VM14:4 Registering custom require.js for Jupyter Kernel

The logs indicate that require.js is available only after the initial try to display the cell content which fails with 404.
Steps to reproduce:
import plotly.express as px
df = px.data.gapminder()
fig = px.scatter(df, x="gdpPercap", y="lifeExp", animation_frame="year", animation_group="country",
           size="pop", color="continent", hover_name="country",
           log_x=True, size_max=55, range_x=[100,100000], range_y=[25,90])
fig.show(renderer='notebook')

Run notebook confirming that graphs are working normal
Save notebook
Close and re-open notebook
Only blank cell output is shown where the graph should be
Re-running the notebook creates the graph again

Logs

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

XXX

I believe the root cause of this is that until the kernel is run, the preloads won't load and therefore require.js isn't available.

Adding to this, I can copy such a cell with blank output to another opened notebook and the contents will show up again. Pasting into the same notebook is a bit strange but also reveals the cell output.

@rchiodo I might have been wrong about not needing require.js in the notebook renderers. Having it there might do the trick for when the preloads have not run yet.

Please reopen if this is not resolved in the latest official release.

Please reopen if this is not resolved in the latest official release.

Still the same behavior with latest official version 1.60 as well as insiders version1.61 (Jupyter extension v2021.8.2031190714).
The log is a bit different now:
console.ts:137 [Extension Host] (node:8036) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.(Use `Code --trace-deprecation ...` to show where the warning was created)
v @ console.ts:137
console.ts:137 [Extension Host] Git installation not found.
v @ console.ts:137
VM9:1 Uncaught ReferenceError: require is not defined
    at <anonymous>:1:17
    at S (notebookWebviewPreloads.js:3)
    at notebookWebviewPreloads.js:3
console.ts:137 [Extension Host] runCommand C:\Users\Panisher\AppData\Local\Programs\Python\Python39\python.exe Array(2) Object
console.ts:137 [Extension Host] runCommand C:\Users\Panisher\AppData\Local\Programs\Python\Python39\python.exe Array(9) Object
VM10:14 Registering custom require.js for Jupyter Kernel
eval @ VM10:14
VM10:2151 Window.require = function
VM10:2152 Window.requirejs = function
console.ts:137 [Extension Host] Found compatible PlatformIO Core 5.2.0a8 -> C:\Users\Panisher\.platformio\penv\Scripts\platformio.exe
console.ts:137 [Extension Host] PIO Core State Object
VM17:42 IPyWidget kernel initializing...
VM17:42 Received IPyWidgetMessages.IPyWidgets_IsReadyRequest
console.ts:137 [Extension Host] Starting WebSocket: RAW/api/kernels/17a05c28-bfb9-4f2f-9cd2-fc8e3bcf01cc
console.ts:137 [Extension Host] Kernel: connected (17a05c28-bfb9-4f2f-9cd2-fc8e3bcf01cc)
VM17:42 Received IPyWidgets_kernelOptions in ScriptManager
VM17:42 Received IPyWidgetMessages.IPyWidgets_kernelOptions
VM17:10 Starting WebSocket: BOGUS_PVSC/api/kernels/17a05c28-bfb9-4f2f-9cd2-fc8e3bcf01cc
VM17:10 Kernel: connected (17a05c28-bfb9-4f2f-9cd2-fc8e3bcf01cc)
DevTools failed to load source map: Could not parse content for vscode-webview://bcdea2d4-6dcb-4480-8fbb-b7b204548a30/ipywidgets.js.map: Unexpected end of JSON input
DevTools failed to load source map: Could not parse content for vscode-webview://bcdea2d4-6dcb-4480-8fbb-b7b204548a30/ipywidgetsKernel.js.map: Unexpected end of JSON input

This is a problem with require.js not being made available.

Internal notes:
Upstream issue https://github.com/microsoft/vscode/issues/132557
We do have an alternative as well.
Will be tackled as part of separating renderer extension.

Repros with VSCode insiders 1.61-insiders, Jupyter v2021.9.1001261101 and Jupyter Renderers v1.0.1.

the require exposed by VS Code isn't sufficient, we need define and a few others exposed as well.
Looks like libraries are expecting require.js API methods, not just an AMD with require function.

Related: #4364.
Both of these would likely be resolved by fixing require in VS code.

Forgot to do this in VS Code, will assign to myself to get this done.

@jackthepanisher
I've found that the exact same code does not work in Jupyter Lab no Jupyter Notebooks.
As this isn't a problem with VS Code, I'm closing this issue.

@DonJayamanne, it does work for me using Jupyter Notebook but one needs to be careful about the notebook being trusted otherwise it would not show any plots. For Jupyter Lab, I believe it does not support the 'notebook' renderer at all.
The main reason I still need the 'notebook' renderer at times is a) it supports export to HTML with the plots included, b) plots will dynamically scale to the available cell size and in the past we also had c) 'vscode' renderer would not support Plotly animations - but c) is fixed now. For a) one could use 'vscode+notebook' as renderer setting. So the primary reasons to use the 'notebook' renderer are already dimmishing. Another thing to note is that opening the notebook after VS Code startup is just fine, it's just a start-up issue for already opened notebooks.

thanks for getting back, I'll try this once again.

I'm not sure if something like this already exists but I could imagine some refresh functionality similar to a browser refresh for the Jupyter notebook cells that maybe is handled by the Jupyter Notebooks Renderers extension for only specific cases, like Plotly. It could be triggered after VS Code startup such that the cell contents are re-rendered when all the required functionality is eventually available. Something like this could potentially also be used for other events like a re-render of a cell after re-size, e.g. for the Plotly 'vscode' case. Of course that should make sense for a broader use and not just be an isolated, single case solution.

@jackthepanisher  This will be fixed in the next version (I've tested this and it now works in the latest dev bits).
Fixed here https://github.com/microsoft/vscode-notebook-renderers/pull/130
Closing with instructions for testing in the next pre-release of the Jupyter exesnion and latest version of Jupyter Notebook Renderers
Instructions for testing - see the instructions at the top of the issue.

@DonJayamanne I tried to run the original code snippet in the issue description but the output is not rendered and here are the logs in devtools
Failed to load resource: the server responded with a status of 404 ()
loader.js:277 Loading "plotly" failed
_ @ loader.js:277
loader.js:278 Error: [object Event]
    at Object.E [as ensureError] (loader.js:260:22)
    at s._createLoadError (loader.js:1512:33)
    at s._onLoadError (loader.js:1523:30)
    at a (loader.js:1669:27)
    at Object.errorback (loader.js:1689:25)
    at e.triggerErrorback (loader.js:635:36)
    at loader.js:622:151
    at HTMLScriptElement.a (loader.js:658:17)
_ @ loader.js:278
loader.js:279 Here are the modules that depend on it:

I also get error messages in devtools with a blank cell being output.
  ERR Cannot read properties of null (reading 'map'): TypeError: Cannot read properties of null (reading 'map')
    at g (c:\Users\raymondzhao\.vscode-insiders\extensions\ms-python.isort-2022.3.12991021\dist\extension.js:1:214932)
    at Object.asCodeAction (c:\Users\raymondzhao\.vscode-insiders\extensions\ms-python.isort-2022.3.12991021\dist\extension.js:1:225872)
    at c:\Users\raymondzhao\.vscode-insiders\extensions\ms-python.isort-2022.3.12991021\dist\extension.js:1:154586
    at x.provideCodeActions (c:\Users\raymondzhao\AppData\Local\Programs\Microsoft VS Code Insiders\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:94:43007)
VM42:5 Uncaught TypeError: require.undef is not a function
    at <anonymous>:5:17
    at domEval (index.js:1302:15)
    at renderHTML (index.js:1318:3)
    at async Object.renderOutputItem (index.js:1456:11)
    at async X.renderOutputItem (notebookWebviewPreloads.js:3:17746)
    at async Object.render (notebookWebviewPreloads.js:3:21055)
    at async se.render (notebookWebviewPreloads.js:3:32305)
    at async ie.renderOutputElement (notebookWebviewPreloads.js:3:29162)

@rebornix @rzhao271
Please confirm you have the following:

Latest vscode insiders
Latest pre-release version of Jupyter (version from 2 days ago or greaterv2022.10.1103*)
Latest version of Jupyter Notebook Renderers extension 1.0.11

Hmm never mind, looks like version 1.0.11 has not been published, something wrong the the vsce package

@rebornix @rzhao271
Please could you install the latest version of the Notebook Renderer extesnion 1.0.12 from the marketplace and re-test this.

LGTM now, thanks!


FIX: update julia_index to quantecon-jl for new org site

This PR updates some broken links due to migration of org site

Thanks @mmcky


Update grammars.coffee with MagicPython syntax

MagicPython is a very nice, smarter python syntax.
Fixes #661, #649, #640, #633, which are all the same issue.

Thank you! Adding you on as a collaborator.


Fix VPC Connector annotations place in CloudRunJob

Add annotations inside "spec.template.metadata.annotations" according to docs: https://cloud.google.com/run/docs/reference/yaml/v1

Closes #169
Example

Screenshots

Checklist

[x] References any related issue by including "Closes #" or "Closes ".

If no issue exists and your change is not a small fix, please create an issue first.

[x] Includes tests or only affects documentation.
[x] Passes pre-commit checks.

Run pre-commit install && pre-commit run --all locally for formatting and linting.

[] Includes screenshots of documentation updates.

Run mkdocs serve view documentation locally.

[x] Summarizes PR's changes in CHANGELOG.md

Thanks for working on this! I've been running into the same issue. @ahuang11 @madkinsz Could you help review?

It looks fine to me (but I didn't test it).
The only thing I would add is revising the original test.

It looks fine to me (but I didn't test it).
The only thing I would add is revising the original test.

I updated the test in tests/test_cloud_run.py with the new changes.
Thanks @donjpierce and @ahuang11,
I tested these new changes and it works fine.
I am very expectant to anything.

It looks fine to me (but I didn't test it).
The only thing I would add is revising the original test.

I updated the test in tests/test_cloud_run.py with the new changes.
Thanks @donjpierce and @ahuang11,
I tested these new changes and it works fine.


Fix typo

Remove unnecessary "is" from an option in the quiz of Chapter 6.

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.


Ensure faucet setup runs on BFT node without rollbacks

Issue Number
ADP-970, #2720, #2428
Overview

[x] Ensure faucet setup runs on BFT node, such that rollbacks can't mess it up

Comments

bors try

Hydra failed with
     PATCH /wallets/0000000000000000000000000000000000000000/signatures/utxo_external/0H
     DELETE /wallets/0000000000000000000000000000000000000000/signatures/utxo_external/0H
     CONNECT /wallets/0000000000000000000000000000000000000000/signatures/utxo_external/0H
building of '/nix/store/mmrl1n9p85h3r0r3vqvjwyj4lhiys9h5-cardano-wallet-core-test-unit-2021.6.11-check' timed out after 900 seconds of silence

:flushed: New location.

I believe this means that you owe me 5 kr. :stuck_out_tongue_closed_eyes:

bors try

I believe this means that you owe me 5 kr.

Still worthwhile experiment, plus in that failure, we saw it pass the Sqlite properties and state machine tests.

bors r+

bors r+


notify: 1.0.0 -> 1.0.2

Description of changes
Update to latest upstream release 1.0.2
Adds an update script based on nix-update-script to allow for easier updates
Change log: https://github.com/projectdiscovery/notify/releases/tag/v1.0.2
Things done

Built on platform(s)

[x] x86_64-linux
[x] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
22.11 Release Notes (or backporting 22.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 188163 run on x86_64-linux 1

1 package built:

notify


Minor Issue with example tiddlywiki

I have noticed a minor issue with the example for push in the example wiki.
The count is always displaying 0. I think it should be: [all[current]get[messages-target]indexes[/2]count[]]

Also when using the tm-json-push action, you have the set param, which creates a new tiddler. That seems a little weird to me and I don't see that behavior documented.

I have noticed a minor issue with the example for push in the example wiki.
The count is always displaying 0. I think it should be: [all[current]get[messages-target]indexes[/2]count[]]

Hi @BlakeTacklind ,
Thanks, great catch on the Push example tiddler! This is actually a bug from a change I made with the indexes[] parameter, which now returns the root indexes unless you use the "all" suffix, like so indexes:all[]. With that, the parameter can be either [/2] or [/2/] and it will give an accurate Count.
I will get that tested and updated in the example wiki. Looking at your next comment now.

Ah, I hate throwing away data as well. I mean the computer spent so many cycles to make it


add support for new locales

Summary & motivation
Update types to include new locales for redirectToCheckout

@christopher-stripe can you merge this and cut a new release?
(I don't have write access to this repo)

Sure, I'll publish sometime today (want to merge https://github.com/stripe/stripe-js/pull/64 first too). Also just added you as a repo collaborator.


Azure AI Search rebranding and messaging

Contributing to the Azure SDK
Please see our CONTRIBUTING.md if you are not familiar with contributing to this repository or have questions.
For specific information about pull request etiquette and best practices, see this section.

@mattmsft for visibility

#sign-off

@HeidiSteen thank you for the PR.  @ShivangiReja please let me know if you have any concerns here. Otherwise we will go ahead and merge it on the behalf of the search team.


Edgeville Bugfixing

Remove random fishing spot near edgeville canoe station
Add & handle edgeville normal trees

Added Doris, Edgeville General Store & Richard's Wilderness Cape's Shop

Added Edgeville guard definitions
Added ::pnpc command to transform into npcs to help with npc animations.

Added almost all furnaces from the map to support smelting/crafting actions


[TablePagination] Support unknown total count

This PR  add the possibility to show server side pagination for an unknown number of rows if count -1 is provided.
This will enable the data grid component to be server side rendered without knowing the total amount of rows and the 'labelDisplayedRows' does not have to overwritten for this usecase.

[x] I have followed (at least) the PR section of the contributing guide.

Awesome, I can't wait to put this feature at use in the data grid. For the translations, I believe that the community will jump in if we successfully make it use the feature. So I wouldn't worry too much about it.


fixed typo in pr_master_cg

Hi, I just tried to run the code and found a small typo in the pr_master_cg function. It should be s_k instead of its preconditioned counterpart st_k, which should only be used in the preconditioned variant pr_master_pcg.

sorry for the long delay. Thanks for catching this!


Update limit-egress-traffic.md

@weinong : Thanks for your contribution! The author, @iainfoulds, has been notified to review your proposed change.

Thanks, @weinong
#sign-off


Edgebug

(pasted)

Didn't u forget call this in Hooks.cpp?

Is it working?

Yeah my bad I forgot to call it in hooks I’ll fix it later

And yes it is working but I forgot to call it in hooks

wait no i did call it in hooks

fixed

how do i make it not crouch?

its supposed to crouch

Thank you mate,
Also could you please make jumpbug and movement graph please?

Thank you mate, Also could you please make jumpbug and movement graph please?

just paste from this repo https://github.com/xeyay/Elter-Hook

yo this works only on specific surfaces, does anyone know a fix?

thnx

@csgofever update pls

lmao it's bad


Inapropriate warning messages because of unset variables

[WARN ] [JavaFX Application Thread] [eu.fthevenet.binjr.data.adapters.DataAdapterFactory] Plugins location none does not exist.
[WARN ] [JavaFX Application Thread] [eu.fthevenet.binjr.controllers.MainViewController] Cannot reopen workspace Untitled: file does not exists

I think it'd be appropriate display no warning in these cases:

[ ] plugin location has never been set (eg. first launch);
[ ] there's no previous workspace (eg. first launch).

Should be fixed by 4e548f2


Can't make this work

With Cosmos DB firewall I can't connect from my PC nor from Databrics WS, despite the firewall data being correct.
With firewall off I receive:
users = spark.read.format("com.microsoft.azure.cosmosdb.spark").options(**connectionConfig).load()
users.createOrReplaceTempView("storm")
java.lang.NullPointerException
Py4JJavaError                             Traceback (most recent call last)
<command-1155204555450280> in <module>
----> 1 users = spark.read.format("com.microsoft.azure.cosmosdb.spark").options(**connectionConfig).load()
2 users.createOrReplaceTempView("storm")
/databricks/spark/python/pyspark/sql/readwriter.py in load(self, path, format, schema, **options)
170             return self._df(self._jreader.load(self._spark._sc._jvm.PythonUtils.toSeq(path)))
171         else:
--> 172             return self._df(self._jreader.load())
173
174     @since(1.4)

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

ID: c0bf6fab-8f30-8d9f-97a2-983e03721459
Version Independent ID: 2ed86989-e2ef-a373-e3ce-c0f9af52d719
Content: Tutorial - Implement Azure Databricks with a Cosmos DB endpoint
Content Source: articles/azure-databricks/service-endpoint-cosmosdb.md
Service: azure-databricks
GitHub Login: @mamccrea
Microsoft Alias: mamccrea

@mcurko : I did tried to repro the issue , but unfortunately i was not able to do that . Going ahead and assigning the issue to the content author ,

Hi @mcurko, just received a confirmation from internal team that this needs a deeper analysis.
For a deeper investigation and immediate assistance on this issue, if you have a support plan you may file a support ticket, else could you please send an email to<EMAIL_ADDRESS>with the below details, so that we can create a one-time-free support ticket for you to work closely on this matter.
Subject of the email:
Thread URL:
Subscription ID:
Please let me know here, once you have done the same

I'm not going to open a support ticket since I'm trying this exercises for educational purposes only.

@mcurko Thanks for your response.
As this is not related to document content directly, I would request you to please post your question on MSDN and other forums (stackoverflow), we have our engineers and others who are monitoring them and will be happy to help. These kind of queries are best suited in forums.
If you have a document which you are following and if you think it needs an update, please let us know about that here.
We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply and reopen the issue. We will gladly continue the discussion.
Thank you.


Fix bug where cart item count is wrong; refactor cart item count functions into a selector

fix bug where cart item count is wrong on cart-wrapper component
PR Checklist

[x] The commit message follows our guidelines: https://github.com/graycoreio/daffodil/blob/master/CONTRIBUTING.md#commit
[x] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

PR Type
What kind of change does this PR introduce?
[x] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[x] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[ ] Documentation content changes
[ ] Other... Please describe:

What is the current behavior?
https://github.com/graycoreio/daffodil/issues/108
Issue Number: 108
Fixes: https://github.com/graycoreio/daffodil/issues/108
Does this PR introduce a breaking change?
[ ] Yes
[x] No

Moved stuff into its own selector


Safe path exports

export PATH=$PATH:/Applications/Postgres.app/Contents/Versions/latest/bin

This should be checked for before exporting. Like #151

I'm good how things are right now. Closing.