chore: Add mysql database

The idea is to simulate the use of our mysql database for itslearning lti resources.

@hejtful maybe you want to see my suggestions and adapt this code to the new needs.

Thank you Hugo for the suggestions! I'll close this PR because it drifted apart from main but we will incorporate them into main.


Fix bug caused by pressing/releasing the fn key while a button was held.

Fix bug that caused button to be perpetually held down
This should fix a bug I encountered where if you released the fn key while pressing a button, then the system would think that button held down. It's most obvious with something like toggle mute as it just keeps toggling forever.
The fix here sets the state of any active buttons on the active layer to false when it switches layers.
Built on aarch64 (fedora-asahi), seems to test fine and resolve the issue.

I seem to be unable to reproduce the bug.
My test steps are:

Press and hold fn
Press and hold mute button, the system starts to flicker between muted/unmuted
Release fn, mute flickering stays.
Release mute button, flickering stops.

Apologies for the confusion, I think I had the version that ships with fedora in my path somehow. Just built the master branch and can't reproduce the bug.


Marathon build and startup parameterized for better management and EE alignment

High Level Description
What features does this change enable? What bugs does this change fix? High-Level description of how things changed.
Related Issues

DCOS_OSS-18597Marathon DCOS packaging.

Checklist for all PR's

[ ] Included a test which will fail if code is reverted but test is not. If there is no test please explain here:  This is the build process itself... it either builds or not and marathon starts or not.  Either way existing tests will fail if it doesn't work.
[x] Read the DC/OS contributing guidelines
[x] Followed relevant code rules Rules for Packages and Systemd

Checklist for component/package updates:
If you are changing components or packages in DC/OS (e.g. you are bumping the sha or ref of anything underneath packages), then in addition to the above please also include:

[ ] Change log from the last version integrated (this should be a link to commits for easy verification and review):   N/A
[ ] Test Results: N/A
[ ] Code Coverage (if available): N/A

This is a OPEN change only and will NOT have an EE bump


[AOT] Replace usage of IConfiguration.Bind

IConfiguration.Bind is not trimmer friendly.
See https://github.com/dotnet/runtime/discussions/59230
We use this method to bind to GrpcWorkerStartupOptions type, which is to represent the data from the command line arguments sent from host
https://github.com/Azure/azure-functions-dotnet-worker/blob/1da3c27d3b24e648a20356fb3180abfcdc7f6cff/src/DotNetWorker.Grpc/GrpcServiceCollectionExtensions.cs#L92-L96

Also relevant: https://github.com/dotnet/runtime/issues/44493

This issue is fixed with #1897


Verbose logs above shows Ketrel takes ~80sec! to read request body.

NewRelic tracing shows the same - Middleware takes too long...
Details:

Asp.Net Core 2.2
Running on AWS ECS (2K CPU units / 8K memory reserved - CloudWatch reports no CPU / Memory Spikes so far - Max 10% utilization)

Dockerfile
FROM mcr.microsoft.com/dotnet/core/sdk:2.2-alpine AS build
FROM mcr.microsoft.com/dotnet/core/aspnet:2.2 AS runtime

ENV CORECLR_ENABLE_PROFILING=1 \
CORECLR_PROFILER={36032161-FFC0-4B61-B559-F6C5D41BAE5A} \
CORECLR_NEWRELIC_HOME=/usr/local/newrelic-netcore20-agent \
CORECLR_PROFILER_PATH=/usr/local/newrelic-netcore20-agent/libNewRelicProfiler.so

WORKDIR /app
COPY --from=build /app/CompanyName.DocumentsUpload.Customers.Api/out ./
ENTRYPOINT ["dotnet", "CompanyName.DocumentsUpload.Customers.Api.dll"]

ASP.NET Core Pipeline:
        public void Configure(IApplicationBuilder app, IMapper mapper)
        {
            mapper.ConfigurationProvider.AssertConfigurationIsValid();

            // ASP.NET Core pipeline configuration
            app.UseResponseBuffering();
            app.UseExceptionHandler(a => a.Run(async context =>
            {
                var feature = context.Features.Get<IExceptionHandlerPathFeature>();
                var exception = feature.Error;

                var result = JsonConvert.SerializeObject(new { error = exception.Message });
                context.Response.ContentType = MediaTypeNames.Application.Json;
                await context.Response.WriteAsync(result);
            }));

            app.UseCors();
            app.UseHealthChecks("/health");
            app.UseSwagger();
            app.UseSwaggerUI(options =>
            {
                options.RoutePrefix = "swagger";
                options.SwaggerEndpoint("./v1/swagger.json", "Documents Upload API");
                options.DefaultModelExpandDepth(2);
            });
            app.UseMvc();
        }

WebHost configuration:
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
            new WebHostBuilder()
                .UseKestrel(options => options.AddServerHeader = false)
                .UseSerilog()
                .ConfigureServices(services => services.AddAutofac())
                .ConfigureAppConfiguration(builder =>
                {
                    builder
                        .AddJsonFile("appsettings.json", true, false)
                        .AddEnvironmentVariables("companyname:documentsupload:customers:api:");
                })
                .UseStartup<Startup>();

Model:
public class File
    {
        public string Name { get; set; }
        public string Base64Data { get; set; }
    }

    public class FileValidator : AbstractValidator<File>
    {
        public FileValidator()
        {
            RuleFor(x => x.Name).NotEmpty();
            RuleFor(x => x.Base64Data).NotEmpty();
        }
    }

Controller:
[HttpPut("image")]
        [ProducesResponseType(404)]
        [Consumes(MediaTypeNames.Application.Json)]
        [Produces(MediaTypeNames.Application.Json)]
        [ProducesResponseType(typeof(UploadDocumentResponse), 200)]
        public async Task<ActionResult<UploadDocumentResponse>> Upload(string id, long docId, [FromBody] Models.File[] files)
        {
            var upload = await _service.Get(id);
            if (upload == null)
                return NotFound();

            string filename = files[0].Name;
            var foundMimeType = new FileExtensionContentTypeProvider().TryGetContentType(filename, out var type);
            if (!foundMimeType)
                type = "image/png";

            var images = files.Select(f => Convert.FromBase64String(f.Base64Data)).ToArray();
            await _service.UpdateDocumentImage(id, docId, images);
            await _slack.PostNotification(upload.StscId, upload.CpasId, docId);
            return Ok(new UploadDocumentResponse());
        }

"Application code (in Middleware Pipeline)" likely includes the MVC JSON deserializer that runs prior to UploadDocumentsController.Upload. I don't see anything else in your middleware pipeline that touches the request prior to MVC. We're going to need a profile that breaks that time down more granularly.

What size is the data? Is this in a synthetic test or from external user (i.e. is their bandwidth slow?)

Hi. We're closing this issue as we have heard no response from you for some time now. If you have more details and are encountering this issue please add a new reply and re-open the issue.

We found the issue caused by slow bandwidth. Thanks


Name in composer.json wrongly classified as invalid

Does this issue occur when all extensions are disabled?: Yes/No
Yes

VS Code thinks that name-value in composer.json is invalid, while it's perfectly valid according to the official composer.json schema doc (https://getcomposer.org/doc/04-schema.md#name) and even to NPM's package.json schema in case VS Code would like to force using that with composer.json.
Not sure at which version of VS Code this issue appeared for the first time. Just noticed it for the first time. And I'm 100% sure it's not caused by an extension as it's also throwing this issue when all extensions are disabled.
Also I cleared all editor cache with 'clear editor history' command and restarted VS Code and re-opened the file several times.

VS Code Version: 1.67.2
OS Version: Windows 10

Steps to Reproduce:

Start VS Code with or without extensions disabled and open the project with the composer.json
Open the composer.json in VS Code and see the wrong warning

[edit] The validation regEx VS Code uses for the name validation is invalid: the slash to divide vendor and projectname should be escaped with a backslash. I also don't think a * and + may follow after each other. Perhaps the + is a typo and should be a / here?

[Edit2] The regEx VS Code uses for the name is not the same as the official regEx as used by composer. This is what composer uses:

Yep, I have the exact same issue. Doesn't matter what name I choose, it will always underline with warning it as invalid.

We load the schema from https://raw.githubusercontent.com/composer/composer/main/res/composer-schema.json
The schema is maintained at https://github.com/composer/composer/blob/556450b15b6c47c55ffa46bd9048b410d56c3983/res/composer-schema.json#L9
There's already been an issue filed: https://github.com/composer/composer/issues/10805
Marking as duplicate

Marking as duplicate

Since when the first mentioned issue thread is marked as duplicate and should be closed in favour of the duplicate? Weird way of handling things

The fix needs to be made in https://github.com/composer/composer/blob/556450b15b6c47c55ffa46bd9048b410d56c3983/res/composer-schema.json#L9
/ needs to be escaped with \.

@aeschli  Ah ok, I now see I had a misunderstanding. I didn't pay close enough attention. Otherwise I would've seen the link to the other issue was actually on the composer repo instead of on vs code. I understand now. Sorry for the misunderstanding and thanks for your action.


Song not found

Some songs are not found when using literal. Is there any way to implement %like% query?
Example:
Metallica - Unforg => does not work
Metallica - The Unforgiven => works
Thank you.

Hi!
The gem is just a wrapper around Vagalume's API, so we don't have much control over that, unfortunately.
What we could do is build a cache that we can query against, so if you search for Metallica - The Unforgiven, and then later search for Metallica - Unforgi we can look at this cache to try to find a match (and then we have full control over how this matching algorithm works), but not sure if it's worth the added complexity.

Hi @brianstorti, thats a good suggestion but seems a bit complex just as you say.
What we can do is use 3rd party service - lets say Genius. It's a public API, and we can definitely use it to search for possible songs and authors. With a bit of reverse engineering (actually inspecting network), we can figure out that Genius support auto-search (what I'm asking here).
Example of URL and PoC:
https://genius.com/api/search/multi?q=<search_query>
System could first check the main API (Vagalume), and if no song is found (==), it would continue searching through the Genius API and offer a list:
$ vagalume 2Pac - When we ride
No result
[Optional] Do you want to autosearch for songs? (y/n): y (or automatically)

--strip
# This gem does query in the background yielding API results
> https://genius.com/api/search/multi?q=When+we+ride
--strip

1. 2Pac - When we ride on our enemies
...

We can further do such to not ask for artist at all, e.g.:
$ vagalume When we ride

---strip
same procedure as above
---yields

1. Artist 1 - When we ride tonight
2. Artist 2 - When we ride together
3. 2Pac - When we ride on our enemies
4. (Potential) Artist 4 - Together we ride (not `like%` but `%like%`) since API does it automatically

API returns a JSON and implementation wouldn't take much. I could send a PR if you are interested, once I get time of course.
Thanks and cheers.

Yeah, that could work well, feel free to send a PR if you want.
One thing I'd keep in mind is that there's a possibility of Genius returning an option that Vagalume won't know how to handle, so we should probably check against Vagalume before presenting that as an option.


Add tests

