ConnectionClosed Event is not working with v1.0.0

ConnectionClosed Event is not working with v1.0.0

obs-websocket-js version: 1.0.0
obs-websocket plugin version: 4.2.0
obs-studio version: 20.1.3
node version: 8.7.0

Error message
events.js:182
throw er; // Unhandled 'error' event
^
Error: read ECONNRESET
at _errnoException (util.js:1021:11)
at TCP.onread (net.js:608:25)

That'd be the host server dropping the connection, I'll take a look and see if there's a reason that doesn't trigger a connection closed event.

Can't seem to get a good way to duplicate this.
If you're running in node you can add a catch for uncaughtExceptions to at least prevent a crash.
I'll check around and see if there's some additional ways to catch socket exceptions that I might be missing.
process.on('uncaughtException', (err) => {
    console.error(err);
});

Have you tried to do a force quit/end task in task manager on obs to duplicate?

Hello Sorry for my late reply.
with Version obs-websocket-js 1.1.0
I get following Error when closing the connected OBS Studio. How can I help you to debug this better.
I am using Windows 7.
`    at _errnoException (util.js:1021:11)
at TCP.onread (net.js:608:25)
C:\project\digital-ocean\node_modules\has-binary2\index.js:28
function hasBinary (obj) {
RangeError: Maximum call stack size exceeded
at hasBinary (C:\project\digital-ocean\node_modules\has-binary2\index.js:28:20)
at hasBinary (C:\project\digital-ocean\node_modules\has-binary2\index.js:56:59)
at hasBinary (C:\project\digital-ocean\node_modules\has-binary2\index.js:56:59)
at hasBinary (C:\project\digital-ocean\node_modules\has-binary2\index.js:56:59)
at hasBinary (C:\project\digital-ocean\node_modules\has-binary2\index.js:56:59)
at hasBinary (C:\project\digital-ocean\node_modules\has-binary2\index.js:56:59)
at hasBinary (C:\project\digital-ocean\node_modules\has-binary2\index.js:56:59)
at hasBinary (C:\project\digital-ocean\node_modules\has-binary2\index.js:56:59)
at hasBinary (C:\project\digital-ocean\node_modules\has-binary2\index.js:56:59)
at hasBinary (C:\project\digital-ocean\node_modules\has-binary2\index.js:56:59)
at hasBinary (C:\project\digital-ocean\node_modules\has-binary2\index.js:56:59)
at hasBinary (C:\project\digital-ocean\node_modules\has-binary2\index.js:56:59)
at hasBinary (C:\project\digital-ocean\node_modules\has-binary2\index.js:56:59)
at hasBinary (C:\project\digital-ocean\node_modules\has-binary2\index.js:56:59)
at hasBinary (C:\project\digital-ocean\node_modules\has-binary2\index.js:56:59)
at hasBinary (C:\project\digital-ocean\node_modules\has-binary2\index.js:56:59)
at hasBinary (C:\project\digital-ocean\node_modules\has-binary2\index.js:56:59)
at hasBinary (C:\project\digital-ocean\node_modules\has-binary2\index.js:56:59)
at hasBinary (C:\project\digital-ocean\node_modules\has-binary2\index.js:56:59)
at hasBinary (C:\project\digital-ocean\node_modules\has-binary2\index.js:56:59)
at hasBinary (C:\project\digital-ocean\node_modules\has-binary2\index.js:56:59)
at hasBinary (C:\project\digital-ocean\node_modules\has-binary2\index.js:56:59)
[nodemon] app crashed - waiting for file changes before starting...`
with obs-websocket-js 0.9.0 I dont have those problems. But I also get an unhandled Promise rejection warning when I have not started OBS Studio and want to connect.

(node:2124) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): Error: connect ECONNREFUSED <IP_ADDRESS>:2222
(node:2124) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

with obswebsocket-js 1.0.0 and obs websocket plugin 4.3.0 I get

at _errnoException (util.js:1021:11)

at TCP.onread (net.js:608:25)

buffer.js:392
Buffer.isBuffer = function isBuffer(b) {
^
RangeError: Maximum call stack size exceeded
at Function.isBuffer (buffer.js:392:36)
at hasBinary (C:\project\digital-ocean\node_modules\has-binary2\index.js:42:87)
at hasBinary (C:\project\digital-ocean\node_modules\has-binary2\index.js:56:59)
at hasBinary (C:\project\digital-ocean\node_modules\has-binary2\index.js:56:59)
at hasBinary (C:\project\digital-ocean\node_modules\has-binary2\index.js:56:59)
at hasBinary (C:\project\digital-ocean\node_modules\has-binary2\index.js:56:59)
at hasBinary (C:\project\digital-ocean\node_modules\has-binary2\index.js:56:59)
at hasBinary (C:\project\digital-ocean\node_modules\has-binary2\index.js:56:59)
at hasBinary (C:\project\digital-ocean\node_modules\has-binary2\index.js:56:59)
at hasBinary (C:\project\digital-ocean\node_modules\has-binary2\index.js:56:59)
at hasBinary (C:\project\digital-ocean\node_modules\has-binary2\index.js:56:59)
at hasBinary (C:\project\digital-ocean\node_modules\has-binary2\index.js:56:59)
at hasBinary (C:\project\digital-ocean\node_modules\has-binary2\index.js:56:59)
at hasBinary (C:\project\digital-ocean\node_modules\has-binary2\index.js:56:59)
at hasBinary (C:\project\digital-ocean\node_modules\has-binary2\index.js:56:59)
at hasBinary (C:\project\digital-ocean\node_modules\has-binary2\index.js:56:59)
at hasBinary (C:\project\digital-ocean\node_modules\has-binary2\index.js:56:59)
at hasBinary (C:\project\digital-ocean\node_modules\has-binary2\index.js:56:59)
at hasBinary (C:\project\digital-ocean\node_modules\has-binary2\index.js:56:59)
at hasBinary (C:\project\digital-ocean\node_modules\has-binary2\index.js:56:59)
at hasBinary (C:\project\digital-ocean\node_modules\has-binary2\index.js:56:59)
at hasBinary (C:\project\digital-ocean\node_modules\has-binary2\index.js:56:59)

If there's a difference between 0.9 and 1.0.0 then these two commits apply

https://github.com/haganbmj/obs-websocket-js/commit/47ac5e60cdfc931bb07f04b64b9829201970065d
https://github.com/haganbmj/obs-websocket-js/commit/6cf99e2801a610e9282da22ab2c3bacb016ceffc

If it's between 1.0.0 and 1.1.0 then the only changes were with the dependencies used.

https://github.com/haganbmj/obs-websocket-js/commit/fb829725b44d64c44b0b701ce91cbff51aa6ba3c

If you don't already have the logging environment variable set, that'd be helpful to see.
DEBUG=obs-websocket-js:*

It is between 0.9.0 and 1.0.0. with 0.9.0 the disconnect event is fired properly.

Where can I set Debug?

Alright, I was able to trigger this in a test case.
I was misunderstanding how EventEmitter treated emitting error. Apparently that can get you an Uncaught Exception.
So when this was written it essentially enforced having an error handler, something that I thought would continue to be an optional requirement.
https://github.com/haganbmj/obs-websocket-js/commit/6cf99e2801a610e9282da22ab2c3bacb016ceffc#diff-ce3eb7273f12ecefb326730c4fd17e9aR65
So, ensure that you have an error handler at least written. It doesn't have to actually do anything.
obs.on('error', err => {
    console.error(err);
});

I'll see if there's some way I can look through this and make it more evident or allow it to be optional.

I have this error handler set. But it seems it doesn´t handle this error. I get the above error when closing OBS Studio. which should in normal case trigger a ConnectionClosed event... But it doesn´t in 1.0.0 and higher...

Sorry for not following up on this, stumbled upon this issue https://github.com/websockets/ws/issues/1256 and it started to make more sense as it would've been the transitive ws dependency (as of version 3.3.3) getting more strict about error handling.
These errors don't happen browser-side because that uses the browser's implementation of WebSocket instead.
The proposed solution from ws is, as before, add an error handler. I'm going to try adding one within the wrapped socket handler in this project.
At the end of that issue discussion it appears that these changes are being reverted though and errors will be handled more similarly to how they were before 3.3.3 in 5.0.0.

No problem. I have just tested the ConnectionClosed not fired problem with your new Version 1.2.0.
With this version the problem is gone. In v.1.1.0 It was still present. Thanks for fixing this bug


send-c53.order.js ERR_INVALID_ARG_TYPE

Hello,
Thank you for your interesting work !
I'm trying to download c53 from Credit-Suisse.
Letter and and keys are okay and my account has been activated by the bank.
I use sen-c53-order.js
Sometimes i can download some data but the next time I get an ERR_INVALID_ARG_TYPE error.
See screenshot.
Any hints ?
Best regards.
JP Buttet

on other debug console screenshot for the same error shows:
businessCodeShortText:"No data are available at present for the selected download order type"
this error shows up even if some data is available on the bank server (Credi-Suisse).
Could you please help me in solving this issue ?
Best regards.
Jean-Pierre Buttet

after a double check, I could see that start and end dates that i used were wrong. Now it works with the correct dates.
Thanks

@jpbuttet can you show me the correct dates you used?


osx captain

Simplebar wont show(even in dom) on all browsers in ios x(latest chrome/safari/firefox). No problem show in console. simplebar yust add overflow:auto and thats all. When i look on browserstack  (windows) works fine. Thaks for help.

in iosx lion it works

This seems to be the "normal" behavior. Read this section of the readme: https://github.com/Grsmto/simplebar#6-browsers-support
Can you confirm?
We could have an option to force the use of Simplebar in every cases.

I tested on desktop (MacBook Pro). It will be awesome if simplebar work  on every desktop.  Maybe some problem with recognize what mobile or desktop ??

I'm closing the issue as this is not a bug but a decision made to disable Simplebar when a "floating" scrollbar is already present (mobile or mac OSX).
I will think of an option to force Simplebar to appear even when there is a floating scrollbar.

Hi, Is there anything done about OSX? If not, is there an easy way I could change the code to enable it? TBH I didn't bother to debug. I'm asking because I guess you know the code better :).
Thanks!

What exactly is the feature you mean by "enable it"?
Cause I work on OSX (El Capitan) and I built this project testing/working on it on OSX so if you can explain I can probably work on it :)
Is it what I described above? "force Simplebar to appear even when there is a floating scrollbar"?
Thanks!

Yep. On OSX the custom scrollbar won't show up at all. I would like to enable it.

Ok I got it! I will have some time soon to work on the project but it won't be before 2 weeks at least.
It's definitely a good option to implement.

Thanks a lot!

