RunnableParallel input schema is empty if children runnable input schemas use TypedDict's

Checked other resources

[X] I added a very descriptive title to this issue.
[X] I searched the LangChain documentation with the integrated search.
[X] I used the GitHub search to find a similar question and didn't find it.
[X] I am sure that this is a bug in LangChain rather than my code.
[X] The bug is not resolved by updating to the latest stable version of LangChain (or the specific integration package).

Example Code
from typing import TypedDict
from langchain_core.runnables import RunnableParallel, RunnableLambda

class Foo(TypedDict):
    foo: str

class InputData(Foo):
    bar: str

def forward_foo(input_data: InputData):
    return input_data["foo"]

def transform_input(input_data: InputData):
    foo = input_data["foo"]
    bar = input_data["bar"]

    return {
        "transformed": foo + bar
    }

foo_runnable = RunnableLambda(forward_foo)
other_runnable = RunnableLambda(transform_input)

parallel = RunnableParallel(
    foo=foo_runnable,
    other=other_runnable,
)

repr(parallel.input_schema.validate({ "foo": "Y", "bar": "Z" }))
# 'RunnableParallel<foo,other>Input()'

# If we remove the type annotations on forward_foo and transform_input
# args, validate() gives us the right result:
# "RunnableParallel<foo,other>Input(foo='Y', bar='Z')"

Error Message and Stack Trace (if applicable)
No response
Description
When using TypedDict subclasses to annotate the arguments of a RunnableParallel children, the RunnableParallel schema isn't correctly inferred from the children's schemas.
The RunnableParallel schema is empty, i.e. parallel.input_schema.schema() outputs:
{'title': 'RunnableParallel<foo,other>Input',
 'type': 'object',
 'properties': {}}

and parallel.input_schema.validate() returns an empty dict for any input.
This is problematic when exposing the RunnableParallel chain using Langserve, because Langserve passes the endpoint input through schema.validate(), which essentially clears any input as it returns an empty dict
The only workarounds we have found so far are either:

remove type annotations on the RunnableParallel children functions
pipe a RunnablePassthrough before the RunnableParallel : parallel = RunnablePassthrough() | RunnableParallel()

System Info
System Information

OS:  Darwin
OS Version:  Darwin Kernel Version 23.5.0: Wed May  1 20:12:58 PDT 2024; root:xnu-10063.121.3~5/RELEASE_ARM64_T6000
Python Version:  3.10.13 (main, Aug 24 2023, 12:59:26) [Clang 15.0.0 (clang-15<IP_ADDRESS>.5)]

Package Information

langchain_core: 0.2.20
langchain: 0.2.8
langchain_community: 0.2.7
langsmith: 0.1.88
langchain_anthropic: 0.1.20
langchain_cli: 0.0.25
langchain_openai: 0.1.16
langchain_text_splitters: 0.2.2
langchainhub: 0.1.20
langserve: 0.2.2

Packages not installed (Not Necessarily a Problem)
The following packages were not found:

langgraph

Another workaround is to use with_types(input_type=InputData):
parallel = RunnableParallel(
    foo=foo_runnable,
    other=other_runnable,
).with_types(input_type=InputData)

Hi, we're a group of students from the University of Toronto Scarborough who are eager to contribute to LangChain. We're interested in taking a closer look at this bug.

@donttouch22 thanks a lot for looking into this. Let me know if you need any additional details about the issue

@eyurtsev We are trying to debug this issue and were wondering if we can alter get_input_schema() in RunnableParallel. The comment on line 3596 specifically says that the proceeding return is correct but we are encountering the issue when attempting to define the field definitions.
For instance when the error occurs we get the following dictionary compression:
{'root': (<class '__main.Input'>, PydanticUndefined)}
Removing type annotations (like @mobiware mentioned) to avoid the error, we get:
{'bar': (typing.Any, PydanticUndefined), 'foo': (typing.Any, PydanticUndefined)}

@EminGul feel free to ignore the comment. mypy and pydantic don't always play nicely for us (especially since we didn't have the mypy pydantic plugin installed), so the type ignore may be incorrect and mostly driven by all the false positives we've had

Hi @eyurtsev , is the following a good approach to solve the bug?
# In the get_input_schema method of RunnableParallel (line 3580), before returning create_model_v2
...

  for step in steps__.values():
    for k, v in step.get_input_schema(config).model_fields.items()
      if v.annotation != Any and k == “root”:
        return super().get_input_schema(config)

...

Here we are accounting for TypedDict annotations causing the root key-value pair to be returned instead of the proper model structure by returning the parent's schema instead. Our team is wondering if this approach is too direct.


Wait for services to be healthy

Fixes #38

Not exactly sure about the drive-by change in scale() since the docker-rollout script itself currently checks the health status manually. I wonder if this can be dropped if scaling now automatically waits for the additional instances to be healthy.


No rgb mode in measurement script?

I have a light converted with esphome. It has two color modes, color_temp, and rgb.
But I don't see an RGB mode in the measurement script?

rgb mode will be mapped to hs in powercalc code.
So you can just use hs in measure tool.


Can't use dates before 1960?

Hi,
I'm trying to use a gpx feature that has dates taking place in the 1800's in example #9. I'm guessing because the app uses UTC (which was formalized in 1960), dates before that cause the script to break. Is there anyway to get around this?
I'd really like to be able to display dates in the 1800's.
Greatly appreciate any help!

Part of the problem is in timedimension.control.js line 303-322:
_update: function() {
        if (!this._timeDimension) {
            return;
        }
        var time = this._timeDimension.getCurrentTime();
        if (time > 0) {
            var date = new Date(time);
            if (this._displayDate) {
                L.DomUtil.removeClass(this._displayDate, 'loading');
                this._displayDate.innerHTML = this._getDisplayDateFormat(date);
            }
            if (this._sliderTime && !this._slidingTimeSlider) {
                this._sliderTime.setValue(this._timeDimension.getCurrentTimeIndex());
            }
        } else {
            if (this._displayDate) {
                this._displayDate.innerHTML = this._getDisplayNoTimeError();
            }
        }
    },