(From https://github.com/ESM-VFC/xoak/pull/3#pullrequestreview-438701996.)

[ ] test the XoakAccessor index property
[ ] test non-transformed coordinate values (perhaps with other data than geo coordinates)
[ ] test NN lookup tolerance
[ ] check that the order of coordinate labels in the returned selection is preserved (I checked this locally simply  by inspecting the results and it works)
[ ] shallow test for the DataArray.xoak accessor

Closed in #10, #30.


Repo sync for protected CLA branch

The pull request is created from master637552478934838840 to master to fix git push error for protected CLA branch

@ghogen : Thanks for your contribution! The author(s) have been notified to review your proposed change.


Compiled file

Can you put add compiled file (RPi_Pico_WAV_Player.uf) ?

hello. Thanks for your inquiry. please find https://github.com/elehobica/RPi_Pico_WAV_Player/releases/tag/v0.9.2.

Thanks

Thanks


integ tests: Remove one of the bond slaves

Coverage remained the same at 65.628% when pulling 8a87fac8cc5053a34b2fb56db0aa14c57fac41c7 on SvetaHBar:bond_eth_tests into 1dff6c54426a5a9c9603993f92459f53ef8b81f9 on nmstate:master.

ci test please


Trigger release workflow manually

TL;DR
I'd like to see a way to trigger "release-please" release manually via GitHub actions (given the workflow_dispatch field is enabled).
Detailed design
I'm not sure that the job outputs `steps[STEP_ID]outputs.releases_created` will be set properly if you trigger the release at any state of the repo as opposed to the release triggering when you merge the release pull request.

Could someone from the maintainers of this package confirm/deny this?

Otherwise, I'd expect the action to be reproducible at any time. If there's a magical flag that's set only in certain cases, it must be changed, moving the logic of that flag to the commit and tag analyzis instead.

Additional information
No response

I'm not sure that the job outputs steps[STEP_ID]outputs.releases_created will be set properly if you trigger the release at any state of the repo as opposed to the release triggering when you merge the release pull request.

The outputs will be set if the action step creates any releases. The creation of a GitHub release tag is independent of the commit currently at HEAD -- it is looking for merged release pull requests and is tagging the SHA of the merge commit.


Integration needs more than 3 minutes to start

Before you submit a new bug report, please check that

[X] I have read frequently asked questions and limitations

Write your question here
Hi there,
I hope you're doing well.
Is it normal that the integration needs so much time to start?

If not how can I reduce it? I have seven garbage collection helpers running on my instance and also 5 automations to include/exclude some dates.
Thanks a lot and best regards!

Yes, this si normal. These are not time critical, since they only update on date change - on midnight. So the aim is to schedule them and update only when really necessary, to keep it light on the system. So there is a traffic light that only triggers the update when the date changes or the system is started.


Vulnerability roundup 93: lua-5.3.5: 1 advisory [7.5]

search, files

[ ] CVE-2019-6706 CVSSv3=7.5 (nixos-20.03)

Scanned versions: nixos-20.03: 0d0660fde3b.

See also: #96801, #94725, #93999

20.03 is Frozen and EOL.
As such, issue is closed.


[Task] Add unit test cases for configParser utils

Task Description:
Currently, we run unit tests using jest which can be found here.
However, the test cases are not yet comprehensive enough and work can be done to cover more grounds. Specifically for this issue, we hope to add test cases for the configParser utils.
Deliverable(s):
New unit test cases that cover the testing of the configParser.
Additional Context:

The configParser can be found here
An example for messageBuilder can be found here which may serve as a good source for reference

would love to add take this issue

@tjtanjin would love to add take this issue

Go for it!

Hi @tjtanjin , added tests in this PR

Completed with #208


CREO2URDF – Implement recursion in the model tree navigation

Right now creo2urdf can export the urdf of assemblies that contains only parts, it fails if subassemblies are present.
cc @mfussi66 @pattacini

This task is much less trivial than I expected, mainly because when we compute the transform root_H_link we are using the ComponentPath assuming that all the piecies are mounted to the root assembly.
In the iCub asm for example we have

root

lowerbody

root
belt
right_leg

hip
...

left_leg

hip
...

upperbody

...

head
...

When we are reaching a leaf of this graph with the component path we are able to compute the transform w.r.t the parent element in the model tree.
At some point we should concatenate all the transforms in order to have the root_H_link that for "flat" assemblies is straightforward.
This commit still does not work:

b589bfa (#98)

But it has several improvements in the logic of the code.
In any case this change:
--- a/src/creo2urdf/src/Sensorizer.cpp
+++ b/src/creo2urdf/src/Sensorizer.cpp
@@ -40,6 +40,11 @@ void Sensorizer::readSensorsFromConfig(const YAML::Node & config)
         if (s["exportedFrameName"].IsDefined()) {
             exported_frame_name = s["exportedFrameName"].Scalar();
         }
+        std::vector<string> sensor_blobs;
+        if (s["sensorBlobs"].IsDefined())
+        {
+            sensor_blobs = s["sensorBlobs"].as<std::vector<std::string>>();
+        }

         try
         {
@@ -51,7 +56,7 @@ void Sensorizer::readSensorsFromConfig(const YAML::Node & config)
                                 export_frame,
                                 stringToEnum<SensorType>(sensor_type_map, s["sensorType"].Scalar()),
                                 update_rate,
-                                s["sensorBlobs"].as<std::vector<std::string>>() });
+                                sensor_blobs });

has to be added since sensorBlobs is not marked as mandatory, but if you do not specify it for all the sensors the urdf generation fails
cc @mfussi66 @traversaro

There are many more, but in any case, some links are missing from this list, this means that also some joints are missing, and the model seems to be disconnected at several points

For example r/l_hip_pitch are both missing, they should be defined as:
 SIM_SEA_2-5_ROOT_LINK--SIM_SEA_2-5_R_HIP_1
 SIM_SEA_2-5_ROOT_LINK--SIM_SEA_2-5_L_HIP_1

And if I check how it is mounted

The constraint is User defined, it is not pin, and that's why the ElementTreeManager is skipping it.
The constraint is not pin because SIM_SEA_2-5_R_HIP_1 belongs to a different assembly respect SIM_SEA_2-5_ROOT_LINK. (cc @fiorisi @Lawproto @salvi-mattia)

SIM_SEA_2-5_ROOT_LINK--SIM_SEA_2-5_R_HIP_1

Thanks to the help of @salvi-mattia, @mfussi66 and I understood why we are missing all the joints whose parts belong to different subassemblies.
The reason is that we are getting from the elementree of each part the joint information skipping the subassemblies since they does have to be insert in the urdf, but the joint that connects the last part of a subassembly to the first part of the childe subsubassembly (e.g. SIM_SEA_2-5_ROOT_LINK--SIM_SEA_2-5_R_HIP_1) is defined as a pin constraint between that part with the subsubassembly

This is because the first part of a (sub)assembly has to be fixed, and not constrainted to anything.
So a possible solution is that we analyze the elementree also of the subassembly, but we treat the subassembly as its first part.
cc @fiorisi @pattacini

A significant step forward, unfortunately we have still something to fix.
Yesterday we realized that from how a component is assembled into another, when we traverse the elementree of a part, if a joint is present, the first part returned is the parent and the second is the child.
Before for understanding which part was the parent and the child we did a check on the names, but when we retrieve the elementree of a subassembly the name of the owner is not "link", so our method worked with plain assemblies, but the subassemblies broke it.
After this improvement I saw more joints in the resulting urdf, but still some were missing, this was due to the fact that the datum used for assemble had not univoque names (e.g. axis A_1), and since we were using the datum name as key of the joint map this lead to make some joints "hide" others.
Finally I decided to refactor the code in order to use as univoque key of the joint map <parent_name>--<child_name>, this was tough but voila we have a complete model

As you can see I still encountering issues on defining some transforms I don't know if:

The concatenation of transforms between subassembly is wrong
Many(almost all) the links does not have a reference frame defined, then we are using CSYS as fallback and this is problematic?

In any case a big step forward
cc @mfussi66 @pattacini @fiorisi @traversaro

In the latest commit, I managed to fix the transform between a subassembly and child subassembly

I had to refactor a bit the code, the ergocub model is still exported as before.
The only thing I am missing is to fix the axis of the joints that are defined between two links belonging to different subassemblies, but we are close to the goal!

The only thing I am missing is to fix the axis of the joints that are defined between two links belonging to different subassemblies, but we are close to the goal!

Actually, the problems I am facing with the axis are not related to the recursion or subassemblies, are wrong all the axis where the child link (part) as not a linkFrame defined, but CSYS is used as reference frame, but usually the CSYS is outside the part.
For computing the axis vector we do:
axis_unit_vector = csys_H_link_frame.inverse() * axis_unit_vector;

axis_unit_vector is expressed in the CSYS frame, and usually when we have a link_frame, we manage to express the axis vector within the link, unfortunately when the link_frame is not defined CSYS is used insted and then csys_H_link_frame is an identity matrix.
This method does not work with CSYS, or I manage to find another way to retrieve the axis expressed in the link frame even if it is not defined, or we should keep it as limitation.
We are already printing a warning when CSYS is used saying that something could not work in the urdf exprotation

I would like to compute a sort of transform between CSYS and the axis, if I am not wrong the axis defines just a direction so that offset should be applied to the transform parent_frame_H_child_frame?

Actually in iDynTree a iDynTree::Axis is composed by a direction and a offset/position, see https://robotology.github.io/idyntree/classiDynTree_1_1Axis.html . By default the offset/position is zero, but you can set any kind of position you want if the axis is not passing through the origin of the frame.

I would like to compute a sort of transform between CSYS and the axis, if I am not wrong the axis defines just a direction so that offset should be applied to the transform parent_frame_H_child_frame?

Actually in iDynTree a iDynTree::Axis is composed by a direction and a offset/position, see robotology.github.io/idyntree/classiDynTree_1_1Axis.html . By default the offset/position is zero, but you can set any kind of position you want if the axis is not passing through the origin of the frame.

And as offset the medium point of the line could make sense ?

And as offset the medium point of the line could make sense ?

Any point on the line would be fine. The important thing is that the line then passes through the origin of the child frame, to be compliant with URDF constraints when the iDynTree::Model is converted to URDF, see https://github.com/robotology/idyntree/blob/6ba29bd0fa41cac840186e2387f4a6a55beea7c2/src/model_io/codecs/src/URDFModelExport.cpp#L360-L368 . Actually reading the code in https://github.com/robotology/idyntree/blob/6ba29bd0fa41cac840186e2387f4a6a55beea7c2/src/model_io/codecs/src/URDFModelExport.cpp#L360-L368 there may be a bug in iDynTree, even if the offset is non-zero it should be ok as long as the offset is aligned with the axis (i.e. the axis passes through zero).

Right now we define the axis as follows
https://github.com/icub-tech-iit/creo2urdf/blob/e1187abfdb0530d9fa4ed592ba078c085a984627/src/creo2urdf/src/Creo2Urdf.cpp#L239-L242
I changed it trying
dynamic_cast<iDynTree::RevoluteJoint*>(joint_sh_ptr.get())->setAxis(iDynTree::Axis(axis, parent_H_child.getPosition() + axis_offset));

and
dynamic_cast<iDynTree::RevoluteJoint*>(joint_sh_ptr.get())->setAxis(iDynTree::Axis(axis, axis_offset));

where axis_offset is the medium point of the axis:
        axis_offset[0] = ((pend->get(0) + pstart->get(0)) / 2.0) * scale[0];
        axis_offset[1] = ((pend->get(1) + pstart->get(1)) / 2.0) * scale[1];
        axis_offset[2] = ((pend->get(2) + pstart->get(2)) / 2.0) * scale[2];

But in both cases I cannot export the urdf for errors like this one:
[ERROR] URDFModelExport: Impossible to convert joint torso_pitch to a URDF joint without moving the link frame of link torso_1 , because its origin is 1.90735e-10 -0.032 -0.0364

@traversaro this is due to the fact that the ref frame is still CSYS and we cannot move just the axis right?

I elaborate a little bit on the problem above, maybe @traversaro on the math side or @fiorisi @Lawproto on the mech side have an idea of how to solve it because the Mathworks plugin manages to correctly export joints even if only CSYS is defined, so there should be a way to do it.

@Nicogene I would gladly like to help you, unfortunately I am not sure I am understanding the problem. We can meet in person or via Teams if you want.

@traversaro this is due to the fact that the ref frame is still CSYS and we cannot move just the axis right?

As I mentioned in the previous post, there was a bug in the check of the exporter. This was fixed in https://github.com/robotology/idyntree/pull/1188, if that is ok for you I can merge and do a new release of idyntree.

The 12.3.1 idyntree version with the fix was updated in vcpkg: microsoft/vcpkg#39257 .

Great thanks I will try now!

Unfortunately, the @traversaro fix did not solve the problems I am encountering, I applied oldChild_H_newChild both to the parent_h_child transform and to the child_H_geometry for correcly place the meshe, but unfortunately this is the current result

