Install libraries as per GNU Coding Standards

Signed-off-by: Damian Wrobel<EMAIL_ADDRESS>

This seems like a reasonable change to make.
Just wondering, should we also use CMAKE_INSTALL_BINDIR for the executable to keep things consistent?

This seems like a reasonable change to make.
Just wondering, should we also use CMAKE_INSTALL_BINDIR for the executable to keep things consistent?

I'm not observing any problems with binaries.
Here is the build attempt without this patch: https://copr.fedorainfracloud.org/coprs/dwrobel/libcamera-apps/build/2830959/
Here is the build with this patch applied: https://copr.fedorainfracloud.org/coprs/dwrobel/libcamera-apps/build/2831036/
As you might observe the problem only exists on aarch64 and x86_64 platforms and is applicable to the following files:
RPM build errors:
    File not found: /builddir/build/BUILDROOT/libcamera-apps-0.0.0-0.1.20210915git4868f69.fc33.aarch64/usr/lib64/libcamera_app.so
    File not found: /builddir/build/BUILDROOT/libcamera-apps-0.0.0-0.1.20210915git4868f69.fc33.aarch64/usr/lib64/libencoders.so
    File not found: /builddir/build/BUILDROOT/libcamera-apps-0.0.0-0.1.20210915git4868f69.fc33.aarch64/usr/lib64/libimages.so
    File not found: /builddir/build/BUILDROOT/libcamera-apps-0.0.0-0.1.20210915git4868f69.fc33.aarch64/usr/lib64/liboutputs.so
    File not found: /builddir/build/BUILDROOT/libcamera-apps-0.0.0-0.1.20210915git4868f69.fc33.aarch64/usr/lib64/libpost_processing_stages.so
    File not found: /builddir/build/BUILDROOT/libcamera-apps-0.0.0-0.1.20210915git4868f69.fc33.aarch64/usr/lib64/libpreview.so

that's why this patch is limited to libraries only.

@XECDesign is this something that will trip you up?

I've tried this branch out on one of our aarch64 Bullseye pre-release images - seems to work fine. (To be honest I couldn't see any difference in where the libraries went... just wondering if that is expected?)

@XECDesign is this something that will trip you up?

Nope, shouldn't.

just wondering if that is expected?

You might observe a difference only if you or your Linux distribution, during packaging into .rpm, deb, passes value for ${CMAKE_INSTALL_LIBDIR}. See: https://cmake.org/cmake/help/latest/command/install.html.


Gradients Bug in 2.1.4

I find that in version 2.1.4 , fill with gradient in IE9 have some problems , such as
var attr={stroke:null,'fill':'270-#f55:50-#f2f:88'};
paper.rect(100,28,20,60).attr(attr);

it is ok in chrome, and IE7,IE8, but it is not correct in IE9, yes, it is IE9 . not some other broswers simulate , and I test it here http://raphaeljs.com/playground.html , it works well , so i am sure it is caused by version 2.1.4.
by the way , the download link is 2.1.4 , but the introduction is still 2.1.2 .

Try this to fix: https://github.com/DmitryBaranovskiy/raphael/issues/990

Added PR, please test with latest commit

fill with gradient in IE9 have some problems , such as

var attr={stroke:null,'fill':'270-#f55:50-#f2f:88'};
paper.rect(100,28,20,60).attr(attr);

@suconghou I can not reproduce it:
<img width="957" alt="screen shot 2016-02-08 at 20 34 21" src="https://cloud.githubusercontent.com/assets/1861705/12893736/f2f14cca-cea3-11e5-9c0a-49880516d2f3.png">

> Added PR, please test with latest commit

@tomasAlabes Can you post the link here?

what about with v2.2.0?

Curious if there is an update on this issue?
I see an issue with Raphael 2.2.0 and gradients on edge as well as chrome.
var a = paper.rect(x, y, w, h).attr({
            stroke: "white",
            fill: "red",
            opacity: 1
});
var b = paper.rect(x, y, w, h).attr({
            stroke: "white",
            fill: "0-#fff-#fff",
            opacity: 0
});

In previous version prioir to 2.1 I believe this will result in two squares one on top the other where the top most one is a gradient from 0 to white.
This is not working for a while now.


[Index] Fast path for getting value member

Avoid solving constraint system if there's only one viable overload.
This should also avoid a crash we are seeing in candidates.size() == 1 branch in the constraint system.
rdar://problem/64636688

@swift-ci Please smoke test

Windows failure is unrelated


Adding file containing supervised experience

Hey Lilly!
I'm sorry I wasn't very clear on this - would you mind adding these to the existing data files?
That way, when a user uses the readme to transact this dataset, they don't need to run another command to include this data.


fix: Consolidate routes that are over the limit to prevent failed deployments

Rather than failing a deployment because a route is too long (>100 characters), it will now be shortened to the next available level. Eg. /foo/aaaaaaa... -> /foo/*

rebased


Tarball revision

[ ] Add ENV file to a deployed node

Please confirm that your comment Add ENV file to a deployed node is not in scope of this PR and that it is tracked in some other ticket.

It's in scope of this one, I'll do it in a while.

otherwise updating the file becomes error prone.

Do you mean that someone can change the "declaration" of BuildDir=${3:?} and make it possible to brake below during execution?

Do you mean that someone can change the "declaration" of BuildDir=${3:?} and make it possible to brake below during execution?

No - that someone could mistype the use of BuildDir

Please confirm that your comment Add ENV file to a deployed node is not in scope of this PR and that it is tracked in some other ticket.
It's in scope of this one, I'll do it in a while.

see 1753ae9

I cleaned up pending useless CI OSX jobs, CI shall be a bit faster now.


Manuel mode problem

Hi,
I am trying to do this and does not work
var Animacion1 = snabbt(document.querySelectorAll('.multi'), {
fromPosition: [1000, 50, 0],
fromRotation: [0, 0, 720],
delay: function(i) {
return i * 200;
},
easing: 'ease',
duration: 2500,
manual: true,
});
Animacion1.SetValue(1);
Can you point me in the right direction please?
Thanks in advance

Resolved. I was writing SetValue instead of setValue.

👍🏽


Adding Tech stack badgess

Hi, I am a GSSOC'21 participant I want to contribute in Kurakoo. Can I update the Readme file by adding tech stack badges

@wajeehamushtaq go ahead!


AUAV-X2.1 sensors bringup

This should only bring up the required sensors for the X2.1. Still needs audit from @pkocmoud to make sure that the correct chip rotation is being set. i.e verify that -R 2 is the correct chip rotation with respect to the board : mpu6000 -R 2 -T 20608 start.
@tubme FYI

@mhkabir Thanks for the response. I can confirm that the rotation is exactly like in PixRacer which is:
mpu9250 -R 2 start
I just spoke with Mr.Arsov on this matter few minutes ago.
I don't understand why you bring the MPU6000 when there is no MPU6000 on the X2.1 board but it is MPU9250. (Maybe the MPU6000 is legacy remnant that I don't understand.)
For another conformation I will point to our experiment. When we were able to load the regular FMUv2 version we had 90deg offset. The FMUv2 initialization is:
mpu9250 -S -R 4 start
With this script we had 90deg offset.
so the correct one is:
mpu9250 -R 2 start
But the main problem is not the internal compass orientation. It is the HMC5883 external mag orientation.
First there is NO internal HMC5883 on the X2.1
Second, once the External HMC5883 is connected it has a 180 degrees offset + NO option to tune it with CAL_MAG0_ROT because it is registered as internal compass.
I cannot make binary. So if you can make me a custom binary I will test it in couple of hours and will report if everything is OK. I assure you in 1 or 2 iterations we will tune it and forget about this problems once and for all.
Probably we are the only one that test the X2.1 board in the PX4 community... APM are done with their work long time ago and fly the board...

@tubeme this PR should fix all of your issues. If you see the startup script completely, we now start the MPU9250, external HMC5883L and the ICM2068 (via the mpu6000 driver).

Here is the binary
firmware.zip

@mhkabir BIG Thank you! We will report as soon as my partner wakes up in US. In a couple of hours.

We have progress. Now there are only two mags registered. Mag0 the external one and mag1 the internal one. But still Mag0 is marked as Internal mag and it is 180 offset and cannot change it with CAL_MAG0_ROT.
The internal Mag is perfectly oriented. When we start the board without the external mag it is inline with correct heading.
I'm pretty sure that if we use the line:
hmc5883 -C -T -X -R 4 start
The mag0 will point at the correct direction. But there still will be the problem of registering as Internal mag. The problem is that if we disconnect the mag directly the px4 does not revert to the internal mag.
I have no idea why it is not registering as external mag.

Probably the board drivers might be the problem...
I see this in the FMUv2 board_config.h
/* I2C busses */
#define PX4_I2C_BUS_EXPANSION	1
#define PX4_I2C_BUS_ONBOARD	2
#define PX4_I2C_BUS_LED		PX4_I2C_BUS_ONBOARD
/* Devices on the onboard bus.
*

Note that these are unshifted addresses.
*/
#define PX4_I2C_OBDEV_LED	0x55
#define PX4_I2C_OBDEV_HMC5883	0x1e
#define PX4_I2C_OBDEV_LIS3MDL	0x1e

And the AUAVx2.1 board_config.h
/* I2C busses */
/* There is no I2C2 so there is not notion of internal / external*/
#define PX4_I2C_BUS_EXPANSION 1
#define PX4_I2C_BUS_ONBOARD   1
#define PX4_I2C_BUS_LED		PX4_I2C_BUS_EXPANSION
/* Devices not on the onboard bus.
*

Note that these are unshifted addresses.
*/
#define PX4_I2C_OBDEV_LED	0x55
#define PX4_I2C_OBDEV_HMC5883	0x1e
#define PX4_I2C_OBDEV_LIS3MDL	0x1e

Is we can change the line:
PX4_I2C_BUS_ONBOARD   1 ---> PX4_I2C_BUS_ONBOARD   2
in the AUAV X2.1 driver it will be exactly like the FMUv2 line which might work.
@davids5  any help?

@tubeme - yes it, Please test https://github.com/PX4/Firmware/pull/7496
It has @mhkabir fix and defines the non existent bus

Merged to master.


Windows Vista Client unable to fetch updates from LegacyUpdate server

Hello!
I've been using LegacyUpdate a lot recently to get some old Windows laptops going from ages ago and has been working VERY well until I attempted to run your software on an old Windows Vista based Compac Laptop named "Presario V6500 Notebook PC", specifications below:

(Not entirely sure if this user manual will help at all, but is the ONLY information I could find for it online: http://h10032.www1.hp.com/ctg/Manual/c01078025.pdf )
The overall installer when installing things such as Root Certificate Updates and Service Packs did have some issues aswell, but they seem to be easily resolved by a simple reload of the setup file and continuing the install that way.
After completing the installer, all I see is this:

Not sure if the Update History would help, but here is a screenshot of it:

This was completed using version 1.9 of the software.
Cheers in advance for any help you can provide!

on vista it just takes a very long time, just let it run for awhile

I let it run for 4 hours, maybe even a little bit more, how long did it take for yours to tick over? @LazyNerdYT

join our discord for more help

Good idea, shall do it now 👍

Also forgot to mention, Windows Update. o longer works either, just has the same issue as the main LegacyUpdate homepage.

I'm gonna close this support ticket, surprisingly, using the in-built Windows Update installer instead of the LegacyUpdate website WITH LegacyUpdate installed works fine...
I have a feeling it modified the update servers in the end
TLDR: Problem solved :)