If dates are before 1/1/1970 the epoch/unix timestamp will be negative. Since the time is checked to see if it is greater than 0, this fails and the NoTimeError message is rendered.
I think this might be fixed by changing line 308 to be:
if (this._timedimension.getCurrentTimeIndex() >=0) {

Also in timedimension.js, the getCurrentTime function returns 0 if the index isn't valid, maybe this should return null instead?
 getCurrentTime: function () {
        var index = -1;
        if (this._loadingTimeIndex !== -1) {
            index = this._loadingTimeIndex;
        } else {
            index = this.getCurrentTimeIndex();
        }
        if (index >= 0) {
            return this._availableTimes[index];
        } else {
            return 0;
        }
    },


Comments behind of text

It would be nice to have also comments starting in the middle of line after some text.
For example I can have this endpoint:
#
# Login endpoint
#
POST /login HTTP/1.1
Content-Type: application/json

{"username":"xyz","password":"xyz"}

HTTP/1.1 200 OK
Content-Type: application/json

{
    "name":"Martin",          # here is user name
    "surname":"Jablecnik"     # here is user surname
}

where I have to comment my fields of output body but I don't want to have it in the real output:

To be honest, I was thinking about something like that, but there's a problem here - by allowing comments like that, we're injecting them into the request body. How do we have to filter out these comments before sending them? And what to do if we send HTML or PDF?... Or even arbitrary text with Content-Type: text/plain?...

So when the comment is inside of the body it can be escaped by some character similar like in programming languages for escaping special character in strings..
Something like this can be solution of the problem:
#
# Login endpoint
#
POST /login HTTP/1.1
Content-Type: application/json

{"username":"xyz","password":"xyz"}

HTTP/1.1 200 OK
Content-Type: application/json

{
    "name":"Martin",          \# here is user name
    "surname":"Jablecnik"     \# here is user surname
}

Or maybe add header X-Enable-Comments: True can be also good solution.
Default will be false and when I will want to enable it for my purpose so I will add there it.

I think it's almost impossible in this form.Take YAML, for example - it has its own comment character # and its own escape character.
The only solution I can think of is to set the width of the body rows in characters X-Body-Row-Length: 40. Everything to the right of the dump should be ignored.

Yes I am also thinking about it that I will use some different file format then only this text dumps..
Can you show me some small example of the yaml file for DeepfakeHTTP?
I didn't see it in your examples.

I didn't impose YAML on you. I just wanted to show you that in case you want to use it, it will be very difficult to recognize where the native YAML comments are and where the dump ones are.
I don't have an example with YAML, but you shouldn't have a problem with YAML.

I just thought that for your purposes
would work fine X-Body-Type: text/template
See example:
#
# Comments example
#
GET /customer2.json HTTP/1.1

HTTP/1.1 200 OK
Content-Type: application/json
X-Body-Type: text/template

<#-- Put your comments anywhere on body -->
<#-- Customer record -->
{
    "id": 123,
    "fname": "John", <#-- First Name -->
    "lname": <#-- ...even here --> "Doe",
    "email"<EMAIL_ADDRESS><EMAIL_ADDRESS>}
<#-- ...and here -->
.


Images are broken

Images are broken on the readme

I have tried viewing the readme file on mobile and desktop as well but I don't see this error.
Can you confirm if you are able to replicate this? And which browser are you using?

I have tried by switching user agent as well and this appears fine. Hence closing the issue.


ci: detect doctests with pytest

Closes #210
Bit of a trivial one -- but potentially makes live easier

Just noticed that the tests are installed with the package. Is that supposed to be the case?

You mean here?:
https://github.com/ianhi/mpl-interactions/blob/bb5f7f21925c2a0068e672c9cdc0f08b97f9da95/MANIFEST.in#L21-L23
That's because I based that on the manifest from the jupyter widget cookiecutter https://github.com/jupyter-widgets/widget-ts-cookiecutter/blob/f8c4f1d2c61374811423eb724b9eb11c6e2f10b1/{{cookiecutter.github_project_name}}/MANIFEST.in#L23-L25 and subsequently never thought about it.

You mean here?

No afaik the manifest tells what is to be shipped in the source code on e.g. pypi
https://pypi.org/project/mpl-interactions/#files
I mean that when you pip install mpl-interactions, you will also see tests in the install folder. Reason is that the tests are in the source code folder and then setuptools will consider them part of the package:
https://github.com/ianhi/mpl-interactions/blob/b5bdb420d0d53c46db823a8734b685f0e386678e/setup.cfg#L38
Pytest suggests this layout, optionally also with the source code under src:
https://docs.pytest.org/en/latest/explanation/goodpractices.html#tests-outside-application-code

thanks!


scons: Reorder options for clarity

Also prefix all thirdparty-related toggles with builtin.

How can we disable features from the build now, like video and audio formats?

How can we disable features from the build now, like video and audio formats?

module_$name_enabled=no. That was already the case since my thirdparty PR, the options' effect does not change with this new PR, only their names.


article needs to include information about SingletonAttribute support and general cleanup

I find this article rather confusing in it's purpose.  Why does the instance id come from the http request?  that seems to only muddy the logic being discussed here, which is code defined instanceId can help make sure you only create a single instance.
furthermore there already is an established language around singleton's in azure functions.  this is touched on at https://learn.microsoft.com/en-us/azure/azure-functions/functions-host-json#singleton which is geared towards the use of the SingletonAttribute as described at https://learn.microsoft.com/en-us/azure/app-service/webjobs-sdk-how-to#singleton-attribute  but this article makes no reference of it.  I think it would be appropriate to describe how Singleton config and attributes are or are not applicable in a durable context.
finally another concept of singleton exists in DF and that is durable entities.  I think this article should make mention and cross link to that, as in many cases that is the implementation of the singleton behaviour developers are actually after.

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

ID: a5d6badc-f611-71ad-b167-aabfb95dc13f
Version Independent ID: db5c72cb-648c-5009-7261-1ba55703c08e
Content: Singletons for Durable Functions - Azure
Content Source: articles/azure-functions/durable/durable-functions-singletons.md
Service: azure-functions
Sub-service: durable
GitHub Login: @cgillum
Microsoft Alias: azfuncdf

@drdamour
Thanks for your feedback! We will investigate and update as appropriate.


fix: Add extra JsonWriterTest to show that the LimitBehavior addition is not breaking

Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly:

[ ] Make sure to open an issue as a bug/issue before writing your code!  That way we can discuss the change, evaluate designs, and agree on the general idea
[ ] Ensure the tests and linter pass
[ ] Code coverage does not decrease (if any source code was changed)
[ ] Appropriate docs were updated (if necessary)

Fixes #<issue_number_goes_here> ☕
If you write sample code, please follow the samples format.

@tkosse


Correct name for Peter Parker alter ego

Spidey feels hurt.

This is my favorite PR ever. Thanks for catching, LGTM @shdblowers.


[Metrics] Add 'age' attribute to deletion-related events

Add new attribute 'age' (calculated as 'deletion time' - 'creation time', in days) for following events:

Deleted dataset
Deleted map

This shouldn't be difficult as both maps and datasets have a created_at property.

No, no. Age is the age of the user

Maybe 'lifetime'?

Ok
On Aug 1, 2016 2:15 PM, "Javier Martin"<EMAIL_ADDRESS>wrote:

Maybe 'lifetime'?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/CartoDB/cartodb/issues/9191#issuecomment-236564574,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAIENTKv8ry4O_1DaHTJsoleEl_IHfHDks5qbeNkgaJpZM4JZedT
.

Hey @jmartinter,
What if I just include a created_at property for dataset/visualizations? Then you could compute the lifetime easily with a query right?
Would that do?

@gfiorav: I'm afraid the API we use for querying events is quite limiting and it doesn't allow to compute fields on-the-fly. We can only filter by existing fields : (

hey @jmartinter remember that the interesting data here is the lifetime of the user

hey @saleiva
No, this attribute states how long a map or dataset has existed in the system. I'm interested in identifying when a customer removes old data (maybe he's out of space or, worse, he's cleaning before churning)
If you feel the 'lifetime' of the user can be useful to segment the events, we can add it as well, as another  attribute.

Hey @jmartinter,
I just noticed you want the lifetime in days. Are you sure? Don't we want minutes at least?
I defaulted to seconds, although that is too much granularity probably. If you want me to change it, it's a commit and then to prod on https://github.com/CartoDB/cartodb/issues/9244

ok!

but we need the lifetime of the user for all the mockups I prepared @jmartinter


added insert_barrier to TrotterQRTE

Summary
Closes #127
Details and comments
This PR adds an argument insert_barriers to TrotterQRTE. If set to True, barriers are added to the Trotter circuit returned by TrotterQRTE.evolve() after the initial state and after each Trotter layer.

 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.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.02%) to 90.557%

Totals

Change from base Build<PHONE_NUMBER>:
-0.02%

Covered Lines:
6473

Relevant Lines:
7148

💛  - Coveralls

#138 (linked above) will fix the copyright issue of other files that this is now failing on.


Need custom table view with uptime

Need to create a custom table view with Computername, LastBootUptime and Uptime properties.

Added new view in https://github.com/jdhitsolutions/MyUptime/commit/7f195d78384148a8807bb0299608ab219f44382c
$a = get-myuptime chi-p50,chi-core01,chi-dc04
$a | Update-MyUptime -Passthru | ft -view uptime


Error: params.option passed as nil to vim.tbl_deep_extend

I do not have a good way to reproduce this right now, but it happens to me multiple times per day. I will try to figure out a way to reproduce it, and post here.
The error is as follows:
Error executing vim.schedule lua callback: vim/shared.lua:0: after the second argument: expected table, got nil
stack traceback:
        [C]: in function 'error'
        vim/shared.lua: in function 'validate'
        vim/shared.lua: in function 'tbl_deep_extend'
        .../packer/opt/cmp-fzy-buffer/lua/cmp_fuzzy_buffer/init.lua:85: in function 'complete'
        ...l/share/nvim/site/pack/packer/opt/cmp/lua/cmp/source.lua:325: in function 'complete'
        ...cal/share/nvim/site/pack/packer/opt/cmp/lua/cmp/core.lua:279: in function 'callback'
        ...l/share/nvim/site/pack/packer/opt/cmp/lua/cmp/source.lua:365: in function ''
        vim/_editor.lua: in function <vim/_editor.lua:0>

and my configuration for this source is simply:
local slash_sources = {}

local ok, _ = pcall(require, "fzf_lib")
if ok then
    table.insert(slash_sources, { name = "fuzzy_buffer", option = { fuzzy_extra_arg = 0 } })
end

cmp.setup.cmdline("/", {
    sources = cmp.config.sources(slash_sources),
})

cmp.setup.cmdline("?", {
    sources = cmp.config.sources(slash_sources),
})

Obviously here we can just check that params.option is not nil (e.g. params.option = vim.tbl_deep_extend('keep', params.option or {}, defaults) but I'm not sure that this is the right way to handle the issue. Mainly - why is option nil in the first place? Is this an issue with nvim-cmp?

I think this is a bug upstream with cmp. I am also getting this exact same problem (options being nil) with other sources.
It usually happens when I cancel a completion event while typing quickly.
I'll try to open a bug upstream.

@tzachar did you end up making one? If not, I am happy to. Granted it won't be super useful as I still do not have a solid way to reproduce this.

Not yet, waiting to get the same error in a more general context (as I have in the past).

Just had this happen again, and it occurred after a set of nvim_buf_delete(..., { force = true }) calls. Trying to see if this can be reproduced reliably, but figured I'd drop a comment about it just incase.

looks like this was fixed upstream:
hrsh7th/nvim-cmp#1397


Visual Studio Code (new feature)

(English)
For example; < h1 > < / h1 > If I want to change this tag to h2, change the closing tag to h2 when I change < h1 > to h2.
(Turkish)
Editör harika. Sizden bir isteğim var. Örneğin; < h1 >< /h1 > bu etiketi h2 olarak değiştirmek istediğimde sade < h1 > 'in içini h2 olarak değiştidiğim zaman <  /h1 > bu etiketin içininde h2 olarak değişmesini sağlarsanız çok iyi olur. Bu özellik php stormda da var.
I'm sorry I wrote in Turkish.

Courtesy of translate.google.com (other services are available):

The editor is great. I have a request for you. For example; <h1> </ h1> When I want to change this tag to h2, it's best if you change <h1> to h2 when you change <h1> to h2 inside this tag. This feature is also available in the php storm.

Hy @EmreKose99  install this extension.

Hemen ingilizce olarak düzeltiyorum @whizsid @gjsjohnmurray one minute

Take a look at https://github.com/microsoft/vscode/issues/47069#issuecomment-555666038 and maybe try this out in Insiders

Install the extension "Auto rename tag" from here

I updated. I hope I can tell you exactly. my english is not very good. @gjsjohnmurray @whizsid Look again.

As @gjsjohnmurray said, you can use the Insiders to get this feature now:

Or you can wait a few weeks for the next release.
Closing as duplicate of #47059.

Thank you @octref . Just as I wanted.


babel plugin transform export extensions

I tried to search for an extension that supports the syntax above but I can't find any.

https://babeljs.io/docs/plugins/transform-export-extensions
VSCode Version: Version 1.21.1 (1.21.1)
OS Version: macOS Sierra 10.12.6

@mjbvz any help ?

The built-in js/ts support already allows:
export { default as TextField } from './component/TextField';

Support for the export TextField from syntax is tracked by https://github.com/Microsoft/TypeScript/issues/4813


Rearrange exporter code

This includes unnecessary but cool modifications to TsvWriter to support a few more of the apps which had to be touched anyway.  IntelliJ is smart enough to strike through the deprecated class.  That's some motivation to get rid of it!  Exporter has a nice apply method now.


Add einsum autofunction in docs

I added einsum in the summary but forgot to add the autofunction.

[ ] Tests added / passed
[x] Passes flake8 dask
[x] Fully documented, including docs/source/changelog.rst for all changes
and one of the docs/source/*-api.rst files for new API

Thanks for the follow up, @sjperkins.
Also needs to go in the Top level user functions: section.
CI is unnecessary for this so feel free to add [ci skip] to the next commit message pushed.

Yeah, looks like bcolz tests are failing hard.  Probably something changed upstream.

Looks like a build issue to me. Like maybe it is built with and using AVX2 instructions and Travis CI doesn't support them.

Also needs to go in the Top level user functions: section.

Whoops.  I merged early on this.  My apologies.

Also needs to go in the Top level user functions: section.

I already did this in the main PR, so I think the early merge is fine. The docs seemed to build correctly locally on my machine.

Yep, the bcolz rebuild fixed it.
There are two other failures. One is issue ( https://github.com/dask/dask/issues/3345 ) and the other is explained in this comment.
ref: https://travis-ci.org/dask/dask/builds/369157404


Use FX change in profit calculation

For calulations with only buys or buys and all stock sold
Use weighted average of the fx where weight is price & use difference in fx times the current euro price to see fx loss
For calulations with buys and partial sells
Probably gonne need to track the individual stock and then change the fx rate for the left over stocks. Realized stocks is a requirement to make this happen

| dollar worth | dollar to euro | euro to dollar | Euro worth |   |
-- | -- | -- | -- | -- | -- | --
buy | 200 | 0.909 | 1.100110011 | 181.8 |   |
sell | 250 | 0.926 | 1.079913607 | 231.5 | 49.7 | < Actual gain
gain | 50 | 0.926 | 1.079913607 | 46.3 | 3.4 | < fx diff
  |   |   |   | ^Excpectd gain |


支持PostgreSQL

 Here is an overview of what got changed by this pull request:

Issues
======
+ Solved 4
- Added 15

Complexity increasing per file
==============================
- sequence-core/src/main/java/com/power4j/kit/seq/persistent/provider/PostgreSqlSynchronizer.java  4
- sequence-core/src/test/java/com/power4j/kit/seq/persistent/PostgreSqlSeqHolderTest.java  1
- sequence-core/src/test/java/com/power4j/kit/seq/persistent/provider/PostgreSqlSynchronizerTest.java  2

Complexity decreasing per file
==============================
+ sequence-core/src/test/java/com/power4j/kit/seq/persistent/MySqlSeqHolderTest.java  -2

Clones added
============
- sequence-core/src/main/java/com/power4j/kit/seq/persistent/provider/PostgreSqlSynchronizer.java  3
- sequence-core/src/main/java/com/power4j/kit/seq/persistent/provider/MySqlSynchronizer.java  3

See the complete overview on Codacy


How to convert GEE JavaScript to Python?

I have many JavaScript codes in gee, now, I work in Qgis using Python, I have convert_js_to_python.py code, But I do not know how to convert js to python, could you give to one example to help me? many thanks!

You might use the cover_js_to_python  module to help you in the translation. However, additional changes could also be necessary, it's depending on code complexity. A reproducible example here
#script
!wget https://raw.githubusercontent.com/giswqs/qgis-earthengine-examples/master/convert_js_to_python.py
#js example
!wget https://raw.githubusercontent.com/renelikestacos/Google-Earth-Engine-JavaScript-Examples/master/010-modis_zonal_statistics_calculation.js

from convert_js_to_python import js_to_python
in_file_path = '/content/010-modis_zonal_statistics_calculation.js'
with open(in_file_path, 'r') as f:
  for line in f:
    print(line)

js_to_python('/content/010-modis_zonal_statistics_calculation.js')
with open(in_file_path, 'r') as f:
  for line in f:
    print(line)

I have improved convert_js_to_python.py. See the example below. Simply change in_file_path to your JavaScript file path or in_dir to your JavaScript folder.
As @csaybar mentioned, the conversion is not always perfect. Depending on the complexity of your scripts, some manual changes might be needed.
if __name__ == '__main__':

    ## Convert one JavaScript file to Python
    root_dir = os.path.dirname(os.path.abspath(__file__))
    in_file_path = os.path.join(root_dir, "JavaScripts/NormalizedDifference.js")  # change this path to your JavaScript file
    out_file_path = os.path.splitext(in_file_path)[0] + ".py"
    js_to_python(in_file_path, out_file_path)
    print("Saved python script: {}".format(out_file_path))

    ## Convert all JavaScript files in a folder to Python
    in_dir = os.path.join(root_dir, "JavaScripts")   # change this path to your JavaScript folder
    for in_file_path in Path(in_dir).rglob('*.js'):
        out_file_path = os.path.splitext(in_file_path)[0] + ".py"
        js_to_python(in_file_path, out_file_path)
    print("Saved python script folder: {}".format(in_dir))

Hi,
I'm really interested too, I have a lot of JS script, but I don't get how you make your script work. Could you give explanation about the context and method? By advance thanks,
Thomas

@Lecaethomas Here are the steps:

Clone the repo (git clone https://github.com/giswqs/qgis-earthengine-examples.git)
Copy whatever GEE JavaScripts you want to convert into the JavaScripts folder
Run convert_js_to_python.py
Check the converted Python scripts under the JavaScripts folder
Depending on the complexity of your JavaScripts, additional manual changes might be needed.

@csaybar @aixiaodetianshi @Lecaethomas I have improved the conversion script significantly. Check here.


Better ES2015 Support

The Problem
nyc has several open issues related to ES2015 support:
https://github.com/bcoe/nyc/issues/265
https://github.com/bcoe/nyc/issues/264
https://github.com/bcoe/nyc/issues/215
https://github.com/bcoe/nyc/issues/239
https://github.com/tapjs/node-tap/issues/267
My Goal
Let's work towards adding better ES2015 support to nyc:

using this ticket as a catch-all, and the tests I've checked in as a starting point, let's add regression tests for some of the bad behavior that folks have seen.
let's fix the behavior! I think this will require coordination between Istanbul and nyc.

some of the bad line # mappings might be able to be fixed in our source-map logic (CC: @novemberborn )
we might need to address some of the issues in the underlying Istanbul coverage library (CC: @gotwarlost).
could we have better native ES2015 support, what does this look like (CC: @JaKXz)

let's better document best practices for using nyc with ES2015:

I think this should probably be a separate document in a docs folder in nyc. My feeling being that some of the issues folks run into with nyc/ES2015 are actually operator errors.

To get started, I would ask that folks who have run into issues submit pull requests with reproductions to this branch (which will act as a catch all for the time being).
We can build out some failing tests, and hopefully get things to a happier place.
CC: @jmdobry, @skozin, @xjamundx, @remy, @JaKXz

I tried your sample using nyc and __coverage__
https://github.com/jamestalmage2/nyc-es2015
__coverage__ handled your example like a champ.
I think it would be great if we could figure out a way to create pluggable coverage instrumentation. Even when istanbul fixes this issue, __coverage__ is still compelling for people already using babel-register to instrument sources (it eliminates the current print ast from transform 1 => parse code into ast wasted effort that currently happens).

@jamestalmage really slick, should we just document __coverage__ as our sanctioned way to handle ES2015, and perhaps add some targeted docs for this?
@dtinth anything we can do to make nyc integrate more tightly with coverage?

@bcoe You can use babel-core with babel-plugin-__coverage__ instead of istanbul.Instrumenter. Make sure to set babelrc: false to make sure that it only does coverage instrumentation.
Here’s an example usage:
const Babel = require('babel-core')
const result = Babel.transform(code, {
  babelrc: false,
  plugins: [ require('babel-plugin-__coverage__') ],
  filename: filename
})

The result is an ES6 { code, map, ast } with coverage instructions added.

I think it would be better to add first class support for coverage . Setting it up now is pretty convoluted, especially when it comes to include/exclude config.

Interesting consequence of naming it __coverage__. It's bold if you don't surround with back ticks

@jamestalmage @dtinth this was my thinking too, could we create a shim with coverage that is a drop in replacement for istanbu.Instrumenter, and then make the instrumenter a configuration option in nyc?

I think that's a good first step, but I'd love to generalize nyc further.
Someday, we are going to allow users to compile their sources in the main process in AVA. We currently do that for tests, and not loading up babel in each thread made a HUGE performance increase. The eventual plan is to analyze the dependency graph, much the same way browserify does, and precompile all the required sources for a test before forking. It should provide a huge speedup.
Once that is done, I would love to integrate a first class --coverage flag, much as node-tap does, but I would want to do the coverage instrumentation in the main thread using __coverage__. My hope is that it will make coverage blazing fast.
Additionally, I think it would be awesome if AVA eventually integrated coverage into it's smart --watch mode. Keeping coverage data from tests we decided not to rerun, and combining it with new coverage data from tests we did. That will require tracking which tests are causing which files to be written to disk, and selectively deleting or combining them.
Finally, I think @novemberborn has some interesting ideas with copenhagen, and I'm sure there will be other clever coverage instrumentation solutions in the future. It would be nice if nyc provided a generalized infrastructure that provided coverage implementors a convenient way to make their solutions handle process forking.
Short term it may be better to go with an easy win that just allows for __coverage__.

closing in favor of the work being done in https://github.com/bcoe/nyc/pull/268


Feature request for SnapshotOptions

Great library.
There is currently snapshotListenOptions, and it would be super nice to include snapshotOptions to control the return value for server timestamps that haven't yet been set to their final value.
Seems like this would be incredibly easy to implement. Let me know what you think!

@ahoward2 good suggestion, and something I'd missed being introduced to Firestore. Apologies for the delay in resolving, but this will be included in the upcoming v3 release.

@ahoward2 good suggestion, and something I'd missed being introduced to Firestore. Apologies for the delay in resolving, but this will be included in the upcoming v3 release.

This has now been released in https://github.com/CSFrequency/react-firebase-hooks/releases/tag/v3.0.1


Lelta

Lelta created by<EMAIL_ADDRESS>on 2020-01-18 15:27:39

<EMAIL_ADDRESS>replied, Am I correct in assuming that "lelta" is a contraction for "le alta", meaning "because perhaps"?Â  It seems to be used in conjunction with the opening phrase "bai derengul" (she is lucky ...).Â  For example:
Bai derengum e anata lelta ng mo ungil limiit a medam / lobengkel a ngar uchei el betik er a rengum [you are lucky, sweetheart, because perhaps you will sleep well with the one from before who captured your heart]
Me ng bai derengul a kmong techang / lelta ng di omes er a betik er a renguk [and he is the lucky one, I donâ€™t know who, because perhaps he just sees my sweetheart]
Bai derengul a eolt le ng / di roureur a Barao / e ngak oureng re ngii lelta ng / kuk mong me ng mesterir [Lucky is the wind because it is just everywhere around Palau / and I am longing for her because perhaps it / instead goes and so it sees them]

<EMAIL_ADDRESS>replied, Charl says it means â€˜maybeâ€™ but sheâ€™s not sure about the formation.

<EMAIL_ADDRESS>replied, Yes. I think you got it right. Alta or lelta... Always meaning perhaps
because, it could be because, maybe it's because...etc.

<EMAIL_ADDRESS>replied, Iâ€™ve never seen it contracted before as â€œleltaâ€. But as others said, it sounds like the contraction of â€œe le al tangâ€. Al tang ng uai isei ng di ng diak kudengei.
ï£¿souang

I'm closing this Jim; seems to be an incorrect contraction.


2.x Server module cleanup

NetflixOSS » eureka » eureka-pull-requests #357 SUCCESS
This pull request looks good

NetflixOSS » eureka » eureka-pull-requests #358 SUCCESS
This pull request looks good


machines: machine: give the qemu VMs access to the IPv6 internet

This is adapted from this blog post to prevent access to link local, unique local adresses and other kinds of IPv6 adresses that are not "the internet".

I will leave this assigned to me until I had a chance to test it.

I've had a chance to test it now. See this job for reference.
I've had to change the ipv6-net from 2000::/3 back to ::/0 to make it work though. See this job that ran with 2000::/3 and did not make sucessful ipv6 connections.


NoMethodError: private method include called for ActionDispatch::Request:Class

Hi,
First off, thank you for the gem, it is very useful.
During rake assets:precompile I have the following error with either v1.3.5 and v1.3.6.
rake aborted!
NoMethodError: private method `include' called for ActionDispatch::Request:Class
.../gems/ruby-2.0.0-p195/gems/geocoder-1.3.5/lib/geocoder/request.rb:82:in `<top (required)>'-
.../gems/ruby-2.0.0-p195/gems/activesupport-4.0.9/lib/active_support/dependencies.rb:229:in `require'
.../gems/ruby-2.0.0-p195/gems/activesupport-4.0.9/lib/active_support/dependencies.rb:229:in `block in require'
.../gems/ruby-2.0.0-p195/gems/activesupport-4.0.9/lib/active_support/dependencies.rb:214:in `load_dependency'
.../gems/ruby-2.0.0-p195/gems/activesupport-4.0.9/lib/active_support/dependencies.rb:229:in `require'
.../gems/ruby-2.0.0-p195/gems/geocoder-1.3.5/lib/geocoder.rb:8:in `<top (required)>'
.../gems/ruby-2.0.0-p195@global/gems/bundler-1.3.5/lib/bundler/runtime.rb:72:in `require'
.../gems/ruby-2.0.0-p195@global/gems/bundler-1.3.5/lib/bundler/runtime.rb:72:in `block (2 levels) in require'
.../gems/ruby-2.0.0-p195@global/gems/bundler-1.3.5/lib/bundler/runtime.rb:70:in `each'
.../gems/ruby-2.0.0-p195@global/gems/bundler-1.3.5/lib/bundler/runtime.rb:70:in `block in require'
.../gems/ruby-2.0.0-p195@global/gems/bundler-1.3.5/lib/bundler/runtime.rb:59:in `each'
.../gems/ruby-2.0.0-p195@global/gems/bundler-1.3.5/lib/bundler/runtime.rb:59:in `require'
.../gems/ruby-2.0.0-p195@global/gems/bundler-1.3.5/lib/bundler.rb:132:in `require'
.../config/application.rb:8:in `<top (required)>'
.../Rakefile:4:in `require'
.../Rakefile:4:in `<top (required)>'
(See full trace by running

My understanding is that Geocoder::Request cannot call the private method Module.include.

ActionDispatch::Request.include Geocoder::Request

I found a fix

ActionDispatch::Request.__send__(:include, Geocoder::Request)

I have a fixed branch handy, should you be willing to accept a pull-request.
Just let me know what is your take on this issue.
Environment

Ruby 2.0.0 (2013-05-14 patchlevel 195) [x86_64-linux] 😞
Rails: 4.0.9  😞
Bundler 1.3.5
Rubygems 2.4.6
rvm 1.21.14 (stable)

Thanks

@ebouchut  TIL .include is private on some old ruby versions, sorry for that.
please make the pull request, and please also add the same send call on the other include two line below :)

Do you want to me rebase the fix branch against master beforehand?

I rebased, forced pushed and created  PR #1067 .

Thank you for your help and time.

Thank YOU for the fix! Releasing 1.3.7 momentarily...

Great, I confirm it works with Ruby 2.0.0!


New Logging feature always warns that its not initialized

Description
When configuring and using the new Logging feature it always warns that it's not initialized. I am able to get it to work if I change logInfo to log at this line, Possible Line Causing Bug
Steps to Reproduce
run newrelic.log(...)
Expected Behavior
It should Log to newrelic dashboard.
Your Environment
all Browser

I opened this PR in case it help
https://github.com/newrelic/newrelic-browser-agent/pull/1147


Support Rally metric store in serverless project

Rally supports writing metrics to Elasticsearch metric store. This could be enhanced to support writing to a serverless project.

I experimented with writing to a serverless project when while establishing what needed to be done for metrics to support TSDB. The work is mostly around configuration and documentation. For example, serverless projects do not support setting the number of shards.


Date.prototype.toLocaleDateString

Just wanted to suggest adding this method to the list... I had to go to developer.mozilla.org... oh, the humanity...

+1 (not sure how the +s are counted on Caniuse Feature Suggestion List)

Also developer.mozilla.org doesn't even specify the earliest version of ie that supports this method.

+1 . As others mentioned, it's only ond developer.mozilla.org, and they don't mention which version of IE is the first to support it.

+1. Not sure how it's added to the list too? There's only 2 counts on the list.

+1

Any news?

Now available at https://caniuse.com/#feat=date-tolocaledatestring


Generate HTTP, protobuf, or GraphQL endpoints

Happy to contribute to this if helpful.

Not looking to add this into sqlc proper but do want to make sure that the eventual plugin system can support this.


Docker image fails to pull

Hi!
The docker image of switchboard fails to pull:
❯ docker pull ghcr.io/borchero/switchboard:0.5.0
0.5.0: Pulling from borchero/switchboard
manifest unknown

Yeah I messed something up, sorry... apparently GHCR keeps tags around even if the underlying manifest is deleted.

Will re-upload in a few minutes

Should be fixed, let me know!

Hello,
Only the image with tag 0.5 is pulling.
docker pull ghcr.io/borchero/switchboard:0.5 0.5: Pulling from borchero/switchboard 9880fb5de7c7: Pull complete 86fdc3b98511: Pull complete Digest: sha256:c9e631476d459cd98dc3f2acb2d44addb3fc4ea067570ea3034e47f05723e8e2 Status: Downloaded newer image for ghcr.io/borchero/switchboard:0.5 ghcr.io/borchero/switchboard:0.5
When I use the Helm Chart, that tried to pull image 0.3 (and I also tried 0.4), the manifest is unkown :
docker pull ghcr.io/borchero/switchboard:0.4 0.4: Pulling from borchero/switchboard manifest unknown

Should be solved, can you check again?

It's working now ! 👍
Thanks.

Great! I'll close this as all issues from 0.3 onwards should be resolved. Sorry for the hickup, won't happen again 😅


Session handling leaks sessions

I came across this issue running a heavy load against spanner, with multiple tasks using the same client. The root cause is a race in the timeout passing a session to a waiter via a oneshot.
In acquire, it creates a oneshot that which it adds to the waiters and then receives from the oneshot under a timeout. When a session becomes free it is sent via the oneshot, and acquire gets a session.
The problem is if there's a race with the timeout. The timeout can complete, and that same instant a session becomes free and is placed in the oneshot. Since the timeout completed, nothing ever receives the session, so it is leaked. Most importantly, the in_use is never updated, so the session appears to be still in_use even though it has been dropped. When this happens enough times we end up leaking all sessions, and no more are created because we've hit max open.
The solution is to not send the session through the oneshot. Instead use the oneshot to notify the waiter that a session is available in available_sessions. It can then try to take from there. This is wrapped in a loop to allow for racing with other acquire calls.

Cloud your please run cargo fmt to fix CI.

Thanks!


Best way to pass a base URL in when configuring stateProvider?

I have a URL structure like /section/:id/view/:state
When I'm fetching the server side renders, I need to fetch them from /section/213/view/services/, but because the ID is not a state variable I'm having to do something like:
      var baseUrl = jQuery('base').attr('href');

      $stateProvider
        .state('index', {
          url: '/',
          templateUrl: baseUrl
        })
        .state('services', {
          url: '/services/',
          templateUrl: baseUrl + 'services/'
        })
        .state('assets', {
          url: '/assets/',
          templateUrl: baseUrl + 'assets/'
        })

This works fine but is there a better way? I see lots of stack overflow posts with similar questions but no good solutions.

I could be missing something, but I think your question must be unclear. To me, there should be no difference between prepending the base URL for a fully qualified URL, and not prepending it but permitting a relative reference, when retrieving a remote template.
templateUrl: 'assets/' will automatically resolve to baseUrl + 'assets/', assuming your base href ends in a slash. You didn't reference an of the S/O posts you mentioned.
I mean no offense, and am not a contributor to the angular code so I cannot speak for them, but as far as I know, this isn't a help forum, but a defect reporting system. As a grateful user of the product though, I'd rather not have this tool's effectiveness diminished by misuse.

Hrmmmph it appears you are correct, the baseUrl is superfluous and can be removed, I'm not sure how I missed that.
GitHub issues aren't a support forum, but it does seem like this issue has appeared enough around S/O to warrant making it easy for developers to find in the issue queue.


Add the ability to turn on and off red lines when msg deleted

didn't the red line meme get removed?

It did, thats why im forced to use an older version because it helps me mod, thats why i want the ability to have it on

So you basically need a high visible indicator for messages that got already removed?
Maybe someone can come up with something that's more pleasant looking :)

I don't understand this but I assume you mean this: https://github.com/Chatterino/chatterino2/issues/1984


Consider publishing a phar with releases

I'm maintaining a docker image with qa tools which phpmnd is part of.
I'm trying to limit number of dependencies installed with "composer global require" to prevent conflicts between tools. Having a phar to download would be really helpful.

Hey, thanks for the issue. yeah it makes sense

Feature is no longer urgent to me, as I'm planning to introduce the composer-bin-plugin in phpqa. It should help solving the conflicts problem.
A phar archive could still be beneficial to others though.

Joining the conversation - as I would also appreciate a phar release.
Main reasoning for me is, that our large code bases currently supports php5.6 - php7.2. To be able to solve this we required to set the platform to php 5.6 in composer.json. Thus we are not able to require the tool via composer.
However - our CI environment ( as well as some testing environments) are running in php7.1 - so they can parse+analyze the code base easily when running it from a phar
box makes building phar releases very easy
Played around with box and automated phar building - would be happy to help here
https://github.com/patrickjahns/cli-phar-experiments

@patrickjahns in the meantime take a look at the composer-bin-plugin. You could use it to install any composer tool global in isolation.

Added a PR #77  which allows a phar to be generated


PROD Build gives error : Property 'auto' does not exist on type 'AmexioWindowPaneComponent'.

I'm submitting a...

[ ] Regression (a behavior that used to work and stopped working in a new release)
[X ] Bug report
[ ] Feature request
[ ] Documentation issue or request
[ ] Support request

Current behavior
when i do ng build --prod on the project it gives me the  error:
ERROR in node_modules\amexio-ng-extensions\amexio-ng-extensions.d.ts.AmexioWindowPaneComponent.html(4,36): : Property 'auto' does not exist on type 'AmexioWindowPaneComponent'.
Expected behavior
Prod build should not fail, should work as its working with ng serve command
Minimal reproduction of the problem with instructions
Attached the project, do npm install and then we do  ng build --prod  build fails with error ---- ERROR in node_modules\amexio-ng-extensions\amexio-ng-extensions.d.ts.AmexioWindowPaneComponent.html(4,36): : Property 'auto' does not exist on type 'AmexioWindowPaneComponent'.
Environment

Angular version: 5.2.7

For Tooling issues:
- Node version: 9.4.0
- Platform: Windows

[AmexioWindowSample.zip](https://github.com/meta-magic/amexio.github.io/files/1793951/AmexioWindowSample.zip)

@bhanukumar04  - We will look into this asap, and release the patch for it.

@bhanukumar04 - Issue has been fixed and pushed. Please use<EMAIL_ADDRESS>

Thank you, it was really very quick, Appreciate it!!  Now the prod build is passing , this can be closed.

Closing Issue

Closing


Live binding does not maintain the cursor position.

This Fiddle:
http://jsfiddle.net/vivoices/CGPfA/
shows how LiveBinding receives text from an input element and then updates the element resulting in the cursor jumping to the end of the text.
Would it be possible to include an optional flag in the LiveBinding smart-tag, that, if set to true, prevents the template to update an element's value only in the case that the data change came from the same element?

Closed via #1452


fix: dev sourcemap

Description
in dev mode, we don't need to generate sourcemap, if generate a sourcemap will point to a null file.
this PR will clean importGlob and dynamicImport generate sourcemap in dev.

Additional context
config.build had value when mode === 'build'

What is the purpose of this pull request?

[x] Bug fix
[ ] New Feature
[ ] Documentation update
[ ] Other

Before submitting the PR, please make sure you do the following

[x] Read the Contributing Guidelines.
[x] Read the Pull Request Guidelines and follow the Commit Convention.
[x] Check that there isn't already a PR that solves the problem the same way to avoid creating a duplicate.
[x] Provide a description in this PR that addresses what the PR is solving, or reference the issue that it solves (e.g. fixes #123).
[x] Ideally, include relevant tests that fail without this PR but pass with it.

In dev mode, if sourcemaps aren't needed should we force not generate them? Currently they are still generated based on the build config config.build.sourcemap.

in dev mode vite just make the default value in build option
https://github.com/vitejs/vite/blob/03b227e8a8598a7dc89d899afbb7dc446a2f336f/packages/vite/src/node/build.ts#L209-L274
and in build mode vite will load the user config.
https://github.com/vitejs/vite/blob/03b227e8a8598a7dc89d899afbb7dc446a2f336f/packages/vite/src/node/build.ts#L423-L451

in dev mode vite just make the default value in build option

The user could set build.sourcemap: true in dev mode though as they're sharing the same config in dev + build. Is it safe it that case too, or should we force set build.sourcemap: false in dev mode?
On the side, I'm not familiar with sourcemaps myself and it seems a bit weird to disable in dev mode 😬

yep, it safe. Because vite only load the config option when mode === 'build'

I still don't quite understand though (and sorry for the noise), but if I put console.log(config.build.sourcemap) in the importAnalysis change in this PR. I get true if config.build.sourcemap is true in dev mode. IIUC you're implying that the console.log would be false.
And if I revert the change in this PR (except for the test), it still seem to pass. Maybe I'm missing something here but if you can show how to reproduce the issue, that we be really helpful for me to understand the issue.

oh sorry, I provide the error code snapshots for you. You are right, I think we should force set build.sourcemap: false in dev mode 👍.
Later I found out that the default value is overridden with a user parameter :p
https://github.com/vitejs/vite/blob/03b227e8a8598a7dc89d899afbb7dc446a2f336f/packages/vite/src/node/build.ts#L209-L274

Just a note, that a sourcemap is required when one would like to debug the script in their IDE, since the imports and some other parts of the code is manipulated by vite before serving preventing the IDE to properly match it to the source files. See #7767 for details. Apparently it affects JetBrains IDE's as well as VisualCode and probably others as well.


2024 fieldwork initial form_fiss_site and form_pscis were built with wrong geopackages.

will put in data_field/2024/form_fiss_site_20241003 and burn new one in. Will also update dff-2022 with proper gpkg so will not happen again with new project creation.

same with form_pscis.  Same story as above


Support remote file systems for Audio

Feature request
Hi there!
It would be super cool if Audio(), and potentially other features, could read files from a remote file system.
Motivation
Large amounts of data is often stored in buckets. load_from_disk is able to retrieve data from cloud storage but to my knowledge actually copies the datasets across first, so if you're working off a system with smaller disk specs (like a VM), you can run out of space very quickly.
Your contribution
Something like this (for Google Cloud Platform in this instance):
from datasets import Dataset, Audio
import gcsfs

fs = gcsfs.GCSFileSystem()

list_of_audio_fp = {'audio': ['1', '2', '3']}
ds = Dataset.from_dict(list_of_audio_fp)

ds = ds.cast_column("audio", Audio(sampling_rate=16000, fs=fs))

Under the hood:

import librosa
from io import BytesIO

def load_audio(fp, sampling_rate=None, fs=None):
    if fs is not None:
        with fs.open(fp, 'rb') as f:
            arr, sr = librosa.load(BytesIO(f), sr=sampling_rate)
    else:
        # Perform existing io operations

Written from memory so some things could be wrong.

Just seen https://github.com/huggingface/datasets/issues/5281


Belt row detection

Added a check that will detect how many rows the belt provides.
Done by checking for the upper border of the belt in a certain ROI.
I would love to get your feedback and hear if you see any problems with it.
I have tested it with main.py by running new games, and I tested that it still drinks potions.
Please let me know if there are other things I should test.

Potentially better solution would be to use InventoryCollection and count empty slots and known items being pots. @mgleed @Ezro are you doing anything with BeltManager in your UI work? Might wait for that to be merged instead

Potentially better solution would be to use InventoryCollection and count empty slots and known items being pots. @mgleed @Ezro are you doing anything with BeltManager in your UI work? Might wait for that to be merged instead

Thank you for your comment @VladimirMakaev , Gleed did mention that I would probably have to refactor after they are done with the overhaul and that is no problem for me.

Potentially better solution would be to use InventoryCollection and count empty slots and known items being pots. @mgleed @Ezro are you doing anything with BeltManager in your UI work? Might wait for that to be merged instead

Thank you for your comment @VladimirMakaev , Gleed did mention that I would probably have to refactor after they are done with the overhaul and that is no problem for me.

The overhaul is done now. I will be doing some other arrangements but we could probably fit this in. Perhaps me or @VladimirMakaev can help in the discord sometime to see how to leverage InventoryCollection to accomplish this. There's many ways to get belt height, but I think whatever way we can use that doesn't require creating a new asset and doesn't take any time to do would be optimal.

Potentially better solution would be to use InventoryCollection and count empty slots and known items being pots. @mgleed @Ezro are you doing anything with BeltManager in your UI work? Might wait for that to be merged instead

Thank you for your comment @VladimirMakaev , Gleed did mention that I would probably have to refactor after they are done with the overhaul and that is no problem for me.

The overhaul is done now. I will be doing some other arrangements but we could probably fit this in. Perhaps me or @VladimirMakaev can help in the discord sometime to see how to leverage InventoryCollection to accomplish this. There's many ways to get belt height, but I think whatever way we can use that doesn't require creating a new asset and doesn't take extra time away from the run would be optimal.

Okay, thank you for the feedback. I will try to look into InventoryCollection and perhaps I would need some help. I am having a busy Week but I think I'll look at it in the weekend.

Sorry this didn't end up getting merged, I led you astray with poor timing! It sounds like you've gotten pretty busy but if you'd like to revisit this again lmk.


docs(plugin): docs for (un)installing and distributing plugins.

This is still missing some important parts before deploying. Please do not merge if not through fully reviewed.

@thibaultcha what is missing?

Just pushed 3 commits to master with it, take a look


Native BackButton Handling for Desktop and Mobile

This change changes GalaxyExplorer to use the native back button on Mobile and Desktop.  On non-Holographic platforms the XAML app will register for BackButton visibility callbacks to show/hide the OS Shell back button, and the Unity menu will not show the back button.  Callbacks from the OS back button will do the same thing as the current holographic menu or voice activated back behavior.

Hi @abegun, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

In order for us to evaluate and accept your PR, we ask that you sign a contribution license agreement. It's all electronic and will take just minutes. I promise there's no faxing. https://cla.microsoft.com.

TTYL, MSBOT;


python3Packages.locationsharinglib: 4.1.6 -> 4.1.8

Motivation for this change
Update to latest upstream release 4.1.8
Things done

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

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

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.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

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 134263 at 54dfcbf4 run on aarch64-linux 1

2 packages built successfully:

python38Packages.locationsharinglib
python39Packages.locationsharinglib

2 suggestions:

warning: no-python-tests
Test runner could not discover any test cases: ‘Ran 0 tests in 0.272s’
Near pkgs/development/python-modules/locationsharinglib/default.nix:56:0:
   |
56 |     description = "Python package to retrieve coordinates from a Google account";
   | ^

warning: no-python-tests
Test runner could not discover any test cases: ‘Ran 0 tests in 0.267s’
Near pkgs/development/python-modules/locationsharinglib/default.nix:56:0:
   |
56 |     description = "Python package to retrieve coordinates from a Google account";
   | ^


UnicodeEncodeError

When running the 启动程序.exe I get the following error after choosing the language and accuracy:
Traceback (most recent call last):   File "D:\vse_windows_GPU\vse\resources\gui.py", line 14, in <module>     set_language_mode(os.path.join(os.path.dirname(__file__), 'settings.ini'))   File "D:\vse_windows_GPU\vse\resources\backend\tools\settings.py", line 25, in set_language_mode     print('\u9009\u62e9\u4e86:', values['-LANGUAGE-'])   File "D:\vse_windows_GPU\vse\Python\lib\encodings\cp1252.py", line 19, in encode     return codecs.charmap_encode(input,self.errors,encoding_table)[0] UnicodeEncodeError: 'charmap' codec can't encode characters in position 0-2: character maps to <undefined> 2021-11-20 11:02:57,694 ERROR: 在执行终端命令时检测到了失败，完整信息如下： PS D:\vse_windows_GPU\vse> cd "D:\vse_windows_GPU\vse\resources"; ./../Python/python.exe "D:\vse_windows_GPU\vse\resources\gui.py" ; echo "---QPT OUTPUT STATUS CODE---" $? Traceback (most recent call last):   File "D:\vse_windows_GPU\vse\resources\gui.py", line 14, in <module>     set_language_mode(os.path.join(os.path.dirname(__file__), 'settings.ini'))   File "D:\vse_windows_GPU\vse\resources\backend\tools\settings.py", line 25, in set_language_mode     print('\u9009\u62e9\u4e86:', values['-LANGUAGE-'])   File "D:\vse_windows_GPU\vse\Python\lib\encodings\cp1252.py", line 19, in encode     return codecs.charmap_encode(input,self.errors,encoding_table)[0] UnicodeEncodeError: 'charmap' codec can't encode characters in position 0-2: character maps to <undefined>
Is there anything I can do to make this run?

It seems like your operation system do not support chinese

Thanks for the information. I try to go with option 1.

(1) delete all chinese character in .py files
Do you mean the .py files inside the resources folder? I have to translate the whole tool then.
(2) install chinese language pack for your Windows.
This is no option since just installing the language pack won't make this work. I'd have to use chinese as the system language rendering me unable to navigate Windows.


Visual Studio Code doesn't update changes of files and folders

VSCode Version:
Version: 1.33.1
Commit: 51b0b28134d51361cf996d2f0a1c698247aeabd8
Date: 2019-04-11T08:20:22.771Z
Electron: 3.1.6
Chrome: 66.0.3359.181
Node.js: 10.2.0
V8: 6.6.346.32
OS: Linux x64 5.0.5-050005-generic (Ubuntu 18.10)

I am working on a Django project and when deleting the sqlite database + the python migration files and then running python manage.py makemigrations and python manage.py migrate to create these files again doesn't work for VSCode.

Steps to Reproduce:

Start a Django project
Delete migration files + sqlite db
run makemigrations & migrate

Does this issue occur when all extensions are disabled?: Couldn't find out yet

Dup of https://github.com/Microsoft/vscode/issues/72916


Crash with "cannot read property ‘enum’ of null." in some cases

Describe the bug
Something went wrong when processing spec.yaml:

  - Cannot read property ‘enum’ of null.

To Reproduce
We have to figure it out, spotted in our prod logs.
Expected behavior
No crash.
Logs
npx @redocly/openapi-cli@latest lint spec.yaml --extends minimal --format json

validating spec.yaml...
Something went wrong when processing spec.yaml:

  - Cannot read property 'enum' of null.

TypeError: Cannot read property 'enum' of null
    at Schema (/tmp/openapi-cli/latest/dist/bundle.js:2:187024)
    at R (/tmp/openapi-cli/latest/dist/bundle.js:2:145849)
    at e (/tmp/openapi-cli/latest/dist/bundle.js:2:144484)
    at e (/tmp/openapi-cli/latest/dist/bundle.js:2:145102)
    at e (/tmp/openapi-cli/latest/dist/bundle.js:2:145102)
    at e (/tmp/openapi-cli/latest/dist/bundle.js:2:145102)
    at e (/tmp/openapi-cli/latest/dist/bundle.js:2:145102)
    at e (/tmp/openapi-cli/latest/dist/bundle.js:2:145102)
    at e (/tmp/openapi-cli/latest/dist/bundle.js:2:145102)
    at Object.t.walkDocument (/tmp/openapi-cli/latest/dist/bundle.js:2:146805)

OpenAPI definition
n/a
Version(s)
1.0.0-beta.11

I am working on this issue and already discovered the root cause. Expected time to fix - 1-2 days.

we reverted the fix for this issue in this PR: https://github.com/Redocly/openapi-cli/pull/256
due to issue https://github.com/Redocly/openapi-cli/issues/252


Feature : Added inline rename in sidebar  and Issue Fix: Extension Validation During File Rename

Issue Fix:
Extension Validation During File Rename

When creating a file, there is an existing check to ensure that only files with the extensions (lua, luanb, md) can be created. However, this validation is missing during the file renaming process. The renaming functionality should also enforce the same extension restrictions to maintain consistency.

Steps to Implement Extension Validation in Rename Functionality:--

Implement Extension Check: Add validation logic to check for supported extensions (lua, luanb, md) during the file renaming  process.

Notify User: Provide user feedback if the new file name does not meet the extension requirements.

Feature Request
Added inline rename in sidebar
-Implemented an inline renaming feature similar to VS Code.
-Users can now rename files directly in the file list without a separate renaming form appearing.
Previously :---

After Changes:--
link :- https://www.loom.com/share/750e7ddc800c450abad96f8f1c340234

That's amazing! appreciate the file type checker.
However, when the user clicks on rename, the popup closes and the sidebar gets collapsed too! since the rename input is now inline with the filename in the sidebar, it is not really a good UX.
A better thing to do would be to have the new filename input in the file options popup itself.

For this instance this PR will only include the file type checker . Removing other feature i.e inline rename.
Next Time I will create issue before submitting PR.👍👍

I have made changes from my side which include rename file type checker . You can review  and let me know if any issue Or changes you want .


How to check registered

Describe the bug
I register to finney and netuid 1. But I cannot know when it success or not. Which btcli command can do that
To Reproduce
btcli register --cuda
Expected behavior
Check register status and show endpoint if success
Screenshots
No response
Environment
Linux, v5.3.3
Additional context
No response

Hello! You should use btcli inspect --wallet.name <coldkey_name> --wallet.hotkey <hotkey_name>


Please invite me to the GitHub Community Organization

Name
Abhishek Kumar Sharma
Discord Username (if applicable)
me_aksharma#9401

Welcome to the community Abhishek🎉


(DELETED)

(ONE OF THE CREATORS DELETED THIS SO I WILL REMOVE EVERYTHING)

yeah, im a asshole, what can I say.


Data integrity should be ensured

Background
There are several ways in which a technology in ETMoses can get its attributes such as capacity, COP, investment_cost etc.

ETEngine: when opening a scaled scenario in ETMoses, the attributes are imported from ETE
Profiles: when a new technology is added manually, its profile can contain default attributes (volume or capacity) which are used to initialise it
Database: when a new technology is added manually, and no profile defaults are present, the attributes are looked up in the database

Problem(s)
There are several problems with this

If ETE (ETSource) is updated, the numbers in the profile defaults and database will become inconsistent
Profiles with (nonsensical) defaults can be added by any user. These profiles will be assigned to technologies and can impact their behaviour erroneously

Actions
I foresee several possible actions to improve the situation
Short term

Include some validation checks between ETE and the database
Distinguish between profiles which can be selected automagically by the app (i.e., when changing concurrency etc.) and those that can only be added manually (by the user).

Longer term

Import attributes from ETE exclusively (also when adding technologies manually). This would remove the dependency on the database except for technologies which are not in ETE (buffers, neighbourhood batteries)
Perhaps use the node.ad files from ETSource directly as the only source for attributes to ensure complete consistency

@dennisschoenmakers @antw do you have any thoughts on this?

Distinguish between profiles which can be selected automagically by the app (i.e., when changing concurrency etc.) and those that can only be added manually (by the user).

I like this. :+1:

Import attributes from ETE exclusively (also when adding technologies manually). This would remove the dependency on the database except for technologies which are not in ETE (buffers, neighbourhood batteries)

I also agree with this. When we import a scenario from ETE, we should probably save all of the technology data it sends and use that as the source for default values.


SAML 2 Integration

Have the ability to integrate with service providers using SAML. One possible library to use is: https://pypi.python.org/pypi/djangosaml2/

Django uses Authentication Middleware see https://docs.djangoproject.com/en/1.8/ref/middleware/#module-django.contrib.auth.middleware
There are already SAML 2 libraries out there that you can include in your individual installation to implement SAML 2 auth. https://pypi.python.org/pypi/djangosaml2/

@grendel513 Thanks, I'll give that a try. Would it be worth me documenting that and then doing a PR? I'm sure some organizations would like integration with LDAP/SAML.

Hi @aaronweaver  I added links in the reademe to the SAML and LDAP plugins.


Install instructions for the dotnet-sdk on linux using snap lead to a non-working setup when using vscode

Install instructions for the dotnet-sdk on linux using snap need to take into consideration:

https://github.com/OmniSharp/omnisharp-vscode/issues/4409
https://github.com/dotnet/sdk/issues/10403
https://github.com/OmniSharp/omnisharp-vscode/wiki/Configuring-Snap-installs-of-dotnet-sdk

I am on Ubuntu 20.10 and using the Omnisharp extension for vscode.
I had to uninstall the recommended snap alias and do ln -s /snap/dotnet-sdk/current/dotnet /usr/local/bin/dotnet to get my development environment working and this is for an issue I hit a couple of minutes after deciding to try out donet core after a couple of years.
Not a good DX. Please update docs.

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

ID: a40005eb-f935-d50d-10ce-c1e0a47ea70e
Version Independent ID: 91f4a9b7-09d0-f18e-af4a-c0af28a8948f
Content: Install .NET on Linux with Snap - .NET
Content Source: docs/core/install/linux-snap.md
Product: dotnet
Technology: dotnet-install
GitHub Login: @adegeo
Microsoft Alias: adegeo

@rhyek Hey there! Thank you for reporting this. I'll see what I can do in the article to help work around that potential problem.


Handle Bulk Array Update for Postgres

Support for ADD op.
https://github.com/hypertrace/document-store/issues/82
This is a WIP

@suddendust Closing this pull request as pull 97 is merged. we can keep the branch for reference though.


gantty:0.1.0

I am submitting

[x] a new package
[ ] an update for a package

Gantty is a typst library to create Gantt charts. It is inspired by typst-timeliney, but is different because rather than dealing with abstract units of time, Gantty deals with datetimes to represent real world times, which is more useful for certain projects (e.g. projects spanning only a few months.)

I have read and followed the submission guidelines and, in particular, I

[X] selected a name that isn't the most obvious or canonical name for what the package does
[X] added a typst.toml file with all required keys
[X] added a README.md with documentation for my package
[X] have chosen a license and added a LICENSE file or linked one in my README.md
[X] tested my package locally on my system and it worked
[X] excluded PDFs or README images, if any, but not the LICENSE

Thanks!


GradCAM images don't support backpropagation

I am working on a project where we want to use GradCAM in a differentiable manner. That is, we are using a neural network to generate modified images which are meant to influence the Class Activation Maps of a classifier. I was surprised to see that, although the type annotation of BaseCAM.get_cam_image  suggests that the argument  grads has a torch.Tensor type, it in reality is a numpy array.  This prevents calculating gradients of the Class Activation Maps. (That is, I would like to compute how the inputs influence the values of the Class Activation Maps)
See the type definition below.
def get_cam_image(self,
                      input_tensor: torch.Tensor,
                      target_layer: torch.nn.Module,
                      targets: List[torch.nn.Module],
                      activations: torch.Tensor,
                      grads: torch.Tensor,
                      eigen_smooth: bool = False) -> np.ndarray:

Is this intentional?

Hi,
Not intentional at all, I just didn't think of this use case.
Since Grad-CAM uses gradients,
to compute gradients of CAM there would be second order gradients going on ?
I think it's safe to the functions to tensors.

I'm rewriting the methods where necessary for my project, and If I am able to produce a working implementation I'd be happy to contribute, but I am running into a slight issue.
The method get_2d_projection which is used in BaseCAM.get_cam_image makes use of a pytorch implementation of SVD: https://pytorch.org/docs/stable/generated/torch.linalg.svd.html
This decomposition seems fairly hard to compute gradients for, as indicated in the warning texts. Do you know if there are subclasses of BaseCAM that do not make use of SVD? That would really help me out.


Use nightly for cargo fmt check in CI

I wasn't familiar with git hooks, but they indeed have advantages. @enzet, any thoughts about consolidating the github actions and git hooks?

Urgh, the setup rust action is harder to understand than rustup. It's switching the default to nightly. I'll work on this later

I'm not familiar with cargo, but the the idea of keeping them consistent with GitHub Actions looks right.
The only problem with Git hooks is that they have be enabled by committer manually with
git config --local core.hooksPath data/githooks

I think we should add it to README.md or to CONTRIBUTING.md.

Fixed by #58


Get only authorizationCode on iOS

I need to support cloud storage providers like OneDrive, Google Drive, DropBox and so on.
The actual access to resources is handled by the backend, so only the authentication is done by to user on the client this results in the authorizationCode, which is sent to the backend. The backend performs the retrieval of accessToken and most important the refreshToken
Unfortunately Code Flow with PKCE is no option because various OAuth providers support only native apps for this flow and web apps/PWAs are forced to use Implizit Flow. I need the refreshToken to access resources without the users interaction.

As I see no way  to retrieve the authorizationCode from oauthSwift I will stop working on this task for now and concentrate on PKCE.

I need that task because OneDrive Api does not allow code flow on web apps. So the last call to the get accessToken and more important the refreshToken needs to be done on the server.

@moberwasserlechner Thanks for sharing this great plugin! I'm working on a similar server code flow scenario where a Capacitor app lets the user authenticate with Dropbox or Google Drive to get an authorization code, and our server uses that code to get an accessToken and/or refreshToken. This way our server could transfer files directly from Dropbox/Google.
For native apps, are you still planning to support getting the authorization code for iOS and Android?  I noticed that oAuthSwift recently added support for this.
Alternatively, would it make sense to set a redirect URL to the server and have the server capture the authorization code directly?  I'm not sure if this approach would work for a native app and your plugin. I've got some learning/experimenting to do here and would like to avoid taking a web view approach. In any case thanks for sharing your plans about authorization codes.

Yes I still plan to support it for all platforms.
I guess you ask because I removed the labels. I only did that because its needed for all platforms, so I need less labeling ;).
To your alternative: This is a common alternative it should work. Although I never tried it myself. But if this tasks does not work for my scenario this is the way I will go as well.

Thanks for clarifying. I got it to work with the standard Capacitor Browser plugin by adding some special logic on the redirect URL page (on our server) to trigger a custom URI that loaded the app and included an authentication code as a parameter to the custom URI (so the app could read it on startup).
This worked well overall, though with Android I found it was necessary to set it to a "singleTask" launch mode to avoid multiple instances of the app. Some more background on this approach at https://forum.getcapacitor.com/t/oauth2-auth-code-flow-w-capacitor-browser/266/9
Planning to add Google sign in and some other oAuth providers so expect to be using your plugin again soon. Thanks for sharing!

Starting with v2.0.0 you can get the code from the authorization request, if you do not provide the parameters accessTokenEndpoint and resourceUrl.
This - however - only works on the Web and Android. On iOS the used lib OAuthSwift does not give me the needed control over the flow to achieve this.

Hello! Any updates on this?
I have the same issue with Salesforce. As you describe on your first post I want to retrieve only the code in client and then handle the rest on the server side. Is there a workaround for this? Can I do something else to get the code on iOS?
Thanks!

Hello, I also need to only retrieve the access code using IOS.

Add authorization_response to the response when implementing this.

Hello, I'm passing the authorization code to my backend server to obtain access token, but it is returning the error "unauthorized_client".
Here are the android options (Vuejs) code
android: {
        appId: capacitorConfig.plugins.GoogleAuth.androidClientId,
        responseType: 'code',
        redirectUrl: capacitorConfig.appId+':/',
        //resourceUrl: null,
        accessTokenEndpoint: '',
        additionalParameters:{
          access_type: 'offline',
          include_granted_scopes: true,
        },
      },

And here is the PHP code
$client = new Google_Client();

        $client->setClientId('WEB_CLIENT_ID.apps.googleusercontent.com');
        $client->setClientSecret('WEB_CLIENT_ID_SECRET');
       // $client->setRedirectUri('');
        $client->setAccessType('offline');
        //$client->setScopes($scope);
        $client->setState($state);
        $r = $client->fetchAccessTokenWithAuthCode($authCode);
        if(isset( $r['error']) && !empty( $r['error']) ){
            $response['message'] = $r['error'].' '.$r['error_description'];
            return $response;
        }

The appId: capacitorConfig.plugins.GoogleAuth.androidClientId, & $client->setClientId('WEB_CLIENT_ID.apps.googleusercontent.com'); belongs to the same google project, the difference is that one is for android and the other is for web client.
I would appreciate if someone can shed any light on the situation.

Is there any progress on this? Me and a colleague tried to implement a workaround extending OAuthSwift inside this library, but couldn't get a working solution.

Hi, I've implemented a solution to solve this problem. You can find my code in my fork =>
https://github.com/moberwasserlechner/capacitor-oauth2/compare/main...bertrand-sifre:capacitor-oauth2:main


Update Install-DbaFirstResponderKit.ps1

Added a missing "l" from install.

Type of Change

[ ] Bug fix (non-breaking change, fixes # )
[ ] New feature (non-breaking change, adds functionality, fixes # )
[ ] Breaking change (effects multiple commands or functionality, fixes # )
[ ] Ran manual Pester test and has passed (`.\tests\manual.pester.ps1)
[ ] Adding code coverage to existing functionality
[ ] Pester test is included
[ ] If new file reference added for test, has is been added to github.com/sqlcollaborative/appveyor-lab ?
[ ] Nunit test is included
[x] Documentation
[ ] Build system

Purpose

I've added a missing 'l' from the comment-based-help i.e. ("instal" --> "install")
Approach

N/A
Commands to test

Get-Help -Name Install-DbaFirstResponderKit -Parameter Database

Screenshots

Learning

Those tests fake failing are ludacris. Thank you for the PR!


Post release automated changes for web-pubsub releases

Post release automated changes for azure-web-pubsub-client-protobuf

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


Protos that import "google/protobuf/any.proto" generate an extra empty file

Example proto file:
syntax = "proto3";
import "google/protobuf/any.proto";

package blob;

// A config object containing a single config and its value
message TypedBlob {
  string key = 1;
  oneof val {
    bool bool_val = 3;
    int64 int_val = 4;
    string  string_val = 5;
    google.protobuf.Any proto_val = 6;
  }
}

Expected output: a blob.rs file using ::prost_types::Any.
Actual output: that + an additional empty file called google.protobuf.rs
I'm generating the protos and checking them into my source tree, not running as part of build.rs. It's not a problem correctness-wise, but slightly annoying to have the clutter of empty files. Is there a workaround for this? I experimented with extern_path but that did not seem to matter.

Yeah, its a known issue, https://github.com/tokio-rs/prost/issues/228 tried to fix it but I had to revert the fix PR since it broke many other layers for some reason. If you have the time feel free to take a crack at a it.

@LucioFranco Made an attempt. I'm not overly familiar with the project so definitely open to feedback from someone who knows more, but it seemed to fix the issues I was having as well as preventing the issue of the previous fix.


On hotstart of the app, current state from server should be requested

When I have the app open on the current event and bring it to the background, after a reopen, I everyone have to switch the page to get the actual information from the server

The state is invalidated when the connection resets. So normally this should already work. Can you reproduce this?

It appears every time I open the app. Sometimes when I go back and back to the event, it has a player registered which was not visible previously


Time data type precision difference between SQL and PostgreSQL

Hi @staticlibs ,
Good Day!
We are facing a error during import that 'Datetime field overflow'. When I further investigate, I could see that time data type precision limit in SQL has 7 and postgreSQL equivalent table has 6.
Any idea on how to fix this issue?
Error during import

SQL

PostgreSQL

@psrinivasa2
Datetime precision 6 is caused by the fact that T-SQL datetimes are stored as native Postgres datetimes. And the max precision Postgres supports is 6. Though this should not cause errors, as precision 7 is normally handled as it was specified as 6 in Babelfish. The overflow can be caused by datetime values outside of allowed range. I will recheck this. I also wonder whether you can collect a backtrace for this error?

Yeah, I will check the log file with debug installer and let you know Alex

@psrinivasa2
Please disregard the previous comment, in this case this is actually a 7 precision handling bug in bulk import, in parameters passing. Going to fix this in bulk import.

okay thanks

@psrinivasa2
The problem appeared to be happening on client side, inside the bcp utility. I've reported it upstream in #3120, see details there. There is no easy fix on server side and currently there are no workarounds on client side with wdb_transfer. Directly with bcp the workaround is to use a custom query on export from MSSQL like this:
bcp "select cast(col1 as time(6)) from tab1" queryout tab1.bcp -n -S <IP_ADDRESS>,1433 -U sa -P pwd

For wdb_transfer to work with Babelfish it is necessary to export time(7) columns from MSSQL as time(6), that requires a major rework in wdb_transfer. It uses bcp (instead of using bulk copy TDS calls directly) exactly to export the table as a whole in a foolproof way and to not deal with columns/types. It is not clear where it is feasible to rework it to support custom column types (to be able to automatically replace time(7) with time(6) on export).

@psrinivasa2
There seems to be a viable workaround on server side, for it to work the column needs to be created in T-SQL as time(7), so its type modifier 7 will be ignored and recorded as -1. This is current behaviour I observe with such columns, but it does not match your second screenshot where time(6) is shown for some reason in PgAdmin.
To apply the workaround run the following SQL in PgAdmin in wilton DB:
CREATE OR REPLACE FUNCTION sys.tsql_type_scale_helper(IN type TEXT, IN typemod INT, IN return_null_for_rest bool) RETURNS sys.TINYINT
AS $$
DECLARE
	scale INT;
BEGIN
	IF type IS NULL THEN
		RETURN -1;
	END IF;

	IF typemod = -1 THEN
		CASE type
		WHEN 'date' THEN scale = 0;
		WHEN 'datetime' THEN scale = 3;
		WHEN 'smalldatetime' THEN scale = 0;
		WHEN 'datetime2' THEN scale = 7;
		WHEN 'datetimeoffset' THEN scale = 7;
		WHEN 'decimal' THEN scale = 38;
		WHEN 'numeric' THEN scale = 38;
		WHEN 'money' THEN scale = 4;
		WHEN 'smallmoney' THEN scale = 4;
		WHEN 'time' THEN scale = 7;
		WHEN 'tinyint' THEN scale = 0;
		ELSE
			IF return_null_for_rest
				THEN scale = NULL;
			ELSE scale = 0;
			END IF;
		END CASE;
		RETURN scale;
	END IF;

	CASE type
	WHEN 'decimal' THEN scale = (typemod - 4) & 65535;
	WHEN 'numeric' THEN scale = (typemod - 4) & 65535;
	WHEN 'smalldatetime' THEN scale = 0;
	WHEN 'datetime2' THEN
		CASE typemod
		WHEN 0 THEN scale = 0;
		WHEN 1 THEN scale = 1;
		WHEN 2 THEN scale = 2;
		WHEN 3 THEN scale = 3;
		WHEN 4 THEN scale = 4;
		WHEN 5 THEN scale = 5;
		WHEN 6 THEN scale = 6;
		-- typemod = 7 is not possible for datetime2 in Babelfish but
		-- adding the case just in case we support it in future
		WHEN 7 THEN scale = 7;
		END CASE;
	WHEN 'datetimeoffset' THEN
		CASE typemod
		WHEN 0 THEN scale = 0;
		WHEN 1 THEN scale = 1;
		WHEN 2 THEN scale = 2;
		WHEN 3 THEN scale = 3;
		WHEN 4 THEN scale = 4;
		WHEN 5 THEN scale = 5;
		WHEN 6 THEN scale = 6;
		-- typemod = 7 is not possible for datetimeoffset in Babelfish
		-- but adding the case just in case we support it in future
		WHEN 7 THEN scale = 7;
		END CASE;
	WHEN 'time' THEN
		CASE typemod
		WHEN 0 THEN scale = 0;
		WHEN 1 THEN scale = 1;
		WHEN 2 THEN scale = 2;
		WHEN 3 THEN scale = 3;
		WHEN 4 THEN scale = 4;
		WHEN 5 THEN scale = 5;
		WHEN 6 THEN scale = 6;
		-- typemod = 7 is not possible for time in Babelfish but
		-- adding the case just in case we support it in future
		WHEN 7 THEN scale = 7;
		END CASE;
	ELSE
		IF return_null_for_rest
			THEN scale = NULL;
		ELSE scale = 0;
		END IF;
	END CASE;
	RETURN scale;
END;
$$ LANGUAGE plpgsql IMMUTABLE STRICT;

Thanks @staticlibs , Let me check

Hi @staticlibs ,
You can try to recreate it with below query
`
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [AttendanceRegister].[AttendanceRegisterTest](
[TimeSignedIn] time NOT NULL,
[ActualTimeSignedIn] time NOT NULL,
[TimeSignedOut] time NULL,
[ActualTimeSignedOut] time NULL)
GO
`

@psrinivasa2
Running the following on version 12.16.1:
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [AttendanceRegisterTest](
    [TimeSignedIn] time(7) NOT NULL,
    [ActualTimeSignedIn] time(7) NOT NULL,
    [TimeSignedOut] time(7) NULL,
    [ActualTimeSignedOut] time(7) NULL)
GO

I can see the expected -1 type modifier in Postgres:

Confirming this in catalogs:
select a.attname, a.atttypmod
from pg_catalog.pg_attribute a
join pg_catalog.pg_class c on c.oid = a.attrelid
where c.relname = 'attendanceregistertest'

attname                        atttypmod
------------------------------ -----------
tableoid                       -1
cmax                           -1
xmax                           -1
cmin                           -1
xmin                           -1
ctid                           -1
timesignedin                   -1
actualtimesignedin             -1
timesignedout                  -1
actualtimesignedout            -1

Hi @staticlibs ,
Can you give the try on the below whole query?
 Reproduced the problem, the following with unquoted type name in DDL creates a column with type modifier -1:
create table tab1(
    col1 time(7)
)

select a.attname, a.atttypmod
from pg_catalog.pg_attribute a
join pg_catalog.pg_class c on c.oid = a.attrelid
where c.relname = 'tab1'
and a.attname = 'col1'

attname    atttypmod
---------- -----------
col1       -1

But if the typename is quoted in T-SQL style, then the typemodifier is recorded as 6:
create table tab2(
    col2 [time](7)
)

select a.attname, a.atttypmod
from pg_catalog.pg_attribute a
join pg_catalog.pg_class c on c.oid = a.attrelid
where c.relname = 'tab2'
and a.attname = 'col2'

attname    atttypmod
---------- -----------
col2       6

I see from where this discrepancy is coming, the time is a native Postgres type, so when it is parsed directly - "invalid" 7 value is discarded. But when the T-SQL logic is applied for the quoted variant - 7 is replaced by max allowed 6. Going to fix this now.

The problem is fixed in update 13.17.1.

Thanks @staticlibs, Does the above mentioned function sys.tsql_type_scale_helper is still needed? If yes, does this included in the mentioned release 13.17.1 release?
If it is handled in babelfish, can you share me the upstream babelfish pull request link for us to have discussion with AWS too.

@psrinivasa2

Does the above mentioned function sys.tsql_type_scale_helper is still needed? If yes, does this included in the mentioned release 13.17.1 ?

Yes, it is included in 13.17.1 MSI with babelfishpg_tsql extension version 3.3.3, you need to run:
ALTER EXTENSION "babelfishpg_tsql" UPDATE TO '3.3.3';

If it is handled in babelfish, can you share me the upstream babelfish pull request link for us to have discussion with AWS too.

Upstream GH issues - #3120, #3128. There are no PRs for them, the patch for the former is provided there inline. The WiltonDB fix for the latter (engine, extension) is not upstreamable, it is too narrow, more wide fix needs to be developed inside the parser to handle time(7) and [time](7) exactly the same way and other types may have similar problems.


[AutoPR notificationhubs/resource-manager] Add missing debugsend and patch operation for NotificationHub resource

Created to sync https://github.com/Azure/azure-rest-api-specs/pull/3215

This PR has been merged into https://github.com/Azure/azure-sdk-for-go/pull/2036


GPUParticles "finished" signal does not fire if "emitting" is true in AnimationPlayer's "RESET" track

Tested versions
v4.2.stable.official [46dc27791]
Also reproducible in other 4.x versions.
System information
Godot v4.2.stable - Windows 10.0.22631 - Vulkan (Forward+) - dedicated AMD Radeon RX 7900 XTX (Advanced Micro Devices, Inc.; 31.0.22023.1014) - AMD Ryzen 9 7950X3D 16-Core Processor (32 Threads)
Issue description
I have a GPUParticles2D node and an AnimationPlayer under a Node2D. The finished signal of the particles is connected to the script of Node2D and the AnimationPlayer has an autoplaying track that emits the particles once on load.
The AnimationPlayer also has a RESET track that is created automatically when creating a track for emitting the particles, with emitting set to true.
However, because of the RESET track setting emitting to true, the finished signal of the particles never fires for some reason. Only way to workaround this is to manually set emitting to false in the RESET track, or delete the RESET track all together.
NOTE: This does not seem to occur with CPUParticles, only GPU.
Steps to reproduce

Create a GPUParticles2D (3D also works)
Give it some basic particles and set it to Oneshot
Add an AnimationPlayer
Add a track to the AnimationPlayer that sets the emitting of the GPUParticles to true
Set that track to autoplay on load
Create a script and attach it to the GPUParticles
Connect the finished signal of the GPUParticles to the script and add some debugging code to it
Run the project

Using the MRP, you can simply open it and run.
Minimal reproduction project (MRP)
Particles Reset Bug.zip

Any update on this?
I'm experiencing the same problem: I want to know when GPUParticles finishes, but this is broken since 4.2.
The signal is never called + checking the emitting property doesn't reflect the current state.

Any update on this?
I'm experiencing the same problem: I want to know when GPUParticles finishes, but this is broken since 4.2. The signal is never called + checking the emitting property doesn't reflect the current state.

I was messing around with GPUParticles2D in the latest version (4.3.dev2 as of now) and it was very tricky to get the finished signal to be emitted on a GPUParticles2D node that had one-shot disabled and had been emitting, but I found a janky-looking but functional workaround.
I made a class extending GPUParticles2D with a stop function that looks like this:
extends GPUParticles2D
class_name Particles2DEx

func _ready() -> void:
	finished.connect(_on_particles_finished)

func _on_particles_finished() -> void:
	print("SELF-FREEING PARTICLES")
	queue_free()

func stop() -> void:
	emitting = false
	one_shot = true
	emitting = true
	emitting = false

emitting needs to be set to false before one_shot is set to true, and then it seems that setting it to true after one_shot is true, will prime the node to emit the signal after all particles have been processed. Setting emitting to false at the end is just to prevent further particles from being emitted, so that when we call stop on a particle node that had been emitting infinitely it properly stops emitting that same frame but still frees itself.

emitting needs to be set to false before one_shot is set to true, and then it seems that setting it to true after one_shot is true, will prime the node to emit the signal after all particles have been processed. Setting emitting to false at the end is just to prevent further particles from being emitted, so that when we call stop on a particle node that had been emitting infinitely it properly stops emitting that same frame but still frees itself.

Thank you very, very much.
I have put two freaking hours into it and it would have never occurred to me.
Anyway, it works like this in 4.2.2
func GoParticle( particle):
	var particle= load( "res://particle.tscn" ).instantiate()

	particle.emitting = false
	particle.one_shot = true
	particle.emitting = true

	add_child( particle)

	particle.finished.connect( OnFinishedParticle.bind( particle ) )

func OnFinishedParticle( particle ):
	remove_child( particle )
	particle.queue_free()


Wrong calculation user_count on presence channels

Reverb Version
1.x
Laravel Version
11
PHP Version
8.3
Description
1. user_count on get channels request
$pusher->getChannels(['filter_by_prefix' => 'presence-', 'info' => 'user_count']); return wrong number for user_count.
If we check Pusher documentation we will see - user_count is number of distinct users currently subscribed to this channel (a single user may be subscribed many times, but will only count as one). So user_count must return only unique users count, not connections count.
2. users list on get presence users request
$pusher->getPresenceUsers('presence-channel-id'); return wrong list of users with duplicates for each connection. If we check Pusher documentation - fetch user IDs of user currently subscribed to a presence channel. Here must be only unique users, not connections.
Steps To Reproduce

Run $pusher->getChannels(['filter_by_prefix' => 'presence-', 'info' => 'user_count']);.
Run $pusher->getPresenceUsers('presence-channel-id');.

Fix here https://github.com/laravel/reverb/pull/129


Bump product kernel version to 4.7.0-beta6

$Subject

PR builder completed
Link: https://github.com/wso2/product-is/actions/runs/2547351314
Status: success


Correctly handling single string constraints

Hello
This PR should fix #591
Might also need to check the deserialization, but it seems that this part is correctly handled.
To verify:
Passing the following json to the from_frictionless_schema()-function:
import pandas as pd
from pandera.io import from_frictionless_schema

FRICTIONLESS_SCHEMA = {
    "fields": [{
        "name": "foo",
        "constraints": {
            "maxLength": 20
        },
        "type": "string"
    }]
}

schema = from_frictionless_schema(FRICTIONLESS_SCHEMA)

The frictionless schema is correctly parsed to a pandera schema:
schema.columns['foo'].checks

Output: [<Check str_length: str_length(None, 20)>]
However, serializing the schema to YAML using the to_yaml()-function yielded the following output:
schema_type: dataframe
version: 0.7.0
columns:
  foo:
    dtype: string[python]
    nullable: true
    checks:
      str_length: 20
    allow_duplicates: true
    coerce: true
    required: true
    regex: false
checks: null
index: null
coerce: true
strict: true

With proposed changes:
schema_type: dataframe
version: 0.7.0
columns:
  foo:
    dtype: string[python]
    nullable: true
    checks:
      str_length:
        max_value: 20
    allow_duplicates: true
    coerce: true
    required: true
    regex: false
checks: null
index: null
coerce: true
strict: true

hi @rbngz thanks for the PR!
The change you proposed will break the serialization behavior for unary checks, see here: https://github.com/pandera-dev/pandera/runs/4118556698?check_suite_focus=true#step:9:576
So I think the more systemic fix for this issue is to delete this line over here:
https://github.com/pandera-dev/pandera/blob/dev/pandera/checks.py#L56
            check.statistics = {
                stat: args_dict.get(stat)
                for stat in statistics_args
                if args_dict.get(stat) is not None  # << delete this right here
            }

The problem is that statistics that are None will not be included in the check.statistics attribute. By deleting that line all statistics for multi-arg checks will be included.
You'll have to update test_io.py since a bunch of the serialized checks will change (including fixing the str_length issue). You can do pytest tests/core/test_io.py to make sure tests are happy

Hi @cosmicBboy thank you for the helpful suggestion!
Unfortunately, when removing the line that you pointed out, the check_statistics for the in_range check will also be displayed in the resulting yaml. (Not sure if this is desired)
checks:
    in_range:
        min_value: 10
        max_value: 99
        include_min: null
        include_max: null

Therefore, I needed to exclude the in_range check from the proposed changes. (Unfortunately not as systemic as the initial proposal)
Let me know what you think :)

hi @rbngz
checks:
    in_range:
        min_value: 10
        max_value: 99
        include_min: null
        include_max: null

This is actually the correct behavior, no need to exclude in_range https://github.com/pandera-dev/pandera/pull/670/files#diff-833d2db138a3428cfce92ef7d355be247af30b170c32e778859498bd226615d7R56
Reading/writing more concise yaml format can be part of another PR, as I agree that keys with null bloats the yaml output, but for now it's better to have fully-specified yaml than the incorrect serialization/deserialization behavior.
But the unit tests will need to be updated so that the all the kwargs are included in the yaml file.

awesome, thanks for the contribution @rbngz!