Unexpected error when attempting to log in on v0.8.2

I'm getting an unexpected error when attempting to log in:

I've seen suggestions to install 0.8.2 on similar questions, but I'm already there:

Here's the relevant log:
Logger: custom_components.cupra_we_connect.config_flow
Bron: custom_components/cupra_we_connect/config_flow.py:75
integratie: Cupra WeConnect (documentatie, problemen)
Eerst voorgekomen: 22:13:05 (3 gebeurtenissen)
Laatst gelogd: 22:17:21

Unexpected exception during setup
Traceback (most recent call last):
  File "/config/custom_components/cupra_we_connect/config_flow.py", line 75, in async_step_user
    info = await validate_input(self.hass, user_input)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/cupra_we_connect/config_flow.py", line 50, in validate_input
    await hass.async_add_executor_job(we_connect.login)
  File "/usr/local/lib/python3.12/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/weconnect_cupra/weconnect_cupra.py", line 166, in login
    self.__session.login()
  File "/usr/local/lib/python3.12/site-packages/weconnect_cupra/api/cupra/auth/my_cupra_session.py", line 47, in login
    response = self.doWebAuth(authorizationUrl)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/weconnect_cupra/api/cupra/auth/my_cupra_session.py", line 191, in doWebAuth
    raise APICompatibilityError('No user id provided')
weconnect_cupra.errors.APICompatibilityError: No user id provided

I'm getting the same here. It was fine this morning so I suspect it's an API issue on the CUPRA side. The Ohme integration is paying up too.
Let's see if it rectifies itself.

I also have this issue

same for me
logs:
Logger: custom_components.cupra_we_connect.config_flow
Source: custom_components/cupra_we_connect/config_flow.py:75
integration: Cupra WeConnect (documentation, issues)
First occurred: 6:32:57 AM (1 occurrences)
Last logged: 6:32:57 AM
Unexpected exception during setup
Traceback (most recent call last):
File "/config/custom_components/cupra_we_connect/config_flow.py", line 75, in async_step_user
info = await validate_input(self.hass, user_input)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/cupra_we_connect/config_flow.py", line 50, in validate_input
await hass.async_add_executor_job(we_connect.login)
File "/usr/local/lib/python3.12/concurrent/futures/thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/weconnect_cupra/weconnect_cupra.py", line 166, in login
self.__session.login()
File "/usr/local/lib/python3.12/site-packages/weconnect_cupra/api/cupra/auth/my_cupra_session.py", line 47, in login
response = self.doWebAuth(authorizationUrl)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/weconnect_cupra/api/cupra/auth/my_cupra_session.py", line 191, in doWebAuth
raise APICompatibilityError('No user id provided')
weconnect_cupra.errors.APICompatibilityError: No user id provided

the python package seatconnect still works. So I guess that's rather an issue with the home assistant integration instead of a general issue with the API.

I'm pretty sure that other than the URL change made the other week, nothing has changed from the integration side.

No rush @daernsinstantfortress appreciate the support. I have also taken this up separately with CUPRA and am waiting for a response.

I did some debugging and found a redirect 303 and a Location header looking like this:
https://identity.vwgroup.io/signin-service/v1/3c756d46-xxxx-xxxx-xyxx-cff0d5292dxx@apps_vw-dilab_com/terms-and-conditions?relayState=db9dxxxxxxxxxx56d46c4da97ae2aa189126ea52&canChangeCountryOfResidence=true

I tried to open the the URL in a normal browser which showed "Nutzungsbedingungen" / terms and conditions which I had to accept to login. After accepting everthing works now as usual.

Great job @BjoernWaechter !
It worked for me as well. You can just go to
https://cupraid.vwgroup.io/account
log in with your credentials and confirm the terms of use.
Thanks a lot!

It´s not working in my case

Nice @BjoernWaechter, works for me as well.
I don't think this can be fixed by the integration. Users have to accept it themselves...

I have accepted and it´s not working

@aperezva : I restarted also the integration in Home Assistant. Forgot to mention that.

I have restarted. reinstalled and it´s not working.
Well tomorrow  i will try again

All working . However binary_sensor.cupra_born_car_is_online is now Unavailable

Hi @BjoernWaechter thanks for sharing. This worked perfectly. Excellent troubleshooting!
When I went to the MyCUPRA site I had to accept about four T&C statements so they must have updated this recently.
At least it's working now and should be OK from now.

Thanks for the workaround, everything is working as usual again now!

Gavina The same error since yesteday. I accept conditions, reinstalled, reboot.
But the same error

I had the same error
accepting the wall of toc, as mentioned by @BjoernWaechter , also helped me

I had the same error accepting the wall of toc, as mentioned by @BjoernWaechter , also helped me

"The Wall of ToC". Made me laugh but yes, you are right. There were a few click thru pages there. Goodness knows what I have agreed to but at least my HA integration is working now. I would have really missed my zone triggered climate control activation and the automation to stop my car draining the home battery when Octopus decide to schedule an ad-hoc charge is critical to a continued good relationship with my wife as waking up to an empty home battery is not a good start to the day! 🤣

@aperezva I'd try logging into your CUPRA ID account again if I were you. It seems to have worked for me and other here so I suspect you might have missed one of the T&C clicks; there were a few of them! Good luck.

Gavina The same error since yesteday. I accept conditions, reinstalled, reboot.
But the same error

What do the logs say?

Tried again
Same error
my logs:
Traceback (most recent call last):
File "/config/custom_components/cupra_we_connect/config_flow.py", line 75, in async_step_user
info = await validate_input(self.hass, user_input)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/cupra_we_connect/config_flow.py", line 50, in validate_input
await hass.async_add_executor_job(we_connect.login)
File "/usr/local/lib/python3.12/concurrent/futures/thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/weconnect_cupra/weconnect_cupra.py", line 166, in login
self.__session.login()
File "/usr/local/lib/python3.12/site-packages/weconnect_cupra/api/cupra/auth/my_cupra_session.py", line 47, in login
response = self.doWebAuth(authorizationUrl)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/weconnect_cupra/api/cupra/auth/my_cupra_session.py", line 191, in doWebAuth
raise APICompatibilityError('No user id provided')
weconnect_cupra.errors.APICompatibilityError: No user id provided

Yes, mine also worked after stepping through the new consents on the official app.
I had to log out of the app completely (there is a button in there somewhere!) and then log back in, and click through a stack of consents before returning to the app home screen. Once done, the library returned to function again.

No way to me.
The same logout , log in etc
Hoping someone help me

It would be nice to link the toc when installing the addon. Accepting the terms fixed the issue here aswell. Also for the Eneco smartcharing app :-)

Yes, mine also worked after stepping through the new consents on the official app.
I had to log out of the app completely (there is a button in there somewhere!) and then log back in, and click through a stack of consents before returning to the app home screen. Once done, the library returned to function again.

Which library?

Yes, mine also worked after stepping through the new consents on the official app.
I had to log out of the app completely (there is a button in there somewhere!) and then log back in, and click through a stack of consents before returning to the app home screen. Once done, the library returned to function again.

Oh wow thanks, it really fixed it! After doing this the integration in ha works again

Ja, bei mir hat es auch funktioniert, nachdem ich die neuen Zustimmungen in der offiziellen App durchgegangen bin.
Ich musste mich vollständig aus der App abmelden (da ist irgendwo ein Button!), mich dann wieder anmelden und mich durch einen Stapel Zustimmungen klicken, bevor ich zum Startbildschirm der App zurückkehrte.

So it still doesn't work for me, but it works in EVCC and iobroker without any problems

So it still doesn't work for me, but it works in EVCC and iobroker without any problems

Did you definitely accept all of the consents in the official app? Has your error changed?

So it still doesn't work for me, but it works in EVCC and iobroker without any problems

Did you definitely accept all of the consents in the official app? Has your error changed?

It has always worked in evcc and in iobroker, with this addon it worked once and then no longer until today, I logged out on the website as described, logged out in the app, accepted everything, the problem is definitely not that, but where otherwise it wouldn't work for everyone else ;) works for EVCC, iobroker, Openhab and also simple queries in the Linux terminal and all of that without having to accept anything or not

Siempre ha funcionado en evcc y en iobroker, con este complemento funcionó una vez y luego ya no hasta hoy, cerré la sesión en el sitio web como se describe, cerré la sesión en la aplicación, acepté todo, el problema definitivamente no es ese, pero de lo contrario no funcionaría para todos los demás ;) funciona para EVCC, iobroker, Openhab y también consultas simples en la terminal Linux y todo eso sin tener que aceptar nada o no

Definetily is a integration problem, maybe forced for a change in Cupra site, but to my it´s not working. Trying another alternatives.
Can I use EVCC in home assitant?

Siempre ha funcionado en evcc y en iobroker, con este complemento funcionó una vez y luego ya no hasta hoy, cerré la sesión en el sitio web como se describe, cerré la sesión en la aplicación, acepté todo, el problema definitivamente no es ese, pero de lo contrario no funcionaría para todos los demás ;) funciona para EVCC, iobroker, Openhab y también consultas simples en la terminal Linux y todo eso sin tener que aceptar nada o no

Definetily is a integration problem, maybe forced for a change in Cupra site, but to my it´s not working. Trying another alternatives.
Can I use EVCC in home assitant?

HACS https://github.com/evcc-io/hassio-addon
yes, I suspect there have been big changes at Seat
There used to be an extra seat extra cupra app
Now there is Cupra app and Seat app and both are 100% identical, I can access my vehicles in both / Cupra Born and Seat Hybrid

Here is a screenshot from evcc, it retrieves all data online, here is an example of Seat and Cupra also works without any problems

@aperezva @AlexZ1402
Have you installed the latest Version 0.8.2 of the integration?

@aperezva @AlexZ1402
Have you installed the latest Version 0.8.2 of the integration?

I have had integration for about 4 months, always the latest version / automatic update. But I have also installed and tested older versions, without success.

@aperezva @AlexZ1402 Have you installed the latest Version 0.8.2 of the integration?

yes, weeks ago.
I think it s a problme regarding terms acceptation, I don´t know if i can remove myh user from Cupra app and generated again , maybe with another user.
My fear is that something block my vehicle and in this case nothing works even the app

I don't think the problem is with the "terms acceptance" because, as mentioned above, it works without any problems with EVCC and iobroker

see in EVCC
"creating vehicle my_car failed: cannot create vehicle type 'template': cannot create vehicle type 'cupra': terms of service updated- please open app or website and confirm"

see in EVCC
"creating vehicle my_car failed: cannot create vehicle type 'template': cannot create vehicle type 'cupra': terms of service updated- please open app or website and confirm"
And also I have changed my user to another user and asociated again the vehicle, reseting the car. Enought for today

vehicles:
Cupra Born

name: CupraBorn
type: template
template: cupra
phases: 0
title: Cupra Born
user: e-mail xxxxxxxx
password: xxxxxxxxx
vin: xxxxxxxxx
cache: 15m
capacity: 58 # Akkukapazität in kWh (optional)
mincurrent: 4
maxcurrent: 16

Great job @BjoernWaechter !
It worked for me as well. You can just go to https://cupraid.vwgroup.io/account log in with your credentials and confirm the terms of use.
Thanks a lot!