_select_utxos() function not factoring in the minimum output UTXO amount

I believe that the _select_utxos() function is not factoring in the minimum output UTXO amount which can cause the send_funds() to fail in some situations.
Here is my example: -
At my source address, I have 2 UTxOs
They have the following values:
2000000 lovelace
2954210 lovelace
I try to send 2000000 lovelace to another address using the function send_funds(). This ultimately calls _select_utxos(). The _select_utxos() function selects the UTxO with 2954210 lovelace. The code then generates the following output UTxOs 1803720 (2000000 - fee) and 954210 change back to my address. The problem is that 954210 is less than the minimum UTxO amount and I get an OutputTooSmallUTxO error.
From what I understand the _select_utxos() function should be changed to select enough UTxOs to cover the exact amount required or if the amount selected is greater than the required amount (and therefore change will be generated), the remainder amount (change) needs to be greater than the minimum UTxO amount. If the remaining amount is too small it should select more UTxOs if available.

Hi @sdbriney , is your issue resolved by https://github.com/input-output-hk/cardano-clusterlib-py/pull/55 ? This fix is included in the released version 0.1.48.

Hi @mkoura this looks very promising. I have just checked and I'm on 0.1.47! I will update the code, test it again and feedback. Thank you for your help.

Hi. Yes, version 0..1.48 has fixed this. Thanks for your help @mkoura


Hindsight Experience Replay (HER) - Reloaded

Refactored HER, starting from scratch. All previous code was removed.
Coverage bumps from 76% to 82% =)!
+ removed unused dependencies
+ update doc examples
+ add some additional exploration hacks for DDPG/SAC
TODO:

[x] flipping bit test env
[x] DQN support
[x] SAC support
[x] DDPG support
[x] VecEnv support
[x] Clean up
[x] Documentation
[x] 4 different goal selection strategies
[x] performance check on highway-envs (see https://github.com/eleurent/highway-env/issues/15)
[x] perf check on robotics env (Mujoco)
[ ] support Discrete obs
[x] find and fix bug with VecEnv

The repo for Mujoco experiments: ~https://github.com/araffin/her-experiments~
now using rl baselines zoo (HER-support branch): https://github.com/araffin/rl-baselines-zoo/tree/HER-support
Mujoco Robotics envs
I would be confident about the implementation when we'll manage to solve FetchPush. One current drawback is that we do not support multiprocessing, which helps exploration.
From the paper of HER (OpenAI): 1 epoch = 1900 episodes = 1900 x 50 = 95 000 timesteps

FetchReach-v1: ok for DDPG and SAC (20k steps)
FetchPush-v1: ok for DDPG (8 workers, 2e6 steps), ok for SAC with early stopping (> 2e6 steps)

Closes #198

@hill-a @erniejunior @AdamGleave @ccolas The branch is now ready for review, I'm just waiting @ccolas results next week to ensure that it can solve Mujoco envs.
Known caveat: VecEnvWrapper are currently not supported but VecEnv are (I did not come up with an elegant fix yet)

Is multi-processing going to be supported? Seems in the HER paper, the used multiprocessing to overcome some exploration drawbacks.

Is multi-processing going to be supported?

It is not planned for now, as DQN and SAC does not support it.

@keshaviyengar After a quick check, it seems that multi-processing is still supported via MPI for DDPG.

@keshaviyengar After a quick check, it seems that multi-processing is still supported via MPI for DDPG.
Isn't the VecEnvWrapper required for multi-processing? There is check to ensure VecEnvWrapper cannot be used in her.py.

Isn't the VecEnvWrapper required for multi-processing? There is check to ensure VecEnvWrapper cannot be used in her.py.

Not always: https://stable-baselines.readthedocs.io/en/master/modules/ppo1.html
It seems the documentation is not up to date with DDPG. You can use the rl zoo like this:
mpirun -n 8 python train.py --algo ddpg --env Pendulum-v0

I still to double check that everything is fine with that, but at least, it runs (see HER-support branch to use HER with the rl zoo: https://github.com/araffin/rl-baselines-zoo/tree/HER-support).

I guess my main question is is it possible to use HER + DDPG with multi-processing for a GoalEnv type environment.

I guess my main question is is it possible to use HER + DDPG with multi-processing for a GoalEnv type environment.

Yes, but with MPI. I would interested if you could help us check the performance of the current implementation ;) (it was tested on highway-env and FetchReach, but FetchPush is not working yet and I don't have access to powerful machine with Mujoco licence) The hyperparameters can be found in the issue.

I guess my main question is is it possible to use HER + DDPG with multi-processing for a GoalEnv type environment.

Yes, but with MPI. I would interested if you could help us check the performance of the current implementation ;) (it was tested on highway-env and FetchReach, but FetchPush is not working yet and I don't have access to powerful machine with Mujoco licence) The hyperparameters can be found in the issue.

Ah great! I would definitely help out, if you give me till the weekend, I can run the performance check.

Ah great! I would definitely help out, if you give me till the weekend, I can run the performance check.

Thanks, that would be really useful, I will update the rl zoo tonight, so you will just need to run one command ;)

@hill-a @ccolas I just managed to make HER + SAC work on FetchReach, there seem to be a bug with VecEnv. Until I find the bug, I'll deactivate the VecEnv for SAC.
I'll push that soon to the rl zoo on HER-Support branch.

Good news, I made HER + DDPG worked on my laptop (I had to tune the hyperparams so it does not blow up my RAM).
The main trick was to have several workers (4, i think it should work even better with more).
The only trick from OpenAI I did not include: the l2 penalty on the action.
So now, when I'll find and fix the bug with the VecEnvs, we can merge this branch!

@hill-a @ccolas The performance check were successful on HER + DDPG (thanks to @keshaviyengar ), and HER + SAC (with a few trick to make it work with one worker).
Only the VecEnv bug remaining...

I found (and fixed) the bug: I was expecting keys in the wrong order.

unfortunately, it looks like I introduced another bug...

The bug may comes from gym...
If you check observation.spaces.keys() you get ['achieved_goal', 'desired_goal', 'observation']
but if you check env.reset().keys(), you get ['observation', 'achieved_goal', 'desired_goal'']...

@hill-a @erniejunior @AdamGleave @ccolas  the PR is ready for final review.
Performance have been checked, bug fixed for VecEnv and support for Discrete obs added.

maybe add replay_wrapper=None to OffPolicyRLModel.learn?

Will do that ;)


Redirect After ExternalLoginCallback not behaving as expected

I have merged two of the Quickstarts (6&8) together to allow me to use the EF database for Asp.net Identity and also the IdentityServer Configuration database. I have a single client using asp.net mvc client (Microsoft.Owin.Security.Cookies and Microsoft.Owin.Security.OpenIdConnect) using UseOpenIdConnectAuthentication and Windows Authentication as an external provider i.e. the application allows internal Windows Authenticated users and external users via an mvc IdentityServer login page.
The identity server is running under IISExpress with both Windows and Forms Authentication enabled.
If I connect my client straight to the Quickstart8 Identity Server I can login via windows and externally successfully.
If I connect my client to my merged IdentityServer project the Redirect at the end of the ExternalLoginCallback seems to fail and the Login Action on the Account Controller gets called again. I have checked the code and database configuration and all seems the same as the Quickstart. I'm struggling to debug why the redirect back to the login page is happening after a successful ChallengeResult + SignInAsync in the ExternalLogin Action and then successful SignInAsync + SignOut in the ExternalLoginCallback function. The redirect Url looks the same as the working IdentityServer version. The only difference I can see is that I'm not using the userStore to find a user or auto provision.
Would you be able to shed any light please?
Update 2
After enabling logging I noticed the following in the output:
SELECT TOP(1) [e].[Id], [e].[AccessFailedCount], [e].[ConcurrencyStamp], [e].[Email], [e].[EmailConfirmed], [e].[LockoutEnabled], [e].[LockoutEnd], [e].[NormalizedEmail], [e].[NormalizedUserName], [e].[PasswordHash], [e].[PhoneNumber], [e].[PhoneNumberConfirmed], [e].[SecurityStamp], [e].[TwoFactorEnabled], [e].[UserName]
FROM [AspNetUsers] AS [e]
WHERE [e].[Id] = @__get_Item_0
IdentityServer4.ResponseHandling.AuthorizeInteractionResponseGenerator:Information: Showing login: User is not active
Microsoft.AspNetCore.Hosting.Internal.WebHost:Information: Request finished in 920.2148ms 302
Microsoft.AspNetCore.Hosting.Internal.WebHost:Information: Request starting HTTP/1.1 GET http://localhost:5000/account/login?returnUrl=%2Fconnect%2Fauthorize%2Flogin%3Fclient_id%3Dhca.web.milestonesandoutputs%26redirect_uri%3Dhttp%253A%252F%252Flocalhost%253A60590%252Fsignin-oidc%26response_mode%3Dform_post%26response_type%3Did_token%26scope%3Dopenid%2520profile%26state%3DOpenIdConnect.AuthenticationProperties%253DH2XA-wvFfOWI157BmSkS6HHqqJA4EwrhstVwnXC0nuliNpqCGzwSgZPCSLoLCbQF0nWIL2Ay5P-FJuv4lRqmZZMYVWBN-gR8WmUw1SO7WOIB8PH4QrNPdZeSaFbDo5Dfe3M5bLOPOShakQkqxM_TqUATsgf54rsYLl7DSy6zuvBQ0Sjsoad2_ZbH1INAwQF5mcCaN75LQf_w0C-kLHIjHg%26nonce%3D636244136043515720.MWUwNGZmZmEtNzljYi00OWY5LTllNmQtZDEwYjk0ZTczN2ZjY2FlOWZlMzAtYTJiZi00Y2RhLTgzNTQtZGNjMDYwYzliM2Jj
Microsoft.AspNetCore.Authentication.Cookies.CookieAuthenticationMiddleware:Information: HttpContext.User merged via AutomaticAuthentication from authenticationScheme: Identity.Application.
Microsoft.AspNetCore.Authentication.Cookies.CookieAuthenticationMiddleware:Information: AuthenticationScheme: Identity.Application was successfully authenticated.
Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker:Information: Executing action method HCAConnect.Source.Controllers.AccountController.Login (HCA.Connect.Web) with arguments (/connect/authorize/login?client_id=hca.web.milestonesandoutputs&redirect_uri=http%3A%2F%2Flocalhost%3A60590%2Fsignin-oidc&response_mode=form_post&response_type=id_token&scope=openid%20profile&state=OpenIdConnect.AuthenticationProperties%3DH2XA-wvFfOWI157BmSkS6HHqqJA4EwrhstVwnXC0nuliNpqCGzwSgZPCSLoLCbQF0nWIL2Ay5P-FJuv4lRqmZZMYVWBN-gR8WmUw1SO7WOIB8PH4QrNPdZeSaFbDo5Dfe3M5bLOPOShakQkqxM_TqUATsgf54rsYLl7DSy6zuvBQ0Sjsoad2_ZbH1INAwQF5mcCaN75LQf_w0C-kLHIjHg&nonce=636244136043515720.MWUwNGZmZmEtNzljYi00OWY5LTllNmQtZDEwYjk0ZTczN2ZjY2FlOWZlMzAtYTJiZi00Y2RhLTgzNTQtZGNjMDYwYzliM2Jj) - ModelState is Valid
So, it seems to be looking for the user in the Asp.net Identity database, but since it's an external user it wont be in there. Its therefore redirecting to the Login page. I've clearly missed some configuration somewhere....
Update 1: Cookie differences After 302 from ExternalLoginCallback
Working Response 200 - http://localhost:5000/connect/authorize/login?
idsrv.session=bf7512bea9d3954657e97a1caa113dcc
idsrv=CfDJ8P_ixu_H3w1NjY2-qnTCzCVUQUnFvtUYMRfL-........
OpenIdConnect.nonce.fqL4Bll1ZCiR1Qik0JF9ekXXEUQ5.....
Not Working Response 302 - http://localhost:5000/connect/authorize/login?
.AspNetCore.Identity.Application=CfDJ8P_ixu_H3w1NjY2....
Identity.Application.session=738a49b8e9a868a9520b427aadf8a830
OpenIdConnect.nonce.fqL4Bll1ZCiR1Qik0JF9ekXXEUQ5.....
Have I lost some IdentityServer Cookies ?
Client Configuration
public void Configuration(IAppBuilder app) {
              JwtSecurityTokenHandler.InboundClaimTypeMap = new Dictionary<string, string>();

			app.UseCookieAuthentication(new CookieAuthenticationOptions {
				AuthenticationType = "Cookies"
			});

			app.UseOpenIdConnectAuthentication(new OpenIdConnectAuthenticationOptions {
				ClientId = "hca.web.milestonesandoutputs",
				Authority = "http://localhost:5000/",
				RedirectUri = "http://localhost:60590/signin-oidc",
				ResponseType = "id_token",
				Scope = "openid,
				UseTokenLifetime = false,
				SignInAsAuthenticationType = "Cookies",
			});
		}

Server Configuration
public void ConfigureServices(IServiceCollection services) {
			var identityConnectionString = Configuration.GetConnectionString("HCAConnectIdentity");
			var configurationConnectionString = Configuration.GetConnectionString("HCAConnectConfiguration");

			services.AddDbContext<IdentityDbContext>(options => options.UseSqlServer(identityConnectionString));

			services.AddIdentity<ApplicationUser, IdentityRole>()
				.AddEntityFrameworkStores<IdentityDbContext>()
				.AddDefaultTokenProviders();

			services.AddMvc();

			services.AddTransient<IEmailSender, AuthMessageSender>();
			services.AddTransient<ISmsSender, AuthMessageSender>();
			services.AddSingleton<IHttpContextAccessor, HttpContextAccessor>();
			services.AddSingleton<IExternalUserStore, ExternalUserStore>();

			var migrationsAssembly = typeof(IdentityDbContext).GetTypeInfo().Assembly.GetName().Name;

			services.AddIdentityServer()
				//TODO: Generate Public\Private Keys for signing JWTs. This is for development only.
				.AddTemporarySigningCredential()

				//.AddTestUsers(Config.GetUsers())
				.AddConfigurationStore(builder =>
					builder.UseSqlServer(configurationConnectionString, options =>
						options.MigrationsAssembly(migrationsAssembly)))
				.AddOperationalStore(builder =>
					builder.UseSqlServer(configurationConnectionString, options =>
						options.MigrationsAssembly(migrationsAssembly)))
				.AddAspNetIdentity<ApplicationUser>();
		}

		public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory) {
			loggerFactory.AddConsole(LogLevel.Debug);
			app.UseDeveloperExceptionPage();

			app.UseIdentity();
			app.UseIdentityServer();

			app.UseCookieAuthentication(new CookieAuthenticationOptions {
				AuthenticationScheme = IdentityServerConstants.ExternalCookieAuthenticationScheme,

				AutomaticAuthenticate = false,
				AutomaticChallenge = false
			});

			app.UseStaticFiles();
			app.UseMvcWithDefaultRoute();

			app.UseForwardedHeaders(new ForwardedHeadersOptions {
				ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto
			});

		}