as you can see r_hand seems now correctly placed, but something broke along the kinematic chain.
Since this CSYS issue is not correlated to the make creo2urdf work with assemblies that have subassemblies, I opened a separated issue for that:

#99

I think that #98 can be merged because:

We can manage now subassemblies
The definition of the joints has been improved, now datums with repeated names can be safely used
Several bugfixes + improvements of the quality of life has been added

cc @mfussi66


About the json file of the data split for the 5-fold cross validation

Could you please provide the json file of the data split for the 5-fold cross validation, as I found that the performance varies when using different data split json files, which may lead to unfair comparisons?

Thanks for your attention to our work. We did not conduct 5-fold validation for all of the datasets since most of them contain defined validation splits. For other datasets, we just use the splits defined by nnunet. If you want to compare with our methods, you can just use our json file or use our checkpoints for your splits.


bower support

I used to install rsvp.js with bower, but I can't anymore since "dist" has been removed from the repo. Any plans to add that back in?

Having this same issue with 3.0.17. For someone like me using grunt-wiredep, RSVP doesn't show up as it should because there's no dist/rsvp.js to be found :)

@delta98 @jordanthornquest, can you confirm if this is a still a problem for you?
I just tried and could not repo, but I suspect you have a more specific case that fails.
bower install rsvp
bower rsvp#*                not-cached git://github.com/components/rsvp.js.git#*
bower rsvp#*                   resolve git://github.com/components/rsvp.js.git#*
bower rsvp#*                  download https://github.com/components/rsvp.js/archive/3.0.17.tar.gz
bower rsvp#*                   extract archive.tar.gz
bower rsvp#*                  resolved git://github.com/components/rsvp.js.git#3.0.17
bower rsvp#~3.0.17             install rsvp#3.0.17

Any more info you could provide on a more specific repo case might help.

Bower installation is still failing. Manually changing the "main": "dist/rsvp.js" in bower.json to "main": "rsvp.js" of the rsvp.js bower_component resolves the issue, so I'm assuming just making that change here in the repo is all that needs to happen?

It doesn't seem to be anything special on my end. Doing what @StoatPower suggests fixes my problem, and the bower.json here on the repo seems to be looking for a dist/rsvp.js, which doesn't exist on the bower installed version of rsvp.js.


(WIP) SIL: Force Clang-imported protocol conformances to get deserialized when used.

Code may end up indirectly using a witness table for a Clang-imported type by inlining code that used the conformance from another module, in which case we need to ensure we have a local definition at hand in the inlining module so we can have something to link against independently. This needs to be fixed from both sides:

During serialization, serialize not only witness tables from the current module, but from Clang-imported modules too
During deserialization, when the SILLinker walks a loaded module, ensure that all shared conformances get deserialized, including those from ApplyInsts and inherited/associated type protocol requirements.

Fixes rdar://problem/38687726.

@swift-ci Please test

Build failed
Swift Test OS X Platform
Git Sha - 9b1989dfe52ab521e2f2f94e18730c55afe949c6

Build failed
Swift Test Linux Platform
Git Sha - 9b1989dfe52ab521e2f2f94e18730c55afe949c6

Closing in favor of https://github.com/apple/swift/pull/15590


Adds PartiQL support to aws_dynamodb output

this PR adds support for PartiQL to the aws_dynamodb output. PartiQL a SQL-compatible query language, to select, insert, update, and delete data in Amazon DynamoDB, which would make this output behave similarly to the sql or cassandra outputs.
insert
output:
  aws_dynamodb:
    region: us-east-1
    query: |-
      INSERT INTO FooTable VALUE {
        'foo':'${!json("document.foo")}',
        'bar':'${!json("document.bar")}',
        'baz':'${!meta("kafka_topic")}'
      }

insert with args
output:
  aws_dynamodb:
    region: us-east-1
    query: INSERT INTO FooTable VALUE {'foo':'?','bar':'?','baz':'?'}
    args:
      - S = document.foo
      - S = document.bar
      - S = meta("kafka_topic")

delete
output:
  aws_dynamodb:
    region: us-east-1
    query: DELETE FROM FooTable WHERE 'foo' = '${!json("document.foo")}'

Also how would you feel about this living as a processor type? As an output you'd use it something like this:
output:
  reject: "Send failed due to ${! error() }"
  processors:
    - aws_dynamodb_partiql:
        query: "yo waddup VALUE {'foo': ?, 'bar': ?}"
        args:
          - 'S = this.foo'
          - 'S = this.bar'
    - bloblang: 'root = if !errored() { deleted() }'

@cludden hope you don't mind but I used this branch as a test subject for my new plugins API: https://github.com/Jeffail/benthos/commit/4133f20b5e74700973737d6855c4efee256bd9b1, I've adapted this into a processor as it allows both queries and inserts this way, and I've added an explicit field unsafe_dynamic_query that turns the query field into a dynamic string.
If you'd be happy to use this new processor in lieu of an output then we can close this PR, but I'd say there's room for an output as well for the more granular error/retries/backoff behaviour, in which case I might try this out as a new output using the fresh APIs.

@Jeffail this is awesome, works for me!


release-action: Send notification to our Slack channel

Passing the webhook URL is necessary because GH composite actions don't
support handling secrets.
See also osbuild/release-action#3
[skip ci]

Skip ci does not work with auto-merge. Ninja merging this.


Improve stateful apps

deprecates #239 and handles proposal #248 from @CathPag

Thank you, @iamNoah1. We'll try to review on Friday and provide feedback if needed.

Awesome work @iamNoah1!


Formatting of ModelChain.diode_params in pandas.DataFrame

[x] I am familiar with the contributing guidelines
[ ] Tests added
[ ] Updates entries to docs/sphinx/source/api.rst for API changes.
[x] Adds description and name entries in the appropriate "what's new" file in docs/sphinx/source/whatsnew for all changes. Includes link to the GitHub Issue with :issue:`num` or this Pull Request with :pull:`num`. Includes contributor name and/or GitHub username (link with :ghuser:`user`).
[x] New code is fully documented. Includes numpydoc compliant docstrings, examples, and comments where necessary.
[x] Pull request is nearly complete and ready for detailed review.
[ ] Maintainer: Appropriate GitHub Labels and Milestone are assigned to the Pull Request and linked Issue.

This PR is for changing the type of the attribute ModelChain object diode_params from tuple to pandas.DataFrame. It would standardize the attributes of ModelChain, since all array-like attributes are either pandas.DataFrame or pandas.Series, except diode_params which is a tuple. Moreover it simplifies the use of the diode_params attribute for using it in other simulations (like simuling the direct coupling with an electrical load).

No objection from me, but this is a breaking API change. Not sure if it's worth deprecating or not.

Thanks @tylunel this is a good idea, it links the values for the diode parameters to the inputs via the index. I'm OK proceeding without deprecation. My guess is that those using ModelChain.diode_params (instead of the PVSystem methods and functions) will appreciate having the index to make plotting and slicing easier.

Thanks for your feedbacks.
I feel like there is no relevant test to add on it, and the api.rst is too global for noticing a type change in it. Therefore I checked the check boxs 'test added' and 'Update entries to api.rst' whereas I didn't do it particularly (didn't found a way to remove irrelevant check boxs after PR was pushed).
If you agree on that, my PR is complete. If not I am open to any suggestion!

@wholmgren let's include this in v0.7

@tylunel thanks again!


40273551 - Extract nested code block into a method

Nested code blocks create new scopes where variables declared within are inaccessible from the outside, and their lifespan ends with the block.

Issue Solved : link


How to get all records as an array without iterating in a foreach loop?

Q
A

Version
^9.6

Question
How to get all records as an array without iterating in a foreach loop?
I dont want to do something like this
`
$reader = Reader::createFromPath('/path/to/my/file.csv', 'r');
$records = Statement::create()->process($reader);
foreach ($records as $record) {
$data[] = $record;
}
return $data
`
I am trying to chunk a large file by using the offset and limit functions, and return it to vue.
.. see code.
`$reader = Reader::createFromPath(public_path('/files/imported/'.$request->filename.'.csv'), 'r')->setHeaderOffset(0) ;
$records = Statement::create()->process($reader);
$count = count($records);
$partition = 1;
$limit = 0;
    if( $count >= 3000 )
    {
        $x = 1 . str_repeat("0", strlen($count)-1);
        $partition = $count/$x;
        $limit = $count/$partition;
    }

    $data = array();

    for( $pacer = 0 ; $pacer <= $partition ;  $pacer++)
    {
        $stmt = $pacer == 0 ? (new Statement())->limit($limit) : (new Statement())->offset( sizeof($recs) )->limit($limit);

        $recs = array();
        $recs = $stmt->process($reader);

        //WHAT I WANT
      $data[$pacer] = $recs->getRecords() ;

       /* TAKES TOO LONG
         foreach ($recs as $rec) {
           $data[$pacer][] = $rec;
        }*/
    }

    return $this->safe_json_encode([
        'filename' =>$request->filename,
        'count' => $count,
        'partitions' => $partition,
        'limit' => $limit,
        'data' => $data,
    ]);`

@MND13 thanks for using the library. I must point out that you can get that answer from the documentation website where all return type of the public API are given/explain. Just search the PHP documentation for how to convert an iterator to an array.


Update Composer dependencies (2024-03-21-00-10)

Visual regression test passed!
View the visual regression test report


[SC-933] Various registry in Curve

Codecov Report
Attention: 13 lines in your changes are missing coverage. Please review.

Files
Coverage Δ

contracts/oracles/CurveOracle.sol
80.76% <75.92%> (-12.57%)
:arrow_down:

:loudspeaker: Thoughts on this report? Let us know!.


Fixing exception in StreamBufferingEncoderTest.

Motivation:
NPE doesn't cause the tests to fail but should get fixed.
Modifications:
Modified the StreamBufferingEncoderTest to mock the ctx to return a promise.
Result:
Fixes #3905

@nmittler seems like there is still a leak:
http://clinker.netty.io/jenkins/job/netty-pullreqs/1312/console
Could you please check ?

@normanmaurer weird, that leak doesn't show up when I run locally.  Anyway, it should be fixed now.

@nmittler did you run with "-P" and also a few times ?

@nmittler - Should we also release the ByteBuf empty = .. in endStreamDoesNotFailBufferedStream test?

@normanmaurer What is -P? is that the same as -Dio.netty.leakDetectionLevel=paranoid?

@normanmaurer @Scottmitch PTAL ... I've cleaned up the way we're releasing buffers. Looking at the build on jenkins I think we're good now.

@nmittler - I think @normanmaurer meant -Pleak which activates the paranoid leak profile as you indicated. See https://github.com/netty/netty/blob/master/pom.xml#L72.

@Scottmitch ah that's a nice shorthand ... good to know :)

@nmittler please address @Scottmitch 's comment , squash and cherry-pick. Thanks!

Cherrypicked into master (b5337ab) and 4.1 (b39223e)


US 1583733 Add missing language IDs - 21

US 1583733 - Fix CATS P1 issues by adding missing language IDs to code blocks.

Used "console" for all Framework tool syntax and command examples.
Used "il" for IL code examples.

I'll merge your PR now, @v-thpra. Thanks for the changes.


Error 400: Bad Request

Hello - I am attempting to use this Power BI PBIT file. When I enter my Log Analytics Workspace Id and attempt to load data, I get a Error 400: Bad Request error. This is occurring on the Suboperation - Query step
When I paste the URL it is attempting to execute in my browser, I see this:
{"error":{"message":"Valid authentication was not provided","code":"AuthorizationRequiredError","correlationId":"8055813b-9e2a-4a5c-b316-33a2394294bb"}}
I am never prompted for any sort of authentication. How do I get around this?

I'm having similar trouble with the template app from the market within the service. Auth must've changed in the last week and the app / this template need to be updated... I was going to download this template and verify, but will wait instead...