Thanks @BjoernWaechter and @Intenos ...
I've got my Cupra intregration working again by

deleting my credentials in the HA Cupra Weconnect  intergration
Logging into the (https://cupraid.vwgroup.io/account) URL stated above in my browser
Logging in with my usual cupra ID and accepting all 4 of the T&C prompts
Going back to HA and repeating the cupra login in the intergration.
i didn't restart HA at all..

All my Cupra entities reappeared and all my dashboard entries and cupra automations are working again.
Thank you so much!
darren

Having the same problem
Este error se originó a partir de una integración personalizada.
Registrador: custom_components.cupra_we_connect.config_flow
Fuente: custom_components/cupra_we_connect/config_flow.py:75
integración: cupra_we_connect (documentación, problemas)
Ocurrió por primera vez: 13:00:49 (1 ocurrencias)
Último inicio de sesión: 13:00:49
Unexpected exception during setup
Traceback (most recent call last):
File "/config/custom_components/cupra_we_connect/config_flow.py", line 75, in async_step_user
info = await validate_input(self.hass, user_input)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/cupra_we_connect/config_flow.py", line 50, in validate_input
await hass.async_add_executor_job(we_connect.login)
File "/usr/local/lib/python3.12/concurrent/futures/thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/weconnect_cupra/weconnect_cupra.py", line 166, in login
self.__session.login()
File "/usr/local/lib/python3.12/site-packages/weconnect_cupra/api/cupra/auth/my_cupra_session.py", line 47, in login
response = self.doWebAuth(authorizationUrl)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/weconnect_cupra/api/cupra/auth/my_cupra_session.py", line 191, in doWebAuth
raise APICompatibilityError('No user id provided')
weconnect_cupra.errors.APICompatibilityError: No user id provided
@BjoernWaechter do you have any idea how to solved.
I have:
deleted mi user
reinstalled integration
Changed user
reset my car
and still doesn´t work.
I appreciate much more your help
Thanks

Still not working. I don’t know what to try.
It s clear that CUPRA wait for my acceptance in terms but I have already done several times.

@aperezva I would try to install the we_connect_cupra package like described here:
https://pypi.org/project/weconnect-cupra-daern/
I than used this example for my tests: https://github.com/daernsinstantfortress/WeConnect-Cupra-python/blob/main/examples/access_status.py
I found the redict headers to the terms and conditions site in my_cupra_session.py line 172
In login3Response.headers I saw the a location header with the mentioned path. Can you check what you get there?

I m sorry but i don´t know how and where installa this python program?. In home assitant directly?
In a debian server?
BR and thanks

Nobody knows if i have to fix any line ?.

I m sorry but i don´t know how and where installa this python program?. In home assitant directly? In a debian server? BR and thanks

Not in home assistant. On a machine with python installed. Ubuntu sounds good.

Create virtual  env: https://docs.python.org/3/library/venv.html
Install the package: weconnect-cupra-daern with pip install weconnect-cupra-daern[Images]
Use a debugger to debug my_cupra_session.py

thanks i ll try

@aperezva perhaps try another browser and also deactivate all ad-blockers

I give up.
Thanks a lot, I will come back maybe when cupra ask me for new terms, Now imposible and in EVVC I have the same problem, That´s why I guess is a problem with mi VN car, because I changed several times my user and added a new one.
I dont´want to disturb you more than necessary

@aperezva perhaps try another browser and also deactivate all ad-blockers

@RockingBurn thanks a lot. You gave me the Solution. I  have accepted terms with another browser and after that integration is working
thanks again

I can confirm going to the cupra website and accepting the T&Cs fixed this. Odd as the app was working on my phone today. You'll need to use a PC to do this and not a mobile device. Once accepted then either reboot HA or reload the integration.

where can I find the terms and conditions to accept?

@aperezva perhaps try another browser and also deactivate all ad-blockers

@RockingBurn thanks a lot. You gave me the Solution. I have accepted terms with another browser and after that integration is working
thanks again

No Problem! Cool it worked. Perhaps other people too

Same here and with @BjoernWaechter hints it is working again! Thanks

Nothing works for me.

Just if it helps. I use the other seat_connect integration for my Formentor, and I resolved it changing the region (I put Germany) with the link in other posts above, then it generated new T&C to be agreed, and it worked in HA after.

It’s done. My solution was to log in to the https://cupraid.vwgroup.io/account website directly through the Hassio server using a Firefox integration (https://community.home-assistant.io/t/home-assistant-add-on-firefox/558672)

FYI, mine broke again following a restart this evening. I've had to re-consent a second time - log out of the official app, log back in and click "accept" on everything that pops up. My integration is working once again.

Going to close this as, for now at least, there is a serviceable workaround.

Ich werde dies schließen, da es zumindest im Moment eine brauchbare Problemumgehung gibt.

🤣🤣🤣

Are you going to implement a notification/information the next time we have to accept the policies? Does someone know which of the many policies are mandatory to accept to have the API working?


Placeholder {id} in logtemplate causes Logger to stop logging

When I´m logging with a logtemplate containing the parameter {id} the sink tries to put the value for that parameter into the ID-column of the log-table. Could eventually be the same problem with other column names (Message, TimeStamp, ...)?

Please clearly describe the expected behavior:
Only the parameter in the logtemplate should be replaced and the ID-column should be set by the MSSQL-Server in the common way. Or this behavior should be configurable.

List the names and versions of all Serilog packages used in the project:

Serilog: 2.8.0
Serilog.Sinks.MSSqlServer: 5.1.2
(configuration, etc.)

Target framework and operating system:

[ ] .NET Core 2.0
[x] .NET Framework 4.7
[ ] .NET Framework 4.6.x
[ ] .NET Framework 4.5.x
OS:

Provide a simple reproduction of your Serilog configuration code:
var config = new LoggerConfiguration().MinimumLevel.Information();
config.Enrich.With(new ThreadIdEnricher());
config.Enrich.With(new ProcessIdEnricher());
config.Enrich.With(new ProcessNameEnricher());
config.Enrich.WithExceptionDetails();

var columnOptions = new ColumnOptions
{
AdditionalDataColumns = new Collection
{
new DataColumn {DataType = typeof (Guid), ColumnName = ActionIdEnricher.ActionIdPropertyName},
new DataColumn {DataType = typeof (string), ColumnName = AppVersionEnricher.AppVersionPropertyName},
},
};
columnOptions.Properties.ExcludeAdditionalProperties = true;
config.AuditTo.MSSqlServer(_settings.SqlConnectionString, _settings.SqlTableName, LogEventLevel.Fatal);
config.WriteTo.Logger(lc => lc
.Filter.ByExcluding(e => e.Level >= LogEventLevel.Fatal)
.WriteTo.MSSqlServer(_settings.SqlConnectionString, _settings.SqlTableName, columnOptions: columnOptions)
);

Provide a simple reproduction of your Serilog configuration file, if any:

Provide a simple reproduction of your application code:
Log.ForContext(GetType()).Error("User {id} cannot be created", Guid.NewGuid());

I was not able to reproduce the error when using a message template containing the placeholder {id}.
But probably the error is related to #230 indeed. Next thing I will try is to find out if it happens when MSSqlServer sink is used together with another sink.

I also had no luck when using two sinks together in reproducing the error. Anyway, I'm closing this issue. Let's continue discussion and investigation in #230.


Remove adventure-specific "Spin Tale" action and migrate

Closes https://github.com/foundryvtt/pf2e/issues/5705

Conflicts!

Conflicts!

You stole 815 from under me! :)
I’ll have fix it later this evening.


[FEATURE] Toggling the visibility of individual items, instead of categories

Is your feature request related to a problem? Please describe.
Sometimes I want to hide a project, experience, award, etc, in order to save space on my resume or show only the most relevant information, while keeping the more important entries visible.
Describe the solution you'd like
An option to toggle the visibility of individual entries instead of or in addition to entire categories.
Describe alternatives you've considered
Deleting the entry entirely. Works, but isn't great for quickly removing something to see how it looks. Ideally, I'd have a bunch of hidden entries that I'd be able to drop in depending on how much space I have, what seems most relevant.
Additional context
Nope, I think that pretty much covers it. Huge thanks to the devs, this is a great project. I'm not sure how difficult this'd be to implement, but I'd love to see it added!

Would also love to see this feature

@nredick This feature already exists, you just need to right click on an item under any of the categories and you would see a toggle button to make an individual entry visible/invisible. I've attached a GIF showcasing this. On a laptop/PC, you would right click on an item, on the mobile or touch device, you need to long press on the item to bring up the context menu.


[SPARK-33856][SQL] Migrate ALTER TABLE ... RENAME TO PARTITION to use UnresolvedTable to resolve the identifier

What changes were proposed in this pull request?

This PR proposes to migrate ALTER TABLE ... RENAME TO PARTITION to use UnresolvedTable to resolve the table identifier. This allows consistent resolution rules (temp view first, etc.) to be applied for both v1/v2 commands. More info about the consistent resolution rule proposal can be found in JIRA or proposal doc.
Note that ALTER TABLE ... RENAME TO PARTITION is not supported for v2 tables.
Why are the changes needed?

The PR makes the resolution consistent behavior consistent. For example,
sql("CREATE DATABASE test")
sql("CREATE TABLE spark_catalog.test.t (id bigint, val string) USING csv PARTITIONED BY (id)")
sql("CREATE TEMPORARY VIEW t AS SELECT 2")
sql("USE spark_catalog.test")
sql("ALTER TABLE t PARTITION (id=1) RENAME TO PARTITION (id=2)") // works fine assuming id=1 exists.

, but after this PR:
sql("ALTER TABLE t PARTITION (id=1) RENAME TO PARTITION (id=2)")
org.apache.spark.sql.AnalysisException: t is a temp view. 'ALTER TABLE ... RENAME TO PARTITION' expects a table; line 1 pos 0

, which is the consistent behavior with other commands.
Does this PR introduce any user-facing change?

After this PR, ALTER TABLE in the above example is resolved to a temp view t first instead of spark_catalog.test.t.
How was this patch tested?

Updated existing tests.

Test build #133098 has started for PR 30862 at commit e2488bb.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/37698/

Test build #133098 has finished for PR 30862 at commit e2488bb.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class AlterTableRenamePartition(

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/133098/

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/37698/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/37698/

Test build #133122 has started for PR 30862 at commit 9894f9e.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/37721/

Test build #133122 has finished for PR 30862 at commit 9894f9e.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/133122/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/37721/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/37721/

cc @cloud-fan

GA passed, merging to master!


UnimplementedError: TensorArray has size zero, but element shape  is not fully defined.

Hi, I have this problem:
UnimplementedError (see above for traceback): TensorArray has size zero, but element shape  is not fully defined. Currently only static shapes are supported when packing zero-size TensorArrays.
I know this problem was already report. But did you fix this problem? Or there is a way that can I do it by my self?
Thank You.

This happens when using a corpus with a small size. The preprocessing script separates sentences in bins of length 10-20, 20-30, 30-40, etc. If any of these are empty, this error happens.