Server ExternalLogin Handling
[HttpGet]
		[AllowAnonymous]
		public async Task<IActionResult> ExternalLogin(string provider, string returnUrl = null) {
			// Request a redirect to the external login provider.
			var redirectUrl = Url.Action("ExternalLoginCallback", new { ReturnUrl = returnUrl });
			// windows authentication is modeled as external in the asp.net core authentication manager, so we need special handling
			if (AccountOptions.WindowsAuthenticationSchemes.Contains(provider)) {
				// but they don't support the redirect uri, so this URL is re-triggered when we call challenge
				if (HttpContext.User is WindowsPrincipal) {
					var props = new AuthenticationProperties();
					props.Items.Add("scheme", HttpContext.User.Identity.AuthenticationType);

					var id = new ClaimsIdentity(provider);
					id.AddClaim(new Claim(ClaimTypes.NameIdentifier, HttpContext.User.Identity.Name));
					id.AddClaim(new Claim(ClaimTypes.Name, HttpContext.User.Identity.Name));

					await HttpContext.Authentication.SignInAsync(IdentityServerConstants.ExternalCookieAuthenticationScheme, new ClaimsPrincipal(id), props);

					return Redirect(redirectUrl);
				} else {
					// this triggers all of the windows auth schemes we're supporting so the browser can use what it supports
					return new ChallengeResult(AccountOptions.WindowsAuthenticationSchemes);
				}
			} else {
				// start challenge and roundtrip the return URL
				var props = new AuthenticationProperties {
					RedirectUri = returnUrl,
					Items = { { "scheme", provider } }
				};
				return new ChallengeResult(provider, props);
			}

		}

		//
		// GET: /Account/ExternalLoginCallback
		[HttpGet]
        [AllowAnonymous]
        public async Task<IActionResult> ExternalLoginCallback(string returnUrl = null, string remoteError = null)
        {
			// read external identity from the temporary cookie
			var info = await HttpContext.Authentication.GetAuthenticateInfoAsync(IdentityServerConstants.ExternalCookieAuthenticationScheme);
			var tempUser = info?.Principal;
			if (tempUser == null) {
				throw new Exception("External authentication error");
			}

			// retrieve claims of the external user
			var claims = tempUser.Claims.ToList();

			// try to determine the unique id of the external user - the most common claim type for that are the sub claim and the NameIdentifier
			// depending on the external provider, some other claim type might be used
			var userIdClaim = claims.FirstOrDefault(x => x.Type == JwtClaimTypes.Subject);
			if (userIdClaim == null) {
				userIdClaim = claims.FirstOrDefault(x => x.Type == ClaimTypes.NameIdentifier);
			}
			if (userIdClaim == null) {
				throw new Exception("Unknown userid");
			}

			// remove the user id claim from the claims collection and move to the userId property
			// also set the name of the external authentication provider
			claims.Remove(userIdClaim);
			var provider = info.Properties.Items["scheme"];
			var userId = userIdClaim.Value;

			var additionalClaims = new List<Claim>();

			// if the external system sent a session id claim, copy it over
			var sid = claims.FirstOrDefault(x => x.Type == JwtClaimTypes.SessionId);
			if (sid != null) {
				additionalClaims.Add(new Claim(JwtClaimTypes.SessionId, sid.Value));
			}

			// if the external provider issued an id_token, we'll keep it for signout
			AuthenticationProperties props = null;
			var id_token = info.Properties.GetTokenValue("id_token");
			if (id_token != null) {
				props = new AuthenticationProperties();
				props.StoreTokens(new[] { new AuthenticationToken { Name = "id_token", Value = id_token } });
			}

			// issue authentication cookie for user
			await HttpContext.Authentication.SignInAsync(CryptoRandom.CreateUniqueId(), userId, provider, props, additionalClaims.ToArray());

			// delete temporary cookie used during external authentication
			await HttpContext.Authentication.SignOutAsync(IdentityServerConstants.ExternalCookieAuthenticationScheme);

			// validate return URL and redirect back to authorization endpoint
			if (_interaction.IsValidReturnUrl(returnUrl)) {
				return Redirect(returnUrl);
			}

			return Redirect("~/");
		}

I have a customer who needs this exact same setup -- when I am working on their code, I'll confirm this combination works, and report back. It will be next week sometime.

See update (2) above. After enabling Trace logging it seems to be looking for the user in the Asp.net Identity database, but since it's an external user it wont be in there. Its therefore redirecting to the Login page. I've clearly missed some configuration somewhere....

Ah yes, that makes sense -- the user is not in the DB. Normally the expectation is that, even for external users, you have some record of them in your user DB. Sounds like you either need to provision the users in the DB, or alter the IProfileService to better suit your scenario.

Thanks. Amusingly the auto-provisioning code I removed caused the problem. So I've added it back in with some LDAP handling to get more information about the subject before I persist it to the IdentityDB. Apparently System.DirectoryServices hasn't been written yet so I had to use a 3rd party .net core package ("Novell.Directory.Ldap.NETStandard"):
			// check if the external user is already provisioned
	        var user = await _userManager.FindByLoginAsync(provider, userId);
			if (user == null) {
				// this simply auto-provisions a new external user. Another common approach is to start a registration workflow first
				var externalUser = await _externalUserStore.FindByExternalProviderAsync(provider, userId);
				user = new ApplicationUser(externalUser);
				await _userManager.CreateAsync(user);
			}

The critical bit was using the correct Id for the subject when Signing them in as the EntityFramework query looking at the AspNetUsers table is looking for the Primary key ID value.
// issue authentication cookie for real user
await HttpContext.Authentication.SignInAsync(user.Id, userId, provider, props, additionalClaims.ToArray());

Cheers

All set then -- we can close?

Yes yes. Many thanks

Hello lenniebriscoe,
what was the final fix? - is that working windows/external login from EF-AspNetIdentity  DB

@lenniebriscoe Can you please share your code for adding the external user into the local Asp.Net Identity store? I am in the exact same scenario. After Google & MS logins, my app keeps redirecting user to the Identity server login page and not back to the original client app.

@vijay2358 and @exlnt it did indeed work as per my comments above. I needed to provision the users in the DB. You may want to alter the IProfileService to better suit your scenario. I have moved on from that role, so no code available i'm afraid.

@lenniebriscoe I have exact same scenario but I will deny user if it is not exists in local DB. I would like to give a message to user that you are not allowed contact administrator. How can I give error message to user rather than throw an exception

Why we need provision of user in local DB?

@sniperwolfpk5 if your workflow is to deny users who do not exist in the local DB then you can create your own implementation of the IProfileService which returns IsActive = False if they don't exist in the database:
http://docs.identityserver.io/en/latest/reference/profileservice.html. If they do exist they this profile service will return their appropriate details.


Binding UI does not report an error when trying to save a binding with required inputs missing

I received my Index controllers today and wanted to start implementing bindings for them. However, I can no longer save any bindings using the UI. Pressing "Save" in either the "Save Personal Binding" or "Replace Default Binding" dialogue just results in nothing happening. Nothing saved, no errors, nothing. Happens in both stable and beta version of SteamVR.

After fiddling around with it a bit I noticed the browser console reported that the save failed because some required bindings were not set. The UI itself did not report this, however.

I've nothing to add other than to say thank you for reporting this issue. I was having the same symptoms and only found the cause after finding this. There is nothing in the docs to indicate that we should be looking at the browser console for error information.

I believe this has been fixed since this post was made. If not, please create a new issue with the repro steps and ideally an example project to replicate the issue. Thanks!


Importing data from json file

@Ivshti  is there any option to import the database from json file?

Not automatically, you have to script it yourself


Add experimental signInWithIdToken for Apple, Google