First, Thanks for your awesome code!
So, I have an issue probably related to this thread. I'm working on OS X El Capitan, and the simplebar works mostly fine..
but only when I have my settings in System Preferences > General > Show scroll bars on 'Always' and
not when it's on 'Automatically based on mouse or trackpad' which I thought is the default setting.
Is there a way to fix this or is it not a bug and it's designed to work like that? Or is it me not understanding the relations?
Thanks!

@kimko3000 yes, the plugin automatically disable itself when it detects a "floating" scrollbar.
This is explained in the doc there: https://github.com/Grsmto/simplebar#6-browsers-support
I understand the confusion and for the V2 I will implement an option to force Simplebar to be enabled. I will also update the description of the plugin cause it's pretty confusing.

@Grsmto thanks for your answer. i guess i didn't read that careful enough nor understood the concept of floating scrollbars.
so i'll try v2 then. 👍

I got same problem, Is the feature has been already in v2 beta?

It's been added 2 days ago on this commit 4574c0b
but no release yet. I'll edit a release supporting this feature asap, just need to test it before!

thanks, it's ready in v3 beta. I tested and work perfectly on both of Windows and Mac Chrome browser.


youtube-viewer: init at 3.3.0

Motivation for this change
search and play youtube videos from the command line
Things done

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

[X] NixOS
[ ] macOS
[ ] Linux

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[X] Tested execution of all binary files (usually in ./result/bin/)
[X] Fits CONTRIBUTING.md.

thanks @vyp, fixed both description and not-needed version and rebased to master


Mapping volumes should be supported for Docker for Mac

README.md for mssql-server-linux states:
Current Limitations: Mapping volumes is not supported for Docker for Mac.
Could this limitation be resolved?

I would certainly like to know at least what is the technical reason it doesn’t (yet) work.

Smart engineer on our team says...

SQL Server requires underlying filesystems to support the O_DIRECT file option so that we can use asynchronous I/O. It appears that Docker's OS X volume mapper doesn't support this.
We also require O_DIRECT because SQL Server expects unbuffered I/O to the disk.

BTW - you can use data container volumes for persistence when using Docker for Mac.  That doesnt help  you share files between the macOS host and the container but it does give you data file persistence for your DB files in /var/opt/mssql/data.
https://docs.docker.com/engine/tutorials/dockervolumes/#/creating-and-mounting-a-data-volume-container

On the Mac one could do all their docker work in a Linux VM and get around the limitations of the Mac file system.

Thinking out loud here: would a compliant file system using FUSE (not sure this even works on OS X) on OS X work? You could use a file system on this FUSE thing to pass the -v for mappings. Maybe ZFS on OSX? https://openzfsonosx.org/

The container volume looks promising, but I can’t get the syntax right.
I have tried:
create -v /var/opt/mssql --name mssql microsoft/mssql-server-linux
together with
docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=…' -p 1433:1433 --volumes-from mssql -d --name sql-server microsoft/mssql-server-linux
but it’s all falling apart. The name is wrong and the login fails.

Thanks a lot folks! This thread is very helpful!
For those using docker-compose, I created a gist to make it work with your other services.
https://adilsoncarvalho.com/using-mssql-on-linux-using-docker-for-mac-a5d4ac81e57f

checking in ...is there any movement on this issue? Thanks.

@julielerman Sorry, no, not yet.  We're focusing on some of the other issues at the moment having to do with configuration of SQL Server in containers.  Targeting CTP 2.1 for those improvements and then we'll take a look at the next batch of issues.  This is certainly one of the higher priority issues.

I spent hours last night (being a docker newbie and all) trying different combinations.
I can confirm that creating a "data volume container", and then using the --volumes-from parameter works fine.
I can also confirm that the (new, as of Docker 1.9+?) option of creating a plain "data volume" works. You can either pre-create it using docker volume create myvolname and then using the -v myvolname:/var/opt/mssql option when running docker run..., or you can go ahead and just use   -v myvolname:/var/opt/mssql and it will create a volume "on the spot" if it doesn't exist.
Then you can re-use/share that volume with other containers.
Now, one thing that baffles me is that everybody is talking about the need to have persistent volumes because when you stop your containers everything will be lost. However, in my experiments with the mssql linux image/containers, I can stop and start and restart the container all I want, and my filesystem changes are still there (of course they won't be there if I remove the container, but nobody is expecting that.)  Do I have something "different" in my Docker setup?  Is this a "feature" of Docker for Mac? Has Docker changed its behaviour in the latest versions? (I'm using the latest Docker for Mac Community Edition Version 17.03.1-ce-mac5 (16048))

@barspi - you have a correct understanding.  You can stop/start/restart your containers all day long and as long as you don't remove the container the changes made inside the container will remain.  It's like a VHD file.  You can stop/start/restart the VM all day long and all the changes will be persisted in the VHD file, but if you delete the VHD file then all is lost.
The reason that people make such a big deal about persistence is that historically a few years ago containers didnt have persistence at all.  They were designed to be completely ephemeral.
It also just comes from a bit of paranoia about people that dont know what they are doing potentially losing data.  Just like most things in life there are risks if you dont know what you are doing.  :)

I had the same problem running a microsoft/mssql-server-linux Docker image (Sql Server 2017) container on a Ubuntu 16.06 VirtualBox VM host.
When Docker command with a volume param is run
docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=<YourStrong!Passw0rd>' -p 1433:1433 -v /var/opt/mssql:/var/opt/mssql -d microsoft/mssql-server-linux

Execution will get stuck at Recovery is complete. This is an informational message only. No user action is required. and won't move forward to completion. Using data container volumes as suggested by @twright-msft solved the problem.
In summary, this problem is there in Linux environment as well.

@mysticmind - Can you please tell me more about your environment?  Were you running macOS with Virtual Box on it and then an Ubuntu VM on Virtual Box with Docker Engine inside of it?

@twright-msft Windows 10 running a VirtualBox Ubuntu 16.04 VM with Docker inside it

@twright-msft Is this still an issue in GA?

@kspearrin - Yes, it is likely still a problem.

Could this be documented on Docker Hub to prevent duplicate bugs being raised?

it's still an issue in 2017-latest.
create a docker volume or data container volume works as charm, but not a final solution, is there any plan to solve it?

Is O_DIRECT the same thing missing in ZFS which prevents using ZFS filesystems as volumes #13 ?

Based on a discussion with @julielerman, I thought I'd post some guidelines I give to my students and clients around this issue. The TL;DR is:

Don't use bind-mounts on Docker Desktop (macOS/Windows) for database persistence. It's an anti-pattern.

In essence, you're asking the database engine in the container to span operating systems to a remote file system, which at best will be much slower, and at worst just won't work. mssql isn't alone here. I've seen various disk I/O issues and container startup issues for most other sql, nosql, and key/value storage systems when trying to use bind-mounts on macOS and Windows. Sometimes it's a file permissions mis-match, sometimes it's disk driver I/O features, and others are just performance related.
If you're on macOS, I recommend you get savy on the Docker for Mac file sharing features/concerns, as well as how to performance tune it. On Windows, it's much worse because I believe it still uses SMB networking protocols to bind-mount, which almost never works with db files.
I don't think we should expect Docker Desktop to solve all those low level OS issues, and I've helped my clients ensure they don't need a workflow for local test/dev that requires mounting a db file on host into a running db container. In all cases so far it was just a workflow issue that had a different solution.
Methods I've seen used:
Yes named volumes work great, and is what should be used to store db's. The challange usually comes when people want 1. sample/seed data or 2. a large database that they don't want to re-import.
For sample/seed data, that should be part of a custom ENTRYPOINT script that you put in compose files just for local development. This way you customize the local dev startup expirence without changing the Dockerfile. The script can/should be smart enough to detect if the data needs to be re-imported on container startup. The seed data gets stored in the repo with code usually so its schema can be matched to db schema changes. The mssql image doesn't have a default ENTRYPOINT script yet, but you can see great examples on other database images, like the mysql official image, where it will create users, set passwords, and more during container startup, and then restart the database in the CMD stanza.
For large datasets where you don't want the delay of import every time, you'll need to get your pre-created files into the container. Options include:

Once the container is running with the named volume, you can use docker cp to copy the files from host path to container path where you've mounted the named volume. To my knowledge, this can't be automated (that I know of) for easy local development setup with docker-compose up, which is always my goal for new dev environment setup.

My prefered if you have multi-gig db files: You could still bind-mount the directory with data in it on host, but the goal isn't to mount those files directly in mssql, but to rather have a ENTRYPOINT script that checks for their existance in the volume location, and if missing, copy them over from bind-mount location, before passing control to CMD where they'll get mounted by mssql. Sorry I don't have an example, but it should just be a few lines of bash to get working.

Note that none of this is recommended for servers or production obviously, but then those setups won't have bind-mount issues across OS's either.
I hope that helps.

Same issue happens when running in the latest docker with kubernetes enabled and trying to run mssql through the stable helm chart at https://github.com/helm/charts/tree/master/stable/mssql-linux

Almost 2 year, can we have a solution for this issue in next few months?

Same issue happens when running in the latest docker with kubernetes enabled and trying to run mssql through the stable helm chart at https://github.com/helm/charts/tree/master/stable/mssql-linux

I met the same problem, is there any solution here?

Another issue to consider is performance for volumes in docker on Windows and Mac are significantly reduced and prone to issues for database files.
I'd suggest docker cp or a volume mount for backup/restore only.

Any status update about this?
As mentioned above people are paranoia want to place data files out of container I really disagree. It is a design of a container to not have any persistent data and creating any new version by kick and update it.
As it seems this won't be solved soon I think it would be much help for backup/restore and automate test scenarios if we have a /data/backup folder inside the docker container we can mount then.
We know that container store mdf and ldf files in /var/opt/mssql.
So how about have a /var/opt/mssql_backup folder that we can use to mount it outside the VM.
Then we could easy use

copy file to target
sqlcmd usage to restore db
backup database and save to file location of our choice

Or is this problem solved soon?

Doesn't my workaround for o_direct work on osx too? https://github.com/t-oster/mssql-docker-zfs no guarantees about side effects through, but I used this successfully on zfs/Linux until o_direct was officially supported.

Doesn't this workaround for o_direct work on osx too? https://github.com/t-oster/mssql-docker-zfs no guarantees about side effects through, but I used this successfully on zfs/Linux until o_direct was officially supported.

Didn't try so far, you use this more or less stable :)?

I did use it in production without problems. But since zfs now works without this workaround, I don't need it anymore

Still facing this issue in 2020 on macos mojave with docker v <IP_ADDRESS> when trying to create a sql server container:
This container is running as user mssql.