Getting same issue with large text. Here is the output I got from preprocessing:
Creating vocabulary...
Converting word to indices...
Converting 682 sentences with length between 31 and 40
Converting 915 sentences with length between 21 and 30
Converting 314 sentences with length between 51 and 60
Converting 1655 sentences with length between 1 and 10
Converting 1206 sentences with length between 11 and 20
Converting 526 sentences with length between 41 and 50
Converting 275 sentences with length between -9 and 0
Numeric representation ready
As you can see none of these are empty

Looks like this is caused by 0 length lines
You should filter those out


Waves

@bahamut657, @fivdi
I continued to work on the wave functions and made lots of changes and improvements to them. For example:

Simplified function parameters
Completed documentation
Added and simplified examples
Added tests
Removed watchdog and serial functions

I have verified all examples and tests with an oscilloscope and have used the wave functions for quite a while now on some personal projects to send infrared codes.
I read all the comments from the original pull request https://github.com/fivdi/pigpio/pull/64 and I think i have fixed everything that was mentioned so far.
Roger

@Rogerrrrrrrs @bahamut657
Hi, I just installed Rogerrrrrrrs/pigpio#Waves with the command npm i Rogerrrrrrrs/pigpio#Waves on a Raspberry Pi 4 with Node.js v12.14.0 and it looks very promising. The examples functioned correctly and the tests worked most of the time (sometimes waves-add test hangs, I don't know why.) An initial scan of the code and documentation also looked good.
I'm not sure what needs to be done to create PR at fivid/pigpio but if you create such a PR I'd take a closer look and would be very interested in merging. Please ensure that the PR at fivdi/pigpio only contains the required changes. For example, this PR here contains a lot of PRs from myself and others that shouldn't be there. I'm not a git expert and not sure what needs to be done to fix this. Perhaps @bahamut657 just needs to merge this PR, but I could be wrong.

@fivdi

sometimes waves-add test hangs, I don't know why.

Thank you for pointing this out. I've found out that the first two pulses (1μs and 2μs) sometimes didn't got captured by the alert event. But I can confirm with the oscilloscope that they were always sent correctly.

Perhaps @bahamut657 just needs to merge this PR, but I could be wrong.

As I understood, if @bahamut657 would merge the PR, I would be able to commit directly into his upstream PR.
I will remove the unwanted commits and fix the tests, if @bahamut657 doesn't merge the PR until I'm finished, i will just go ahead and create my own PR.

@fivdi
I tried to remove the foreign commits and cherry-pick only the waves related commits but that does not really work since lots of the early commits are messy.
I either suggest to leave the foreign commits in, (I think it should cause no problems when merging, because those commits where just updates from the master branch into the wave branches), or that I create a completly new branch from the current codebase and then reapply the wave related changes with own commits. That would be much easier but the commit history would get lost.
Are you OK with that?

I just confirmed your PR in order to permit the merge on the main branch.

Thank you @bahamut657, but I was wrong. Only the commits prior to the merge went into your PR, new commits do not get added. I will probably create my own PR now, but I want to await the opinion from @fivdi regarding my commit problem I mentioned above.

@bahamut657 @Rogerrrrrrrs Thank you both for working on this.
Please take a look at https://github.com/fivdi/pigpio/pull/64/files. Does it look good to you? It looks like it contains the required commits and only the required commits to me. Is this the correct?

Thank you @fivdi
It looks good to me, i think i misunderstood you about the commits. Nevertheless I still have to make my own pull request to be able to add commits without making pull requests to @bahamut657 all the time. I will doublecheck everything tomorrow and make a proper PR.


[Feature][Login] Add OAuth login

Purpose of the pull request
Add SSO login for Dolphinscheduler
This pull request will close
https://github.com/apache/dolphinscheduler/issues/4531
https://github.com/apache/dolphinscheduler/issues/3451
Usage

Start a Casdoor server
Configure your Casdoor in application.yaml

security:
  authentication:
    type: SSO

casdoor:
  endpoint: http://localhost:8000
  client-id:
  client-secret:
  certificate:
  organization-name: built-in
  application-name: app-built-in
  redirect-url: http://localhost:8888/view/login/index.html

You can find client id and client secret in Casdoor's application page and jwt public key in Casdoor's cert page.
3. Add your redirect URL http://localhost:8888/view/login/index.html in Casdoor's application setting.
4. Now start your DolphinScheduler and you can login by SSO in the way like the following video.
Brief change log
Old UI
https://user-images.githubusercontent.com/34068205/156871907-92685b9f-7200-494f-9602-1a7dde63bc6c.mp4
New UI
https://user-images.githubusercontent.com/34068205/162626390-e8b70c97-8420-46b5-9eb1-5e04c9a3167b.mov
Verify this pull request
This change added tests and can be verified as follows:

Added CasdoorAuthenticator test

Hi @William-GuoWei @dailidong @break60 , I am Yang Luo from Casdoor team. Casdoor is a powerful open-source single-sign-on (SSO) platform. It has the following features:

Support OIDC, OAuth 2.0, SAML, LDAP
With Casbin based authorization management, Casdoor supports ACL, RBAC, ABAC, RESTful accessing control models
Front-end and back-end separate architecture, Casdoor supports high concurrency, provides web-based managing UI and have mature solution for springboot project https://casdoor.org/docs/integration/spring-boot
Casdoor supports Github, Google, QQ, WeChat third-party applications login, and support the extension of third-party login with plugins.
Phone verification code, email verification code and forget password features.
Accessing logs auditing and recording.
Casdoor supports integration with existing systems using db sync method, users can transition to Casdoor smoothly.
Casdoor supports mainstream databases: MySQL, PostgreSQL, SQL Server etc, and support the extension of new database with plugins.

There have been a lot of user requests about the SSO scenario. This integration proposal will greatly enhance the SSO feature of DolphinScheduler with better authentication and security protection. What do you think?

@CalvinKirs @ruanwenjun I have fixed the CI error. Please approve to rerun :) Thanks❤

Codecov Report

Merging #8706 (fe2884b) into dev (aa53925) will increase coverage by 0.00%.
The diff coverage is 72.22%.

@@            Coverage Diff            @@
##                dev    #8706   +/-   ##
=========================================
  Coverage     45.32%   45.33%
- Complexity     4078     4082    +4
=========================================
  Files           702      704    +2
  Lines         27112    27129   +17
  Branches       2897     2899    +2
=========================================
+ Hits          12289    12298    +9
- Misses        13667    13678   +11
+ Partials       1156     1153    -3

Impacted Files
Coverage Δ

...nscheduler/api/configuration/AppConfiguration.java
94.11% <ø> (ø)

...lphinscheduler/api/controller/LoginController.java
60.00% <0.00%> (-8.19%)
:arrow_down:

...inscheduler/api/service/impl/UsersServiceImpl.java
74.89% <ø> (+0.20%)
:arrow_up:

...er/api/security/impl/sso/CasdoorAuthenticator.java
80.00% <80.00%> (ø)

.../org/apache/dolphinscheduler/api/enums/Status.java
100.00% <100.00%> (ø)

...phinscheduler/api/security/AuthenticationType.java
100.00% <100.00%> (ø)

.../dolphinscheduler/api/security/SecurityConfig.java
71.42% <100.00%> (+3.00%)
:arrow_up:

...er/api/security/impl/AbstractSsoAuthenticator.java
100.00% <100.00%> (ø)

...he/dolphinscheduler/common/enums/SqoopJobType.java
0.00% <0.00%> (-88.89%)
:arrow_down:

...inscheduler/common/task/sqoop/SqoopParameters.java
74.00% <0.00%> (-2.00%)
:arrow_down:

... and 8 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 aa53925...fe2884b. Read the comment docs.

@Abingcbc Thanks, right now we put the front-end code in dolphinscheduler-ui-next, and we will not maintain the dolphinscheduler-ui, could you please put your change in dolphinscheduler-ui-next.
And you may also need to add the document about this new feature in dolphinscheduler-website.

@ruanwenjun I have implemented the front-end in dolphinscheduler-ui-next :) PTAL
BTW, should I keep the implementation in the old UI code? Thanks!

Hi @ruanwenjun any update on this PR?

Hi @Abingcbc can you resolve the conflicts?
BTW, the old UI was removed in dev branch, just update the dolphinscheduler-ui (new UI) is OK.

@caishunfeng I have solved the conflicts and updated the code. Furthermore, Casdoor is developing rapidly. There are a lot of new features since the last commit. So I add some codes to use a random OAuth state to prevent a CRSF attack.
Would you like to review these codes? They are mainly in dolphinscheduler-api. THX :)

@caishunfeng I have solved the conflicts and updated the code. Furthermore, Casdoor is developing rapidly. There are a lot of new features since the last commit. So I add some codes to use a random OAuth state to prevent a CRSF attack. Would you like to review these codes? They are mainly in dolphinscheduler-api. THX :)

Sure, I will review it.

@Abingcbc License check failed, could u plz fix it?

@caishunfeng I have solved the conflicts and updated the code. Furthermore, Casdoor is developing rapidly. There are a lot of new features since the last commit. So I add some codes to use a random OAuth state to prevent a CRSF attack. Would you like to review these codes? They are mainly in dolphinscheduler-api. THX :)

@Abingcbc Thanks for submitting this PR. This is an important feature, as we are also working on supporting other OAuth2 providers such as Google and GitHub #12549. I will help review this PR too.

Hi @William-GuoWei @dailidong @break60 , I am Yang Luo from Casdoor team. Casdoor is a powerful open-source single-sign-on (SSO) platform. It has the following features:

Support OIDC, OAuth 2.0, SAML, LDAP
With Casbin based authorization management, Casdoor supports ACL, RBAC, ABAC, RESTful accessing control models
Front-end and back-end separate architecture, Casdoor supports high concurrency, provides web-based managing UI and have mature solution for springboot project https://casdoor.org/docs/integration/spring-boot
Casdoor supports Github, Google, QQ, WeChat third-party applications login, and support the extension of third-party login with plugins.
Phone verification code, email verification code and forget password features.
Accessing logs auditing and recording.
Casdoor supports integration with existing systems using db sync method, users can transition to Casdoor smoothly.
Casdoor supports mainstream databases: MySQL, PostgreSQL, SQL Server etc, and support the extension of new database with plugins.

There have been a lot of user requests about the SSO scenario. This integration proposal will greatly enhance the SSO feature of DolphinScheduler with better authentication and security protection. What do you think?

@hsluoyz Thanks for providing the detailed information and letting us know this fantastic tool. We will keep following up with the review and make sure it could get merged ASAP : )

I've restarted the failed CI jobs.

@EricGao888 Do you have some advice to pass the test? Are these errors caused by this PR?

@EricGao888 Do you have some advice to pass the test? Are these errors caused by this PR?

From the CI logs, it seems n\-switch__button cannot be located which causes TenantE2ETest to fail. I'm not familiar with this module, could u plz help take a look when available? @kezhenxu94 @SbloodyS Thanks~

https://github.com/apache/dolphinscheduler/blob/43d69ae157ef38d328e3c952212ba7761b915449/dolphinscheduler-e2e/dolphinscheduler-e2e-case/src/test/java/org/apache/dolphinscheduler/e2e/cases/TenantE2ETest.java#L44-L51

The reason is the language switch button conflicts with the newly added login type switch box. To avoid this problem, you need to distinguish the class names of the two buttons. Then modify  org.apache.dolphinscheduler.e2e.pages.LoginPage#buttonSwitchLanguage. If you have other questions, please feel free to ping me. @Abingcbc