Recreates  https://github.com/supabase/gotrue-js/pull/603
This is the endpoint we need to hit for native auth. i'm also going to be working on native auth in the supabase-flutter repo.
Here's a WIP of the PR
https://github.com/supabase/supabase-flutter/blob/signInWithIdToken/README.md#native-auth-example

I'm not sure why I keep getting
TypeError: Cannot reconstruct a Request with a used body When testing this out. Any ideas?
@dshukertjr @bdlukaa

Thank you so much for working on this! I've updated the version to 1.5.0 since we are adding a feature. Let me know what you think about the experimental flag and if it's good, we can merge it and release it!

Oof. Now getting run time error due to adding the @Experimental() tag. I'll look into it in a bit.

@DanMossa Sorry, I provided the wrong information. It was @experimental instead of @Experimental(). Also, currently it seems like the @experimental annotation doesn't really do much in terms of the analyzer, so added back the comments you had about the method being experimental as well!

@dshukertjr @bdlukaa  Done!

@DanMossa Just a quick check. Why did we remove the @experimental flag?
https://api.flutter.dev/flutter/meta/experimental-constant.html

I think I misunderstood what you meant by your comment above then?
https://github.com/supabase/gotrue-dart/pull/119#issuecomment-1418437339

@DanMossa Ah, sorry for not being clear! In this comment, I provided the wrong information suggesting to use @Experimental(), which broke all the tests. I then corrected myself here saying we should use @experimental, and not @Experimental(), and I also pushed my commit to update the code.
I think we should still have the @experimental flag, because even though it's not doing much at the moment, the Dart team might add warnings on the IDE based on it in the future!

@dshukertjr Ohh that makes perfect sense. If you want, you can make those changes again and merge whenever!

@DanMossa Will do that right now and release this version!

@DanMossa gotrue-dart v1.5.0 has been published 🎉 Thanks for all the work here!

@dshukertjr @DanMossa Hey! Firstly thank you for working on this important feature! So is signing with idToken now working properly for both Apple & Google sign-in?

It turns out this feature actually won't work unless some changes made in the main supabase backend:
https://github.com/supabase/supabase-flutter/issues/5#issuecomment-1426634366
https://github.com/supabase/supabase-flutter/issues/5#issuecomment-1430699456

It turns out this feature actually won't work unless some changes are made in the main supabase backend:
https://github.com/supabase/supabase-flutter/issues/5#issuecomment-1426634366
https://github.com/supabase/supabase-flutter/issues/5#issuecomment-1430699456

This is not true.
This feature does work without implementing backend features. I'm using it now. I just have it so that iOS users only see sign in with apple and Android users only see sign in with Google.
Both see email.

This feature does work without implementing backend features. I'm using it now. I just have it so that iOS users only see sign in with apple and Android users only see sign in with Google.

@DanMossa
I see. You're suggesting that by using native sign-in, you'd have to give up the sign-in provider on all but one platform. I would say that's not really acceptable because most of the Flutter apps are targeting multiple platforms.
Currently If you configure any platform to use sign-in with google, you will be using the OAuth client ID for web, because the current Supabase sign-in flow always use a browser. If you want to use this native sign-in feature right now on let's say iOS, that means you have to set the OAuth client ID in your Supabase dashboard to use the iOS client ID. If you do that, native sign-in with Google will indeed work on your iOS app, however, none of your other platforms, such as Web, Android, Desktop, can even implement sign-in with Google, because the current Supabase backend only allows one client ID per auth provider.


Fix typo in kube config

Fixes typo in the kubernetes config: s/<IP_ADDRESS>.:8080/<IP_ADDRESS>:8080

Codecov Report

Merging #767 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #767   +/-   ##
=======================================
  Coverage   48.42%   48.42%
=======================================
  Files          28       28
  Lines        2480     2480
=======================================
  Hits         1201     1201
  Misses       1093     1093
  Partials      186      186

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 7ce08c2...fdff898. Read the comment docs.


rabbitmq_reconnect_on_error parameter is useless

Description of problem
The code added in #333 places a reconnect_on_error parameter under the rabbitmq configuration scope, e.g.
{
  "rabbitmq": {
    "reconnect_on_error": false,
  }
}

Per the documentation, this configuration parameter actually belongs under the transport configuration scope, e.g.
{
  "transport": {
    "name": "rabbitmq",
    "reconnect_on_error": true
  }
}

Further more, this parameter defaults to false, but Sensu defaults it to true as of version 0.18.
Proposed solution
The rabbitmq_reconnect_on_error parameter should be renamed to transport_reconnect_on_error and it's default value should be changed from false to true.
For the most part, references to rabbitmq_reconnect_on_error parameter, e.g. in rabbitmq manifest and sensu_rabbitmq_config provider, can be removed.
Code in the transport manifest should be changed so that transport.json is written regardless of the value of the transport_type parameter, and the boolean value of transport_reconnect_on_error should be used to influence the content of transport.json

There is existing work for this in PR #595

Released in v2.19.0


To Enable more modules

The README.md file states that If you want to enable more modules, just update ./bin/webserver/Dockerfile
But I checked and there is no Directory named "webserver" and no file named "Dockerfile" in it.  I understand, I might need to create one.  But I don't know what format should that file be ?  If you could give one sample file to use for WebServer, would be great.  That would minimize the error occurrence during the setup and save some time of ours.
Thanks a lot for a nice work you've done.

You can edit the ./bin/phpX/Dockerfile File to add you modules.
I'm going to fix this reference in the readme.


v3.4.0 increased start-up times? (even after compilation)

Thanks for your hard work on this awesome theme.
When I measured start-up time of Neovim (via :StartupTime, https://github.com/tweekmonster/startuptime.vim), v3.3.0 of Nightfox was taking on average for me 0.5 ms on start-up, whereas v3.4.0 is now for me somewhere between 18~20ms. I can confirm that my themes were indeed compiled when I upgraded to v3.4.0, and also tried removing the plugin and cache and re-installing to see if that would help but I'm still seeing that same higher start-up time. Of course it's not a deal-breaker or anything, just something I noticed. I experience these longer start-up times in both Neovim v0.8.3 and v0.9.0 on macOS 13.0.
v.3.3.0 (upon running :StartupTime)

v.3.4.0

Doing some investigations and profiling it seems that the setup guard that was used to make sure the setup function was called so that the cache hash could be compiled was causi
Interesting. I did some investigations and found that the setup guard was causing cache misses every time. The setup guard is used so that if load is called without setup being called it would call setup to have the cache loaded. Moving the setup guard to before the load and setup functions seems to solve the issue.

@leitdeux I created a PR #331 with a fix. Can you confirm that this solves your issue.

Yes that fixes it-- I'm seeing sub-millisecond loading times again when I call :StartupTime. Thanks very much!


Problem with My second Relax project

@ebeshero
I'm still having problem with my Code for my second project and don't know what to do. Some of the issues are "text not allowed here; expected element "Characters" or "Verse"", "element "Characters" not allowed yet; expected the element end-tag, text or element "Alias"", and "text not allowed here; expected the element end-tag".
Can anyone Help?
(this is my relax schema)
start = song
song = element song {title, about, Characters+, Verse}
title = element title {text}
about = element about {Prod+, Feat, Album,credits, Date}
Prod = element Prod{text}
Feat = element Feat {mixed{(name+)}}
name = element name {mixed{(who+)}}
Album = element Album {text}
credits = element credits {mixed{(name+)}}
Date = element Date {when,text}
when = attribute when {xsd:date}
Characters = element Characters {mixed{(who)+}}
who = attribute who {"lock,barrel"|"lock,shock,barrel"|"lock"| "shock"| "Santa"| "Jack"| "barrel"| "Boogie"|
"PaulReub"| "CathOHar"| "DanElf" }
Verse = element Verse{ mixed{(Alias, Characters)*}}
Alias = element Alias {who+,text}
_(my code I attached it to)_

<song><title>Kidnap the Sandy Claws</title>
<about>
<Prod>Walt Disney Records</Prod>
<Feat>Featuring <name who="PaulReub">Paul Reubens</name>,<name who="CathOHar">Catherine O’Hara</name> and, <name who="DanElf"> Danny Elfman</name></Feat>
<Prod>Produced by Walt Disney Records</Prod>
<Album>Album The Nightmare Before Christmas (Special Edition)</Album>
<credits>Written By <name who= "DanElf">Danny Elfman</name></credits>
<Date when= "1993-10-12">Release Date October 12, 1993</Date>
</about>

<Characters who="lock">LOCK</Characters>
, <Characters who="shock"> SHOCK </Characters>+ <Characters who="barrel">BARREL</Characters>]
<Verse>Kidnap <Characters who="Santa">Mr. Sandy Claws</Characters>...</Verse>

<Characters who="lock">[LOCK]</Characters>
<Verse>I wanna do it!</Verse>

<Characters who="barrel">[BARREL]</Characters>
<Verse>Let's draw straws!</Verse>

<Characters who="shock">[SHOCK]</Characters>
    <Verse><Characters who="Jack">[Jack</Characters> said we should work together</Verse>

<Characters who="barrel">[BARREL]</Characters>
<Verse><Alias who="lock,shock,barrel">Three of a kind</Alias></Verse>

<Characters who="lock">[LOCK]</Characters>
<Verse><Alias who="lock,shock,barrel">Birds of a feather,</Alias></Verse>

<Characters who="lock">LOCK</Characters>
, <Characters who="shock"> SHOCK </Characters>+ <Characters who="barrel">BARREL</Characters>]
<Verse>Now and forever </Verse>

@AreannaRussell Okay, let's see if we can work through this, one step at a time.
The first thing I see that's probably causing a problem with your XML is this line:
song = element song {title, about, Characters+, Verse}

This schema rule says that the element <song> must contain exactly one <title> element, followed by exactly one <about> elements, and then one or more<Characters> elements, followed by exactly one <Verse> element. That's a problem, because it doesn't match your XML code.
In your XML code you have <Characters> elements alternating with <Verse> elements, and they appear one after the other, often alternating back and forth. Your schema rule says ALL the <Characters> elements have to appear before there is any <Verse> element. So we have to change that schema rule to match your actual code first of all. (Or we can change your XML to make it a little different--give it some structure that contains a verse together with a character...)
If you want this to match your XML, you'll want to make it possible for either <Characters> or <Verse> to show up in any order. So I'd recommend a parenthetical grouping like this:
(Characters | Verse)+

And try rewriting that line like this:
song = element song {title, about, (Characters | Verse)+ }

See how that works? Instead of using the , sequence indicator you want a grouping that says either this or that can appear, and at least one or more times.
That's a start. There will be more to fix here...

@AreannaRussell I have a suggestion to simplify your XML code a little when you get to verses and characters when you have multiple characters singing a verse, like here:
<Characters who="lock">LOCK</Characters>
, <Characters who="shock"> SHOCK </Characters>+ <Characters who="barrel">BARREL</Characters>]
<Verse>Now and forever </Verse>

There's a way in XML where you can give a single attribute multiple values, like this:
<Characters who="lock shock barrel">LOCK, SHOCK, + BARREL</Characters>
<Verse>Now and forever </Verse>

In XML and Relax NG there's a way you can make a rule so that spaces between values mean there's a series of values. Here is how you'd define it:
who = attribute who { list { ("lock" | "shock" | "barrel" | "Santa" | "Jack" | "Boogie" )+ } }