To learn more visit https://go.microsoft.com/fwlink/?linkid=2099216.
2020-06-23 19:32:06.01 Server      Setup step is FORCE copying system data file 'C:\templatedata\model_replicatedmaster.mdf' to '/var/opt/mssql/data/model_replicatedmaster.mdf'.
2020-06-23 19:32:06.83 Server      Setup step is FORCE copying system data file 'C:\templatedata\model_replicatedmaster.ldf' to '/var/opt/mssql/data/model_replicatedmaster.ldf'.
2020-06-23 19:32:07.01 Server      Setup step is FORCE copying system data file 'C:\templatedata\model_msdbdata.mdf' to '/var/opt/mssql/data/model_msdbdata.mdf'.
2020-06-23 19:32:07.37 Server      Setup step is FORCE copying system data file 'C:\templatedata\model_msdblog.ldf' to '/var/opt/mssql/data/model_msdblog.ldf'.
2020-06-23 19:32:08.72 Server      Microsoft SQL Server 2019 (RTM-CU5) (KB4552255) - 15.0.4043.16 (X64)
Jun 10 2020 18:25:25
Copyright (C) 2019 Microsoft Corporation
Developer Edition (64-bit) on Linux (Ubuntu 18.04.4 LTS)
2020-06-23 19:32:08.72 Server      UTC adjustment: 0:00
2020-06-23 19:32:08.72 Server      (c) Microsoft Corporation.
2020-06-23 19:32:08.72 Server      All rights reserved.
2020-06-23 19:32:08.72 Server      Server process ID is 40.
2020-06-23 19:32:08.72 Server      Logging SQL Server messages in file '/var/opt/mssql/log/errorlog'.
2020-06-23 19:32:08.73 Server      Registry startup parameters:
-d /var/opt/mssql/data/master.mdf
-l /var/opt/mssql/data/mastlog.ldf
-e /var/opt/mssql/log/errorlog
2020-06-23 19:32:08.74 Server      Error: 17113, Severity: 16, State: 1.
2020-06-23 19:32:08.74 Server      Error 87(The parameter is incorrect.) occurred while opening file '/var/opt/mssql/data/master.mdf' to obtain configuration information at startup. An invalid startup option might have caused the error. Verify your startup options, and correct or remove them if necessary.

It's still happening in 2020 - macos mojave with docker <IP_ADDRESS>
extract from the logs is as follows:
This container is running as user mssql.

To learn more visit https://go.microsoft.com/fwlink/?linkid=2099216.
2020-06-23 19:32:06.01 Server      Setup step is FORCE copying system data file 'C:\templatedata\model_replicatedmaster.mdf' to '/var/opt/mssql/data/model_replicatedmaster.mdf'.
2020-06-23 19:32:06.83 Server      Setup step is FORCE copying system data file 'C:\templatedata\model_replicatedmaster.ldf' to '/var/opt/mssql/data/model_replicatedmaster.ldf'.
2020-06-23 19:32:07.01 Server      Setup step is FORCE copying system data file 'C:\templatedata\model_msdbdata.mdf' to '/var/opt/mssql/data/model_msdbdata.mdf'.
2020-06-23 19:32:07.37 Server      Setup step is FORCE copying system data file 'C:\templatedata\model_msdblog.ldf' to '/var/opt/mssql/data/model_msdblog.ldf'.
2020-06-23 19:32:08.72 Server      Microsoft SQL Server 2019 (RTM-CU5) (KB4552255) - 15.0.4043.16 (X64)
Jun 10 2020 18:25:25
Copyright (C) 2019 Microsoft Corporation
Developer Edition (64-bit) on Linux (Ubuntu 18.04.4 LTS)
2020-06-23 19:32:08.72 Server      UTC adjustment: 0:00
2020-06-23 19:32:08.72 Server      (c) Microsoft Corporation.
2020-06-23 19:32:08.72 Server      All rights reserved.
2020-06-23 19:32:08.72 Server      Server process ID is 40.
2020-06-23 19:32:08.72 Server      Logging SQL Server messages in file '/var/opt/mssql/log/errorlog'.
2020-06-23 19:32:08.73 Server      Registry startup parameters:
-d /var/opt/mssql/data/master.mdf
-l /var/opt/mssql/data/mastlog.ldf
-e /var/opt/mssql/log/errorlog
2020-06-23 19:32:08.74 Server      Error: 17113, Severity: 16, State: 1.
2020-06-23 19:32:08.74 Server      Error 87(The parameter is incorrect.) occurred while opening file '/var/opt/mssql/data/master.mdf' to obtain configuration information at startup. An invalid startup option might have caused the error. Verify your startup options, and correct or remove them if necessary.

still happening in 2020 on macos mojave with docker v<IP_ADDRESS> when trying to create a sql server 2019 container. log extract is as follows:
This container is running as user mssql.

To learn more visit https://go.microsoft.com/fwlink/?linkid=2099216.
2020-06-23 19:32:06.01 Server      Setup step is FORCE copying system data file 'C:\templatedata\model_replicatedmaster.mdf' to '/var/opt/mssql/data/model_replicatedmaster.mdf'.
2020-06-23 19:32:06.83 Server      Setup step is FORCE copying system data file 'C:\templatedata\model_replicatedmaster.ldf' to '/var/opt/mssql/data/model_replicatedmaster.ldf'.
2020-06-23 19:32:07.01 Server      Setup step is FORCE copying system data file 'C:\templatedata\model_msdbdata.mdf' to '/var/opt/mssql/data/model_msdbdata.mdf'.
2020-06-23 19:32:07.37 Server      Setup step is FORCE copying system data file 'C:\templatedata\model_msdblog.ldf' to '/var/opt/mssql/data/model_msdblog.ldf'.
2020-06-23 19:32:08.72 Server      Microsoft SQL Server 2019 (RTM-CU5) (KB4552255) - 15.0.4043.16 (X64)
Jun 10 2020 18:25:25
Copyright (C) 2019 Microsoft Corporation
Developer Edition (64-bit) on Linux (Ubuntu 18.04.4 LTS)
2020-06-23 19:32:08.72 Server      UTC adjustment: 0:00
2020-06-23 19:32:08.72 Server      (c) Microsoft Corporation.
2020-06-23 19:32:08.72 Server      All rights reserved.
2020-06-23 19:32:08.72 Server      Server process ID is 40.
2020-06-23 19:32:08.72 Server      Logging SQL Server messages in file '/var/opt/mssql/log/errorlog'.
2020-06-23 19:32:08.73 Server      Registry startup parameters:
-d /var/opt/mssql/data/master.mdf
-l /var/opt/mssql/data/mastlog.ldf
-e /var/opt/mssql/log/errorlog
2020-06-23 19:32:08.74 Server      Error: 17113, Severity: 16, State: 1.
2020-06-23 19:32:08.74 Server      Error 87(The parameter is incorrect.) occurred while opening file '/var/opt/mssql/data/master.mdf' to obtain configuration information at startup. An invalid startup option might have caused the error. Verify your startup options, and correct or remove them if necessary.

I recently had a similar problem with 2019 container started on an empty volume. But then I started 2017, which created the database in the mapped volume and after it started up successfully, I used the 2019 container with the same volume.This did then update the existing files and is running well since then. I thought they changed the way you have to start the container the first time, but I didn't investigate further

I guess they now have prepared files in the /var/opt/mssql/data folder which are copied by docker if you create a named volume but not if you use a mapped folder. Try to run a container and map a folder in /tmp/data, docker exec bash and copy the folder...


feat: add nested "array of struct" field support

Codecov Report

Merging #48 into master will decrease coverage by 1.43%.
The diff coverage is 44.44%.

@@            Coverage Diff             @@
##           master      #48      +/-   ##
==========================================
- Coverage   89.92%   88.49%   -1.44%
==========================================
  Files           4        4
  Lines         417      426       +9
==========================================
+ Hits          375      377       +2
- Misses         30       36       +6
- Partials       12       13       +1

Impacted Files
Coverage Δ

parser.go
80.72% <31.25%> (-2.88%)
:arrow_down:

property.go
52% <63.63%> (ø)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update b1a69cd...d97625c. Read the comment docs.


Added Gemeaux Python server

A (modest) personal project in its early steps. Gemini is awesome!

hello @kr1sp1n ; I've noticed that other PRs were merged, while two others contributions (including mine) weren't.
So I was wondering: is there something wrong with it? Do you think my little project doesn't match the criteria? If there's anything I can do, please tell me, I'm all ears.
Still, I'm going on with it and I've even released v0.0.1 on the Python Package Index today :o)
https://pypi.org/project/gemeaux/0.0.1/

@brunobord Thanks for you contribution 🌈 🙏 🎉

Ah ! Thank YOU for this resource project!
Le lun. 7 déc. 2020 à 19:34, Krispin Schulz<EMAIL_ADDRESS>a
écrit :

@brunobord https://github.com/brunobord Thanks for you contribution 🌈
🙏 🎉
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/kr1sp1n/awesome-gemini/pull/24#issuecomment-740100460,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAGEYMDO73ILKCHFUGFFLLSTUN43ANCNFSM4UJIIWWA
.


Not store first commit in global property

Fix a issue that commits in a branch are lost if they are older then the first commit in a branch that are merging from this branch.
The global property "initial-changeset" is used to store the first changeset the use want to clone from.
But this is allso in some situations used to store the first changeset in a branch. This give a problem as this property is global and will be applied on all branches. If initial-changeset is set for a branch, the next cloned branch can not get the changesets before the changeset given in initial-changeset if it is not updated for that branch to.
It is problematic to use a property for different information.

Seems good. Thanks.


remove_empty: tweaks & fixes

The ValueException within the with block caused data corruption.