The reason is the language switch button conflicts with the newly added login type switch box. To avoid this problem, you need to distinguish the class names of the two buttons. Then modify  org.apache.dolphinscheduler.e2e.pages.LoginPage#buttonSwitchLanguage. If you have other questions, please feel free to ping me. @Abingcbc

@SbloodyS I have checked my codes and rendered HTML file and there is no newly added  n-switch_button. I use v-show to switch different types of login.

@Abingcbc May I ask whether it is possible to integrate the sso with casdoor in a SpringBoot way? https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#web.security.oauth2
For the login page implemented specifically for OAuth2 / SSO, is it possible to configure it like

@Bean
public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
    http.authorizeRequests()
      .antMatchers("/oauth_login")
      .permitAll()
      .anyRequest()
      .authenticated()
      .and()
      .oauth2Login()
      .loginPage("<customized-login-page-for-oauth2>");
    return http.build();
}

@EricGao888 Sure, here is an example https://github.com/casdoor/casdoor-spring-security-example/blob/master/src/main/resources/application.yml
BTW, should this PR be modified to this way?

@EricGao888 Sure, here is an example https://github.com/casdoor/casdoor-spring-security-example/blob/master/src/main/resources/application.yml
BTW, should this PR be modified to this way?

The example looks graceful and neat to me. It would be better if you could modify it.

@Abingcbc

The reason is the language switch button conflicts with the newly added login type switch box. To avoid this problem, you need to distinguish the class names of the two buttons. Then modify  org.apache.dolphinscheduler.e2e.pages.LoginPage#buttonSwitchLanguage. If you have other questions, please feel free to ping me. @Abingcbc

@SbloodyS The E2Etest may still fail. I didn't add any new switch button in this PR. The error is not found. Do you have any suggestions?

The reason is the language switch button conflicts with the newly added login type switch box. To avoid this problem, you need to distinguish the class names of the two buttons. Then modify  org.apache.dolphinscheduler.e2e.pages.LoginPage#buttonSwitchLanguage. If you have other questions, please feel free to ping me. @Abingcbc

@SbloodyS The E2Etest may still fail. I didn't add any new switch button in this PR. Furthermore, the error is not found. Do you have any suggestions?

I had rerun the e2e, will check it if not success.

BTW, please add some doc too.

Hi @Abingcbc can you resolve the conflicts and fix the e2e?

Hi @Abingcbc Are you still work for this pr?

Hi @Abingcbc Are you still work for this pr?

@caishunfeng Yes. I am still working on this. Sorry for my late response. I was stuck with my thesis in the past weeks and I will continue to work on PR from this week.
Besides, I am still trying to refactor the configuration into the format of Spring Security like https://github.com/apache/dolphinscheduler/pull/12549 instead of the current one.

Hi @Abingcbc Are you still work for this pr?

@caishunfeng Yes. I am still working on this. Sorry for my late response. I was stuck with my thesis in the past weeks and I will continue to work on PR from this week. Besides, I am still trying to refactor the configuration into the format of Spring Security like #12549 instead of the current one.

Ok, looking forward to your good news.

@caishunfeng plz approve

@caishunfeng plz approve

@hsluoyz Done, have approved and restarted the CI : )

When I was trying to replace the configuration with Spring Security, it seems that the frontend block the second redirect. May anyone have ideas about how to fix it? TAT

@caishunfeng @EricGao888 any comments?

@caishunfeng @EricGao888 @kezhenxu94 The migration to Spring Security brings significant changes to the existing login process. Besides SSO and OAuth (there are still problems with front-end redirects), the unified configuration and implementation of PASSWORD and LDAP also need to be considered. Perhaps it's better to complete this migration work in a new PR. Therefore, I have reverted this PR and continued to use the existing configuration and method to implement the SSO function.
May you approve the CI? THX

@caishunfeng @EricGao888 @kezhenxu94 The migration to Spring Security brings significant changes to the existing login process. Besides SSO and OAuth (there are still problems with front-end redirects), the unified configuration and implementation of PASSWORD and LDAP also need to be considered. Perhaps it's better to complete this migration work in a new PR. Therefore, I have reverted this PR and continued to use the existing configuration and method to implement the SSO function. May you approve the CI? THX

CI approved.

I rerun the CI.

@caishunfeng PTAL  thx :)


Uncaught exception when attempting to import geojson coordinates with z values

Issue: When attempting to import a geojson file with supplied z values, an uncaught exception error occurs. See console error below.
uncaught exception: Only 2D points are supported: -75.31,45.38,0

Suggestion: Instead of preventing this data from being used, or needing to massage the data to remove the z values from the coordinate x,y,z triples (often provided in geojson data sources). It may be better to either ignore the z values if they exist in the data or support them if they are needed for the map.

Example Dataset: http://data.ottawa.ca/dataset/5660afd2-acb0-434d-9b8e-c402bacb48c4/resource/20ae4121-e1ff-41b9-a5ea-8e957cb585ee/download/swamps.json

The import profile process uses OpenLayers.Format.GeoJSON to parse the GeoJSON. This is the process that returns the error.

If creating a geometry using a 3rd dimension (in the editor), then the geometry is saved correctly in the database but not rendered on the screen. On the server side, the simplifications are performed correctly.
This looks like a large impact on the system and can not be scheduled for 2.2.8

The dataset given in example, above, is too large for purpose of testing.
{
"type": "FeatureCollection",
"crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } },

"features": [
{ "type": "Feature", "properties": { "SHAPE_Leng": 51.501461384400002 }, "geometry": { "type": "LineString", "coordinates": [ [ -75.318913873296793, 45.38066305392455, 0.0 ], [ -75.318702279238138, 45.380399902924857, 0.0 ], [ -75.318715980957208, 45.380355051415108, 0.0 ], [ -75.318754842720153, 45.38032845743399, 0.0 ], [ -75.318857533766746, 45.38030252359556, 0.0 ] ] } },
{ "type": "Feature", "properties": { "SHAPE_Leng": 5.09911757409 }, "geometry": { "type": "LineString", "coordinates": [ [ -75.318857533766746, 45.38030252359556, 0.0 ], [ -75.318921552980157, 45.380294187033108, 0.0 ] ] } },
]
}

Tested importing a geojson file with z values, and can confirm that the z values no longer cause and exception error.


feat: allow setting arbitrary runtime env vars in the web container

Vite forces you to use env vars for config and then also forces you to set them at build time. This is some hot, hot garbage. This library allows us to pull in arbitrary env vars. We also then do some string replacement when starting the container so we can have dynamic config in the different environments.

bors r+

bors r+


setPaymentMethodOnCart is incomplete

Currently payments can not be fully set when using the GraphQL mutation setPaymentMethodOnCart.
A plugin needs to be created in order to process the payment method payload that will be passed along with this request.
Reference:
vendor/magento/module-paypal-graph-ql/Model/Plugin/Resolver/SetPaymentMethodOnCart.php
https://devdocs.magento.com/guides/v2.3/graphql/mutations/set-payment-method.html

This issue has been resolved in the latest 0.1.3 release


Is BERT capable of producing semantically close word embeddings for synonyms?

Hello everyone, I am currently working on my undergraduate thesis on matching job descriptions to resumes based on the contents of both. Recently, I came across the following statement by Schmitt et al., 2016: "[...] [Recruiters] and
job seekers [...] do not seem to speak the same language [...]. More precisely, CVs and job announcements tend to use different vocabularies, and same words might be used with different meanings".
Therefore, I wonder if BERT is able to create contextualized word embeddings that are semantically similar or close for synonyms and semantically dissimilar or distant for the same words that have different meanings in the context of resumes and job postings?
Thank you very much in advance!

It's a bit late, but take a look at the following: https://krishansubudhi.github.io/deeplearning/2020/08/27/bert-embeddings-visualization.html
It allows you to visualize the contextualized embeddings in BERT, and then you'll be able to see for yourself if it holds for your purposes.


Use consistently a case for config option names

See, e.g., grafana_log_level vs ssl-cert

Resolved


Can't use plugin with sbt 1.0

Not sure what I do wrong but plugin is not available neither with version 1.0.0 nor with 1.0.1
[warn] 	Note: Some unresolved dependencies have extra attributes.  Check that these dependencies exist with the requested attributes.
[warn] 		com.sksamuel.scapegoat:sbt-scapegoat:1.0.4 (scalaVersion=2.12, sbtVersion=1.0)
[warn]
[warn] 	Note: Unresolved dependencies path:
[warn] 		com.sksamuel.scapegoat:sbt-scapegoat:1.0.4 (scalaVersion=2.12, sbtVersion=1.0) (/home/expert/work/sideprojects/akka-http-throttling/project/plugins.sbt#L5-6)
[warn] 		  +- default:akka-http-throttling-build:0.1-SNAPSHOT (scalaVersion=2.12, sbtVersion=1.0)

What am I missing ?

Specify the latest scapegoat version to be added as a dep by this plugin docs:
scapegoatVersion in ThisBuild := "1.3.3"

Maven central link to find the latest scapegoat version

Thanks! This in ThisBuild helped me for scala 2.12 and SBT 1.0.3 in case of multi-project build. I had to define it for all subproject - i.e. in common place.


Improve SQLite setup docs

Adding more prominent documentation about SQLite setup that many people seem to miss regarding the sqltools.useNodeRuntime setting. Added a sample settings.json.

Thanks @NanoDano !

Part of #187 .


⚠ Bofrost.be has degraded performance

In 799fefc, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1937 ms

Resolved: Bofrost.be performance has improved in 5f169c9.


Experiment with 4-bit PQ

Interested to see how much accuracy we lose if we do 4-bit PQ (two PQ entries per byte) intead of 8-.

This would just be 128 clusters vs 256 right?

It would be 16
Maybe not worth the experiment after all :)


[Event Hubs] test failing in nightly runs

Event Hubs nightly test runs are failing with:

Error message:
write EPIPE
Stack trace:
Error: write EPIPE
at afterWriteDispatched (internal/stream_base_commons.js:156:25)
at writeGeneric (internal/stream_base_commons.js:147:3)
at Socket._writeGeneric (net.js:787:11)
at Socket._write (net.js:799:8)
at writeOrBuffer (internal/streams/writable.js:358:12)
at Socket.Writable.write (internal/streams/writable.js:303:10)
at Function.log (/Users/runner/work/1/s/sdk/core/logger/src/log.ts:8:18)
at Function.AzureLogger.log (/Users/runner/work/1/s/sdk/core/logger/src/index.ts:20:9)
at Function.child.log (/Users/runner/work/1/s/sdk/core/logger/src/index.ts:141:12)
at Function.child.log (/Users/runner/work/1/s/sdk/core/logger/src/index.ts:141:12)
at Object.debug [as info] (/Users/runner/work/1/s/sdk/core/logger/src/debug.ts:150:17)
at Object.sendEventPromise [as operation] (/Users/runner/work/1/s/sdk/eventhub/event-hubs/src/eventHubSender.ts:133:13)
at processTicksAndRejections (internal/process/task_queues.js:95:5)
at retry (/Users/runner/work/1/s/sdk/core/core-amqp/src/retry.ts:184:16)
at EventHubSender._trySendBatch (/Users/runner/work/1/s/sdk/eventhub/event-hubs/src/eventHubSender.ts:133:13)
at EventHubSender.send (/Users/runner/work/1/s/sdk/eventhub/event-hubs/src/eventHubSender.ts:110:77)
at Context. (/Users/runner/work/1/s/sdk/eventhub/event-hubs/test/internal/node/disconnect.spec.ts:73:7)