This is complicated the same way that mixed{} is: You have  a list{} inside of which you put your options. You make a group using ( ) and you say anything in that group can appear at least one or more times.
Try changing your XML code so it's possible use use multiple attribute values like that, and it'll be easier to read. And experiment to see if this rule lets you combine them however you need to. You could have
<Characters who="shock Santa">Shock + Santa</Characters>

for example.
I'd take this one step further.  Think about in your code, how can you tell which characters go with which verse? It's not easy to tell because they sit next to each other. What if you did this instead?
<Verse>
      <Characters who="lock shock barrell">LOCK, SHOCK + BARRELL</Characters>
     <Line>Now and forever</Line>
</Verse>

Here you can make a little more structure and we add an element to separate the line being sung from the characters. You'd need to change your schema to reflect that. What do you think?

@ebeshero
I'll try it and come back if there are any more problems. Thank you.

@AreannaRussell So, now the issue is about the rule for the <about> element:
about = element about {Prod, Feat, Album, credits, Date}

You allow exactly one Prod, followed by exactly one Feat, followed by exactly one Album element.
What do you have in your XML code?
<song><title>Kidnap the Sandy Claws</title>
<about>

<Prod>Walt Disney Records</Prod>
<Feat>Featuring <name who="PaulReub">Paul Reubens</name>,<name who="CathOHar">Catherine O’Hara</name> and, <name who="DanElf"> Danny Elfman</name></Feat>
<Prod>Produced by Walt Disney Records</Prod>
<Album>Album The Nightmare Before Christmas (Special Edition)</Album>

You have another <Prod> element in between <Feat> and <Album>
I think you don't need it, do you? Both <Prod> elements contain the same information. Pick one and make the schema match where you want it to be.

@ebeshero
It's all clear now. thank you.


Exposes location-bar replace option

This way you can route to a section and replace the history state, rather than pushing a new state.

@njam3 @mikkoh ^

Thanks @mattdesl I've published at<EMAIL_ADDRESS>


Native Kubernetes Support

#9

This feature is parked for now. The code is promising, but not finished up.

Hi Laszlo, what remains to be done? How can others help?

Hi Laszlo, what remains to be done? How can others help?

That's a good question. By now the master branch diverged quite much, so first, integrating them, then a great deal of testing required.
It was certainly a big bet and I failed to tie the loose ends. Most notably,

changes to the yaml format were required to allow for Kubernetes specific settings like resource limits. This was just latched on and I never made a decision. Was contemplating retrofit some some special Docker fields for this. But a unifying model is missing.
the RWX volume support needed to be opinionated and I never validated my assumptions with any user. So standing full force behind the decision I need some clarity how users want to use it.

In the meantime I started using Woodpecker in a Docker in Docker setup on Kubernetes with success, so I think I should document that first in https://github.com/laszlocph/woodpecker/issues/108
But I could pick the native support up again, but for that I'd love to talk to some users who are interested in this and I can validate some of my assumptions. Make a few more decisions.

Maybe perfect is the enemy of good and you can just temporarily declare the unfinished parts as unstable.
Sadly, I ended up configuring a modern-ish Jenkins (gross), but I may end up trying Woodpecker if reintroducing Jenkins results in an uprising of devs.

Also would love to see this feature merged, even just basic functionality for Kubernetes support will be great step forward. Others might be able to continue contributing.

I'm going to salvage the core of this change and merge it.


Refactored CMakeLists.txt for easier integration of next benchmarks

With this PR, i'm aiming to ease the integration of other implemented benchmarks. Additionaly, i'm wondering whether moveit_package() part should be used in CMakeLists.txt For example:
https://github.com/moveit/moveit2/blob/b88af3296cda51953f8b05627c39a4d9a2fe7e37/moveit_ros/planning_interface/CMakeLists.txt#L5-L6
By the way if we merge this PR into main branch, i will update other draft PRs based on this PR.

Thank you for review, CI gives fail due to migration issues.


Sync main with stage

Sync main with stage
Test URLs:

Before: https://main--express--adobecom.hlx.page/express/?martech=off
After: https://stage--express--adobecom.hlx.page/express/?martech=off

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (c3b5ec2) 31.64% compared to head (11dccd5) 31.70%.
Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #508      +/-   ##
==========================================
+ Coverage   31.64%   31.70%   +0.06%
==========================================
  Files         125      125
  Lines       23893    23896       +3
==========================================
+ Hits         7560     7577      +17
+ Misses      16333    16319      -14

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


HTML Validation - required attribute in TextField with select mode does not work

I am using html validation in my project, and I am having trouble setting fields as required.

[ ] This is a v1.x issue.
[x] I have searched the issues of this repository and believe that this is not a duplicate.

Expected Behaviour
Exactly as normal Textfields, when  I add "required" prop to a TextField with "select" mode. It should block the submit event and should show html native error "Field is required"
Current Behaviour
When  I add "required" prop to a TextField with "select" mode. It does not block the submit event nor show html native error "Field is required". Although it adds the '*' to the label.
This is not the case with the normal TextField --> It works as expected.
Steps to Reproduce

In this example you will find one normal Textfield and one in select mode, both have required={true}.
If the Textfield is empty and I validate, an error will be shown, if the Select is empty the form submits normally. I am trying to have the same behaviour as the normal Textfield

Tech
Version

Material-UI
v3.0.1

React
v16.4.2

Browser
Chrome

@bichoymessiha You have to use the native select if you want to take advantage of the native require validation: https://github.com/mui-org/material-ui/issues/11836#issuecomment-405831045
https://codesandbox.io/s/vyjvoqx83

Ok Thank you very much

@bichoymessiha Setting the required attribute on a hidden input doesn't make sense, we don't do it. You have to use the native select if you want to take advantage of the native require validation #11836 (comment). Here is an example:
https://codesandbox.io/s/vyjvoqx83.

Hello! Why it doesn't make sense? Then what’s use of required attr in the Simple Select element?

@RamilMamedo To be more precise, the HTML validation won't trigger on a required hidden input. The prop displays a *.

@RamilMamedo To be more precise, the HTML validation won't trigger on a required hidden input. The prop displays a *.

Is there any chance to make it visibly hidden but not for screen readers so it would trigger the required attribute. For example, we can hide input like this:

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  border: 0;
}

I agree with @rommelmamedov what's the drawback to making it invisible via css vs type=hidden?

@jonesmac You might prefer the native select implementation of the component.

I have no choice if I want to use this library and standard html5 validation from what I’m seeing. Also, not really what I asked. I’m curious if the decision for type=hidden is really the best?  The same effect of a hidden input can be done with CSS and could benefit from html5 validation. Again, is there an advantage for type hidden vs hiding via css?

@jonesmac Did you try html form validation with an hidden input? Does it work? As far as I know, it doesn't.

type=hidden inputs bypass native HTML 5 validation. Hence I landed here and asked if there was a reason type=hidden was necessary.
Hidden inputs don't participate in constraint validation; they have no real value to be constrained.

https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/hidden


QR Scan Issue.

Issue: When you scan the QR it does not work. When you copy and send it does.
Recreate:
1- Scan the QR
2- See issue
UPDATE: Issue does not happen from another app (Copay). Thus the problem is with the scan function of our app and not QR Codes.
Screenshots:

Pot Reason:
First text is from SCAN
Seccond is from copy.
Test net have bitcoin: in front?

UPDATE: Issue does not happen from another app (Copay). Thus the problem is with the scan function of our app and not QR Codes.

This may have been fixed in https://github.com/owstack/ows-wallet/commit/d3a77b27c436f7c1c6accd84efb91cbe280a98d9


Sync LOIs on survey activation and remote change

Fixes #1373.

/gcbrun

/gcbrun

/gcbrun

Squashed commits and fixed bad base change in #1616


feat(ListItemExandIcon): added new list component for expanded icon view

fixed expanded icon position
expanded list icon separated by own component to reuse
added examples in storys and docs

/ping

/fixed

/fixed

/ping

/ping


Request for retrieving orders by position id

It would be great to have the following interfaces
OrderListByPositionIdReq
DealListByPositionIdReq
DealListByOrderIdReq
This would avoid sending multiple OrderListReq and DealListReq requests to your servers to link positions, orders and deals.

Hi,
We will add DealListByPositionIdReq on cServer 79.
We will consider to add the other two on future versions.
Thanks for your suggestion.


python311Packages.google-cloud-bigquery-logging: 1.4.1 -> 1.4.2

Changelog: https://github.com/googleapis/google-cloud-python/blob/google-cloud-bigquery-logging-v1.4.2/packages/google-cloud-bigquery-logging/CHANGELOG.md
Description of changes

Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

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

2 packages built:

python311Packages.google-cloud-bigquery-logging
python311Packages.google-cloud-bigquery-logging.dist


Rebuild: Make mobile sidebar work again

Fixed broken urls in section headings
Fixed active marker of the section and avoided marking a sections index page as active when a sub page was active
Hooked close button up
Made drag-to-open work
Made outside click to close menu work

Can I get some help getting this tested? It's the last feature blocking the merge of the rebuild branch into master, at least if that checklist is still correct.

No, there is still more work to do before merging master, like implementing js-with-link-details which I am working on.

Thanks for fixing this @Munter.
Found 2 problems:
1.

z-index problem, happens in Safari and Chrome.
2. https://gfycat.com/OptimalImpoliteGrouper
When you open sidebar and scroll, it closes automatically, it only happens in Safari and not Chrome.

@montogeek hi mate, it works on my phone and chrome simulator now 👍

Will pull it and test later

Please dont take too long, maybe we can finish off rebuild ;]

Did you have a chance to try it out yet? @montogeek
@byzyk you can also test this one Bohdan?

Thanks @Munter and @EugeneHlushko

@EugeneHlushko gonna test it in a couple of days. Have you guys considered Android devices as well?


Implementors/Senders of in workspaces and inspectors gives walkback

If you open a context menu in a workspace or inspector, then select Browse Implementors of <highlighted text> or Browse Senders of <highlighted text> you will get a walkback. It's getting into Pharo code which assumes a local environment.
At minimum, it shouldn't walkback and just do an implementors or senders of what ever is selected.
Walkback occurs in SpCodePresenter>>browseSelectedSelectorIfGlobal:ifNotGlobal: when sending #lookupEnvironment to an integer.

20231030_walkback_lookupVar.txt

Didn't implement the variable lookup code, but senders/implementors seems to work correctly in a workspace and inspector pane now.


(Documentation) sapp/iOS requires linking with Foundation framework

Can we make an addition to the Sokol App docs for iOS?
https://github.com/floooh/sokol/blob/64a6f2e2fac607ddcd4ccc5bd8bcd25946293550/sokol_app.h#L79
The Foundation framework defines a handful of ObjC-related symbols used by sapp/iOS, like NSStringFromClass.
Cheers! ☺