Added padding so all rows have the same length (can't hurt).

Told the test suite about those cases.

No idea, what's up with the test failure -- seems to be coming from clldutils.
.tox/py36/lib/python3.6/site-packages/clldutils/text.py:130: in <module>
    def replace_pattern(pattern: typing.Union[str, re.Pattern], repl, text: str, flags=0) -> str:
E   AttributeError: module 're' has no attribute 'Pattern'

py3.6 is no longer supported by clldutils. I fixed the gh action to no longer run py3.6 tests.

@johenglisch you'd need to merge master into this branch, though.


Register vehicles type in traffice provider for other co-simulator

When SMARTS integrate with other simulators, other simulators might need to register/create vehicles upfront.
The context is that when SMARTS integrate with KyberSim, we need to supply a *.rou.xml to SUMO to register a vehicle type and a route with a specific id so that KyberSim can create a vehicle with the type.
A *.rou.xml looks like:
<routes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://sumo.dlr.de/xsd/routes_file.xsd">
	<vType accel="0.8" color="0,0,1" decel="4.5" guiShape="passenger" height="1.5" id="IntelligentVehicle" length="5" maxSpeed="3" minGap="2.5" sigma="0.5" width="2"/>
	<route edges="A2-B2" id="ego_rou"/>
</routes>

This file is used to specify the vehicle type and route. No vehicle is created.

vType:

ID
Dimension(length, width, height)

Actually no need to supply vType upfront because SUMO will give the vehicle a default vehicle type. Even if KyberSim needs to change the color or dimension of the vehicle, also can do it via TraCI client.


Add Marker, Mock-data, and Text Docs

Issue #9
❤

Looks great! Once again thank you @flaque for your help documenting vx!
Side note for those reading: the current @vx/marker will turn into the svg  in the future.


Where to get the new C# logo image?

A new C# logo appeared with the new C# Dev Kit, but I'm struggling to find the original high resolution png or svg image file.
Is there a place I can get it from?

https://github.com/dotnet/vscode-csharp/blob/main/images/csharpIcon.png

@timheuer might you know if a larger version is available (and where)?

They'll likely show up in more proper places but here's a 2048x for you...

Thank you @timheuer!

Awesome

https://commons.wikimedia.org/wiki/File:C_Sharp_Logo_2023.svg


bug: infinite loop loading buysellads

Bug Report
Steps
A clear and concise description of steps to reproduce the problem.

Open https://react.semantic-ui.com/elements/button/#types-button
Open Chrome devtools
Check elements or network tab to see the infinite loop

Expected Result
The result that you expected.
Actual Result
The actual result that happened 💣

Added in https://github.com/Semantic-Org/Semantic-UI-React/blob/dda01825f8fec7c0ccd4491145d9a34b3d475207/templates/src-components-ComponentDoc.1dc0af3c.js
Version
0.85.0
Testcase

Facing this, too.
/cc @levithomason

I am not able to reproduce this problem using:

15" MacBook Pro (2017), macOS High Sierra
Chrome Version 72.0.3626.121 (Official Build) (64-bit)
Semantic UI React docs v0.85.0, production and local

I've also tried this:

locally and on production
with and without ad blockers
in examples which repeatedly re-render (possibly triggering new ad fetches)

Any more info I can go on @layershifter / @sayuti-daniel?

I can reproduce it locally and on production. It happens on wrong response from srv.buysellads.com.
Wrong response
_handleNativeJSON({"ads":[{"active":"1","ad_via_link":"https://www.buysellads.com/?utm_source=react-semantic-ui-com-native\u0026utm_medium=ad_via_link\u0026utm_campaign=in_unit\u0026utm_term=custom","external_id":"1261","height":"0","longimp":"T3JTTXBATTTTTTT3G7XMYTTTTTTT4XIXZETTTTTTT3XFOUTTTTTTT","noincrement":"1","rendering":"custom","statimp":"//srv.buysellads.com/ads/imp/x/GTND42QMC6AD627ECE74YKQMCWYIE2Q7CVYD4Z3JCWBI453MF67DTKQKC6BIPKQYCWAI6K3EHJWNBADLKM7UCBZG2Y","timestamp":"1551859592","width":"0","zoneid":"32354","zonekey":"CK7DC2QW"},{}]});

Valid response
_handleNativeJSON({"ads":[{"active":"1","ad_via_link":"https://www.buysellads.com/?utm_source=react-semantic-ui-com-native\u0026utm_medium=ad_via_link\u0026utm_campaign=in_unit\u0026utm_term=custom","backgroundColor":"#58409B","backgroundHoverColor":"#58409B","bannerid":"86364","callToAction":"Start Now","company":"Facebook Audience Network","companyTagline":"Discover monetization that puts users ﬁrst","creativeid":"183812","ctaBackgroundColor":"#54c7EC","ctaBackgroundHoverColor":"#54c7EC","ctaTextColor":"#FFFFFF","ctaTextColorHover":"#FFFFFF","description":"Get quality ads for the great user experience your app deserves, plus tools and insights for smarter monetization.","evenodd":"0","external_id":"8237","height":"0","i":"0","image":"https://cdn4.buysellads.net/uu/1/41312/1548894290-AN_Icon.jpg","logo":"https://cdn4.buysellads.net/uu/1/41312/1548894295-AN_Logo_White.png","longimp":"T3JTTXBATTTTTT4AHRXHYTTTTTTTQKDRZETTTTTTT3XFOUTTTTTTT","longlink":"THJTTXBATTTTTT4AHRXHYTTTTTTTQKDRZETTTTTTT3XFOUTTTTTTTBDW5JYFC5JGHRENVZI35JLCBR35K2UNBZSDHRWNB77SKHLFKGQJC67DTKJLCTYIC5QECKYIL5SHKKOI4KQLCT7D6KQMCY7IL27NFTRNCZI3FWBD5KQIF2Y4AYQRCWADPK7SK6UC4GQYCV7I55SIH7EIBKQSKH7LAYQRFT7DC27S2HLCKYQRF2WNV7I3ZRNC4R3RF2EN4BZ6FWRN4YZQKJGNYYZWFWRNCYZD23LIB5SJ53JDBKQSFRWDBBDW5JYFC5JGHRSU5R75K7ENC7Z42RUNNZID2RNLOYZMKJWNPSIDKMUCPRDU2R7CNZSE5QUNVRZD5J7LOSSNKM7FKBZH5AXUPRD2ZR7NORZLK2LIBKPVCVYD45PXVHFHCIP4ZR3N4AI42RU4KRZW2MGNB7Z62HBNBGP62H7UTSD3G6IFPRD2ZRJN4SZEKHWN5SJRVQQW4UB5KHBCLRIHZRQ6OM7C5MBCBUSD2RUFV7Z55EONAYZW2HSCP","pixel":"https://ad.atdmt.com/i/img;adv=11202201390319;ec=11202215639768;c.a=4713;p.a=5853;a.a=8237;s.a=1;as.a=8237;idfa=;idfa_lat=;aaid=;aaid_lat=;cache=","rendering":"custom","statimp":"//srv.buysellads.com/ads/imp/x/GTND42QMC6AD627ECE74YKQMCWYI527ICW7I6Z3JCWBI427WCTAICKJKC6BIPKQYCWAI6K3EHJWNBADLKM7UCBZG2Y","statlink":"//srv.buysellads.com/ads/click/x/GTND42QMC6AD627ECE74YKQMCWYI527ICW7I6Z3JCWBI427WCTAICKJKC6BIPKQYCWAI6K3EHJNCLSIZ","textColor":"#FFFFFF","textColorHover":"#FFFFFF","timestamp":"1551860180","title":"Discover monetization that puts users ﬁrst.","transparentLogo":"https://cdn4.buysellads.net/uu/1/41312/1548894300-AN_Logo_White.png","width":"0","zoneid":"32354","zonekey":"CK7DC2QW"},{}]});

      const sanitizedAd = json.ads
        .filter(ad => Object.keys(ad).length > 0)
        .filter(ad => !!ad.statlink)
        .filter(Boolean)[0]
      debug('handleNativeJSON sanitizedAd', sanitizedAd)

Wrong response doesn't contain ad.statlink, so sanitizedAd will be empty and will start getAd() again and again. May be small timeout can resolve this issue?

Mine keep getting wrong response as mentioned by @layershifter. It only happened whenever the editor is opened.
FYI, I'm using:

15" MacBook Pro (2016), macOS Mojave
Chrome Version 72.0.3626.121 (Official Build) (64-bit)
Semantic UI React docs v0.85.0

Still not able to reproduce this here 😕 Any ideas how you're getting repeatedly bad responses from carbon?  Ad blocker maybe?  Possible request hijacking in an extension?
The logic in place is that if an ad is served without an actionable link (supposed to be extremely rare), then fetch another one.  I just can't get a response from carbon that does not include a statlink at all.  Even if I add a debugger at that line, it is never triggered when browsing the doc site since no ads come back without a statlink.

Spoke with the ad service, some regions don't produce proper ads.  I've pushed a fix.

Released in<EMAIL_ADDRESS>


add code coverage with gcovr

pip install git+https://github.com/gcovr/gcovr.git
https://github.com/gcovr/gcovr
not sure if also need to install lcov or genhtml
perhaps by adding the flag -Db_coverage=true to meson setup is sufficient,... need to investigate.

this blog looks good:
https://about.codecov.io/blog/how-to-set-up-codecov-with-c-and-github-actions/


Support Authentication WebUI introduced in Frigate 0.14.0

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Frigate 0.14.0 introduced an Anthentication WebUI
Describe the solution you'd like
A clear and concise description of what you want to happen.
Please support the new authentication WebUI.
Therefore HA can access a frigate running on another machine and the unauthenticated WebUI port (port 5000) can be disabled on the docker container.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
It is either support the new authentication WebUI or not.
Additional context
Add any other context or screenshots about the feature request here.

This would be a feature request for the integration, not frigate itself

I thought this is the frigate-hass-integration. Not Frigate itself.

My bad too many emails haha

+1, would love to be able to close un-authenticated access.

really looking forward to this, id love to have to close up port 5000

The same here, I look forward to closing the 5000 port.

This is really important to me too
Currently this is a showstopper for this integration for me

Are you sure it cannot be done already? Have you tried to encode the credentials in the URL when setting up the integration?

Yes, authentication is done via an auth token, which the integration does not support

Ops, got it. Thanks.


[FEAT] script-tags for pages

Hello, Eric.
Thank you for your great tool!
We have a lot of pages (page.sections* etc), but in dist/snippets/script-tags it is only a single page script including allowed:
{%- if template == 'page' -%}
Maybe it will be creat if you can change it to something like {%- if template contains 'page' -%} for make possible to have just a single script for all pages.

@hayes0724
Maybe it is even better to use request.page_type instead for more consistency:
https://shopify.dev/docs/themes/liquid/reference/objects/request
if request.page_type == 'page'
will be more consistent than:
if template == 'page'
because we have templates sometimes named with page.section-my-stuff


Not able to take probe pictures with hand if probe is duplicated

Happens in the timber hearth seed thing

Was not a bug after all, just that the probe wasn't on the ground 🤦♂


Releaser does not update all baselines correctly

When creating a release for a project that depends on GToolkit, it's baseline isn't correctly updated to the latest tag.

Is this still an issue?

nope, closing.


Reflect render errors on left panel

I have a proposal, but I want to hear others opinions before working on a PR.
Note: in my app I don't have tests, I don't have prop-types defined and don't use flow / typescript.
Proposal

Display a visual clue near stories that failed to render.

So left panel would be something like a test-runner for different states of a container with a fast visual feedback.
We can apply some optimisations to ensure that we don't render every component with every state on every change. For example, check only states of a selected StoryName.
Kind of example 😺

StoryName

state 1
state_2
state_3 [badge_!_]
state_4

Workflow
While working with a component and writing it's state_n variant, we can quickly see that we broke some of its other states.
For me it feels like writing storybook-tests, somewhat in a jest-way. If that make sense 😺
But I'm so new to storybook so I am full of doubts. 😺  Your thoughts?

Have you considered using storyshots to achieve this? If you aren't interested in the full snapshot tests I'm working on a feature to just check for exceptions, as you've mentioned: https://github.com/storybooks/storybook/pull/917

See #1034


Arbitrary labels for metrics

I'm using this exporter to alert via Prometheus when a query hit count is over a certain limit. When an alert is triggered, the content of the alert is fairly basic, only telling the user the name of the alert and not much else. What I would like to do is to include a link to Kibana with the search that triggered the alert. E.g. the alert would look something like
Alert: App error(s) seen in the last 5 minutes - critical
 Cluster:  https://my-cluster
 Graph: <link to Prometheus graph>
 Details:
    • alertname: AppErrors
    ...
    • query: <link to Kibana search using this query>

Is that something this exporter supports?

Hi @diversario,
If I understand your question correctly, the functionality you're after lies in Prometheus/Alertmanager, not this exporter. Exporters just provide the base metrics - its up to your Prometheus and Alertmanager configs to convert those metrics into alerts, and format those alerts.
I've set up similar alerts to what you're wanting by templating out the text and links in the annotations of the Prometheus alert config, and then configuring Alertmanager to use the annotations in the appropriate part of the notifications.
Let me know if that answers your question!


TAJO-1950: Query master uses too much memory during range shuffle

This patch is not ready for review. I need more tests including CI test.

Hi, this patch is ready for review.
Here are highlights of this patch.

To reduce the number of fetches created in Repartitioner, I've merged fetches with their pull server host name. As a result, the total number of fetches is H * R, where H is the number of hosts and R is the number of ranges.
To reduce the size of fetches created in Repartitioner, I've changed to keep FetchProto instead of FetchImpl.
To reduce the number of index opens and closes, I've added an index reader cache to PullServerService.

I've additionally added some codes to clean up index cache upon eb completion.

@jinossy thanks for your review.
Actually, I found more problems related to the http message length. I'll fix it soon.

I see, please go ahead.

This patch is ready for review.

@jinossy thanks! I've updated my patch.

Looks good to me!
@hyunsik
Have you any comments?

I have a concern about too long of MAXIMUM HTTP REQUEST. It may cause too large granularity for repeat fetch.

@hyunsik
You're right. it can cause read timeout.
@jihoonson
Could you change to configurable value ?

@hyunsik and @jinossy, thanks for your comment. I make the max url length configurable. The default value is 2 KB.

+1 LGTM!

@jinossy thanks for your review. I'm testing this patch against 10TB dataset. I'll share the result when it finishes and then commit this patch.

Well, there remain some issues around fetch timeout. When I tested this patch against 10TB dataset, a lot of fetch timeouts occurred while transferring intermediate data between stages. The main reason looks that index lookup takes a lot of time (over 30 seconds with cache miss). So, I think the fundamental solution is to improve index search performance which need to be handled in another jira.
So, I'd like to suggest to increase fetch timeout temporarily. With doubled timeout (that is 120 seconds), everything was ok against 10TB data.
@hyunsik, @jinossy what do you think?

I've decreased the default max url length to 1KB. Maybe we can find more optimized value of max url length and fetch timeout.

@jihoonson
Thanks for your sharing. I guess, decreasing uri parameter will be better
Ship it!

@jinossy thanks for your comment. I'll commit shortly.
Merry christmas!


gf180 PVT corner and exclude list update

Signed-off-by: vijayank88<EMAIL_ADDRESS>Based on ORFS config.mk update OpenLane flow config.tcl.
Also updated drc_exclude.cells and no_synth.cells to remove *_1 cells based on https://github.com/The-OpenROAD-Project/OpenLane/issues/1493.
cc/@RTimothyEdwards

@vijayank88 :  I am waiting on the openlane developers to check, review, and approve this pull request.

@marwaneltoukhy :  I need a review of this from you, but I could not add you as a reviewer;  I think you need to be listed as a collaborator in the repository.  I made an invitation for you as a collaborator.  I think I need you to accept the invitation before I can add you as a reviewer.

@vijayank88 can you comment on the feedback from @mo-hosni

Yes as per @mo-hosni  statement its correct.
Most of designs are timing critical. So I try to avoid _1 cells.
Based on sky130 setup, i've created this list for timing critical designs.
So its upto designers to decide which cells to use/avoid.
I leave it to experts approval to merge or skip. Thanks

Yes as per @mo-hosni statement its correct. Most of designs are timing critical. So I try to avoid _1 cells. Based on sky130 setup, i've created this list for timing critical designs. So its upto designers to decide which cells to use/avoid. I leave it to experts approval to merge or skip. Thanks

I don't understand. Unless the resizer has bugs, then excluding size 1 cells will do nothing for timing.


Update object webhook to deny creating conflict object

Update object webhook to deny creating an object if an object with the
same name and type already exits in the descendants, and the type has
'Propagate' syncMode.
Add new a new test case.
Tested manually on GKE cluster and by 'make test'.
Fixes #1079
Part of #1076

/assign @adrianludwin
/assign @rjbez17
First one out of three webhooks.

Can you please update the commit comment with an example of what the message looks like if there are one or more conflicts?

Can you please update the commit comment with an example of what the message looks like if there are one or more conflicts?

Good point, done!

FYI will look into the flaky test on the new object reconciler change next.

/retest

/lgtm
/approve
/hold cancel


Fix initialization bug in DetectoRS

Dear developers,
In the previous merge of DetectoRS, I noticed that DetectoRS with Cascade + ResNet-50 isn't very close to what I reported. So I did a quick examination offline to find out what the reasons might be. It turns out that the issue is due to the init_weights function in RFP which alters the default initialization of SAC layers in self.rfp_modules when RFP and SAC are used at the same time. This bug affects the following performances reported in README.md.

Method
Detector

DetectoRS
Cascade + ResNet-50

DetectoRS
HTC + ResNet-50

It could also lead to NaN when larger backbones are used. So I create this PR to fix this issue.
Thanks a lot for your help!
Cheers!

Hi @joe-siyuan-qiao
Thanks for the fix. We will benchmark these two models again to see if the performance will be the same as reported.


CAMEL-18963: upgrade openapi components to latest swagger versions

This allows support of all OpenAPI specification versions including OpenAPI 3.1.x in the components camel-openapi-java and camel-rest-openapi. The swagger.io dependencies are upgraded to the latest versions and the apicurio dependency is dropped.
Due to this change, in camel-openapi-java, the return type of the public method org.apache.camel.openapi.RestOpenApiReader.read() is now io.swagger.v3.oas.models.OpenAPI. When an OpenAPI 2.0 (swagger) specification is parsed, it is automatically upgraded to OpenAPI 3.0.x by the swagger parser.
In order to support the property openapi.version=2.0 in the openapi-java component, an OpenAPI3to2 converter has been added.
Tests are upgraded except RestOpenApiEndpointTest in camel-rest-openapi which tested apicurio-specific classes.
A new test for OpenAPI 3.1 specifications is added.
Description

Target

[ ] I checked that the commit is targeting the correct branch (note that Camel 3 uses camel-3.x, whereas Camel 4 uses the main branch)

Tracking

[ ] If this is a large change, bug fix, or code improvement, I checked there is a JIRA issue filed for the change (usually before you start working on it).

Apache Camel coding standards and style

[ ] I checked that each commit in the pull request has a meaningful subject line and body.

[ ] I formatted the code using mvn -Pformat,fastinstall install && mvn -Psourcecheck

This turned out to be quite a big job, especially for camel-openapi-java. There will be a corresponding spring-boot commit to deal with the change to the return type public RestOpenApiReader.read() method.

I'm sorry to use this medium to report a bug, but I don't have access to JIRA at the moment. The Basic and Bearer Token mappings are wrong -- 'basic' and 'bearer' are assigned to the name instead of the scheme property. This breaks swagger-ui when one tries to use the Authorize button.
Lines 302 and 306 just need to use .scheme() instead of .name()

Thanks

PR with fix is welcome

PR with fix is welcome

Wow, thank you. I was just about to do that, checked out the source, but I see it's been fixed already. Thanks for the offer though!
I enjoyed Camel in Action, is there hope for a 3rd edition?


This.field is empty for second added entry in ARRAY using JSON schema

After you @aitboudad advised me to use MAP function and widget object inside my JSON schema, everything worked fine.
But I noticed today that EVERY second added entry in my forms are incorrectly rendered, and thats because for some reason, JSON schema is not parsing schema anymore, but its properties.
To explain deeper, in my definition I have object
 "price": {
            "title": "Price",
            "type": "pricing",
            "properties": {
              "min": {
                "type": "number",
                "title": "Min"
              },
              "max": {
                "type": "number",
                "title": "Max"
              },
              "unit": {
                "type": "string",
                "title": "Unit"
              },
              "delimiter": {
                "type": "string",
                "title": "Delimiter"
              },
              "format": {
                "type": "string",
                "title": "Format"
              }
            }
          }

This is then used within Array:
  "properties": {
                  "prices": {
                    "title": "Prices",
                    "type": "array",
                    "items": {
                      "$ref": "#/definitions/price"
                    }
                  }

When I add first instance of Price in array, everything works fine. Second added object (third and so on) instead of passing "pricing" schema, starts passing properties! (ie. "min", "max", ...) So they are converted into primitive controls (string inputs), instead of custom control "pricing".
You can see behavior in this video:
https://www.youtube.com/watch?v=wjiLeMUQgN8&feature=youtu.be

try with:
"price": {
  "title": "Price",
-  "type": "pricing",
+  "widget": {
+    "formlyConfig": {
+      "type": "pricing",
+    }
+  }
}

Thank you again, I dont know why this works, but I am glad

We rely on type to generate Formly schema so passing an unsupported type (pricing) would generate an unexpected result.


chore(deps): update common-dev-assets digest to 01e81be

This PR contains the following updates:

Package
Update
Change

common-dev-assets
digest
ba8da70 -> 01e81be

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

:tada: This PR is included in version 2.1.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


multiCollections updates

Eventually I'd like to try to get rid of the last use of T0, T1, ... in CollectionImpl, but I haven't managed yet !


stylish round button

Great Work!
Thanks for Contribution.
@kayleoss Don't you think, black color for the font of the second button will look good?

Great Work!
Thanks for Contribution.
@kayleoss I guess, black color for the text of the second button will look good?

Thanks!
Yeah you're right, black might look better. Probably i should make some changes to it 👍


How to detect bot's own messages

Hi,
I've allowed my bot to receive/access Telegram Group messages. So now I need to worry it should not be responding to its own messages, which'll cause looping.
What's the best way to tell if a message is of its own? Thx.

You do not have to worry about this; the bot does not receive updates for its own messages.

Even after I've allowed my bot to receive all Telegram Group messages?
That's not enabled by default.
I.e., I want to know which party guarantees that bot does not receive its own messages, because the for other chatting platform I'm also working on, it's a big thing.

If we're talking about the same feature, all that option does is allow you to receive messages other than commands directed to your bots. It does not actually do anything towards receiving your own bots' messages.
Preventing your own messages from being received as updates is handled on Telegram's side. They do not create a new update object for your own messages, so for you it's as if it never actually happened.

Oh, great, thanks a lot for spending time explaining all this. Have a nice day!


Make the nav-bar anchored

Description
While scrolling the vertical navbar gets scrolled up. Anchoring the nav-bar will make navigation easier.
Screenshots

Do you want to work on this issue?
Yes
How are you planning to resolve on this issue?
Editing the HTML of nav-bar to make it stable.
Are you raising this issue under hacktoberfest?
Yes, I'm raising this issue under hacktoberfest.

@centurion6x You can work on this.


Update 2023-02-03-fosdem-2023-annoucement.md

added past

@Erioldoesdesign I think we also need to update https://github.com/opensourcedesign/opensourcedesign.github.io/blob/master/_events/2022-11-09-fosdem-cfp-2023.md to past?


Deprecated default solution in tutorial

This is a Bug Report

Problem:
When using
kubernetes-bootcamp --image=gcr.io/google-samples/kubernetes-bootcamp:v1 --port=8080

I get the following warning:
kubectl run --generator=deployment/apps.v1 is DEPRECATED and will be removed in a future version. Use kubectl run --generator=run-pod/v1 or kubectl create instead.

Proposed Solution:
Update the deprecated default solution.
Page to Update:
https://kubernetes.io/docs/tutorials/kubernetes-basics/deploy-app/deploy-interactive/

Thanks. A new version will be live shortly with updated commands and flow to reflect the current practices.

/priority important-longterm
/kind cleanup

#15512 is tracking this

Sorry for the delay on this. We thought it had a larger impact than it did.
The fix was applied in https://github.com/katacoda-scenarios/kubernetes-bootcamp-scenarios/commit/839fc4c2160f821194418d16bf14c1cde9512cb5

Neat


non-node are accepted and converted as Text

Thanks for this PR as well @caub! Is it possible to have tests for this?

Hi @caub, it looks like this PR has made some failing tests in IE7 and IE8:
Failures:
 - ie/8:
    -> Element.prototype.prepend
       http://<IP_ADDRESS>:3000/test/tests?mode=targeted&feature=Element.prototype.prepend
    -> Element.prototype.replaceWith
       http://<IP_ADDRESS>:3000/test/tests?mode=targeted&feature=Element.prototype.replaceWith
    -> Element.prototype.append
       http://<IP_ADDRESS>:3000/test/tests?mode=targeted&feature=Element.prototype.append
    -> Element.prototype.before
       http://<IP_ADDRESS>:3000/test/tests?mode=targeted&feature=Element.prototype.before
    -> Element.prototype.after
       http://<IP_ADDRESS>:3000/test/tests?mode=targeted&feature=Element.prototype.after
 - ie/7:
    -> Element.prototype.prepend
       http://<IP_ADDRESS>:3000/test/tests?mode=targeted&feature=Element.prototype.prepend
    -> Element.prototype.replaceWith
       http://<IP_ADDRESS>:3000/test/tests?mode=targeted&feature=Element.prototype.replaceWith
    -> Element.prototype.append
       http://<IP_ADDRESS>:3000/test/tests?mode=targeted&feature=Element.prototype.append
    -> Element.prototype.before
       http://<IP_ADDRESS>:3000/test/tests?mode=targeted&feature=Element.prototype.before
    -> Element.prototype.after
       http://<IP_ADDRESS>:3000/test/tests?mode=targeted&feature=Element.prototype.after

Do you think you would have some time to look into making these tests pass?

Hi Jake,
locally the tests pass for me, until browserstack, but I have no keys for it.
I don't see why it would fail with the change, unless Node doesn't exists

@caub That is something we have considered for some time, yes. Do you have an idea of how we can get the web-platform-tests to work with this repo?

@caub I made the test runner return more description failure messages:
Failures:
 - ie/8:
    -> Element.prototype.after can insert elements after itself
       http://<IP_ADDRESS>:3000/test/tests?mode=targeted&feature=Element.prototype.after
       'Node' is undefined
 - ie/8:
    -> Element.prototype.append can append elements to itself
       http://<IP_ADDRESS>:3000/test/tests?mode=targeted&feature=Element.prototype.append
       'Node' is undefined
 - ie/8:
    -> Element.prototype.before can insert elements before itself
       http://<IP_ADDRESS>:3000/test/tests?mode=targeted&feature=Element.prototype.before
       'Node' is undefined
 - ie/8:
    -> Element.prototype.prepend can prepend elements to itself
       http://<IP_ADDRESS>:3000/test/tests?mode=targeted&feature=Element.prototype.prepend
       'Node' is undefined
 - ie/8:
    -> Element.prototype.replaceWith can replace itself
       http://<IP_ADDRESS>:3000/test/tests?mode=targeted&feature=Element.prototype.replaceWith
       'Node' is undefined
 - ie/7:
    -> Element.prototype.after can insert elements after itself
       http://<IP_ADDRESS>:3000/test/tests?mode=targeted&feature=Element.prototype.after
       'Node' is undefined
 - ie/7:
    -> Element.prototype.append can append elements to itself
       http://<IP_ADDRESS>:3000/test/tests?mode=targeted&feature=Element.prototype.append
       'Node' is undefined
 - ie/7:
    -> Element.prototype.before can insert elements before itself
       http://<IP_ADDRESS>:3000/test/tests?mode=targeted&feature=Element.prototype.before
       'Node' is undefined
 - ie/7:
    -> Element.prototype.prepend can prepend elements to itself
       http://<IP_ADDRESS>:3000/test/tests?mode=targeted&feature=Element.prototype.prepend
       'Node' is undefined
 - ie/7:
    -> Element.prototype.replaceWith can replace itself
       http://<IP_ADDRESS>:3000/test/tests?mode=targeted&feature=Element.prototype.replaceWith
       'Node' is undefined

Thanks, I did a way, not really beautiful (fallback to Element on ie8)
maybe polyfilling window.Node would be possible, but not easy
also _mutation is a global? couldn't we use module.exports there?
for web platform tests, I'll see, it's not easy because polyfill.io is not a DOM implementation, it just fills the holes, and browsers can be really different, so I guess browserstack is the best way

@caub _mutation is a global to the polyfills but not global to user code as it is wrapped in a closure.

@caub We're getting closer:
- ie/8:
    -> Element.prototype.after can insert elements after itself
       http://<IP_ADDRESS>:3000/test/tests?mode=targeted&feature=Element.prototype.after
       Function expected
 - ie/8:
    -> Element.prototype.append can append elements to itself
       http://<IP_ADDRESS>:3000/test/tests?mode=targeted&feature=Element.prototype.append
       Function expected
 - ie/8:
    -> Element.prototype.before can insert elements before itself
       http://<IP_ADDRESS>:3000/test/tests?mode=targeted&feature=Element.prototype.before
       Function expected
 - ie/8:
    -> Element.prototype.prepend can prepend elements to itself
       http://<IP_ADDRESS>:3000/test/tests?mode=targeted&feature=Element.prototype.prepend
       Function expected

@caub I added an isDOM helper function, do you think it is acceptable?

yes, I thought about checking .nodeType, etcc.. so ie8- don't expose those constructors, ok yes, totally acceptable


Crash with Modern Industrialization

Minecraft: 1.17.1
Fabric-Api: 0.40.1+1.17
Building Wands: 2.2.2-fabric
Architectury: 2.5.27-fabric
Modern Industrialization: 0.5.12
Cloth Config: 5.0.38-fabric
Roughly Enough Items: 6.0.279-alpha-fabric
Other mods: No
Hey!
I have an issue where when trying to look at an fluid pipe from Modern Industrialization the game crashes. I saw someone mention it happens with some machines too, but havent tested those my self.
You should also link this issue page to Curseforge and add Architectury as a dependency
Crash report:
https://pastebin.com/VBFdPBgS
Log:
https://pastebin.com/8fQNB6DJ
If you reguire any more info let me know!
Ben

fixed on version 2.2.3


Re-name Alloy to New Name in Engine code

Re-name Alloy to New Name in Engine code

Also @pierredebelen.

@gs-bracej @brooklynrob there are still occurrences of "Alloy" in the Engine code. Is this a blocker for open sourcing?

Completed.

Completed.


Idea: avoid double declare link and type of relation if used via()

#14238
What about AR function?
yii\db\BaseActiveRecord
    /**
     * Get a relation from the another class relation definition
     * @param ActiveRecord|array|callable|string $target the model class who have relation
     * @param string $relationName relation name in target (case sensitive, without 'get')
     * @return ActiveQuery
     */
    public function hasRelation($target, $relationName){
        $target instanceof ActiveRecord || $target = Yii::createObject($target);
        /** @var ActiveQuery $relationQuery */
        $relationQuery = $target->getRelation($relationName);
        $relationQuery->primaryModel = $this;
        return $relationQuery;
    }

class Order extends ActiveRecord
{
    public function getItems(){
        return $this->hasRelation(OrderItem::className(), 'item')->via('orderItems');
    }
    public function getOrderItems()
    {
        return $this->hasMany(OrderItem::className(), ['order_id' => 'id']);
    }
}

It's avoid double declare link and type of relation (multiple)

can you elaborate on your usecase and why it is necessary compared to BaseActiveRecord::createRelationQuery()

now I propose
    public function viaRelation($target, $relationName, $via){
        $target instanceof ActiveRecord || $target = Yii::createObject($target);
        /** @var ActiveQuery $relationQuery */
        $relationQuery = $target->getRelation($relationName);
        $relationQuery->primaryModel = $this;
        return $relationQuery->via($via);
    }

vs
    protected function createRelationQuery($class, $link, $multiple)
    {
        /* @var $class ActiveRecordInterface */
        /* @var $query ActiveQuery */
        $query = $class::find();
        $query->primaryModel = $this;
        $query->link = $link;
        $query->multiple = $multiple;
        return $query;
    }

:
$multiple get from parent declaration of exist relation. And this exist relation already has name for use it.

It's avoid double declare link and type of relation (multiple)

i.e. model3, who use relation of model2 as via to model1 not necessary know about details of relation definition into model2

From docs
https://github.com/yiisoft/yii2/tree/master/docs/guide
class Order extends ActiveRecord
{
    public function getOrderItems()
    {
        return $this->hasMany(OrderItem::className(), ['order_id' => 'id']);
    }

    public function getItems()
    {
        return $this->hasMany(Item::className(), ['id' => 'item_id'])
            ->via('orderItems');
    }
}

If model OrderItem have relation items representation of getItems() with hasMany()
class OrderItem extends ActiveRecord
{
    public function getItem()
    {
        return $this->hasOne(Item::className(), ['id' => 'item_id']);
    }
}

model Order can use it like that:
class Order extends ActiveRecord
{
    public function getOrderItems()
    {
        return $this->hasMany(OrderItem::className(), ['order_id' => 'id']);
    }

    public function getItems()
    {
        return $this->viaRelation(Item::className(), 'item', 'orderItems');
    }
}

So... in this notation via relation is main... may be move it to first argument?  Contr: function via() in end of chain

And this can be used for simple-definition chain of relation


SNOW-754127 Support binding variable in session.sql

Description

Add params to session.sql
Plumb params to python connector
Make sure params are processed correctly in plan nodes

Testing
integ test
Please answer these questions before submitting your pull requests. Thanks!

What GitHub issue is this PR addressing? Make sure that there is an accompanying issue to your PR.
Fixes SNOW-754127

Fill out the following pre-review checklist:

[x] I am adding a new automated test(s) to verify correctness of my new code
[ ] I am adding new logging messages
[ ] I am adding a new telemetry message
[ ] I am adding new credentials
[ ] I am adding a new dependency

Please describe how your code solves the related issue.

Add params to session.sql
Plumb params to python connector
Make sure params are processed correctly in plan nodes

The client side tests work well, but when the generated query is not a SELECT/INSERT query, the test fails in stored proc. The test failure could be found in https://ci-dev-133.int.snowflakecomputing.com/job/RT-PC-TestWorker/124754/testReport/junit/(root)/t_python_sp_integ/snowpark_test_bind_variable_sql/. In short, here are the SQLs that failed:
create or replace table identifier(?) (id int)
CREATE  OR  REPLACE    TABLE  SNOWPARK_TEMP_TABLE_4599NVAVX6 AS  SELECT  *  FROM (select column1::INT, column2 from values (?, ?), (?, ?))
A bind with date Date \'01-01-1970\' is not recognized
As discussed in the standup, I'll add a check to explicitly say it is not supported in stored proc, so that we don't keep this PR lingering for too long. I created SNOW-796947 to track the follow-up item


Crashing on Swift 3

Hi Im having a trouble loading the keychain data. App crash when loadDataForUserAccount is called. xcode stops here Locksmith.swift (Line 84). Thank you for any help.

Locksmith 3.0.0
Xcode 8.0

@johnpaulmanoza  were you able to resolve this problem? I'm having a similar issue as well...

I have this issue as well but the app doesn't crash. Locksmith complains about a duplicate but still does the job.

Any progress on this issue? I'm having the same problem :(

@johnnyoin Were you able to resolve this issue?

@rlam3 I didn't have to since the app doesn't crash in my case. It stops on the Swift Error breakpoint but still works properly.

The whole point of throw is for devs to use try and catch those errors so it won't crash. If you're doing try! instead of try then you're causing the crash, not Locksmith.

@iwasrobbed are we assuming that the throw is only used for development and not for production?

@rlam3 no, there may be keychain errors at any time. Your app should handle failure cases gracefully. Using try! is not graceful.

@getaaron Could you please kindly provide an example of a more graceful approach? Thanks!

@rlam3 Look at the do catch section: https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/ErrorHandling.html

@rlam3 I would be happy to provide a code sample. Can you post a full stack trace and the method you're calling so I can see how you're getting this to occur?


Enhances spo term group add with --webUrl

Closes #4838
@martinlingstuyl this made the enhancement a lot easier (and really small), but seems to work lovely.
I've tried this with a user authenticated using --authType deviceCode that did only have term store administrator permissions, and without the --webUrl this command indeed failed. Including the --webUrl works just fine. The user does still need to have access to the site that we are passing in --webUrl obviously, otherwise it will throw an unauthorized exception. Read permissions seems to be enough

Nice @MathijsVerbeeck!

Manually merged


Changed debug to use send_long

Running debug will cause error if longer than 2000 chars

This command can honestly probably just be removed, I haven't used it since I originally programmed the link command in the LPD Security Guard bot, since then it's just useless, especially since there are better ways to debug the linking system than this command, and if we need it we can add it as a test server only command.

I agree there are better debuggers. I just saw in the error log that someone had run debug and it failed out.

On Apr 6, 2021, at 07:20, hrolfurgylfa @.***> wrote:

This command can honestly probably just be removed, I haven't used it since I originally programmed the link command in the LPD Security Guard bot, since then it's just useless, especially since there are better ways to debug the linking system than this command, and if we need it we can add it as a test server only command.
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub, or unsubscribe.


[tid:com.facebook.react.ExceptionsManagerQueue] Unhandled JS Exception: Module AppRegistry is not a registered callable module (calling runApplication)

In IOS it is showing error and used the quickStart project only

is the problem still exist?


Develop upstream sync 181203

@parallelo It seems we can't see build jobs for existing PRs.

@whchung Gotcha, will look into this.  Thanks for the heads-up.


Update LGBM references with scikit-learn in the sklearn_year_with_train.ipynb notebook

Corrected a typo where the scikit-learn models were mentioned as LGBM models.

@interesaaat it looks like one of our onnx dependencies must have pushed out an update and broke the build...we'll have to take a look tomorrow :)

Codecov Report

Merging #532 (8b8d6bc) into main (063bfe0) will decrease coverage by 6.40%.
The diff coverage is 86.06%.

@@            Coverage Diff             @@
##             main     #532      +/-   ##
==========================================
- Coverage   91.10%   84.70%   -6.41%
==========================================
  Files          70       78       +8
  Lines        3923     4510     +587
  Branches      747      839      +92
==========================================
+ Hits         3574     3820     +246
- Misses        183      498     +315
- Partials      166      192      +26

Flag
Coverage Δ

unittests
84.70% <86.06%> (-6.33%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

hummingbird/ml/operator_converters/lightgbm.py
95.91% <0.00%> (-4.09%)
:arrow_down:

...bird/ml/operator_converters/sparkml/discretizer.py
52.94% <0.00%> (-36.54%)
:arrow_down:

...ummingbird/ml/containers/sklearn/tvm_containers.py
17.24% <20.00%> (-81.20%)
:arrow_down:

...gbird/ml/operator_converters/onnx/tree_ensemble.py
85.33% <50.00%> (-1.07%)
:arrow_down:

...mmingbird/ml/containers/sklearn/onnx_containers.py
87.50% <65.21%> (-3.50%)
:arrow_down:

...perator_converters/_discretizer_implementations.py
90.32% <66.66%> (-9.68%)
:arrow_down:

hummingbird/ml/_topology.py
67.79% <73.91%> (-18.30%)
:arrow_down:

...perator_converters/onnx/array_feature_extractor.py
89.47% <77.77%> (-10.53%)
:arrow_down:

...gbird/ml/operator_converters/onnx/onnx_operator.py
81.53% <78.43%> (-7.36%)
:arrow_down:

...ngbird/ml/containers/sklearn/pytorch_containers.py
83.73% <80.00%> (+0.18%)
:arrow_up:

... and 55 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 6cf8861...8b8d6bc. Read the comment docs.


New version fixing highest-priority issues

Knocked out three issues here that seem the most important before publishing the next version, some of which are blocking Yelp/yelp-api#123.

No umbrella header for static library; while users integrating via dynamic frameworks can @import YelpAPI, users integrating via static libraries would have to import each header directly. I've moved the umbrella header to be accessible in the pod so that users can now just #import <YelpAPI/YelpAPI.h>
#30, currently impossible to specify a cll when searching because there's no way to construct a YLPCoordinate. I just moved the initializer from private to public.
#29, crash from command-line apps, fixed hard coding an error domain like Apple recommends.

@ytok , how does this look to you?

Ship it!


Added UI to HeadedDemo so manual testing becomes easier.

Unfortunately the StreamSocketListener does not accept connections to it from the local machine, it only accepts requests from within the same process, or from outside the local machine. This is annoying because it becomes hard to develop code for the app on Windows 10 itself with having to deploy it to a different (IOT) machine all the time.
Therefore I've added a simple ui to the HeadedDemo app that points at the port on which the demo is running so we can type in simple requests. If there's anything you think is missing or should be different let me know and I can make the changes.

Thanks! Nice useful addition!


arch-riscv: fix tlb stats in timming mode

The previous #484 issue reported a bug where the TLB stats on RISC-V were incremented twice on misses by calling the lookup function twice with hidden argument set to false. The fix is only applied on atomic mode as the translation argument of doTranslate will not be nullptr in timing mode.
In that case, if the TLB lookup miss, the doTranslate function will start the walker and then return without doing anything more. Then later, when the pagetable walker found the corresponding PTE, it will insert it and call translateWithTLB. This function then call lookup again which will hit in any case (and crash if not due to the following
assert), but the hit count is incremented here too.
This commit fix by setting the hidden argument of lookup to true.

Thanks for you review!
I did the change at all necessary places and rebased on top of develop, so it should be good to go.


Can save some gas by using storage keyword

https://github.com/NFT-Worlds/NFT-Worlds-Staking-Rental-Contract/blob/5c06f0ac2d43c5f839ec514da6707a8048bbdce2/src/NFTWEscrow.sol#L171-L179
I noticed this pattern in a few spots... You ought to be able to save users a little bit of gas by using storage keyword on line 171 and removing line 179 (instead of memory and then writing back to storage).

@niftyorca

SSTORE is more expensive than MSTORE and MLOAD

@niftyorca the existing code of course also has to do SSTORE, I assume you meant to say SLOAD in your comment.  The difference is that with SLOAD, you don't need to allocate any extra memory.  Sure, the few field accesses are cheaper via MLOADs, but this ends up being worse overall.
A quick test shows ~6% gas savings for a single token, and ~19% gas savings for 20 tokens.

Stripped down testing code (removed a few lines in updateRent that are unrelated to the storage var in question):
pragma solidity 0.8.11;

contract RentTest {
    struct WorldInfo {
        uint16 weight;          // weight based on rarity
        address owner;          // staked to, otherwise owner == 0
        uint16 deposit;         // unit is ether, paid in WRLD. The deposit is deducted from the last payment(s) since the deposit is non-custodial
        uint16 rentalPerDay;    // unit is ether, paid in WRLD. Total is deposit + rentalPerDay * days
        uint16 minRentDays;     // must rent for at least min rent days, otherwise deposit is forfeited up to this amount
        uint32 rentableUntil;   // timestamp in unix epoch
    }

    WorldInfo[10001] private worldInfo;

    constructor() {
        for (uint i = 1; i <= 20; i++) {
            worldInfo[i] = WorldInfo(
                1,
                msg.sender,
                1,
                1,
                1,
                1
            );
        }
    }

    function updateRent(
        uint[] calldata tokenIds,
        uint16 _deposit,
        uint16 _rentalPerDay,
        uint16 _minRentDays,
        uint32 _rentableUntil
    )
        external
    {
        require(uint(_deposit) <= uint(_rentalPerDay) * (uint(_minRentDays) + 1), "ER"); // ER: Rental rate incorrect
        for (uint i = 0; i < tokenIds.length; i++) {
            uint tokenId = tokenIds[i];
            WorldInfo memory worldInfo_ = worldInfo[tokenId];
            require(worldInfo_.weight != 0, "EA"); // EA: Weight not initialized
            require(worldInfo_.owner == msg.sender, "E9"); // E9: Not your world
            worldInfo_.deposit = _deposit;
            worldInfo_.rentalPerDay = _rentalPerDay;
            worldInfo_.minRentDays = _minRentDays;
            worldInfo_.rentableUntil = _rentableUntil;
            worldInfo[tokenId] = worldInfo_;
        }
    }

    function updateRentNew(
        uint[] calldata tokenIds,
        uint16 _deposit,
        uint16 _rentalPerDay,
        uint16 _minRentDays,
        uint32 _rentableUntil
    )
        external
    {
        require(uint(_deposit) <= uint(_rentalPerDay) * (uint(_minRentDays) + 1), "ER"); // ER: Rental rate incorrect
        for (uint i = 0; i < tokenIds.length; i++) {
            uint tokenId = tokenIds[i];
            WorldInfo storage worldInfo_ = worldInfo[tokenId];
            require(worldInfo_.weight != 0, "EA"); // EA: Weight not initialized
            require(worldInfo_.owner == msg.sender, "E9"); // E9: Not your world
            worldInfo_.deposit = _deposit;
            worldInfo_.rentalPerDay = _rentalPerDay;
            worldInfo_.minRentDays = _minRentDays;
            worldInfo_.rentableUntil = _rentableUntil;
        }
    }
}```

@niftyorca the existing code of course also has to do SSTORE, I assume you meant to say SLOAD in your comment. The difference is that with SLOAD, you don't need to allocate any extra memory. Sure, the few field accesses are cheaper via MLOADs, but this ends up being worse overall.
A quick test shows ~6% gas savings for a single token, and ~19% gas savings for 20 tokens.

Stripped down testing code (removed a few lines in updateRent that are unrelated to the storage var in question):
//SPDX-License-Identifier: MIT
pragma solidity 0.8.11;

contract RentTest {
    struct WorldInfo {
        uint16 weight;          // weight based on rarity
        address owner;          // staked to, otherwise owner == 0
        uint16 deposit;         // unit is ether, paid in WRLD. The deposit is deducted from the last payment(s) since the deposit is non-custodial
        uint16 rentalPerDay;    // unit is ether, paid in WRLD. Total is deposit + rentalPerDay * days
        uint16 minRentDays;     // must rent for at least min rent days, otherwise deposit is forfeited up to this amount
        uint32 rentableUntil;   // timestamp in unix epoch
    }

    WorldInfo[10001] private worldInfo;

    constructor() {
        for (uint i = 1; i <= 20; i++) {
            worldInfo[i] = WorldInfo(
                1,
                msg.sender,
                1,
                1,
                1,
                1
            );
        }
    }

    function updateRent(
        uint[] calldata tokenIds,
        uint16 _deposit,
        uint16 _rentalPerDay,
        uint16 _minRentDays,
        uint32 _rentableUntil
    )
        external
    {
        require(uint(_deposit) <= uint(_rentalPerDay) * (uint(_minRentDays) + 1), "ER"); // ER: Rental rate incorrect
        for (uint i = 0; i < tokenIds.length; i++) {
            uint tokenId = tokenIds[i];
            WorldInfo memory worldInfo_ = worldInfo[tokenId];
            require(worldInfo_.weight != 0, "EA"); // EA: Weight not initialized
            require(worldInfo_.owner == msg.sender, "E9"); // E9: Not your world
            worldInfo_.deposit = _deposit;
            worldInfo_.rentalPerDay = _rentalPerDay;
            worldInfo_.minRentDays = _minRentDays;
            worldInfo_.rentableUntil = _rentableUntil;
            worldInfo[tokenId] = worldInfo_;
        }
    }

    function updateRentNew(
        uint[] calldata tokenIds,
        uint16 _deposit,
        uint16 _rentalPerDay,
        uint16 _minRentDays,
        uint32 _rentableUntil
    )
        external
    {
        require(uint(_deposit) <= uint(_rentalPerDay) * (uint(_minRentDays) + 1), "ER"); // ER: Rental rate incorrect
        for (uint i = 0; i < tokenIds.length; i++) {
            uint tokenId = tokenIds[i];
            WorldInfo storage worldInfo_ = worldInfo[tokenId];
            require(worldInfo_.weight != 0, "EA"); // EA: Weight not initialized
            require(worldInfo_.owner == msg.sender, "E9"); // E9: Not your world
            worldInfo_.deposit = _deposit;
            worldInfo_.rentalPerDay = _rentalPerDay;
            worldInfo_.minRentDays = _minRentDays;
            worldInfo_.rentableUntil = _rentableUntil;
        }
    }
}

Very interesting. Sorry I dismissed your original comment too quickly because I saw it as a common pattern in many defi projects.

We'll just keep the original code. If we apply this pattern also to _updateRewardsPerWeight this amounts to very little gas savings, 722065 vs 722144 for staking 50 worlds. I think it's not worth deviating from an audited contract over the gas savings.
The efficiency of these patterns is actually highly dependent on the number of MLOAD vs SLOAD instructions in that chunk of code. I'll keep that in mind when writing future contracts :)

No worries, sounds good!


Upload 5 files concurrently

Benefits

improved throughput
uses const uploadConcurrency = 5 to set limit

Example Run
2019/01/28 22:44:21 Uploading DSC_0018.JPG
2019/01/28 22:44:22 Uploading DSC_0020.JPG
2019/01/28 22:44:22 Uploading DSC_0017.JPG
2019/01/28 22:44:22 Uploading DSC_0016.JPG
2019/01/28 22:44:22 Uploading DSC_0019.JPG
2019/01/28 22:44:28 DSC_0018.JPG uploaded successfully asxxxxxxRkquFB8zLGg6tXyA
2019/01/28 22:44:28 Marked as uploaded: xxxxx
2019/01/28 22:44:29 DSC_0016.JPG uploaded successfully as xxxxxx
2019/01/28 22:44:29 Marked as uploaded: xxxxxxx
2019/01/28 22:44:29 DSC_0017.JPG uploaded xxxxxxx
2019/01/28 22:44:29 Marked as uploaded: xxxxxxx
2019/01/28 22:44:30 DSC_0020.JPG uploaded successfully as Axxxxxx
2019/01/28 22:44:30 Marked as uploaded: xxxxxx
2019/01/28 22:44:30 DSC_0019.JPG uploaded successfully as xxxxx

closing to rebase


feat: support show stmt

ref: https://github.com/cectc/dbpack/issues/186
ref: https://github.com/cectc/dbpack/issues/187
Ⅰ. Describe what this PR did
support show databases、show engines
Ⅱ. Does this pull request fix one issue?
Ⅲ. Why don't you add test cases (unit test/integration test)?
there are integration tests
Ⅳ. Describe how to verify it
check ci result
Ⅴ. Special notes for reviews

Codecov Report

Merging #209 (5ef0fbf) into dev (d4a162b) will decrease coverage by 0.03%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##              dev     #209      +/-   ##
==========================================
- Coverage   42.68%   42.64%   -0.04%
==========================================
  Files          81       81
  Lines        9606     9615       +9
==========================================
  Hits         4100     4100
- Misses       5099     5108       +9
  Partials      407      407

Impacted Files
Coverage Δ

pkg/executor/sharding.go
0.00% <0.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us.


fix: LookupError: AzureApplication with this name not found

#228

@microsoft-github-policy-service agree


Moved pending deployment

Question: do we need to check anything else, and is it in the correct place? Is comparing the artifact type from the deployment data necessary?

Is comparing the artifact type from the deployment data necessary?

No, I didn't quite understand what the purpose of this was. We definitely need to make sure the artifact type is supported by some available update module after a reboot, but that should/does happen in a different place.

do we need to check anything else, and is it in the correct place?

As suspicious as your change looks I believe it's correct. The logic should jump into a the update function which should either continue or abort an update/deployment or check for a new one.

@vpodzime Where is going to happen? Do we have a task covering that? Otherwise I'd say we need to add it in this PR (the JIRA description was not very clear to me)

We should do it here, I think. But let me create a ticket for it, we need to also properly handle the case when there is a new deployment with an artifact of an unsupported type. The current code would jump into the FAILURE state and try to call a callback of a NULL module.

But let me create a ticket for it

https://northerntech.atlassian.net/browse/MEN-7524


[Android] refactor animation

Refactor animation using RenderAction and DomAction, as some public static method in WXAnimationModule has been removed, which may be a compatibility issues for some deeply involved android developer.

Make transformOrigin reserve its last time state. Before this commit, transformOrigin is stateless during a sequence of animation, e.g. tranformOrigin would reset to 50%, 50% every time if it was not given. This commit respect transformOrigin last time state unless it is specified this time. Developers who depends on the wrong implementation may run into a problem.

@YorkShen pls mention 'break change' in your commit log like @weex-bot said.

I mean 'commit message'. You'd better put the comment above to the 'commit message' like described in (this article)[https://chris.beams.io/posts/git-commit/]. And squash your commits too.

@sospartan This should works, as I already rebase my changes.


Fix meson.build for when dirmonitor_backend is specified

Fix failing to build when meson is configured with -Ddirmonitor_backend=<backend)
Alternative would be to put the line
pragtical_sources += 'api/dirmonitor/' + dirmonitor_backend + '.c'

as a common action after (instead of inside) if get_option('dirmonitor_backend') == ''

Alternative would be to put the line
pragtical_sources += 'api/dirmonitor/' + dirmonitor_backend + '.c'

Yeah, that would avoid the repetitive assignment code (I don't think that for the foreseeable future any of the backends will need more than 1 source file). I would also add a variable for the file extension just to be safe, something like:
dirmonitor_backend_ext = '.c'
if dirmonitor_backend == 'inodewatcher'
  dirmonitor_backend_ext = '.cpp'
endif

pragtical_sources += 'api/dirmonitor/' + dirmonitor_backend + dirmonitor_backend_ext

Merged recent solution for this issue from lite-xl since it looks sane. Thanks for bringing this up anyways.