Hello - I am attempting to use this Power BI PBIT file. When I enter my Log Analytics Workspace Id and attempt to load data, I get a Error 400: Bad Request error. This is occurring on the Suboperation - Query step
When I paste the URL it is attempting to execute in my browser, I see this:
{"error":{"message":"Valid authentication was not provided","code":"AuthorizationRequiredError","correlationId":"8055813b-9e2a-4a5c-b316-33a2394294bb"}}
I am never prompted for any sort of authentication. How do I get around this?

I'm seeing the same issue when setting up the app. I tried to download the template from this GIT and reconfigure but I received the same error. Could it be an update is causing an error in the Kusto query?

Through debugging the kusto code it seems the "PowerBIDatasetsWorkspace" table in the log analytics workspace no longer has the "WorkspaceId" and "WorkspaceName" fields. I was able to get the report working by deleting the references to these fields in each of the kusto queries
This code returned an error while debugging in the log analytics workspace window
PowerBIDatasetsWorkspace | where TimeGenerated >= datetime("7-11-2022") and TimeGenerated < datetime("7-12-2022") | where (OperationName == 'AggregateTableRewriteQuery')  | extend TextDataHash = hash(EventText) | extend DurationMs = coalesce(DurationMs, 0) | extend User = User | extend ExecutingUser = ExecutingUser | distinct ApplicationName, CpuTimeMs, ArtifactId, ArtifactName, ArtifactKind, DatasetMode, DurationMs, EventText, ExecutingUser, OperationDetailName, OperationName, PremiumCapacityId, SourceSystem, Status, StatusCode, TenantId, TextDataHash, TimeGenerated, Type, User, XmlaRequestId, XmlaSessionId, XmlaObjectPath, _ResourceId, _SubscriptionId | project ApplicationName, CpuTimeMs, DatasetId = ArtifactId, Dataset = ArtifactName, ArtifactKind, DatasetMode, ['Duration (ms)'] = DurationMs, EventText, ExecutingUser, OperationDetailName, OperationName, PremiumCapacityId, SourceSystem, Status, StatusCode, TenantId, TextDataHash, TimeGenerated, Type, User, WorkspaceId, WorkspaceName, XmlaRequestId, XmlaSessionId, XmlaObjectPath, ResourceId = _ResourceId, SubscriptionId = _SubscriptionId, StartTime = TimeGenerated
while this executes without error
PowerBIDatasetsWorkspace | where TimeGenerated >= datetime("7-11-2022") and TimeGenerated < datetime("7-12-2022") | where (OperationName == 'AggregateTableRewriteQuery')  | extend TextDataHash = hash(EventText) | extend DurationMs = coalesce(DurationMs, 0) | extend User = User | extend ExecutingUser = ExecutingUser | distinct ApplicationName, CpuTimeMs, ArtifactId, ArtifactName, ArtifactKind, DatasetMode, DurationMs, EventText, ExecutingUser, OperationDetailName, OperationName, PremiumCapacityId, SourceSystem, Status, StatusCode, TenantId, TextDataHash, TimeGenerated, Type, User, XmlaRequestId, XmlaSessionId, XmlaObjectPath, _ResourceId, _SubscriptionId | project ApplicationName, CpuTimeMs, DatasetId = ArtifactId, Dataset = ArtifactName, ArtifactKind, DatasetMode, ['Duration (ms)'] = DurationMs, EventText, ExecutingUser, OperationDetailName, OperationName, PremiumCapacityId, SourceSystem, Status, StatusCode, TenantId, TextDataHash, TimeGenerated, Type, User, XmlaRequestId, XmlaSessionId, XmlaObjectPath, ResourceId = _ResourceId, SubscriptionId = _SubscriptionId, StartTime = TimeGenerated