Ok fixed, I didn't notice this so far because I have Foundation hardwired in fips. Not a great idea in hindsight. Strange that macOS doesn't seem to require Foundation though (e.g. in https://github.com/floooh/cimgui-sokol-starterkit I'm using a vanilla CMakeLists.txt file without fips and it works).


trayweather: Add version 1.24.0

Closes #9107

[x] I have read the Contributing Guide.

/verify


[FEATURE] Add community events to the map

Description
This could be implemented after #4438 gets merged
Screenshots
No response
Additional information
No response

Great idea! I will block this issue until #4438 gets merged

I want to work on this issue.

Assigning you the issue

I want to work on this issue.

PR where further changes will be made https://github.com/EddieHubCommunity/LinkFree/pull/8093


DO NOT MERGE! Fast Forward stable to 3eb624c4016cbceedd4563a8fb1e6261d79adf85.

This PR will be merged automatically once checks are successful.

This change is

Jenkins job istio/mixer-pr-stable passed


Fix #2504 App crashes when going to "Product Image" tab

Related issues and discussion
#fixes #2504 App crashes when going to "Product Image" tab

@PrajwalM2212 is the original coder of this part

Thanks for the review @PrajwalM2212
Thanks for the refacto @deniger


VError.info doesn't return custom properties on non-VError cause children

I have an error class that adds custom properties to itself:
export class ValidationError extends Error {
  public responseCode = ResponseCode.ValidationError;
  constructor(message: string, public data: any) {
    super(message);
  }
}

I have a logger method thats supposed to grab all the keys and scrub them from the error chain:
exception: (message: string, ex: Error, data?: Record<string, unknown>) => {
    const errorToLog = new VError(
      {
        cause: ex,
        info: data,
      },
      message,
    );

    const info = VError.info(errorToLog);
    console.log('info: ', info);

    logError(message, errorToLog);
  }

But when I pass an instance of the first error as the cause to VError, the VError.info method doesn't enumerate the keys for the ValidationError. Is this by design?

If I'm understanding right, that's the way it's intended.  This bit in the README explains why we did it this way:

In order for all this to work, programmers need to know that it's generally safe to wrap lower-level Errors with higher-level ones. If you have existing code that handles Errors produced by a library, you should be able to wrap those Errors with a VError to add information without breaking the error handling code. There are two obvious ways that this could break such consumers...
The error's properties might change. People often hang additional properties off of Error objects. If we wrap an existing Error in a new Error, those properties would be lost unless we copied them. But there are a variety of both standard and non-standard Error properties that should not be copied in this way: most obviously name, message, and stack, but also fileName, lineNumber, and a few others. Plus, it's useful for some Error subclasses to have their own private properties -- and there'd be no way to know whether these should be copied. For these reasons, VError first-classes these information properties. You have to provide them in the constructor, you can only fetch them with the info() function, and VError takes care of making sure properties from causes wind up in the info() output.

Sorry if I'm misunderstanding!

For these reasons, VError first-classes these information properties. You have to provide them in the constructor, you can only fetch them with the info() function, and VError takes care of making sure properties from causes wind up in the info() output.

This part of the documentation makes it sound like it should surface these custom properties.

Also what about other libraries that I have no control over?

When it says "properties from causes", it's referring to the same first-class informational properties that were provided in the VError constructor on those causes.  Right now, you'd have to wrap errors from other libraries if you wanted to preserve this information.  It's possible there's a better approach here?  But the rest of the text explains our constraints on the problem and why it seemed fraught to just copy all the properties that we find.

Okay, so I wrap other errors in VError to get those moved up. Got it. Makes sense


Restart training Attribute Error

If you want to retrain the StyleGAN model with saved weights like this
gan = StyleGAN(resolution=IMAGE_RESOLUTION, load_path='./checkpoints/stylegan-29042021', start_log2_res=10)
You get following output:
Growing model to 1024x1024
grow_generator mid, log2=3 w=1, noise=3
grow_generator mid, log2=4 w=2, noise=4
grow_generator mid, log2=5 w=3, noise=5
grow_generator mid, log2=6 w=4, noise=6
grow_generator mid, log2=7 w=5, noise=7
grow_generator mid, log2=8 w=6, noise=8
grow_generator mid, log2=9 w=7, noise=9
grow_generator end, log2=10 w=8, noise=10

AttributeError                            Traceback (most recent call last)
 in
----> 1 gan = StyleGAN(resolution=IMAGE_RESOLUTION, load_path='./checkpoints/stylegan-29042021', start_log2_res=10)
 in init(self, z_dim, resolution, load_path, start_log2_res)
28
29         if load_path:
---> 30             self.load_checkpoint(load_path)
31
32         # initialize generator with the base
 in load_checkpoint(self, ckpt_path)
77     def load_checkpoint(self, ckpt_path):
78         self.grow_model(self.start_log2_res)
---> 79         self.ckpt.restore(ckpt_path)
80
81
AttributeError: 'StyleGAN' object has no attribute 'ckpt'

Its very weird because the self.ckpt variable is not visible somehow

my files are like this

If you change the order in the init to:
checkpoint_path = f"./checkpoints/stylegan-29042021/"
self.ckpt = tf.train.Checkpoint(generator = self.generator, discriminator = self.discriminator)
self.ckpt_manager = tf.train.CheckpointManager(self.ckpt, checkpoint_path, max_to_keep = 40)
if load_path:
self.load_checkpoint(load_path)
Then the error disappears but a know error comes:
Growing model to 1024x1024
grow_generator mid, log2=3 w=1, noise=3
grow_generator mid, log2=4 w=2, noise=4
grow_generator mid, log2=5 w=3, noise=5
grow_generator mid, log2=6 w=4, noise=6
grow_generator mid, log2=7 w=5, noise=7
grow_generator mid, log2=8 w=6, noise=8
grow_generator mid, log2=9 w=7, noise=9
grow_generator end, log2=10 w=8, noise=10

RuntimeError                              Traceback (most recent call last)
C:\ProgramData\Anaconda3\envs\gputest\lib\site-packages\tensorflow\python\training\py_checkpoint_reader.py in NewCheckpointReader(filepattern)
94   try:
---> 95     return CheckpointReader(compat.as_bytes(filepattern))
96   # TODO(b/143319754): Remove the RuntimeError casting logic once we resolve the
RuntimeError: Unable to open table file .\checkpoints: Unknown: NewRandomAccessFile failed to Create/Open: .\checkpoints : Zugriff verweigert
; Input/output error
During handling of the above exception, another exception occurred:
DataLossError                             Traceback (most recent call last)
 in
----> 1 gan = StyleGAN(resolution=IMAGE_RESOLUTION, load_path='./checkpoints', start_log2_res=10)
 in init(self, z_dim, resolution, load_path, start_log2_res)
68         self.ckpt_manager = tf.train.CheckpointManager(self.ckpt, checkpoint_path, max_to_keep = 40)
69         if load_path:
---> 70             self.load_checkpoint(load_path)
71
72     def load_checkpoint(self, ckpt_path):
 in load_checkpoint(self, ckpt_path)
72     def load_checkpoint(self, ckpt_path):
73         self.grow_model(self.start_log2_res)
---> 74         self.ckpt.restore(ckpt_path)
75
76
C:\ProgramData\Anaconda3\envs\gputest\lib\site-packages\tensorflow\python\training\tracking\util.py in restore(self, save_path)
2007           (often at program shutdown).
2008     """
-> 2009     status = self._saver.restore(save_path=save_path)
2010     # Create the save counter now so it gets initialized with other variables
2011     # when graph building. Creating it earlier would lead to errors when using,
C:\ProgramData\Anaconda3\envs\gputest\lib\site-packages\tensorflow\python\training\tracking\util.py in restore(self, save_path)
1258     if save_path is None:
1259       return InitializationOnlyStatus(self._graph_view, ops.uid())
-> 1260     reader = py_checkpoint_reader.NewCheckpointReader(save_path)
1261     graph_building = not context.executing_eagerly()
1262     if graph_building:
C:\ProgramData\Anaconda3\envs\gputest\lib\site-packages\tensorflow\python\training\py_checkpoint_reader.py in NewCheckpointReader(filepattern)
97   # issue with throwing python exceptions from C++.
98   except RuntimeError as e:
---> 99     error_translator(e)
C:\ProgramData\Anaconda3\envs\gputest\lib\site-packages\tensorflow\python\training\py_checkpoint_reader.py in error_translator(e)
42     raise errors_impl.InvalidArgumentError(None, None, error_message)
43   elif 'Unable to open table file' in error_message:
---> 44     raise errors_impl.DataLossError(None, None, error_message)
45   elif 'Failed to find the saved tensor slices' in error_message:
46     raise errors_impl.InternalError(None, None, error_message)
DataLossError: Unable to open table file .\checkpoints: Unknown: NewRandomAccessFile failed to Create/Open: .\checkpoints : Zugriff verweigert
; Input/output error
Zugriff verweigert means "access denied"

Apologies, I never got the checkpoints to work but forgot to remove it. The reason is a little complicated. Keras checkpoint doesn't allow to save a list of model but unfortunately what I used for to_rgb .
My workaround was to save the individual model separately, if you scroll toward the bottom of the notebook, you will see this

However, I only used it to save the models after finish training but did not incorporate it into the training pipeline. Therefore, I'm afraid you can't use the checkpoints that you have saved.

I have now pushed the code to save checkpoints but you'll have to start the training from scratch.

Nice thank you Sir:) But theoretically, you can use instantiate a new StyleGAN-object with start_log2res = 9, use your workaround :

And then restart training. This would also works or not?

If the models are still in the notebook (you haven't stop/reset after training), then yes, you can use that to save the models. But that code only save up to log2_res = 8 i.e. resolution 256. Increase is to 11 to save 1024.
You can also use new code load_checkpoint(path) to load it. It will automatically load and rebuild the model to the highest resolution saved in the checkpoint.

Thanks I will check it out :)


A563879808284502 disable 999999 9 additional classification required

This change is

Coverage decreased (-0.3%) to 93.701% when pulling c9c5555495ef3a871316fa568ce7f57cd082e0ee on a563879808284502_disable_999999-9_additional_classification_required into efe3a0d7b1531b2e962d22351cefdba4000aef30 on master.


add animationRef prop

This PR adds the ability to use the animationItem returned from lottie-web in parent components. This allows for more control over the animation with all of the built-in functions like goToAndStop, goToAndPlay, etc.
In my use case, I want to have an animation play frames 0-100, then loop from 50-100:
const MyAnimation = () => {
  const animationRef = useRef(null)
  const onLoopComplete = () => {
    if (animationRef && animationRef.current && loop && loopTo) {
      animationRef.current.goToAndPlay(50, true)
    }
  }

  const lottieEventListeners = [
    {
      callback: onLoopComplete,
      name: 'loopComplete',
    },
  ]

  return (
     <Lottie
      config={config}
      lottieEventListeners={lottieEventListeners}
      animationRef={animationRef}
    />
  )
}

@good-idea hi mate thanks for PR, will review/merge it asap

@good-idea I have question - React.MutableRef-> shouldn't it be React.MutableRefObject instead?

@lazysergey yep, you're right! I just opened a new PR

Hi guys, sorry to comment here, but how does this work with TypeScript?
I have tried:
import { AnimationItem } from 'lottie-web';

const Animation = () => {
  const animationRef = useRef<AnimationItem>(null);

  return (
    <Lottie
      // ...
      animationRef={animationRef}
    />
  );
};

Type 'RefObject<AnimationItem>' is not assignable to type 'MutableRefObject<AnimationItem>'.

And without initializing to null, but I really doubt that ref is supposed to be actually muted anyway?
import { AnimationItem } from 'lottie-web';

const Animation = () => {
  const animationRef = useRef<AnimationItem>();

  return (
    <Lottie
      // ...
      animationRef={animationRef}
    />
  );
};

Type 'MutableRefObject<AnimationItem | undefined>' is not assignable to type 'MutableRefObject<AnimationItem>'.
Type 'AnimationItem | undefined' is not assignable to type 'AnimationItem>'.
Type 'undefined' is not assignable to type 'AnimationItem>'.

EDIT: I managed to workaround by asserting a MutableRefObject:
const animation = useRef<AnimationItem>(null) as React.MutableRefObject<AnimationItem>;

But shouldn't it be just a RefObject in the end?

@flo-sch I've updated this in https://github.com/crello/react-lottie/pull/19, thanks for checking in here!


Resource Access Permissions - Environment Variable Output - Graphql Endpoint Not Correct When storgage permission also requested

Before opening, please confirm:

[X] I have installed the latest version of the Amplify CLI (see above), and confirmed that the issue still persists.
[X] I have searched for duplicate or closed issues.
[X] I have read the guide for submitting bug reports.
[X] I have done my best to include a minimal, self-contained set of instructions for consistently reproducing the issue.
[X] I have removed any sensitive information from my code snippets and submission.

How did you install the Amplify CLI?
npm
If applicable, what version of Node.js are you using?
14
Amplify CLI Version
8.0.3
What operating system are you using?
Windows
Did you make any manual changes to the cloud resources managed by Amplify? Please describe the changes made.
no
Amplify Categories
storage, api
Amplify Commands
push
Describe the bug
If I try to give a lambda resources permissions for both the graphql api and a dynamodb table, the graphql environment variables are not correctly assigned to the lambda.
If I only request the resource permission for the graphql API it will correctly output the values.
It is only when both are requested, that there is an issue.

Expected behavior
The lambda function should be correctly assigned the relevant environment variable values for both the API and storage.
Reproduction steps

Create a graphql API with a 2x models
Add a lambda trigger function for the 1st model
Assign both the API:2ndmodel and storage:2ndmodel resource access permission to the lambda function
Deploy
Check the environment variables for the lambda trigger function in the console

GraphQL schema(s)

# Put schemas below this line

Log output

# Put your logs below this line

Additional information
No response

Hey @conorw :wave: thanks for raising this! Can you clarify the second step of how we're adding a lambda trigger to a model?

Add a lambda trigger function for the 1st model

I was not able to reproduce this issue when granting a Lambda function access to a GraphQL API and the underlying tables

Hey @conorw 👋 thanks for raising this! Can you clarify the second step of how we're adding a lambda trigger to a model?

Add a lambda trigger function for the 1st model

I was not able to reproduce this issue when granting a Lambda function access to a GraphQL API and the underlying tables

hey @josefaidt , I'm just running "amplify function add" then choosing lambda trigger, then choosing the model from the appsync models

Hey @conorw thanks for the clarification! I changed my reproduction to use a DynamoDB
> amplify add function
? Select which capability you want to add: Lambda function (serverless function)
? Provide an AWS Lambda function name: 996646ca947f
? Choose the runtime that you want to use: NodeJS
? Choose the function template that you want to use: Lambda trigger
? What event source do you want to associate with Lambda trigger? Amazon DynamoDB Stream

? Choose a DynamoDB event source option Use API category graphql @model backed DynamoDB
table(s) in the current Amplify project
Selected resource 9966
? Choose the graphql @model(s) Todo

Available advanced settings:
- Resource access permissions
- Scheduled recurring invocation
- Lambda layers configuration
- Environment variables configuration
- Secret values configuration

? Do you want to configure advanced settings? Yes
? Do you want to access other resources in this project from your Lambda function? Yes
? Select the categories you want this function to have access to. api, storage
? Api has 2 resources in this project. Select the one you would like your Lambda to acce
ss 9966
? Select the operations you want to permit on 9966 Query, Mutation
? Storage has 2 resources in this project. Select the one you would like your Lambda to
access Todo:@model(appsync)
? Select the operations you want to permit on Todo:@model(appsync) create, read, update,
 delete

and after pushing I see the proper GraphQL endpoint URL

Can you confirm whether you have the following dependsOn block in your amplify/backend/backend-config.json file?
"996646ca947f": {
      "build": true,
      "providerPlugin": "awscloudformation",
      "service": "Lambda",
      "dependsOn": [
        {
          "category": "api",
          "resourceName": "9966",
          "attributes": [
            "GraphQLAPIIdOutput",
            "GraphQLAPIEndpointOutput"
          ]
        },
        {
          "category": "api",
          "resourceName": "9966",
          "attributes": [
            "GraphQLAPIIdOutput",
            "GraphQLAPIEndpointOutput",
            "GraphQLAPIKeyOutput"
          ]
        }
      ]
    }

@josefaidt apologies for the delay, i got sidetracked.
I can confirm that I do NOT have this section when I also add a resource permission to the storage:geosearch model.
When I add a resource reference to both the storage:geosearch and api:geosearch items, the backend.config looks like this:
"geosync": {       "build": true,       "providerPlugin": "awscloudformation",       "service": "Lambda",       "dependsOn": [         {           "category": "api",           "resourceName": "svr",           "attributes": [             "GraphQLAPIIdOutput"           ]         },         {           "category": "function",           "resourceName": "svrsharedlayer",           "attributes": [             "Arn"           ]         }       ]     }   },
When I add a resource reference to only the storage:geosearch, the backend.config looks like this:
"geosync": {       "build": true,       "providerPlugin": "awscloudformation",       "service": "Lambda",       "dependsOn": [         {           "category": "api",           "resourceName": "svr",           "attributes": [             "GraphQLAPIIdOutput"           ]         },         {           "category": "function",           "resourceName": "svrsharedlayer",           "attributes": [             "Arn"           ]         }       ]     }
When I add a resource reference to only the api:geosearch, the backend.config looks like this:
"geosync": {       "build": true,       "providerPlugin": "awscloudformation",       "service": "Lambda",       "dependsOn": [         {           "category": "api",           "resourceName": "svr",           "attributes": [             "GraphQLAPIIdOutput",             "GraphQLAPIEndpointOutput",             "GraphQLAPIKeyOutput"           ]         },         {           "category": "function",           "resourceName": "svrsharedlayer",           "attributes": [             "Arn"           ]         }       ]     }

Hey @conorw thanks for the clarification! From the first snippet, it does appear something is awry when granting API resource permissions where the second dependsOn block was not added, which would explain the lack of values for those two environment variables.

What results do you get if you ask for resource permissions for both the 'ToDo' storage table AND the 'ToDo' API model?

If we grant access to both the API and an underlying table we should see two api blocks in the function's dependsOn property. For API access we will be prompted only for Query, Mutation, and Subscription rather than specific models, which will generate appsync:GraphQL permissions for the Lambda.
Was the Lambda granted access to each of these resources in separate steps rather than both in the amplify add function workflow?

@josefaidt the permissions were added by running "amplify function update"
The other thing to consider here is the use of a shared lambda layer, not sure what effect this could have, but it might be a clue?

Hey @conorw thank you for clarifying and I don't believe the shared lambda layer would have an effect on the permissions. Do you see the following permissions in your function's CloudFormation file? I do see that now my function only has the one dependsOn block after trying a few different approaches. Would you mind sending a zip archive of your amplify/ directory to<EMAIL_ADDRESS>to take a further look at the infrastructure setup?

Closing due to inactivity

This may be a windows specific issue.
When I deploy using my local windows machine, I still get the issue with multiple functions.
If I deploy using CD (Github Actions), it correctly adds the env variables to the function


Test targets fail to build

I'm trying to integrate this example into my project, but I got this error:
❯ bazel run //frontend/apple/modules/API:APITests
INFO: Invocation ID: 47436f24-94e6-46b1-a109-e72db4cba6c0
INFO: Streaming build results to: https://app.buildbuddy.io/invocation/47436f24-94e6-46b1-a109-e72db4cba6c0
ERROR: /setoelka/tauri-on-bazel/frontend/apple/modules/Models/BUILD.bazel:7:14: in @@rules_apple~//apple/internal/aspects:resource_aspect.bzl%apple_resource_aspect aspect on swift_library rule //frontend/apple/modules/Models:ModelsLib:
Traceback (most recent call last):
        File "/private/var/tmp/_bazel_setoelka/55d40751772f9cc52358541c06338f83/external/rules_apple~/apple/internal/aspects/resource_aspect.bzl", line 146, column 47, in _apple_resource_aspect_impl
                module_names = [x.name for x in target[SwiftInfo].direct_modules if x.swift]
Error: <target //frontend/apple/modules/Models:ModelsLib> (rule 'swift_library') doesn't contain declared provider 'SwiftInfo'
ERROR: Analysis of target '//frontend/apple/modules/Models:ModelsLib' failed
ERROR: Analysis of target '//frontend/apple/modules/API:APITests' failed; build aborted: Analysis failed
INFO: Elapsed time: 0.196s, Critical Path: 0.01s
INFO: 1 process: 1 internal.
ERROR: Build did NOT complete successfully
ERROR: Build failed. Not running target

They're the ios_unit_test targets in the API and Models directory.
I moved the example folder to frontend/apple/  directory in my already setup project. They succeeded when I ran the same targets in the original example folder. Any pointers? I tried to update the external dependencies to the latest, but still no luck.

My BUILD files
API/BUILD.bazel
load("@build_bazel_rules_apple//apple:ios.bzl", "ios_unit_test")
load("@build_bazel_rules_swift//swift:swift.bzl", "swift_library")
load("//frontend/apple/tools:shared.bzl", "versions")

# Code

swift_library(
    name = "APILib",
    srcs = [
        "API/API.swift",
    ],
    module_name = "API",
    visibility = ["//frontend/apple/modules:default_library_visibility"],
    deps = [
        "//frontend/apple/modules/Models:ModelsLib",
    ],
)

# Tests

swift_library(
    name = "APITestsLib",
    testonly = True,
    srcs = [
        "Tests/APITests.swift",
    ],
    module_name = "APITests",
    deps = [
        ":APILib",
    ],
)

ios_unit_test(
    name = "APITests",
    minimum_os_version = versions.minimum_ios_version,
    visibility = ["//frontend/apple/modules:default_test_visibility"],
    deps = [":APITestsLib"],
)

Models/BUILD.bazel
load("@build_bazel_rules_apple//apple:ios.bzl", "ios_unit_test")
load("@build_bazel_rules_swift//swift:swift.bzl", "swift_library")
load("//frontend/apple/tools:shared.bzl", "versions")

# Code

swift_library(
    name = "ModelsLib",
    srcs = [
        "Models/Models.swift",
    ],
    module_name = "Models",
    visibility = ["//frontend/apple/modules:default_library_visibility"],
)

# Tests

swift_library(
    name = "ModelsTestsLib",
    testonly = True,
    srcs = [
        "Tests/ModelsTests.swift",
    ],
    module_name = "ModelsTests",
    deps = [
        ":ModelsLib",
    ],
)

ios_unit_test(
    name = "ModelsTests",
    minimum_os_version = versions.minimum_ios_version,
    visibility = ["//frontend/apple/modules:default_test_visibility"],
    deps = [":ModelsTestsLib"],
)

modules/BUILD.bazel
package_group(
    name = "default_library_visibility",
    includes = [
        # Project generation.
        "@rules_xcodeproj//xcodeproj:generated",
    ],
    packages = [
        # The application package.
        "//frontend/apple/app",
        # All other modules.
        "//frontend/apple/modules/...",
    ],
)

package_group(
    name = "default_test_visibility",
    includes = [
        # Project generation.
        "@rules_xcodeproj//xcodeproj:generated",
    ],
)

Can you upload a small repro project and/or the contents of MODULE.bazel.lock?

@mattrobmattrob my bad. My WORKSPACE file was the problem. It works fine now.


Add reset odometry (maybe multiples) where a button can be used to reset the robot odometry to know position(s)

Options:

At the launch pad: use that relative location along with pigeon/limelight distance/angle to re-initialize the odometry/pose.
Can we do against HUB?  This would allow shooting low goal while resetting.


Allow zooming with multi-touch

Currently we only support moving on touch devices, it would be great to have google-maps like zooming.
Relevant bit:
https://github.com/wilzbach/msa/blob/master/src/views/canvas/CanvasSeqBlock.js#L256

To make this smooth, we probably have to increase the font tile cache for multiple sizes.

codemill$10

@OrBin has been assigned to this task.

@OrBin has been unassigned from this task.

@thangvtvn2009 has been assigned to this task.

Could you give me detail description about this issue?
Thanks,


Create boxy.rb

Instructions
Adding a new cask

[x] Checked there aren’t open pull requests for the same cask.
[x] Checked there aren’t closed issues where that cask was already refused.
[x] When naming the cask, followed the token reference.
[x] Commit message includes cask’s name.
[ ] brew cask audit --download {{cask_file}} is error-free.
[ ] brew cask style --fix {{cask_file}} left no offenses.
[ ] brew cask install {{cask_file}} worked successfully.
[ ] brew cask uninstall {{cask_file}} worked successfully.

currently auditing and testing this new Cask

https://github.com/caskroom/homebrew-cask/blob/master/doc/development/adding_a_cask.md#trial-and-freemium-versions

I see, thank you for the feedback @vitorgalvao. Will reattempt this PR only if the full version is made available without visiting the mac app store


plant embryo stage (PO:0007631) and child terms

At the POC meeting on 11-8-11, we decided to add a term for embryo stage, is_a sporophyte vegetative stage. Proposed definition is based on our definition of plant embryo (PO:0009009).
proposed def. of embryo stage (PO:0025369): A sporophyte vegetative stage that occurs during the interval between the first cell division and one of the following: germination in seed plants, formation of the first true leaf after the cotyledon(s) in pteridophytes, when the apical cell stops dividing and the sporangium begins to develop in bryophytes, or the beginning of the formation of organs (roots, shoot axes, or leaves) in cultured plant embryos.
Comment: Succeeds the zygote stage. The embryo stage generally starts after the first division of a zygote, but in the case of adventitious embryos, somatic embryos, other embryos that arise through apogamy, and cultured haploid embryos, it begins after the division of a single cell that is not a zygote. The end of the embryo stage varies among taxa.
Reported by: rlwalls2008
Original Ticket: obo/plant-ontology-po-term-requests/400

I checked the definitions on the dev browser, and did not find any mistakes. I think it is okay to leave plant embryo in the definition of mature plant embryo (rather than change it to plant embryo proper), because by that point, presumably the entire embryo is mature. Nothing would be wrong with referring to the PEP, but I think maybe PE is more complete.


fix(madsim): drop the future within the scope of TaskEnterGuard when a task is aborted

Signed-off-by: Bugen Zhao<EMAIL_ADDRESS>

I considered opposite cases like:
    #[test]
    fn spawn_futures() {
        let runtime = madsim::runtime::Runtime::new();
        runtime.block_on(async move {
            let rt = Runtime::new().unwrap();
            let join_handle = rt.spawn(async move {
                Handle.spawn(async move {
                    madsim::time::sleep(Duration::from_secs(1)).await;
                    println!("hi");
                });
                Handle.spawn(async move {
                    madsim::time::sleep(Duration::from_secs(1)).await;
                    println!("hi2")
                });
            });
            madsim::time::sleep(Duration::from_secs(10)).await;
            join_handle.await.unwrap();
        });
        panic!("break");
    }

In such cases, we will always have task context, since their parent future will be executing with task context, and the spawning steps happen sequentially. The newly spawned futures will be handled by Spawner, which will schedule these tasks using its sender, and let the main event loop inside the executor execute these.
So I think we just need to handle the case of node kill / task abort as was done in this PR.

Many thanks @BugenZhao!

Let's also bump the version of tokio-postgres to v0.2.31 after this PR has been merged.

Given that this PR has been tested in https://github.com/risingwavelabs/risingwave/pull/18852 and  RisingWave might be the largest project to adopt madsim, I believe we can safely merge this PR now.


Reactive queries sometimes return a corrupt DB error

Describe the bug
When you have a reactive query and try to execute a transaction that deletes data, the reactive query kaputs itself (and maybe the transaction?)
Reproducible example.
It seems the problem is executing the query again in the middle of the steps in the transaction (maybe only deletes or indexes or foreign keys? because otherwise it seems to work quite well.).
One possible cause:

The update hook implementation must not do anything that will modify the database connection that invoked the update hook. Any actions to modify the database connection must be deferred until after the completion of the sqlite3_step() call that triggered the update hook. Note that sqlite3_prepare_v2() and sqlite3_step() both modify their database connections for the meaning of "modify" in this paragraph.

I've tried adding a mutex but to no avail since everything runs on the same thread and just skipping until the batch operation has finished is also no good since only updates trigger the reactive query. This means a different implementation of the reactive queries is necessary.
At the moment, the update hook triggers the re-execution of the prepared query the moment it is called, which will break the rule above. We need to queue the statements and execute them until it is safe to do so, so a major re-engineering effort is necessary.

no, no workaround at the moment. I need to re-write how the callbacks are executed, I just don't have the time for it.

no, no workaround at the moment. I need to re-write how the callbacks are executed, I just don't have the time for it.

I was just trying different ways and added this hacky code for now and working fine for my use case.
db.reactiveExecute({
  query: query, //a query with left join
  arguments: [],
  fireOn: [
    {
      table: TableName.ACCOUNTS,
    },
    {
      table: TableName.TRANSACTIONS,
    },
  ],
  callback: (res) => {
    try {
//res is currpt DB here in delete case so added a condition to execute the query manually in else block
      const accounts = res?.rows?._array;
      if (accounts) {
        defaultStore.set(accountsAtom, accounts);
      } else {
        const data = db.execute(query).rows?._array;
        defaultStore.set(accountsAtom, data);
      }
    } catch (error) {
      console.log(error);
    }
  },
});

I am also experiencing crashes, but the try catch did not fix my problem.

I am also experiencing crashes, but the try catch did not fix my problem.

Try catch is not solving the problem , the if else condition is the key, when the crash happenes accounts is undefined so wrapping it in if worked for me

My situation is that the whole app crashes, next I kept needing to have executed an regular query before being able to use reactive query. We finally have a stable reactive query after we turned off the thread unsafe perf mode and started using the cr-sqlite binary.  In other wods, set your package.json to:
  "op-sqlite": {
    "sqlcipher": false,
    "crsqlite": true,  <---
    "performanceMode": "2", <----
    "iosSqlite": false,
    "sqliteFlags": "-DSQLITE_DQS=0",
    "fts5": false,
    "libsql": false,
    "sqliteVec": true
  }
}


Initial import of promise library

PLEASE REVIEW #26716 FIRST

@nicolasnoble

This change is

Herein is an initial set of promise combinators, to be built upon to get to a functional stack upon which to start porting filters.

@markdroth it sounds like you're busy for a bit, can we move this review to someone else so that this work can continue to make progress?

Requesting we get back to this review... There'll be some editorial changes for older compilers still, but this is a solid basis for iterating from.

closing this in preference to submitting pr's incrementally


v2.0.0

Bug Fixes

Correctly model accepted/required attributes (#35) (52bdccb)
pgp-secret did not store passphrase in secrets manager (#45) (d8f9dbc)
Stop surfacing and using secret VersionIds (#33) (afbd204)

Code Refactoring

improvements to shellable, testable and canary (#46) (2446bd1)

Features

Create OpenPGP Public Key parameter using SSM resource (#63) (a3510f1)
Move permission grant function to PGPSecret (#62) (7c6809a)
shallable: assume-role (#47) (1b9ef5d)
wrap the superchain image in a Superchain construct. (#38) (5713727)

BREAKING CHANGES

Testable has been removed, environmentVariables has been renamed to env and changed schema; pipeline.env renamed to environment.
ICredentialPair now conveys ssm.IStringParameter and secretsManager.ISecret instead of the ARNs and related attributes of those.

Something with the changelog is wrong. I think there are repeating entries from previous releases

@eladb  you're correct. I suppose I don't know how to use conventional-changelog right. Ugh.


Add note about Vagrant, fix headings in README

Do we really need this in readme? I'm personally against this. This would just increase the clutter in the readme.
Maybe we should open a community FAQ wiki. Questions like these and common troubleshooting tips can live there.

We are the last one on GitHub to rant about clutter in the README, ours is like the longest I've ever seen. And there's also a section about Docker with four times the same link in two sentences or so, so I feel this will make things not worse.
Of course we can start moving more advanced information from the README to the wiki later.

As @linusg mentioned, let's merge this for now and move details to wiki later on.


DelayedJob queue is not working

I am using delayed_job gem in my rails application, gem version is :  4.03
I have assigned particular workers for 2 queues e.g --queue=pictures , --queue=*
One queue is for processing pictures and other is for everything else.
But the problem is this queue priority scheme is not working. what am I doing wrong?
This is the code :
check process delayed_job_1 with pidfile /var/rails/apps/pakwheels_production/current/tmp/pids/delayed_job.1.pid
start program = "/sbin/runuser -l pakboard -c 'cd /var/rails/apps/pakwheels_production/current && RAILS_ENV=production bundle exec script/delayed_job -i 1 start --queue=pictures'"
stop program = "/sbin/runuser -l pakboard -c 'cd /var/rails/apps/pakwheels_production/current && RAILS_ENV=production bundle exec script/delayed_job -i 1 stop --queue=picture'"
if mem is greater than 500.0 MB for 1 cycles then restart
if cpu is greater than 80% for 5 cycles then restart
check process delayed_job_2 with pidfile /var/rails/apps/pakwheels_production/current/tmp/pids/delayed_job.2.pid
start program = "/sbin/runuser -l pakboard /bin/bash -c 'cd /var/rails/apps/pakwheels_production/current && RAILS_ENV=production bundle exec script/delayed_job -i 2 start --queue=pictures'"
stop program = "/sbin/runuser -l pakboard /bin/bash -c 'cd /var/rails/apps/pakwheels_production/current && RAILS_ENV=production bundle exec script/delayed_job -i 2 stop --queue=pictures'"
if mem is greater than 500.0 MB for 1 cycles then restart
if cpu is greater than 80% for 5 cycles then restart
check process delayed_job_3 with pidfile /var/rails/apps/pakwheels_production/current/tmp/pids/delayed_job.3.pid
start program = "/sbin/runuser -l pakboard /bin/bash -c 'cd /var/rails/apps/pakwheels_production/current && RAILS_ENV=production bundle exec script/delayed_job -i 3 start --queue='"
stop program = "/sbin/runuser -l pakboard /bin/bash -c 'cd /var/rails/apps/pakwheels_production/current && RAILS_ENV=production bundle exec script/delayed_job -i 3 stop --queue='"

If you desire the everything else workers to not process picture jobs, you need to set a default queue and have those workers pull from the default queue and any other queues you may use.


Try depending on rmw_implementation to get RMWs

Experimenting with a different test dependency.

This doesn't appear to work, I guess because rmw_implementation declares build-time dependencies to the RMWs instead of runtime dependencies.