For more details check here:

https://dev.azure.com/azure-sdk/internal/_build/results?buildId=1029999&view=results

From #16750
Event Hubs nightly test runs are failing with:

Error message:
done() called multiple times in test  of file /Users/runner/work/1/s/sdk/eventhub/event-hubs/dist-esm/test/internal/node/disconnect.spec.js
Stack trace:
Error: done() called multiple times in test  of file /Users/runner/work/1/s/sdk/eventhub/event-hubs/dist-esm/test/internal/node/disconnect.spec.js
at createMultipleDoneError (/Users/runner/work/1/s/common/temp/node_modules/.pnpm/mocha@7.2.0/node_modules/mocha/lib/errors.js:289:13)
at multiple (/Users/runner/work/1/s/common/temp/node_modules/.pnpm/mocha@7.2.0/node_modules/mocha/lib/runnable.js:294:24)
at done (/Users/runner/work/1/s/common/temp/node_modules/.pnpm/mocha@7.2.0/node_modules/mocha/lib/runnable.js:305:14)
at /Users/runner/work/1/s/common/temp/node_modules/.pnpm/mocha@7.2.0/node_modules/mocha/lib/runnable.js:379:11
at processTicksAndRejections (internal/process/task_queues.js:95:5)

For more details check here:

https://dev.azure.com/azure-sdk/internal/_build/results?buildId=1029999&view=results

Where are you seeing the stack traces for those 2 failures? When I click on those pipelines, it looks like in both cases the mac os build failed and was reportedly cancelled due to the agent not communicating within some timeout. Looking at the integration test logs, I see the following at the tail end:

2021-08-03T13:04:53.9157240Z azure:event-hubs:info Closed the amqp connection 'connection-475' on the client.
2021-08-03T13:04:53.9159010Z       ✓ should not throw an uncaught exception (91738ms)
2021-08-03T13:04:53.9162060Z
2021-08-03T13:04:53.9163440Z   #createMessageSpan()
2021-08-03T13:04:53.9173430Z     ✓ should create a span without a parent
2021-08-03T13:04:53.9176190Z
2021-08-03T13:04:53.9179040Z   PartitionGate
2021-08-03T13:04:53.9191460Z     ✓ add
2021-08-03T13:04:53.9193630Z
2021-08-03T13:04:53.9194890Z   disconnected
2021-08-03T13:04:53.9199780Z azure:event-hubs:info Creating EventHubConsumerClient with connection string and event hub name.
2021-08-03T13:04:55.6325880Z azure:event-hubs:info Successfully closed the management session.
2021-08-03T13:04:55.6920590Z azure:event-hubs:info Closed the amqp connection 'connection-476' on the client.
2021-08-03T13:04:55.6921660Z     EventHubSender
2021-08-03T13:04:56.7378910Z azure:event-hubs:info [connection-477] Sender '-8a8ae841-45ab-40a4-b482-0d95b9fb9688', trying to send EventData[].
2021-08-03T13:04:56.7382640Z azure:event-hubs:info [connection-477] Sender '-8a8ae841-45ab-40a4-b482-0d95b9fb9688', sending encoded batch message. <Buffer 00 53 70 45 00 53 72 d1 00 00 00 04 00 00 00 00 00 53 73 45 00 53 75 a0 1e 00 53 70 45 00 53 72 d1 00 00 00 04 00 00 00 00 00 53 73 45 00 53 75 a0 05 ... 5 more bytes>
2021-08-03T13:04:56.8041090Z azure:event-hubs:info [connection-477] Closing the Sender for the entity '***'.
2021-08-03T13:05:10.9130690Z ##[error]The operation was canceled.
2021-08-03T13:05:10.9145650Z ##[section]Finishing: Integration test libraries

This does seem to indicate to me that there may have been an issue with the mac agents in our pool, but I'd like to check out those stack traces if you can point me at them!

I think you can see them by going to the Tests tab, I think this link will take you there: https://dev.azure.com/azure-sdk/internal/_build/results?buildId=1029999&view=ms.vss-test-web.build-test-results-tab
You can then click on a test and find the stack trace


Scrolling by dragging and flinging on Android might be nice

On Android, there is no mouse wheel, so scrolling is less comfortable than on desktop.
It might make sense to implement the default Android behaviour for scrolling:

slowly dragging most dialogs boxes scrolls them,
quick drag action initiates the fast scroll; the scroll speed is determined by the speed of the initial drag, and decreases over time; the scroll can be stopped by another drag.

I don’t know if these are useful only on Android, I think desktop PCs with touchscreens could benefit from them as well.

This'll probably mess up the implementation of any drag-based element that could end up in the UI tree, unfortunately, but this might be reasonable to implement on scrollbars.

Most Android apps use long taps to activate dragging things.

Most Android apps use long taps to activate dragging things.

I think that’s for dragging one thing, right? (So basically it’s a selection. I’ve seen it used for opening menus, too, e.g. in Discord app and Orgzly.)
I was talking about dragging the whole contents to scroll it, not about dragging a single element. (I don’t think R48 has any single elements to drag anyway?)

Last I checked, long taps (more like holds really) activate selection/action stuff, while this refers to the "swipe up to quickly go down a list with 'momentum'" vs. "slowly drag to slowly go down a list". rohkea's suggestion is well in line with the standards, it's just problematic for R48.

...for lack of a better solution I'm just going to close this as won't-fix... sorry.


Gradle构建问题

Gradle version: 5.1.1
Gradle plugin version:3.4.2
VirtualAPK plugin version:<IP_ADDRESS>
OS: windows 10
Unable to load class 'com.android.build.gradle.internal.TaskFactory'.
Possible causes for this unexpected error include:
Gradle's dependency cache may be corrupt (this sometimes occurs after a network connection timeout.)
Re-download dependencies and sync project (requires network)
The state of a Gradle build process (daemon) may be corrupt. Stopping all Gradle daemons may solve this problem.
Stop Gradle build processes (requires restart)
Your project may be using a third-party plugin which is not compatible with the other plugins in the project or the version of Gradle requested by the project.
In the case of corrupt Gradle processes, you can also try closing the IDE and then killing all Java processes.

Host 已相同配置构建还会出现以下警告
WARNING: API 'variant.getJavaCompile()' is obsolete and has been replaced with 'variant.getJavaCompileProvider()'.
It will be removed at the end of 2019.
For more information, see https://d.android.com/r/tools/task-configuration-avoidance.
To determine what is calling variant.getJavaCompile(), use -Pandroid.debug.obsoleteApi=true on the command line to display more information.
Affected Modules: app

解决没？@tangwanchao

gradle 3.1.4
gradle-zip:4.4
然后就可以

多谢帮助,使用老版本的 gradle 将正常构建 @gcgongchao

VirtualAPK does not support gradle 3.5.2 at this moment. Can we expect any further development?


[192] Issue #192 - August 26, 2021

To contribute to this issue, simply leave a comment here. Please also review our contributing guidelines.
The current draft for this issue in _drafts/. If you want to contribute directly, feel free to open a pull request.

https://forums.swift.org/t/pitch-protocols-with-private-fields/51209

https://developer.apple.com/support/xcode/

https://forums.swift.org/t/pitch-revisit-the-semantics-of-async-main/51254

https://forums.swift.org/t/pitch-amend-se-0303-plugin-api-to-use-main-for-plugin-entry-point/51250

https://forums.swift.org/t/allow-use-of-concrete-associated-type-of-protocols/51277

https://swiftrocks.com/swifts-documentation-markup

https://www.avanderlee.com/swift/unwrap-or-throw/

https://forums.swift.org/t/announcement-planning-for-swift-atomics-v1-0/51326

https://forums.swift.org/t/august-4th-2021/51315

https://forums.swift.org/t/se-0321-package-registry-service-publish-endpoint/51286

fun https://twitter.com/aligatr/status/1428285367933972480

https://forums.swift.org/t/pitch-staging-in-sendable-checking/51341

https://forums.swift.org/t/pitch-the-cstdlib-module/51373

https://holyswift.app/how-to-do-apis-constraints-with-available-in-swift?utm_campaign=AppCoda Weekly&utm_medium=email&utm_source=Revue newsletter

https://www.swiftbysundell.com/articles/using-an-unknown-default-case-within-a-switch-statement/

https://twitter.com/gregheo/status/1429121397142351872

https://www.swiftbysundell.com/podcast/103

https://www.basbroek.nl/deprecating-workarounds

https://forums.swift.org/t/pitching-the-start-of-variadic-generics/51467

https://forums.swift.org/t/nightly-docker-images-for-development-snapshots-now-support-aarch64/51462


[CI] Enable CI and setup all logistics

First step for #11
Summary for CI
We should keep CI and setup and installation workflow relatively similar. From my exp in OSS, this alleviates developer burden and overall technical debt.
This PR adds additional checks to the CI that are based off best practices:

circleCI will build documentation for every PR and commit to this repo
GH actions has a job to link output of circleCI to be linked to the checks
GH actions will test for style using poetry
GH actions will test for building the overall package
GH actions will run unit tests
GH actions will upload code coverage from unit tests
GH actions will also automatically release on pypi given a tag is made on main branch

TODO for CI:

GH actions should also weekly test integration suite. I.e. this will eventually encompass networkx, dowhy, pywhy_graphs and more.
ideally poetry doesn't install all dependencies for every single job it runs

Summary for repo docs
I've added more details to the README based on my experience. What would be nice is to extend the main figure in dowhy's README to encompass causal discovery. Otw, I think short READMEs are the way to go and then linking to the documentation.
Summary for code documentation
I've uploaded boiler plate documentation that will leverage the pydata sphinx layout. Inside we should track: contributors, and PRs. The API is also auto-rendered here via sphinx.
cc: @robertness

@darthtrevino do you know why the circleCI is not catching the install for matplotlib?

Just tryna wrangle with the circleCI docs building


inference problem