Yes, I found the same thing.
https://community.powerbi.com/t5/Service/Power-BI-Log-Analytics-for-Analysis-Services-Engine-Refresh/m-p/2619434/highlight/true#M165540
You should raise a support ticket. (Which is what I've done now.)

Is the template app going to be updated? https://appsource.microsoft.com/product/power-bi/pbi_pcmm.powerbiloganalyticsforasengine

How does the template app in Appsource differ from what is in Github?
From: Stephen Maguire @.>
Sent: Wednesday, July 20, 2022 5:44 PM
To: microsoft/PowerBI-LogAnalytics-Template-Reports @.>
Cc: Randy Minder @.>; Author @.>
Subject: Re: [microsoft/PowerBI-LogAnalytics-Template-Reports] Error 400: Bad Request (Issue #5)
CAUTION:
This email originated from outside FirstKey Homes. Do not click links or open attachments unless you recognize the sender and are expecting the information
Is the template app going to be updated? https://appsource.microsoft.com/product/power-bi/pbi_pcmm.powerbiloganalyticsforasenginehttps://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fappsource.microsoft.com%2Fproduct%2Fpower-bi%2Fpbi_pcmm.powerbiloganalyticsforasengine&data=05|01|rminder%40firstkeyhomes.com|13edf86bdcbc4dde1f4108da6a98ea5f|aa33e5f200dd407eb3378cb00f28c25d|0|0|637939502256614343|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=7x26%2B2LwXc5R5Xp0hia9K0dJNj3S%2B03mr2938wz8rpA%3D&reserved=0

Reply to this email directly, view it on GitHubhttps://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmicrosoft%2FPowerBI-LogAnalytics-Template-Reports%2Fissues%2F5%23issuecomment-1190787106&data=05|01|rminder%40firstkeyhomes.com|13edf86bdcbc4dde1f4108da6a98ea5f|aa33e5f200dd407eb3378cb00f28c25d|0|0|637939502256614343|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=Yimd4Ow3AXeVovowH1LFFpDeXDW%2BGdfbmciWgObQFC4%3D&reserved=0, or unsubscribehttps://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAXVPU7DWCUO5SBECVVXBRS3VVBXI3ANCNFSM52J4WYVQ&data=05|01|rminder%40firstkeyhomes.com|13edf86bdcbc4dde1f4108da6a98ea5f|aa33e5f200dd407eb3378cb00f28c25d|0|0|637939502256614343|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=qfuCiMDN%2F7RK3zW3WhkbgiYyBHWkXs7J9vMYZttXD5M%3D&reserved=0.
You are receiving this because you authored the thread.Message ID<EMAIL_ADDRESS>

How does the template app in Appsource differ from what is in Github? From: Stephen Maguire @.> Sent: Wednesday, July 20, 2022 5:44 PM To: microsoft/PowerBI-LogAnalytics-Template-Reports @.> Cc: Randy Minder @.>; Author @.> Subject: Re: [microsoft/PowerBI-LogAnalytics-Template-Reports] Error 400: Bad Request (Issue #5) CAUTION: This email originated from outside FirstKey Homes. Do not click links or open attachments unless you recognize the sender and are expecting the information Is the template app going to be updated? https://appsource.microsoft.com/product/power-bi/pbi_pcmm.powerbiloganalyticsforasenginehttps://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fappsource.microsoft.com%2Fproduct%2Fpower-bi%2Fpbi_pcmm.powerbiloganalyticsforasengine&data=05|01|rminder%40firstkeyhomes.com|13edf86bdcbc4dde1f4108da6a98ea5f|aa33e5f200dd407eb3378cb00f28c25d|0|0|637939502256614343|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=7x26%2B2LwXc5R5Xp0hia9K0dJNj3S%2B03mr2938wz8rpA%3D&reserved=0 - Reply to this email directly, view it on GitHubhttps://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmicrosoft%2FPowerBI-LogAnalytics-Template-Reports%2Fissues%2F5%23issuecomment-1190787106&data=05|01|rminder%40firstkeyhomes.com|13edf86bdcbc4dde1f4108da6a98ea5f|aa33e5f200dd407eb3378cb00f28c25d|0|0|637939502256614343|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=Yimd4Ow3AXeVovowH1LFFpDeXDW%2BGdfbmciWgObQFC4%3D&reserved=0, or unsubscribehttps://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAXVPU7DWCUO5SBECVVXBRS3VVBXI3ANCNFSM52J4WYVQ&data=05|01|rminder%40firstkeyhomes.com|13edf86bdcbc4dde1f4108da6a98ea5f|aa33e5f200dd407eb3378cb00f28c25d|0|0|637939502256614343|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=qfuCiMDN%2F7RK3zW3WhkbgiYyBHWkXs7J9vMYZttXD5M%3D&reserved=0. You are receiving this because you authored the thread.Message ID<EMAIL_ADDRESS>
It isn't working either - same error.

@bstar92 Is the template app going to be updated? https://appsource.microsoft.com/product/power-bi/pbi_pcmm.powerbiloganalyticsforasengine

Hi, the template App will also be updated shortly to reflect the issue.


biograf does not handle RMKSA rejection

on Chrome for Android, if you go to the EME video and attempt to play the content, you will be prompted (if the first time).
0. on chrome for Android try the following

try to play protected content
get prompted - "biograf-155113.appspot.com wants to unique identify your device to play protected content. learn more
[BLOCK][ALLOW]
click [BLOCK]
content never plays

the problem is this setting is persisted, so next time into the site, you don't get a prompt anymore, the content just never plays.
RECOMMENDED :
-update biograf PWA to handle this and provide guidance to user. if set to BLOCKed for the site, RMKSA promise will be rejected when requesting com.widevine.alpha.

On this._player.load(...), Shaka Player returns a 6001 error code which sadly doesn't tell me if the RMKSA call failed only because user blocked it, it could be different reasons.
This is why I'm advocating offline for an alternative solution to this prompt.


improvement: Make arrowheads keybinds color accessible on dark mode

Before:

After

Fixes #2719

Thank you!

Thank you!


Add social media to digi hub

DESC

new social media profiles were added since last jour fixe
add to footer (+somewhere else?)

TODOs

[x] add FB : https://www.facebook.com/ReInHerit/
[x] add TT: https://www.tiktok.com/@reinherit_
[x] add Twitter: https://mobile.twitter.com/reinherit_
[x] add linkedIn linkedin.com/company/reinherit-h2020/
[x] instagram
[ ] youtube 🔴 not available?
[x] eu project page? https://www.reinherit.eu/

implemented


Gettext constant

Is there no better way than to have gettext as a constant function?
This forces it to be injected anywhere its to be used, and all it does is serve as a marker...
For example if i have text in constant object that needs translation if forces me to make that constant a service just so i can inject gettext.
Also is this not an unecessary overhead for nothing... since you are calling a function that returns the exact parameter you are passing in?

If I'm not mistaken, any function named gettext should work with the
extractor. So you should be able to write your own.
On Thu, 19 Nov 2015 8:28 pm MigFerreira<EMAIL_ADDRESS>wrote:

Is there no better way than to have gettext as a constant function?
This forces it to be injected anywhere its to be used, and all it does is
serve as a marker...
For example if i have text in constant object that needs translation if
forces me to make that constant a service just so i can inject gettext.
Also is this not an unecessary overhead for nothing... since you are
calling a function that returns the exact parameter you are passing in?
—
Reply to this email directly or view it on GitHub
https://github.com/rubenv/angular-gettext/issues/244.

In terms of runtime overhead the effect should be zero: any decent
JavaScript implementation will recognize that this is a noop and inline it.
On Nov 19, 2015 19:31, "Rickert Mulder"<EMAIL_ADDRESS>wrote:

If I'm not mistaken, any function named gettext should work with the
extractor. So you should be able to write your own.
On Thu, 19 Nov 2015 8:28 pm MigFerreira<EMAIL_ADDRESS>wrote:

Is there no better way than to have gettext as a constant function?
This forces it to be injected anywhere its to be used, and all it does is
serve as a marker...
For example if i have text in constant object that needs translation if
forces me to make that constant a service just so i can inject gettext.
Also is this not an unecessary overhead for nothing... since you are
calling a function that returns the exact parameter you are passing in?
—
Reply to this email directly or view it on GitHub
https://github.com/rubenv/angular-gettext/issues/244.

—
Reply to this email directly or view it on GitHub
https://github.com/rubenv/angular-gettext/issues/244#issuecomment-158148247
.

Think im going to create my only global gettext noop func.
Thanks for the quick and clear answers.


async_read_some trick to reduce instantiations

Instead of using post, a composed operation can use async_read_some with a zero-length buffer sequence. This will reduce the number of template instantiations, resulting in smaller code, for the case where the composed operation is already calling async_read_some elsewhere.

We aren't doing this anymore

I'm glad. It seemed like a leaky hack that could throw off certain kinds of streams (think of decompressing streams)


Instant Query Params do not have type in generated OpenApi Document

Actual behavior (the bug)
A generated OpenApi Spec with a java.time.Instant query param contains:
{
  "name":"date",
  "in":"query"
}

Expected behavior
I would expect the json to contain:
{
  "name":"date",
  "in":"query",
  "type": "string",
  "format": "date-time"
}

To Reproduce
Generate an OpenApi spec using this setup.
val spec = document()
  .queryParam<java.time.Instant>("date")

Javalin.create()
  .get("/", documented(spec, { ctx -> ctx.status(200) }))

Additional context
For now, I've been using a string to contain the query param, but this doesn't let me take advantage of the support for date objects in swagger-ui and swagger-codegen.

@TobiasWalle is this functionality something that should be expected?

This may be related to https://github.com/tipsy/javalin/issues/764. But I will check this tomorrow.

@TobiasWalle Did you look into this?

@tipsy My proposed solution in #764 should help with this too.
We should only make it simpler to add Jackson plugins to the OpenApi Mapper.
If I have time, I'm going to look into it next week.

Great. I'll still release tomorrow, I'll just do another one when this is done :)

@tipsy Perfect, thank you :)

@tipsy The Instant serialisation was actually broken. Ich created a fix in https://github.com/tipsy/javalin/pull/801
There is probably a better way to resolve the schema, but this will fix this for now.

Thanks @TobiasWalle, very happy that it resolved both issues!


Refactor tasks into shim roles

I also included https://github.com/geerlingguy/drupal-vm/pull/1327/commits/e84af012df98ef077b458cad662810769688796a in this PR (sorry) https://github.com/beetboxvm/beetbox/pull/359. I can remove that commit and open up a separate PR if you prefer an easier read.
Tested:

[x] Ubuntu 16.04 with PHP 5.6 -> re-provision with 7.1
[x] Ubuntu 16.04 with PHP 7.1 -> re-provision with 5.6
[x] DRUPALVM_ANSIBLE_TAGS=php vagrant provision
[x] DRUPALVM_ANSIBLE_TAGS=xdebug vagrant provision
[x] DRUPALVM_ANSIBLE_TAGS=database vagrant provision
[x] DRUPALVM_ANSIBLE_TAGS=webserver vagrant provision

Changing the PHP version with
DRUPALVM_ANSIBLE_TAGS=php vagrant provision

works, but you also have to:
rm -rf sites/default/files/php/twig/*

Heh, you've created quite the backlog of Travis CI jobs :)
Thanks so much for the help—main suggestion would be you can update the 'Author' section to mention you instead of me (or if you insist, in addition to), since (a) you did this refactoring work, and (b) I think you probably wrote more of the tasks that found their ways into these particular roles!


Hotfix deletes

Bug Fixes

Improve error message and introduce logging when user deletion failed (134273227)
Allow users to be soft deleted when they have foreign key dependencies set (134273227)
Add missing default config key (134520549)

@wnowicki Ready when you / CI are

pre-review: OK 👍
@EvanBarbour3 please review and proceed

Tested soft delete:

Cannot log back in with the deleted user (expected)
User still exists in the database, with the deleted_at column populated

Tested missing config key:

Works 👍


CI: Potential deadlock from xDS

It seems the following test run got a potential deadlock:
https://jenkins.cilium.io/job/Cilium-PR-Ginkgo-Tests-K8s/2635/
possible reasons:
2019-11-14T16:21:43.806898899Z level=debug msg="current resource version is 53, waiting for it to become > 53" subsys=xds xdsAckedVersion=53 xdsClientNode=<IP_ADDRESS> xdsTypeURL=type.googleapis.com/cilium.NetworkPolicyHosts
2019-11-14T16:21:44.179255276Z level=debug msg="xDS stream canceled" error="rpc error: code = Canceled desc = context canceled" subsys=xds xdsStreamID=1
2019-11-14T16:21:44.179279825Z level=debug msg="xDS stream context canceled" error="context canceled" subsys=xds xdsStreamID=2
2019-11-14T16:21:44.179283601Z level=debug msg="xDS stream canceled" error="rpc error: code = Canceled desc = context canceled" subsys=xds xdsStreamID=2
2019-11-14T16:21:44.17928656Z level=info msg="xDS stream closed" subsys=xds xdsStreamID=1
2019-11-14T16:21:44.179289398Z level=info msg="Envoy: Closing access log connection" subsys=envoy-manager
2019-11-14T16:21:44.316151762Z level=debug msg="xDS stream canceled" error="rpc error: code = Canceled desc = context canceled" subsys=xds xdsStreamID=5
2019-11-14T16:21:44.316171882Z level=debug msg="xDS stream context canceled" error="context canceled" subsys=xds xdsStreamID=6
2019-11-14T16:21:44.316175745Z level=debug msg="xDS stream canceled" error="rpc error: code = Canceled desc = context canceled" subsys=xds xdsStreamID=6
2019-11-14T16:21:44.316178705Z level=debug msg="xDS stream context canceled" error="context canceled" subsys=xds xdsStreamID=5

2019-11-14T16:26:54.586355298Z POTENTIAL DEADLOCK:
2019-11-14T16:26:54.586386802Z Previous place where the lock was grabbed
2019-11-14T16:26:54.586392915Z goroutine 34318 lock 0xc0010964d0
2019-11-14T16:26:54.586445613Z /go/src/github.com/cilium/cilium/pkg/lock/lock_debug.go:91 lock.(*internalMutex).Lock ??? <<<<<
2019-11-14T16:26:54.586455286Z /go/src/github.com/cilium/cilium/pkg/endpoint/policy.go:261 endpoint.(*Endpoint).regenerate ???
2019-11-14T16:26:54.586486042Z /go/src/github.com/cilium/cilium/pkg/endpoint/events.go:57 endpoint.(*EndpointRegenerationEvent).Handle ???
2019-11-14T16:26:54.586494044Z /go/src/github.com/cilium/cilium/pkg/eventqueue/eventqueue.go:256 eventqueue.(*EventQueue).Run.func1 ???
2019-11-14T16:26:54.586498859Z /usr/local/go/src/sync/once.go:44 sync.(*Once).Do ???
2019-11-14T16:26:54.586503137Z
2019-11-14T16:26:54.586506975Z Have been trying to lock it again for more than 5m10s
2019-11-14T16:26:54.58651082Z goroutine 42146 lock 0xc0010964d0
2019-11-14T16:26:54.586547653Z /go/src/github.com/cilium/cilium/pkg/lock/lock_debug.go:91 lock.(*internalMutex).Lock ??? <<<<<
2019-11-14T16:26:54.586556356Z /go/src/github.com/cilium/cilium/daemon/endpoint.go:593 main.(*Daemon).deleteEndpointQuiet ???
2019-11-14T16:26:54.586572849Z /go/src/github.com/cilium/cilium/daemon/endpoint.go:551 main.(*Daemon).deleteEndpoint ???
2019-11-14T16:26:54.586577492Z /go/src/github.com/cilium/cilium/daemon/endpoint.go:678 main.(*Daemon).DeleteEndpoint ???
2019-11-14T16:26:54.586580993Z /go/src/github.com/cilium/cilium/daemon/endpoint.go:694 main.(*deleteEndpointID).Handle ???
2019-11-14T16:26:54.586584905Z /go/src/github.com/cilium/cilium/api/v1/server/restapi/endpoint/delete_endpoint_id.go:65 endpoint.(*DeleteEndpointID).ServeHTTP ???
2019-11-14T16:26:54.586588706Z /go/src/github.com/cilium/cilium/vendor/github.com/go-openapi/runtime/middleware/operation.go:28 middleware.NewOperationExecutor.func1 ???
2019-11-14T16:26:54.586593075Z /usr/local/go/src/net/http/server.go:1995 http.HandlerFunc.ServeHTTP ???
2019-11-14T16:26:54.58662697Z /go/src/github.com/cilium/cilium/vendor/github.com/go-openapi/runtime/middleware/router.go:76 middleware.NewRouter.func1 ???
2019-11-14T16:26:54.586635138Z /usr/local/go/src/net/http/server.go:1995 http.HandlerFunc.ServeHTTP ???
2019-11-14T16:26:54.586639234Z /go/src/github.com/cilium/cilium/vendor/github.com/go-openapi/runtime/middleware/redoc.go:72 middleware.Redoc.func1 ???
2019-11-14T16:26:54.586643052Z /usr/local/go/src/net/http/server.go:1995 http.HandlerFunc.ServeHTTP ???
2019-11-14T16:26:54.586646718Z /go/src/github.com/cilium/cilium/vendor/github.com/go-openapi/runtime/middleware/spec.go:46 middleware.Spec.func1 ???
2019-11-14T16:26:54.586650648Z /usr/local/go/src/net/http/server.go:1995 http.HandlerFunc.ServeHTTP ???
2019-11-14T16:26:54.586654438Z /go/src/github.com/cilium/cilium/pkg/metrics/middleware.go:69 metrics.(*APIEventTSHelper).ServeHTTP ???
2019-11-14T16:26:54.58665829Z /go/src/github.com/cilium/cilium/pkg/api/apipanic.go:53 api.(*APIPanicHandler).ServeHTTP ???
2019-11-14T16:26:54.586661959Z /usr/local/go/src/net/http/server.go:2774 http.serverHandler.ServeHTTP ???
2019-11-14T16:26:54.586665421Z /usr/local/go/src/net/http/server.go:1878 http.(*conn).serve ???
2019-11-14T16:26:54.586668934Z
2019-11-14T16:26:54.600750122Z Here is what goroutine 34318 doing now
2019-11-14T16:26:54.600768955Z goroutine 34318 [select, 5 minutes]:
2019-11-14T16:26:54.600772452Z github.com/cilium/cilium/pkg/completion.(*WaitGroup).Wait(0xc001a01d10, 0x0, 0x0)
2019-11-14T16:26:54.600775158Z 	/go/src/github.com/cilium/cilium/pkg/completion/completion.go:104 +0x190
2019-11-14T16:26:54.600777913Z github.com/cilium/cilium/pkg/endpoint.(*Endpoint).WaitForProxyCompletions(0xc0010962c0, 0xc001a01d10, 0x541a700, 0x0)
2019-11-14T16:26:54.600780487Z 	/go/src/github.com/cilium/cilium/pkg/endpoint/endpoint.go:402 +0x1d3
2019-11-14T16:26:54.600782976Z github.com/cilium/cilium/pkg/endpoint.(*Endpoint).regenerateBPF(0xc0010962c0, 0xc001bd0280, 0x0, 0xc0023d3d00, 0x0, 0x0)
2019-11-14T16:26:54.600785563Z 	/go/src/github.com/cilium/cilium/pkg/endpoint/bpf.go:439 +0x640
2019-11-14T16:26:54.600788042Z github.com/cilium/cilium/pkg/endpoint.(*Endpoint).regenerate(0xc0010962c0, 0xc001bd0280, 0x0, 0x0)
2019-11-14T16:26:54.600798344Z 	/go/src/github.com/cilium/cilium/pkg/endpoint/policy.go:335 +0xb29
2019-11-14T16:26:54.600800989Z github.com/cilium/cilium/pkg/endpoint.(*EndpointRegenerationEvent).Handle(0xc0017b9a30, 0xc0017c04e0)
2019-11-14T16:26:54.600803513Z 	/go/src/github.com/cilium/cilium/pkg/endpoint/events.go:57 +0x467
2019-11-14T16:26:54.600805909Z github.com/cilium/cilium/pkg/eventqueue.(*EventQueue).Run.func1()
2019-11-14T16:26:54.600808343Z 	/go/src/github.com/cilium/cilium/pkg/eventqueue/eventqueue.go:256 +0x150
2019-11-14T16:26:54.600810893Z sync.(*Once).Do(0xc0019b2fd8, 0xc001c88740)
2019-11-14T16:26:54.60081333Z 	/usr/local/go/src/sync/once.go:44 +0xb3
2019-11-14T16:26:54.600815835Z created by github.com/cilium/cilium/pkg/eventqueue.(*EventQueue).Run
2019-11-14T16:26:54.600818393Z 	/go/src/github.com/cilium/cilium/pkg/eventqueue/eventqueue.go:245 +0xaa
2019-11-14T16:26:54.600820886Z Other goroutines holding locks:
2019-11-14T16:26:54.600823332Z goroutine 34318 lock 0xc001a01d28
2019-11-14T16:26:54.600864891Z /go/src/github.com/cilium/cilium/pkg/lock/lock_debug.go:91 lock.(*internalMutex).Lock ??? <<<<<
2019-11-14T16:26:54.600871184Z /go/src/github.com/cilium/cilium/pkg/completion/completion.go:98 completion.(*WaitGroup).Wait ???
2019-11-14T16:26:54.600873846Z /go/src/github.com/cilium/cilium/pkg/endpoint/endpoint.go:402 endpoint.(*Endpoint).WaitForProxyCompletions ???
2019-11-14T16:26:54.600876404Z /go/src/github.com/cilium/cilium/pkg/endpoint/bpf.go:439 endpoint.(*Endpoint).regenerateBPF ???
2019-11-14T16:26:54.600878843Z /go/src/github.com/cilium/cilium/pkg/endpoint/policy.go:335 endpoint.(*Endpoint).regenerate ???
2019-11-14T16:26:54.600881336Z /go/src/github.com/cilium/cilium/pkg/endpoint/events.go:57 endpoint.(*EndpointRegenerationEvent).Handle ???
2019-11-14T16:26:54.600883784Z /go/src/github.com/cilium/cilium/pkg/eventqueue/eventqueue.go:256 eventqueue.(*EventQueue).Run.func1 ???
2019-11-14T16:26:54.600886263Z /usr/local/go/src/sync/once.go:44 sync.(*Once).Do ???
2019-11-14T16:26:54.60088869Z
2019-11-14T16:26:54.600891123Z
2019-11-14T16:26:54.60089342Z

PR where the test was seen:
https://github.com/cilium/cilium/pull/9610
Full archive: (See logs from test_results/111-/K8sServicesTest_Checks_service_across_nodes_with_L7_policy_Tests_NodePort_with_L7_Policy)
test_results_Cilium-PR-Ginkgo-Tests-K8s_2635_BDD-Test-k8s-1.11.zip

Just based on the above it looks like Envoy is not responding with neither ACK nor NACK, which stalls the regeneration of the endpoint, which then blocks the deletion of the endpoint. The reason for Envoy not responding seems to be that the listener has been removed, which happens when the last redirect is removed.
It is possible that this is simply a race condition between xDS N/ACK and listener removal that typically does not fire, but has here. Will verify if this is the case.

Potentially fixed already #9635


Install-Module doest not work

PackageManagement\Install-Package : No match was found for the specified search criteria and module name 'PSYaml'. Try Get-PSRepository to see all available registered module repositories.
Getting this when trying to install the module

Documentation should be updated, then.


chore(deps): update docker.io/kiwigrid/k8s-sidecar docker tag to v1.22.1

This PR contains the following updates:

Package
Update
Change

docker.io/kiwigrid/k8s-sidecar
patch
1.22.0 -> 1.22.1

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.

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

This PR has been generated by Renovate Bot.

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


Add a switch to scope node groups to a single subnet

Currently node groups are created with all the subnets that are passed in via subnet_ids. This causes issues when using Cluster Autoscaler and running stateful workloads backed by EBS volumes, as the EBS volumes are AZ locked. Having node group scoped to a single subnet is also recommended by AWS when working with stateful workloads.
The module currently does check to see if each value in the eks_managed_node_groups has a subnet_id field but it's somewhat difficult to generate the correct data structure downstream of the module.
The required data structure for creating 3 node groups that only have a single subnet associated.
`managed_node_groups =
{
t3medium-a = {
instance_types = [
"t3.medium",
"t3a.medium",
]
labels = {
instance_family = "t3x.medium"
type = "spot"
}
subnet_ids = [
"a",
]
}
t3medium-b = {
instance_types = [
"t3.medium",
"t3a.medium",
]
labels = {
instance_family = "t3x.medium"
type = "spot"
}
subnet_ids = [
"b",
]
}
t3medium-c = {
instance_types = [
"t3.medium",
"t3a.medium",
]
labels = {
instance_family = "t3x.medium"
type = "spot"
}
subnet_ids = [
"c",
]
}
}
I want to seperate subnet in nodegroups , but the solution below does'nt work for me. Terraform tell me "merge" failed: arguments must be maps or objects, got "tuple".
eks_managed_node_groups = merge([
for subnet_id in local.subnet_ids : {
for node_group_name, node_group_config in var.eks_managed_node_groups :
format("%s-%s", node_group_name, subnet_id) => {
instance_types = node_group_config.instance_types
labels = node_group_config.labels
subnet_ids = [subnet_id]
}
}
]...).
Terraform merge function cannot work in eks_managed_node_groups , because it is a map.

its very hard to tell what your configuration is doing since its not formatted - but you should be able to pass in a single subnet ID for subnet_ids in the nodegroup to restrict the nodegroup to that one subnet

I just want to generate the configuration dynamically.


Failed to load the ionide-webview package

[Enter steps to reproduce below:]

Update to version 1.0.2 of ionide-webview
Start Atom

Atom Version: 1.1.0
System: Mac OS X 10.10.5
Thrown From: ionide-webview package, v1.0.2
Stack Trace
Failed to load the ionide-webview package
At Unrecognised input in ~/.atom/packages/ionide-webview/styles/core.less:23:2

LessError: Unrecognised input
  at ~/.atom/packages/ionide-webview/styles/core.less:23:2

Commands

Config
{
  "core": {
    "themes": [
      "seti-ui",
      "visual-studio-dark-syntax"
    ],
    "projectHome": "~/Code/",
    "ignoredNames": [
      ".DS_Store",
      ".git",
      "*.pyc",
      "__pycache__",
      "__init__.py",
      "__main__.py"
    ],
    "excludeVcsIgnoredPaths": false,
    "disabledPackages": [
      "atom-innerspace",
      "atom-sharp"
    ]
  }
}

Installed Packages
# User
atom-jade, v0.3.0
atom-jinja2, v0.5.0
atom-python-debugger, v0.3.4
atom-yeoman, v0.3.15
build, v0.48.0
color-picker, v2.0.13
compare-files, v0.6.2
file-icons, v1.6.11
ionide-fake, v1.2.2
ionide-fsharp, v1.4.5
ionide-fsi, v1.0.9
ionide-installer, v1.3.0
ionide-paket, v2.2.2
ionide-webview, v1.0.2
ionide-yeoman, v1.0.2
json-schema, v0.1.15
language-batch, v0.3.3
language-diff, v0.3.1
language-fish-shell, v1.0.2
language-nginx, v0.6.1
language-powershell, v2.1.0
language-restructuredtext, v0.9.0
language-shade, v0.0.1
line-diff-details, v1.1.3
line-ending-converter, v1.3.2
linter, v1.10.0
linter-pylint, v1.0.3
linter-xmllint, v0.0.7
python-jedi, v0.3.4
rst-preview, v1.3.0
rst-preview-pandoc, v0.1.11
set-syntax, v0.3.0
seti-ui, v0.8.1
tabs-to-spaces, v0.11.1
visual-studio-dark-syntax, v0.1.0

# Dev
No dev packages

Introduced in latest version?
CC: @jeroldhaas

same here on OSX 10.11.1 after today's update

Fixed in 1.0.3

Thanks for the quick turnaround and all your efforts on this project!

I thought I'd added that semi-colon, but it appears I'd missed it or maybe changed it after I'd committed.
Sorry for this, and ref #5 ...

Just to roundtrip it: It's fixed for me by 1.0.3!


Diff gutter

This PR adds a diff indicator gutter that updates as you type, is completely managed by Micro yet can be controlled by plugins:

Background
The VCS diff plugin does not work with the current version of Micro, but that is not the only problem. Like its cousin vim-gitgutter, it shells out to git diff, parses the output, and then sets gutter markers in Micro, which is messy and slow. As a result, the plugin only shows the diff when it is explicitly invoked, and does not update until it is invoked again.
Solution
This PR takes a different approach by making diffing a first-class function provided by Micro. Plugins only need to set a "diff base", i.e. the text that the buffer is to be diffed against. Everything else, including (re)computing the diff when required and rendering the gutter, is handled automatically by Micro.
This makes creating a Git diff plugin stupidly simple:
VERSION = "1.0.0"

local os = import("os")
local filepath = import("path/filepath")
local shell = import("micro/shell")

function onBufferOpen(buf)
	if (not buf.Type.Scratch) and (buf.Path ~= "") then
		-- check that file exists
		local _, err = os.Stat(buf.AbsPath)
		if err == nil then
			local dirName, fileName = filepath.Split(buf.AbsPath)
			local diffBase, err = shell.ExecCommand("git", "-C", dirName, "show", "HEAD:./" .. fileName)
			if err ~= nil then
				diffBase = buf:Bytes()
			end
			buf:SetDiffBase(diffBase)
		end
	end
end

Only once, when opening the buffer, does this shell out to Git in order to retrieve the contents of the file from the latest revision. The file system is never again touched afterwards, and in fact the plugin is not involved at all anymore. If Git is not available, or the file is not in Git, diffing falls back to using the file as saved to disk as a base, which matches the behavior of Sublime Text.
I have added this as a default plugin since I imagine that most users would want it and Atom, VSCode, and Sublime all provide this functionality by default as well. Of course, it is trivial to adapt this to other version control systems.
Performance
go-diff is absurdly fast. Computing the full diff between two buffers with 10,000 lines each typically takes only about 15 milliseconds. Buffers with fewer than 1000 lines are handled in less than one millisecond. In order to provide an optimal experience for buffers of any size, this implementation takes an adaptive approach depending on the number of lines:

Buffers up to 1000 lines are diffed synchronously on every modification. This feels super snappy and avoids unnecessary redraws.
Buffers between 1000 and 30,000 lines are diffed asynchronously, with a debounce of 0.5 seconds to minimize work.
Buffers larger than 30,000 lines are not diffed at all. This is motivated not primarily by performance concerns but by the fact that go-diff currently has a bug that can produce incorrect results or even panic when generating very large diffs.

Color schemes
To support this feature, color schemes need to provide colors for the keys diff-added, diff-modified, and diff-deleted. Only the foreground color is used for each of these; the background is set automatically to match that of the corresponding line number.
I went through all color schemes shipped with Micro and added appropriate color definitions to each of them. Third-party color schemes will need to be updated separately.

I love how this is integrated into micro so well. Seems like a great addition.


Fix #3016

This demonstrate a potential fix for #3016 by using the async libpq
interface + busy polling. This allows us to abort polling as soon as we
reach the timeout.
I see multiple issues with this approach:

Add's new methods to Connection (get_timeout/set_timeout). This
could likely be avoided by exposing them directly on PgConnection.
On the other hand that would, at least for 1.4.x imply that we cannot
use those timeout only for the is_valid function. It would be all or
nothing then.
This uses busy polling, which could be quite inefficient. I'm not sure
what better posibilities there are without pulling in
tokio/mio/async_std.

Haven't read in detail but not fond of active waiting either ^^
If PQexec manages to not wait actively perhaps it would be possible through the async implementation too?
In the end, isn't this a bug of pqWait that should be fixed by the postgres team if the timeout settings don't work?

Haven't read in detail but not fond of active waiting either ^^

I'm not fond of it either. Basically I've just put this together to have some basis to see how to fix the underlying problem. A real solution should likely use poll or something similar there to wait. Before spending the time to implement that I would like to wait for a response from the crates.io team here to better understand their actual needs for a fix here.
To be honest here: I would likely dismiss this issue as following if this was not raised by the crates.io team: That's just doing what blocking io is designed to do. If you care about such things consider using the async prototype.
As this is raised by the crates.io team I consider this to be something we should support for them as crates.io is somewhat critical for rust :see_no_evil:
To be a bit more concrete about possible poll strategies here:

Pull in mio (or a similar crate) and use their poll functions to wait with a timeout there.
Pull in tokio to use the async ecosystem for timeouts (large dependency impact :disappointed: )
Don't pull in anything other than libc and use the exposed unsafe poll/select functions  (small dependency impact, harder to implement)

As a side note: I've tried a similar setup with the postgres crate with a timeout set there at connection level and it had exactly the same problem :disappointed:

In the end, isn't this a bug of pqWait/pqWaitTimed that should be fixed by the postgres team if the timeout settings don't work?

That's correct, but unfortunately it seems like the postgres team dismissed feature requests for doing that in the past, while explicitly pointing to the async interface for those cases.. See the linked issues for details. Even that would not be that bad if pqWait/pqWaitTimed would be public functions, but unfortunately they are private to libpq so we cannot use them.

Hi, and sorry for the delay!
We discussed what approaches crates.io should take in the last crates.io team meeting, and switching the whole application to async is not something we'll have the human bandwidth for in the foreseeable future. If you could implement this (or something like this) in the non-async API it'd be awesome :heart:

@pietroalbini I totally understand that a change to use the fully async implementation would be quite a major change.
There are a few other things I would like to know:

Does the crates.io team prefer a timely fix (something available in the next 2 weeks) using the 1.4.x release or would you be fine with having this fixed in the upcoming 2.0 release which should hopefully have a first pre release in the march or so?
If you prefer a fix based on 1.4.x, do you want a release for that or would you be fine with having a branch with the fixed version somewhere?
How urgent is the fix for you? Is it important for the crates.io team to see a fix in hours or months?
Does the crates.io team have opinions on how the polling should be implemented? Via busy polling? Via epoll, mio or tokio?

Replying to the rest of the comment in the coming days (in a rush now), but

How urgent is the fix for you? Is it important for the crates.io team to see a fix in hours or months?

Weeks/months. This is not happening during normal operations, but in case of infrastructure outages: I don't think there's a need to drop everything to work on this.

Closed as this can be handled by libpq via the tcp_user_timeout paramater.


Introducing more Interfaces/Contracts

Here is the short version: Is there any reason why Laravel provides not much Interfaces? If no, is it an idea to provide much more? For instance for the EventSubscriber. I would like to see much more interfaces, because it makes it much easier
a) to code against these interfaces
b) to know what to implement
c) to read. For me it is enough to read the interfaces, to understand what happens
If there is any interest, let me know. I could do also some work on it. I wanted just discuss this stuff before doing anything which is not wanted.
Long version/discussion can be found here https://laracasts.com/discuss/channels/laravel/missing-a-lot-of-interfacescontracts
Smaller hint/question: Is there any special reason why the interfaces are in contracts directory and are "named" like implementations? I find it hard to read during development. For DI i think it is more readable if there is a xxxInterface to see immediately an interface is expected and not the implementation.

Laravel provides interfaces only where someone might actually want to swap out code for their own implementation.

That's it? That's the reason? Very short-term thinking. With such a reason, you jettison all the knowledge about (professional) architecture and great software design from every other developer out there. For me, that is no constructive reason/valid argument, sorry. I thought there will be "more" or at least a more technical reason. This reason seems so "It is how it is. It has no reason, but accept it or go".

If anything, we were thinking about removing some more of the contracts. Like, the application contract seems a little silly to me.

Abstraction for the sake of abstraction is silly. You mentioned the long term. We can just change our code in the long term. Every 6 months laravel makes releases with breaking changes.

you jettison all the knowledge about (professional) architecture and great software design from every other developer out there.

That's simply not true.

Interfaces for various technical reasons make life hard for a framework like laravel. Adding new methods or new parameters to methods becomes a major breaking change. If interfaces are so magic for everyone, then symfony would be all over them, but they;re not, and for good reason.

I hope I've better answered your question.

Graham, please don't get me wrong. It was not personally. Sorry if u got the feeling. I was just disappointed about the short answer "it is how it is". This is something i am not used to from you guys.
Abstraction for the sake of abstraction is silly. 100% agree!

make life hard for a framework like laravel
But this was the only answer i hoped to get. That in general it is not impossible but for a framework like laravel and their target group, it makes the life harder.

But when we are talking right now about such stuff... What is about the laravel events which laravel fires? As i mentioned in the post, i find it hard to find the information which events do exist. There is no official documentation about it and it would be cool (in my eyes) that there are event classes that hold some constants for different events that can easy be accessed from everywhere and it is ensured that maintaining is easier because developer are using these constants. Or is that also just a "it is how it is"? and that makes laravel life hard :)

That in general it is not impossible but for a framework like laravel and their target group, it makes the life harder.

Making life harder for the framework in this case is making upgrading harder for the consumers.


New Social Media icons added

issue no. #316

issue no. #316

Remove the email text and replace it with an icon please


Placeholder for password input is transparent on login (Safari)

As far as I can tell the issue isn't with transparency as such. It's simply that with the explicit height, border and line-height styles, the characters are overflowing and aren't visible.


HDDS-2230. Invalid entries in ozonesecure-mr config

What changes were proposed in this pull request?

Fix invalid entries in docker-config of ozonesecure-mr.  These variables:

did not follow the naming convention of envtoconf (eg. missing _) and were ignored, or
had typos in the filename portion (eg. YARN_SITE.XML instead of YARN-SITE.XML), and so were generated into the wrong config files.

Disable LinuxContainerExecutor, which requires root ownership of the config directory and does not work with the ozone-runner image.
Avoid _ in hostname and domain name of Timeline History Server, because URI parsing fails in the client.  This is achieved by using a custom container name (for jhs only) and network name (for all services in the compose env).

Thanks @xiaoyuyao for finding the cause and fix for (2).
https://issues.apache.org/jira/browse/HDDS-2230
How was this patch tested?
Ran acceptance test in ozonesecure-mr.

/label ozone

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Comment

0
reexec
601
Docker mode activated.

_ Prechecks _

+1
dupname
0
No case conflicting files found.

0
yamllint
0
yamllint was not available.

0
shelldocs
1
Shelldocs was not available.

+1
@author
0
The patch does not contain any @author tags.

-1
test4tests
0
The patch doesn't appear to include any new or modified tests.  Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch.

_ trunk Compile Tests _

-1
mvninstall
65
hadoop-hdds in trunk failed.

-1
mvninstall
50
hadoop-ozone in trunk failed.

-1
compile
23
hadoop-hdds in trunk failed.

-1
compile
19
hadoop-ozone in trunk failed.

+1
mvnsite
0
trunk passed

+1
shadedclient
960
branch has no errors when building and testing our client artifacts.

-1
javadoc
30
hadoop-hdds in trunk failed.

-1
javadoc
23
hadoop-ozone in trunk failed.

_ Patch Compile Tests _

-1
mvninstall
43
hadoop-hdds in the patch failed.

-1
mvninstall
42
hadoop-ozone in the patch failed.

-1
compile
32
hadoop-hdds in the patch failed.

-1
compile
22
hadoop-ozone in the patch failed.

-1
javac
32
hadoop-hdds in the patch failed.

-1
javac
22
hadoop-ozone in the patch failed.

+1
mvnsite
0
the patch passed

+1
shellcheck
0
There were no new shellcheck issues.

+1
whitespace
0
The patch has no whitespace issues.

+1
shadedclient
844
patch has no errors when building and testing our client artifacts.

-1
javadoc
25
hadoop-hdds in the patch failed.

-1
javadoc
21
hadoop-ozone in the patch failed.

_ Other Tests _

-1
unit
32
hadoop-hdds in the patch failed.

-1
unit
29
hadoop-ozone in the patch failed.

+1
asflicense
39
The patch does not generate ASF License warnings.

3090

Subsystem
Report/Notes

Docker
Client=19.03.2 Server=19.03.2 base: https://builds.apache.org/job/hadoop-multibranch/job/PR-1585/1/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/1585

Optional Tests
dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient yamllint shellcheck shelldocs

uname
Linux acf49af14521 4.15.0-60-generic #67-Ubuntu SMP Thu Aug 22 16:55:30 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
personality/hadoop.sh

git revision
trunk / a3fe404

Default Java
1.8.0_222

mvninstall
https://builds.apache.org/job/hadoop-multibranch/job/PR-1585/1/artifact/out/branch-mvninstall-hadoop-hdds.txt

mvninstall
https://builds.apache.org/job/hadoop-multibranch/job/PR-1585/1/artifact/out/branch-mvninstall-hadoop-ozone.txt

compile
https://builds.apache.org/job/hadoop-multibranch/job/PR-1585/1/artifact/out/branch-compile-hadoop-hdds.txt

compile
https://builds.apache.org/job/hadoop-multibranch/job/PR-1585/1/artifact/out/branch-compile-hadoop-ozone.txt

javadoc
https://builds.apache.org/job/hadoop-multibranch/job/PR-1585/1/artifact/out/branch-javadoc-hadoop-hdds.txt

javadoc
https://builds.apache.org/job/hadoop-multibranch/job/PR-1585/1/artifact/out/branch-javadoc-hadoop-ozone.txt

mvninstall
https://builds.apache.org/job/hadoop-multibranch/job/PR-1585/1/artifact/out/patch-mvninstall-hadoop-hdds.txt

mvninstall
https://builds.apache.org/job/hadoop-multibranch/job/PR-1585/1/artifact/out/patch-mvninstall-hadoop-ozone.txt

compile
https://builds.apache.org/job/hadoop-multibranch/job/PR-1585/1/artifact/out/patch-compile-hadoop-hdds.txt

compile
https://builds.apache.org/job/hadoop-multibranch/job/PR-1585/1/artifact/out/patch-compile-hadoop-ozone.txt

javac
https://builds.apache.org/job/hadoop-multibranch/job/PR-1585/1/artifact/out/patch-compile-hadoop-hdds.txt

javac
https://builds.apache.org/job/hadoop-multibranch/job/PR-1585/1/artifact/out/patch-compile-hadoop-ozone.txt

javadoc
https://builds.apache.org/job/hadoop-multibranch/job/PR-1585/1/artifact/out/patch-javadoc-hadoop-hdds.txt

javadoc
https://builds.apache.org/job/hadoop-multibranch/job/PR-1585/1/artifact/out/patch-javadoc-hadoop-ozone.txt

unit
https://builds.apache.org/job/hadoop-multibranch/job/PR-1585/1/artifact/out/patch-unit-hadoop-hdds.txt

unit
https://builds.apache.org/job/hadoop-multibranch/job/PR-1585/1/artifact/out/patch-unit-hadoop-ozone.txt

Test Results
https://builds.apache.org/job/hadoop-multibranch/job/PR-1585/1/testReport/

Max. process+thread count
411 (vs. ulimit of 5500)

modules
C: hadoop-ozone/dist U: hadoop-ozone/dist

Console output
https://builds.apache.org/job/hadoop-multibranch/job/PR-1585/1/console

versions
git=2.7.4 maven=3.3.9 shellcheck=0.4.6

Powered by
Apache Yetus 0.10.0 http://yetus.apache.org

This message was automatically generated.

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Comment

0
reexec
38
Docker mode activated.

_ Prechecks _

+1
dupname
1
No case conflicting files found.

0
yamllint
0
yamllint was not available.

0
shelldocs
0
Shelldocs was not available.

+1
@author
0
The patch does not contain any @author tags.

-1
test4tests
0
The patch doesn't appear to include any new or modified tests.  Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch.

_ trunk Compile Tests _

-1
mvninstall
33
hadoop-hdds in trunk failed.

-1
mvninstall
36
hadoop-ozone in trunk failed.

-1
compile
24
hadoop-hdds in trunk failed.

-1
compile
18
hadoop-ozone in trunk failed.

+1
mvnsite
0
trunk passed

+1
shadedclient
794
branch has no errors when building and testing our client artifacts.

-1
javadoc
27
hadoop-hdds in trunk failed.

-1
javadoc
25
hadoop-ozone in trunk failed.

-0
patch
893
Used diff version of patch file. Binary files and potentially other changes not applied. Please rebase and squash commits if necessary.

_ Patch Compile Tests _

-1
mvninstall
40
hadoop-hdds in the patch failed.

-1
mvninstall
42
hadoop-ozone in the patch failed.

-1
compile
29
hadoop-hdds in the patch failed.

-1
compile
24
hadoop-ozone in the patch failed.

-1
javac
29
hadoop-hdds in the patch failed.

-1
javac
24
hadoop-ozone in the patch failed.

+1
mvnsite
0
the patch passed

+1
shellcheck
0
There were no new shellcheck issues.

+1
whitespace
0
The patch has no whitespace issues.

+1
shadedclient
716
patch has no errors when building and testing our client artifacts.

-1
javadoc
26
hadoop-hdds in the patch failed.

-1
javadoc
24
hadoop-ozone in the patch failed.

_ Other Tests _

-1
unit
33
hadoop-hdds in the patch failed.

-1
unit
30
hadoop-ozone in the patch failed.

+1
asflicense
38
The patch does not generate ASF License warnings.

2189

Subsystem
Report/Notes

Docker
Client=19.03.1 Server=19.03.1 base: https://builds.apache.org/job/hadoop-multibranch/job/PR-1585/2/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/1585

Optional Tests
dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient yamllint shellcheck shelldocs

uname
Linux d730fd7431e9 4.15.0-58-generic #64-Ubuntu SMP Tue Aug 6 11:12:41 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
personality/hadoop.sh

git revision
trunk / ec8f691

Default Java
1.8.0_222

mvninstall
https://builds.apache.org/job/hadoop-multibranch/job/PR-1585/2/artifact/out/branch-mvninstall-hadoop-hdds.txt

mvninstall
https://builds.apache.org/job/hadoop-multibranch/job/PR-1585/2/artifact/out/branch-mvninstall-hadoop-ozone.txt

compile
https://builds.apache.org/job/hadoop-multibranch/job/PR-1585/2/artifact/out/branch-compile-hadoop-hdds.txt

compile
https://builds.apache.org/job/hadoop-multibranch/job/PR-1585/2/artifact/out/branch-compile-hadoop-ozone.txt

javadoc
https://builds.apache.org/job/hadoop-multibranch/job/PR-1585/2/artifact/out/branch-javadoc-hadoop-hdds.txt

javadoc
https://builds.apache.org/job/hadoop-multibranch/job/PR-1585/2/artifact/out/branch-javadoc-hadoop-ozone.txt

mvninstall
https://builds.apache.org/job/hadoop-multibranch/job/PR-1585/2/artifact/out/patch-mvninstall-hadoop-hdds.txt

mvninstall
https://builds.apache.org/job/hadoop-multibranch/job/PR-1585/2/artifact/out/patch-mvninstall-hadoop-ozone.txt

compile
https://builds.apache.org/job/hadoop-multibranch/job/PR-1585/2/artifact/out/patch-compile-hadoop-hdds.txt

compile
https://builds.apache.org/job/hadoop-multibranch/job/PR-1585/2/artifact/out/patch-compile-hadoop-ozone.txt

javac
https://builds.apache.org/job/hadoop-multibranch/job/PR-1585/2/artifact/out/patch-compile-hadoop-hdds.txt

javac
https://builds.apache.org/job/hadoop-multibranch/job/PR-1585/2/artifact/out/patch-compile-hadoop-ozone.txt

javadoc
https://builds.apache.org/job/hadoop-multibranch/job/PR-1585/2/artifact/out/patch-javadoc-hadoop-hdds.txt

javadoc
https://builds.apache.org/job/hadoop-multibranch/job/PR-1585/2/artifact/out/patch-javadoc-hadoop-ozone.txt

unit
https://builds.apache.org/job/hadoop-multibranch/job/PR-1585/2/artifact/out/patch-unit-hadoop-hdds.txt

unit
https://builds.apache.org/job/hadoop-multibranch/job/PR-1585/2/artifact/out/patch-unit-hadoop-ozone.txt

Test Results
https://builds.apache.org/job/hadoop-multibranch/job/PR-1585/2/testReport/

Max. process+thread count
411 (vs. ulimit of 5500)

modules
C: hadoop-ozone/dist U: hadoop-ozone/dist

Console output
https://builds.apache.org/job/hadoop-multibranch/job/PR-1585/2/console

versions
git=2.7.4 maven=3.3.9 shellcheck=0.4.6

Powered by
Apache Yetus 0.10.0 http://yetus.apache.org

This message was automatically generated.

BTW we use very weak containers where we have passwordless sudo, we can add additional step after config generation and before startup to make the etc directory read only...

Thanks @xiaoyuyao and @elek for reviewing.


No Database Schema Diagram

I feel like there should be a good schema diagram that exists to show the relationship between each of the tables created for OpenTAXII. Does this exist and it hasn't been included for a good reason, or does it not exist and it needs to be created and added to the docs?

Hi, thanks for opening an issue!

It does not exist and it needs to be created and added to the docs

However it’s not a high priority for our team at the moment, so we can’t promise when it will get fixed. Still, we’re very open to external contributions - if you know how to fix this and you can open a PR with a change, we will be very grateful.


Doc AddDefaultIdentity

Per Hao
AddDefaultIdentity is just sugar for the old code that used to be in startup + AddDefaultUI, whatever you are trying to do,
Explain this in the docs, probably in Configure ASP.NET Core Identity
Find out why API doesn't contain /// comments from source
See #7633 - add link to this update

Would be good to document AddIdentityCore as well

@pholly  thanks. Moved to #8434


Feliz.ViewEngine / ServerSideRendering generation

I'm using Feliz.ViewEngine for Server Side Rendering and would like to use Feliz.MaterialUI. As far as I understand, there is no way to generate SSR-compatible bindings from the generator yet.
Is that something that is planned or reasonable? Would it be a huge undertaking?
What's the basic outline of steps to be taken to go into that direction?

I have absolutely no idea what kind of work would be needed to support this, not even if it's hard or easy. Unfortunately I have no capacity to investigate that, so currently the answer is that it is not supported. If you want, you can help out by investigating and explaining to me exactly what changes needs to be made to the bindings to make them support SSR, and then I can see if it's simple to generate these. But I can make absolutely no promises to implement this even then.


Added Fixed Deposit Calculator

Fixes Issue🛠
Closes #1579
Description👨💻
Added FD Calculator.
Type of Change📄

[ ] Bug fix (non-breaking change which fixes a bug)
[X] New feature (non-breaking change which adds functionality)
[ ] Style (non-breaking change which improves website style or formatting)
[ ] Documentation (non-breaking change which updates or adds documentation)
[ ] Responsiveness (non-breaking change which improves UI/UX on different screen sizes)

Checklist✅

[X] I am an Open Source contributor
[X] I have performed a self-review of my code
[X] My code follows the style guidelines of this project
[X] I have commented on my code, particularly in hard-to-understand areas

Screenshots/GIF📷
https://github.com/user-attachments/assets/7a66fc30-dda1-4874-8dcb-a0ce465108fc

@AsmitaMishra24 actually the input values should be preserved after clicking calculate so as to indicate inputs.
Instead we can have reset button.

@AsmitaMishra24 actually the input values should be preserved after clicking calculate so as to indicate inputs.
Instead we can have reset button.

@Nihal4777, okay...I will make the changes.

@Nihal4777, I have added a reset button
https://github.com/user-attachments/assets/02f3421c-47f3-4ca0-9de4-d59b4f1026b0


Drops max count mismatch for a moment

What happened?
seems like we are getting the collection max from different places

it goes from loading to -> see listing -> mint
ideally that see listing should not appear
https://github.com/user-attachments/assets/ba5ca125-a32b-4405-a5d7-997cdfa90430

because 256 is imo hardcoded :)

this is why I raise this docs: https://github.com/kodadot/ops-internal/discussions/1745


PVS-Studio static code analyzer warnings

Quite a lot of them, as to whether to fix them or not, it's solely up to you.
vvdec-PVSStudio-Report.zip
After opening the report, please first sort by Code then Level.

Thanks, there is some good stuff in there. Will gradually fix some


Add Approver Name and Date Approved to Manage Participants Table

DB migration to add two new columns to Participants Table and pull existing data for these two columns from Audit Trails table

Display Approver Name and Date Approved in Manage Participants table

When participant is approved, write approverId and dateApproved to their row in Participants Table

Test Plan:
Run npm run knex:migrate:latest  and npm run knex:migrate:down to make sure that two columns - approverId and dateApproved are added to dbo.participants table and that rows are filled with the correct approver information.
Ensure that there is a proper foreign key on approverId by trying to delete that id from the users table.
Test that when a participant is approved, the approver Id and approver Date are included when participant's status is updated in [dbo].participants
Make sure styling of manage participants table is good with these two new columns.


How to Add Custom Text in Editor?

Hi, I wanted to create extended version of StyleMapper like TokenStyleMapper. I want to add a text like **{{edit.token}}** on button click. Can you please tell me how can I achieve this by extending this library.

Hi! I'm afraid that's not possible using the StyleMapper. It allows only to style the text, not alter it. So if you want to be able to do so you'd have to do something like that:

Make this method public:

abstract class RichTextValue {
    // [...]
    abstract fun updatedValueAndStyles(value: TextFieldValue): Boolean
    // [...]
}

Update the text itself right from the ui layer:

var richTextValue by remember {
    mutableStateOf(RichTextValue.get())
}

RichTextEditor(
    value = richTextValue,
    onValueChange = { value = it },
)

Button(
    onClick = {
        val value = richTextValue.value
        richTextValue = value.updatedValueAndStyles(
            value.copy(
                text = "${
                    value.text.take(value.selection.min) // Text before the selection
                }**{{${
                    value.text.substring(
                        value.selection.min,
                        value.selection.max,
                    ) // Text you selected
                }}}**${
                    value.text.substring(value.selection.max) // Text after the selection
                }"
            )
        )
    },
)

I think that's what you're after. But I didn't test the code, so it might not work right away. I hope it does and it solves your problem!
Cheers

Thanks, I will try this. Tell me one more thing, how can I convert this RichTextValue to html text?


Release bits

Could you put the OS info on the deb release download so people know if it's for debian or ubuntu and which version?  Toolchains and all that differ between major releases.

Done, debs for trusty & xeninal built


How to get the requested URL into initIimplicitFlow()?

Users of my app are immediately redirected to a login page when they are unauthorized. After login I'm trying to redirect to the requested URL (e.g. https://example.com/x/y/z).
I have the following code in my app.component.ts:
this.oauthService.loadDiscoveryDocumentAndTryLogin()
	.then(result => {
		if (!this.oauthService.hasValidIdToken() || !this.oauthService.hasValidAccessToken()) {
			this.oauthService.initImplicitFlow("How do I get the requested URL here?");
		}
	});

and then I'm trying to do a redirect in app.component.ts with the following code:
this.oauthService.loadDiscoveryDocument().then((doc) => {
	this.oauthService.tryLogin({
		onTokenReceived: (info) => {
			window.location.href = this.oauthService.state;
		}
	});
});

Is this the right approach? I've tried multiple ways to access to the full URL in app.component.ts to be able to pass it into initImplicitFlow() but have been unsuccessful so far.

Was able to get this working with help from this issue: https://github.com/manfredsteyer/angular-oauth2-oidc/issues/209#issuecomment-395554207