Hello！Your work is perfect.I miss some problems when I run the demo.sh, my error are as follows.
There are many warnings like this:
warnings.warn(f'for {key}: copying from a non-meta parameter in the checkpoint to a meta '
/home/shanboqi/anaconda3/envs/griffon/lib/python3.10/site-packages/torch/nn/modules/module.py:2025: UserWarning: for vision_model.post_layernorm.weight: copying from a non-meta parameter in the checkpoint to a meta parameter in the current model, which is a no-op. (Did you mean to pass assign=True to assign items in the state dictionary to their corresponding key in the module instead of copying them in place?)
and a warning like this:
WARNING:root:Some parameters are on the meta device device because they were offloaded to the cpu.
and at last, there is an error:
Traceback (most recent call last):
File "/home/shanboqi/griffon-master/llava/eval/run_llava.py", line 124, in
eval_model(args)
File "/home/shanboqi/griffon-master/llava/eval/run_llava.py", line 46, in eval_model
tokenizer, model, image_processor, context_len = load_pretrained_model(args.model_path, args.model_base, model_name)
File "/home/shanboqi/anaconda3/envs/griffon/lib/python3.10/site-packages/llava/model/builder.py", line 147, in load_pretrained_model
vision_tower.to(device=model.device, dtype=torch.float16)
File "/home/shanboqi/anaconda3/envs/griffon/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1152, in to
return self._apply(convert)
File "/home/shanboqi/anaconda3/envs/griffon/lib/python3.10/site-packages/torch/nn/modules/module.py", line 802, in _apply
module._apply(fn)
File "/home/shanboqi/anaconda3/envs/griffon/lib/python3.10/site-packages/torch/nn/modules/module.py", line 802, in _apply
module._apply(fn)
File "/home/shanboqi/anaconda3/envs/griffon/lib/python3.10/site-packages/torch/nn/modules/module.py", line 802, in _apply
module._apply(fn)
[Previous line repeated 1 more time]
File "/home/shanboqi/anaconda3/envs/griffon/lib/python3.10/site-packages/torch/nn/modules/module.py", line 825, in _apply
param_applied = fn(param)
File "/home/shanboqi/anaconda3/envs/griffon/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1150, in convert
return t.to(device, dtype if t.is_floating_point() or t.is_complex() else None, non_blocking)
NotImplementedError: Cannot copy out of meta tensor; no data!
Could you help me with these problems, thank you very much!

Hi @Qiqi224 ,
If using the latest Griffon-G model, you should also update the codes to the latest version. According to the log, you are still using the previous version of the inference code, which does not support the latest model.
For the first warning "warnings.warn(f'for {key}: copying from a non-meta parameter in the checkpoint to a meta '", this is caused by the pytorch and transformers version. It will not affect the final result, so we do not fix or hide this warning in the code.

Hi @Qiqi224 , If using the latest Griffon-G model, you should also update the codes to the latest version. According to the log, you are still using the previous version of the inference code, which does not support the latest model. For the first warning "warnings.warn(f'for {key}: copying from a non-meta parameter in the checkpoint to a meta '", this is caused by the pytorch and transformers version. It will not affect the final result, so we do not fix or hide this warning in the code.

Hi, I am happy you can help me. I download the Griffon-v1 model from huggingface, and I follow your tutorial to deal with both the Griffon and Clip checkpoints, then I run demo.sh and meet the error above, I don't know how to solve the error.

We just follow the v1 usage. to run the inference codes and get the correct response without meeting the above error. It seems like the vision tower inited is not loaded correctly with weights. Maybe you can check the environment version, the part you might have modified, and the way you run the demo.sh to solve this error.


How can I send something to a specific websocket in my application from another function?

Imagine this:
@websocket.route("/websocket")
def my_websocket(ws):
    ws.send("foo")

@app.route("/somewhere")
def somewhere():
    #ws.send("bar")

Is this way of working at all possible with websockets? Do I instead need some kind of internal message spooler in my_websocket that I send stuff to which in return sends it to the client? Or can I somehow do this more conveniently as I outlined in my example?

If it's a single instance, you can just keep a set of connections. Otherwise you should use redis or something like that to emulate pub/sub.

Can you post up a snippet? I tried keeping connections in a global list but that didn't work out so well.

I would personally use redis pub/sub for this. Subscribe to an event (for example "send-to-ws") when the websocket connects. Then publish that event in the "somewhere" route. This way you don't need global lists and it scales great.
You can use Flask-Redis and redis-py for this:
https://github.com/underyx/flask-redis
https://github.com/andymccurdy/redis-py
Use the redis.pubsub() method.

When I try to do something like:
@app.route("/ready")
def ready():
    ws.send("message")
    return ""

It seems to send nothing through the websocket and instead sends "message" to the browser that requested /ready.

If you are running one instance of the app (not multiple, like when you use uWSGI), something like this should work:
app = Flask()
websocket = WebSocket(app)
clients = {}

@websocket.route('/connect')
def connect(ws):
    clients[ws.id] = ws

    # keep listening for messages until the connection is closed
    while ws.connected is True:
        message = client.receive()

    # the client is removed when the websocket connection is closed
    del clients[ws.id]

@app.route('/send_all_websockets')
def send_all_websockets():
    """ send a message to all connected websockets """
    for id, client in clients.iteritems()
        client.send('hello')

But again, this will only work when running as one instance.
This is also basically what happens in the chat example: https://github.com/zeekay/flask-uwsgi-websocket/blob/master/examples/chat-gevent/chat.py

Ahh, that's pretty much exactly what I did, I had figured it was a problem with doing it through uWSGI, that at least gives me somewhere to look, thanks!

...really should add another example to cover this (extremely common) use case.


cmake: Improve Ccache usage on Windows

This PR:

Improves the user experience when using the ccache package installed via Chocolatey on Windows. The new approach is the same as the one currently used in the master branch CI.

Also fix caching for debug configurations (see https://github.com/ccache/ccache/wiki/MS-Visual-Studio#usage-with-cmake)

Added caching to the "Win64 native" CI job:

https://github.com/hebasto/bitcoin/actions/runs/7828761172/job/21362637142

(it might be compared with the log for the same branch, but without the first commit: https://github.com/hebasto/bitcoin/actions/runs/7828850714/job/21363047274)

Friendly ping @sipsorcery @TheCharlatan @pablomartin4btc @m3dwards :)

Maybe ccache has got smarter but I still recall the build breaking when the msbuild version had a minor update. MS states that you shouldn't rely on binary compatability for object files built with different compiler versions and ccache didn't detect minor version updates.
I guess a warning message in the build, or CI, instructions could cover that particular case.

Maybe ccache has got smarter but I still recall the build breaking when the msbuild version had a minor update. MS states that you shouldn't rely on binary compatability for object files built with different compiler versions and ccache didn't detect minor version updates.

In the master branch, we use the same approach for months. There were dozens Windows image updates provided by GitHub Actions during this period. No binary compatibility issues were observed.

I guess a warning message in the build, or CI, instructions could cover that particular case.

Mind suggesting a good wording fir such a message?

In the master branch, we use the same approach for months. There were dozens Windows image updates provided by GitHub Actions during this period. No binary compatibility issues were observed.

OK, maybe the issue has gone away then.
utACK bbc1c4cd1f90c280ba22c40a3319b724fcc02f52.


(#10): Add option for domain

All PRs should be based on an issue
WHY?
See issue #10
WHAT?
Add option for domain

[x] I have considered (and possibly added) tests
[x] I have updated the documentation

[Optional] Resolves #10

Coverage decreased (-2.9%) to 26.0% when pulling 941a816b16cc0747e1dc09361a4649b9428c982b on feature/domain into bcaada413091445a938c9a07c66f97afce9a803d on master.


Raspberry Pi input system should be redesigned

The way inputs (keyboard/mouse/gamepad) are managed on Raspberry Pi is far from ideal. Some keyboards don't work properly, mouse can be wrongly detected, no current gamepad support.
Related functions [core.c]:
static void InitKeyboard(void);
static void RestoreKeyboard(void);
static void PollInputEvents(void);

static void InitMouse(void);
static void *MouseThread(void *arg);

static void InitGamepad(void);

raylib design goal is to keep dependencies to the minimum so I decided to implement my own raw inputs reading mechanism on Rapsberry Pi; on other platforms I use GLFW3 that works flawlesly. This decision was taken to allow raylib to work on RPi without requiring X Window System.
Different systems were implemented for keyboard and mouse reading:
Keyboard data is read directly from standard input (stdin), keyboard settings and mode are reconfigured (InitKeyboard()) and then data is read as raw (PollInputEvents()); at exit keyboard settings are restored (RestoreKeyboard()). It was decided to be done this way (instead of reading events) to allow usage from SSH connection.
Mouse data is read from DEFAULT_MOUSE_DEV, currently /dev/input/event1, a new thread is created to keep reading mouse data independently of game loop (MouseThread()).
Gamepad data read is not implemented (InitGamepad()).
I think the system should be redesigned to use always /dev/input/eventX but detecting which devices are connected to the Raspberry Pi is another issue.

Input system has been reviewed and redesigned. Gamepad support has been partially implemented but still requires some testing. Now raylib uses the old input event handlers:

Keyboard:  Reconfigure and read stdin (standard input)
Mouse: Read from /dev/input/mouse0 (new thread)
Gamepad: Read from /dev/input/js0 (new thread)

Most changes implemented in commit https://github.com/raysan5/raylib/commit/98c60838fed28958519144840a21f012995d6799
RPI Input system now is functional but still has some issues and can be improved.

I want to add that when an input device lost connection the Pi build can't detect the input when it reconnected or a new one connected after launch of the application.
I think that's what you meant with :

I think the system should be redesigned to use always /dev/input/eventX but detecting which devices are connected to the Raspberry Pi is another issue.


Allow failure from HEAD Ruby

This will stop the whole build being marked as failed because of failures on HEAD Rubies, which is often outside of our control and not really grounds for having the badge in the README say the build is failing.

Thanks for this PR. I want to try supporting headS so I won't be merging it though. Thanks again!


Progress Bar Refactoring

This came out of this discussion regarding a new mobile stylesheet being added for progress bars on dot com. If we utilize the Primer CSS flex classes for our progress bars, we can eliminate the majority of the custom SCSS needed across the board.
New tracking issue
This PR is WIP at the moment! I've included the refactored progress bar variations in storybook to compare against the original progress bars with custom scss.
/cc @primer/ds-core

The default progress bar + the --small variation is ready for review. I'm holding off on the gradient bars for now as they might need a bit more though. @shawnbot - wondering if we should include the --tiny version (5px) in this PR? My initial thought was to try and find a middle ground between the two since they are only a few pixels apart, but that might be a bigger discussion.


Version Upgrade Check

Conditional update of reconciled component only if version in provided chart has changed.

/retest-required

/retest-required

/test pre-main-kyma-incubator-reconciler


Add unit tests

The logic of picking merging configurations starts to get complicated, will need to figure out how to unit test neovim plugins.

Looks like plenary can be used: https://github.com/nvim-lua/plenary.nvim/blob/master/TESTS_README.md


logging disc compilation logs in torchDisc

enable logs with
PYTORCH_JIT_LOG_LEVEL=">>registry_disc_class:disc_compiler" python mnist.py

What does the >> in env var mean?

What does the >> in env var mean?

@qiuxiafei PyTorch JIT logger use >, >> to represent the log level, ref: https://github.com/pytorch/pytorch/blob/master/torch/csrc/jit/jit_log.h#L34


When I export a page it does not show everything...

So when I export a page all I see is a portion at the top, but none of the content under it.
I should see the entire wireframe, but I"m only getting the part at the top.
Thanks in advance!

I figured it out, I had to put the content on an artboard.  Thanks!


Full-throated recommendation of emacs-mac

When installed via homebrew, the formula adds this patch
https://bitbucket.org/mituharu/emacs-mac/pull-requests/2/add-multi-tty-support-to-be-on-par-with/diff, which purports to solve the multi-tty issue.  The user experience I've had with emacs-plus is not a good one.

I tried it and this is what I got

I don't know doom well yet, but it looks to me like you failed to install
some fonts or icons.  Works perfectly for me AFAICT.
On Thu, Feb 18, 2021 at 8:18 AM Sergey Samsonov<EMAIL_ADDRESS>wrote:

I tried it and this is what I got
[image: Screenshot 2021-02-18 at 19 16 34]
https://user-images.githubusercontent.com/6762673/108386822-131a2d00-721e-11eb-9b9c-e907b7bf93d0.jpg
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/hlissner/doom-emacs/pull/4663#issuecomment-781460255,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAKYIJM5DXPPEQAHMJ4B7LS7U4WRANCNFSM4XXA4BJQ
.

--
-Dave

I've bounced between emacs-mac and emacs-plus myself. Currently emacs-plus 27 and 28 are quite slow and laggy for me where as emacs-mac is pretty smooth. Switching to emacs-mac had a noticeable improvement:

Startup times improved by 3-5 seconds
Holding down j or k would move down the file faster and more smooth motion
No hanging between keypresses, switching buffers, or frame resizing

Will report in if any major problems are encountered.

@dabrahams this happens when you resize the window.

No issues resizing here

Thanks!

Whew thanks @hlissner


Feature/streamlit GUI

Overview
Added app.py containing the initial streamlit wire-frame featuring all basic user functionality. Forewarning, contains some work in progress features as well as disconnected widgets (e.g. the FPS slider).
media pipeline functions are included in app.py for the time being for unit testing. Once tested these functions will be moved to their own module called 'mediapipeline.py'
Additionally added a basic project description to README.md
Updated requirements.txt to reflect changes in video processing packages.
Testing
The core media processing functions have passed all basic unit tests. They will be tested with more scrutiny when we develop a more formal/advanced unit tests. Load testing has not yet been conducted. The longest video tested was a 1GB 30 minute 1080p video.

Looks good to me. Good work- PR approved.


refactor: preact example remove unused import

Oh, I missed that it is no longer necessary for the preact JSX files.
@necipallef Can you do the same for app.tsx?

Oh, I missed that it is no longer necessary for the preact JSX files. @necipallef Can you do the same for app.tsx?

Done

Hmm, I made additional research and it is better to keep h for our configuration. Build comment fails.
$ preact build --no-sw
✖ ERROR ./src/index.tsx
ERROR in ./src/index.tsx(9,6):
TS2304: Cannot find name 'h'.
error Command failed with exit code 1.

Yeah, I agree. My bad


The script does not work with python3

The port forwarding on the remote host does not work on python3 only servers like (16.04).

The code that finds a free port works opn python2/3.


🚀 [Feature] Restrict access to users without subscription or not enough credit after 7 days

🚀 Feature
Who: admin
What: I want to prevent users to log in who haven't paid their subscriptions or who have not enough credit based on their usage of the application. Users may have a 7 days period to use the application without subscription.
Why: There should be an incentive to support the application financially.

I dont think this is correct - the user must be able to login, so we can identify the paying user - correct me if i am wrong.

I dont think this is correct - the user must be able to login, so we can identify the paying user - correct me if i am wrong.

What do you mean with "identify the paying user"? :thinking:

Closing in favor of https://github.com/dreammall-earth/dreammall.earth/issues/2674 & https://github.com/dreammall-earth/dreammall.earth/issues/2673


:Implemented year drag n drop and new year structure. Modularizing and file shifting.

New Year System/DnD

Implemented support for the new year system, where year ordering is index-based rather than field based.

Updated Year and UserCourse types.
Made necessary changes to existing codebase.

Implemented Year Drag n Drop

Users can now drag n drop years.

Modularization and file shifting

Moved GenerateNewPlan pseudocomponent to resources folder.
Moved PlanAdd popup to popups folder.
General cleanup.

Merging prematurely to unblock others, so they can update their branches to do their work.


[BUG] SAS Key created with user delegation key works only after delay

Library name and version
Azure.Storage.Blobs 12.14.1
Describe the bug
I generate a sas uri but it works only after a delay
Expected behavior
generated uri should be available without delay
Actual behavior
I am using this code to create a SAS for a blob item.
` public async Task<Result> GetBlobSasUri(string containerName,
string blobName, string? storedPolicyName = null, BlobContainerSasPermissions permissions = BlobContainerSasPermissions.Read,
int validityInMinutes = 30)
{
try
{
var blobServiceClient =
new BlobServiceClient(new Uri($"{_config["StorageConnection:serviceUri"]}"),
new DefaultAzureCredential());
var blobContainerClient = blobServiceClient.GetBlobContainerClient(containerName);
var blob = blobContainerClient.GetBlobClient(blobName);
var blobMetaData = (await blob.GetPropertiesAsync()).Value.Metadata;
var userDelegationKey = await blobServiceClient
.GetUserDelegationKeyAsync(DateTimeOffset.UtcNow,
DateTimeOffset.UtcNow.AddMinutes(validityInMinutes));
            var sasBuilder = new BlobSasBuilder
            {
                BlobContainerName = blobContainerClient.Name,
                BlobName = blob.Name,
                Resource = "b",
            };
            if ((permissions & BlobContainerSasPermissions.Read) != 0)
            {
                var friendlyFileName = blobMetaData.ContainsKey("Name")
                    ? StringHelpers.Base64Decode(blobMetaData["Name"])
                    : blobName;
                sasBuilder.ContentDisposition = $"attachment; filename={friendlyFileName}";
            }
            if (storedPolicyName == null)
            {
                sasBuilder.StartsOn = DateTimeOffset.UtcNow.AddMinutes(-15);
                sasBuilder.ExpiresOn = DateTimeOffset.UtcNow.AddMinutes(validityInMinutes);
                sasBuilder.SetPermissions(permissions);
            }
            else
            {
                sasBuilder.Identifier = storedPolicyName;
            }

            var blobUriBuilder = new BlobUriBuilder(blob.Uri)
            {
                Sas = sasBuilder.ToSasQueryParameters(userDelegationKey,
                    blobServiceClient.AccountName)
            };

            var sasUri = blobUriBuilder.ToUri();

            return Result.Ok(sasUri);
        }
        catch (Exception ex)
        {
            return Result.Fail<Uri>(ex.Message + ex.StackTrace);
        }
    }`

The SAS Uri is created correctly and i pass this to the frontend. But there i get a 403 (Server failed to authenticate the request. Make sure the value of Authorization header is formed correctly including the signature.) error-
i noticed that i retry 3 times with a delay of a second it works on second or 3rd attempt so the problem is not the URI but it somehow gets activated only after some time.
I have this error only when i generate the SAS with a delegation key because i use a managed identity to access the Storage
If i use the Account Key it works without delay.
What is the correct way to generate the SAS uri and pass it to the frontend?
Reproduction Steps

Environment
The code is running in an azure function

i solved it. the problem was that the delegation was not valid because some time mismatch. It works without problems if i change this line : .GetUserDelegationKeyAsync(DateTimeOffset.UtcNow.AddMinutes(-15), .....
adding -15 min to the StartsOn solves the problem


AMI430: Restore ramp rates of individual magnet axes after simultaneous ramp but only if block_during_ramp is True

Apparently, it is confusing for users that the simultaneous ramp mode does not keep the ramp rate settings of the individual magnet axes intact. User's impression of the simultaneous ramp mode with the vector_ramp_rate parameter is that it sits on top of the individual axes and after the ramp is over, the individual magnet axes should still have their original individual ramp rates preserved.
In the implementation, restore_at_exit context managers of the ramp_rate parameters are used. But they are only active if block_during_ramp is True because otherwise the magnet driver cannot know when it is a good time to restore the ramp rates because one does not want to change the ramp rate too early while the magnet is ramping.

[ ] test on real instrument
[ ] test if after initiating a ramp, it is possible to change ramp rate on the fly; does instrument allow it or errors out, does it change the ramp rate or ignores it, etc

Credits to @jourib for the idea and the help with testing!

I tested the PR, it works as expected.
I also tested what happens when the ramp rate is changed during a ramp started with blocking. The ramp rate is in fact changed on the fly for the active ramp. So restoring the ramp rates for unblocked ramps does not seem to be possible.


Coverage Reports 0 for a Vue Component with No Functions

Describe the bug
I have a UI component that has no functions in it but vitest run --coverage reports 0% coverage for functions.
If there are no functions to test, the coverage reporter should report 100%
 % Coverage report from v8
---------------------|---------|----------|---------|---------|-------------------
File                 | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
---------------------|---------|----------|---------|---------|-------------------
All files            |     100 |      100 |      80 |     100 |
 components          |     100 |      100 |   66.66 |     100 |
  BasicButton.vue    |     100 |      100 |     100 |     100 |
  ...omButtonNav.vue |     100 |      100 |       0 |     100 |
 store               |     100 |      100 |     100 |     100 |
  index.ts           |     100 |      100 |     100 |     100 |
---------------------|---------|----------|---------|---------|-------------------

Reproduction
BottomButtonNav.vue
<template>

      <slot name="leftSide"></slot>

      <slot name="rightSide"></slot>

</template>

BottomButtonNav.test.ts
import { render, screen } from '@testing-library/vue';
import BottomButtonNav from '~/components/BottomButtonNav.vue';

describe('BottomButtonNav', () => {
  it('renders left and right slots correctly', () => {
    const leftSlotContent = 'Left Slot Content';
    const rightSlotContent = 'Right Slot Content';

    render(BottomButtonNav, {
      slots: {
        leftSide: leftSlotContent,
        rightSide: rightSlotContent,
      },
    });

    const leftContainer = screen.getByTestId('left-container');
    const rightContainer = screen.getByTestId('right-container');

    expect(leftContainer).toHaveTextContent(leftSlotContent);
    expect(rightContainer).toHaveTextContent(rightSlotContent);
  });
});

System Info
System:
    OS: macOS 13.4
    CPU: (12) x64 Intel(R) Core(TM) i7-8850H CPU @ 2.60GHz
    Memory: 472.32 MB / 32.00 GB
    Shell: 5.9 - /bin/zsh
  Binaries:
    Node: 18.6.0 - ~/.nvm/versions/node/v18.6.0/bin/node
    npm: 8.14.0 - /usr/local/bin/npm
    Watchman: 4.9.0 - /usr/local/bin/watchman
  Browsers:
    Chrome: 114.0.5735.133
    Edge: 114.0.1823.51
    Firefox: 114.0.1
    Safari: 16.5
  npmPackages:
    @vitejs/plugin-vue: ^4.0.0 => 4.2.3
    @vitest/coverage-v8: ^0.32.0 => 0.32.0
    vite: ^4.2.1 => 4.3.9
    vitest: ^0.32.0 => 0.32.0

### Used Package Manager

npm

### Validations

- [X] Follow our [Code of Conduct](https://github.com/vitest-dev/vitest/blob/main/CODE_OF_CONDUCT.md)
- [X] Read the [Contributing Guidelines](https://github.com/vitest-dev/vitest/blob/main/CONTRIBUTING.md).
- [X] Read the [docs](https://vitest.dev/guide/).
- [X] Check that there isn't [already an issue](https://github.com/vitest-dev/vitest/issues) that reports the same bug to avoid creating a duplicate.
- [X] Check that this is a concrete bug. For Q&A open a [GitHub Discussion](https://github.com/vitest-dev/vitest/discussions) or join our [Discord Chat Server](https://chat.vitest.dev).
- [X] The provided reproduction is a [minimal reproducible example](https://stackoverflow.com/help/minimal-reproducible-example) of the bug.

@AriPerkkio  Here's a minimal reproduction repo with PR
https://github.com/merlinstardust/coverage-zero-vitest-example/pull/1

Vue compiler is outputting source maps which are off by one line. This is similar as https://github.com/vitest-dev/vitest/discussions/2874 and https://github.com/vuejs/vue-loader/issues/1778.
Here is what Vue is generating from BottomButtonNav.vue:
const _sfc_main = {}
import { renderSlot as _renderSlot, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from "vue"

const _withScopeId = n => (_pushScopeId("data-v-3da707db"),n=n(),_popScopeId(),n)
const _hoisted_1 = { class: "row bottom-button-nav" }
const _hoisted_2 = {
  class: "row left-container",
  "data-testid": "left-container"
}
const _hoisted_3 = {
  class: "row right-container",
  "data-testid": "right-container"
}

function _sfc_render(_ctx, _cache) {
  return (_openBlock(), _createElementBlock("div", _hoisted_1, [
    _createElementVNode("div", _hoisted_2, [
      _renderSlot(_ctx.$slots, "leftSide", {}, undefined, true)
    ]),
    _createElementVNode("div", _hoisted_3, [
      _renderSlot(_ctx.$slots, "rightSide", {}, undefined, true)
    ])
  ]))
}

import "/x/y/coverage-zero-vitest-example/src/components/BottomButtonNav.vue?vue&type=style&index=0&scoped=3da707db&lang.css"

import _export_sfc from 'plugin-vue:export-helper'
export default /*#__PURE__*/_export_sfc(_sfc_main, [['render',_sfc_render],['__scopeId',"data-v-3da707db"],['__file',"/x/y/coverage-zero-vitest-example/src/components/BottomButtonNav.vue"]])

{
  "version": 3,
  "sources": [
    "/x/y/coverage-zero-vitest-example/src/components/BottomButtonNav.vue"
  ],
  "names": [],
  "mappings": ";;;qBACO,KAAK,EAAC,uBAAuB;;EAC3B,KAAK,EAAC,oBAAoB;EAAC,aAAW,EAAC,gBAAgB;;;EAGvD,KAAK,EAAC,qBAAqB;EAAC,aAAW,EAAC,iBAAiB;;;;wBAJhE,oBAOM,OAPN,UAOM;IANJ,oBAEM,OAFN,UAEM;MADJ,YAA6B;;IAE/B,oBAEM,OAFN,UAEM;MADJ,YAA8B",
  "file": "/x/y/coverage-zero-vitest-example/src/components/BottomButtonNav.vue",
  "sourceRoot": "",
  "sourcesContent": [
    "<template>\n
\n
\n      <slot name=\"leftSide\"></slot>\n
\n
\n      <slot name=\"rightSide\"></slot>\n
\n
\n</template>\n\n\n\n\n"
  ]
}

When inspecting the source map it's clearly visible that it's off: https://ariperkkio.github.io/source-map-debugger?s=N4Ig.... Notice how the line 4's _withScopeId helper function is incorrectly included in source maps. This is the uncovered function that your coverage report includes.
  {
    "functionName": "_withScopeId",
    "ranges": [
      {
        "startOffset": 587,
        "endOffset": 689,
        "count": 0
      }
    ],
    "isBlockCoverage": false
  }

Now when we add one extra line to mappings everything looks much better:
-  "mappings": ";;;qBACO,...",
+  "mappings": ";;;;qBACO,...",

---------------------|---------|----------|---------|---------|-------------------
File                 | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
---------------------|---------|----------|---------|---------|-------------------
All files            |     100 |      100 |     100 |     100 |
 BottomButtonNav.vue |     100 |      100 |     100 |     100 |
---------------------|---------|----------|---------|---------|-------------------

https://ariperkkio.github.io/source-map-debugger?s=N4Ig...
This needs to be fixed in one of the Vue compiler related dependencies that your project is using. Maybe it's the vuejs/vue-loader linked above.

Any news on this?

+1, having the same issue with coverage for components with no functions in them

Having the same issue. Any potential fix or workarounds on the horizon?

This worked for me:

+1


[backport] Fix FFT convolve for shapes containing 1

Backport of #5609 by @toslunar

[automatic post] Jenkins, test this please.

Jenkins CI test (for commit 5270e5a97120dd22baef2e79c711ab652a89db16, target branch v9) succeeded!

Manually retriggered cuda114 test.


Convert Utilities docs to one page

Utilities Reference has several pages with one or two classes on it. Should convert to one page, and add force_array and force_type to it.

@Crissman I would like to work on this issue. I just need to know where to modify the Docs to accustom the changes.

@Crissman I have seen the sphinx docs and how to modify .rst files. If I understand the problem correctly we have to move all the classes onto one page (under different headings) instead of separate pages. Shall I do this job?

Sure. Thanks!

Docs are built successfully, but I am getting warnings like this
d:\chainer\chainer\utils\conv.py:docstring of chainer.utils.get_deconv_outsize:1: WARNING: duplicate object description of chainer.utils.get_deconv_outsize, other instance in d:\chainer\docs\source\reference\generated\chainer.utils.get_deconv_outsize.rst, use :noindex: for one of them
This is the relevant part in modified util.rst
`
Convolution/Deconvolution utilities
.. autosummary::
:toctree: generated/
:nosignatures:
chainer.utils.get_conv_outsize
chainer.utils.get_deconv_outsize
`
How do I fix this?

@Crissman please review my PR. I need documentation for force_array & force_type to add them to utilities, where can I get them?

Current implementations seem to lack the detailed documentation partially because those two functions are mainly used internally.
However, force_array is mentioned here, so I think it's welcomed to add documentation to the functions.

force_array: https://github.com/chainer/chainer/blob/master/chainer/utils/init.py#L33
force_type: https://github.com/chainer/chainer/blob/master/chainer/utils/init.py#L50


Getting a flash of 0 width after updating to v2

Hey there,
I recently made the switch to v2 of react-measure and now seem to get a flash of 0 width when rendering my component whereas before things just worked smoothly (no flash).
In my case I'm using react-measure to set the column widths of a datatable:
Here is the flash:

Any ideas why it might be happening with the new api but not the old one?
Thanks!

Just to add some more info, here is the same page reload after reverting back to react-measure ^1.4.7

Here is my git diff for my component:
diff --git a/src/DataTable/index.js b/src/DataTable/index.js
index a4942af..4e4e807 100644
--- a/src/DataTable/index.js
+++ b/src/DataTable/index.js
@@ -169,51 +169,44 @@ class DataTable extends React.Component {

           <Measure
-            bounds
-            onResize={contentRect => {
-              this.setState({ dimensions: contentRect.bounds });
-            }}
+                      onMeasure={dimensions => {
+                        this.setState({ dimensions });
+                      }}
           >
-            {({ measureRef }) => {
-              return (
-

-

-                    {entities && this.renderColumns()}
-

-

-              );
-            }}
+

+              {entities && this.renderColumns()}
+

           </Measure>

         {!isInfinite &&

Interesting! Sorry about that. I will look into this as soon as I get a chance. Wondering if it has to do with the removal of findDOMNode 🤔

I can confirm I'm getting this too

@robwise how are you using the component? Can you provide a small test case as well if possible? I haven't been seeing this yet and haven't had time to dig in 😞  hoping to look this week

Does this link work? I made a trivial example where the background is green if the detected width is greater than 0, but it starts out blue. I made a long transition so you can see it better.
https://codesandbox.io/s/nZy0XkrZE

Thank you! I appreciate it. I think that's to be expected, and I believe might have been hidden on accident with the previous version, possibly because of findDOMNode. Since the node needs to to mount before it can be measured, you can use the natural width/height until you have a measurement and then apply it. This should get rid of any flickering. I'll try and put together a small demo tomorrow to test that and make sure it works like I think it should. I'll also make some notes on the README after we figure this out.

Roger that, yeah because that example I gave is trivial so that it was clear what was going on, but in my own app I'm actually using react-measure to determine the width of a certain element so I know what responsive image to retrieve from Cloudinary. The flicker, therefore, causes a 404 when I request the wrong size so it's very troublesome.

Oh no 😕  that sounds nasty. It sounds bigger than what I'm thinking. If you happen to find any more info, please let me know. I'll look into this ASAP.

@souporserious Do you have an example of "using the natural width/height"? I'm not sure how to do this

Hi, stumbled on this too. Before the update, onMeasure (now onResize) was called after the first render, with the right bounds. Now it is called after, and this causes a flash as @robwise pointed out.
It is also not clear to me how to use natural width/height whilst waiting for first render...

@robwise sorry, that was pretty vague. I meant using the "auto" values until they have been calculated. So something like contentRect.bounds.width || 'auto'. I'm going to revisit all of this soon and try to ease all the pain and bugs coming from 1.0 to 2.0. I think I have a good grasp of the pain points and can hopefully get the same benefits from 1.0 plus more in a 2.1 version.

Ohh okay gotchya. Appreciate that I'm looking forward to it! Let me know if there's something you need me to help with something

Confirm, this problems doesn't occur with 1.x, but happens with 2.x.

Hi, any updates on this? I'm trying to use react measure to position an element, so I need the correct location right away, or else the element is rendered in the wrong spot initially and then jumps into place. Sounds like I would currently need to detect if the dimensions are 0 and hide the element until it has been measured properly...

Sorry it has taken a while to get to this. I'm currently working on v3. I'll try and get a beta published soon so you can try it out. It should fix this issue as well as other current issues filed for this library.

Hey no worries, thanks for the extremely useful library and all your hard work!
My workaround was easy to implement and appears to be working. In render(), I just set visibility: hidden if the dimension I'm interested in is 0 and that prevents the jumpiness.

Nice! Yeah, you shouldn't have to do that in the latest version 🤞. I realized that a ResizeObserver's first call takes too long which I'm pretty sure is why it flashes when trying to use dimensions on first mount.


[BUG] Restoring Indices Loses ISM Policy Associations

Describe the bug
This is for OpenSearch as a service on AWS. I am working on tearing down the OS Domains overnight to save money.
The process (detailed in 'To Reproduce') restores pretty much everything apart from the ISM config for the restored indices, I cannot seem to restore any of the '.opensearch' indices as this results in a 403, so I am not sure how to bring back restored indices with their previous ISM policy assignment. Is this even possible?
To Reproduce

Have an OpenSearch instance with some indices that have ISM policies attached
Take a snapshot of all indices
Destroy the OpenSearch instance
Bring up a fresh OpenSearch instance and recreate the ISM policy
Restore snapshot taken leaving out .opensearch indices as this seems to cause a 403

Expected behavior
I would expect to be able to restore indices with the same ISM policy assignment that they had previously.
Host/Environment (please complete the following information):
AWS OpenSearch 1.1

ISM configurations including policies, attachment, managed index metatadata are all saved in .opendistro-ism-config. So if you can restore this config index back, you can get back all these.
However ISM doesn't support continue managing the restored managed indices after you restore the config index. This is because the restored index has a new uuid, which is different from the uuid saved in restored managed index metadata, and ISM cannot continue managing when these 2 don't match. (This could be a feature request)
For the restored ISM policy, it doesn't have such issue.