[HUDI-648][RFC-20] Implement error log/table for Datasource/DeltaStreamer/WriteClient/Compaction writes

Tips

Thank you very much for contributing to Apache Hudi.
Please review https://hudi.apache.org/contributing.html before opening a pull request.

What is the purpose of the pull request
When the schema and data message formats do not match, the writing will fail. We will record the error message to facilitate troubleshooting
Brief change log
(for example:)

Modify AnnotationLocation checkstyle rule in checkstyle.xml

Verify this pull request
org.apache.hudi.error.TestHoodieBackedErrorTable
This unit test verifies this scenario
Committer checklist

[ ] Has a corresponding JIRA in PR title & commit

[ ] Commit message is descriptive of the change

[ ] CI is green

[ ] Necessary doc changes done or have another open PR

[ ] For large changes, please consider breaking it into sub-tasks under an umbrella JIRA.

Codecov Report

Merging #3312 (82153aa) into master (a086d25) will decrease coverage by 31.79%.
The diff coverage is 0.00%.

@@              Coverage Diff              @@
##             master    #3312       +/-   ##
=============================================
- Coverage     47.74%   15.95%   -31.80%
+ Complexity     5591      504     -5087
=============================================
  Files           938      285      -653
  Lines         41823    11980    -29843
  Branches       4213      994     -3219
=============================================
- Hits          19968     1911    -18057
+ Misses        20070     9904    -10166
+ Partials       1785      165     -1620

Flag
Coverage Δ

hudicli
?

hudiclient
0.00% <0.00%> (-34.56%)
:arrow_down:

hudicommon
?

hudiflink
?

hudihadoopmr
?

hudisparkdatasource
?

hudisync
4.88% <ø> (-51.10%)
:arrow_down:

huditimelineservice
?

hudiutilities
59.84% <ø> (-0.04%)
:arrow_down:

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

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

@liujinhui1994 hello, does it ready to review?

OK, let's get started. Your guidance please
@lw309637554

Is there a partner who can help me?

@lw309637554 @xushiyan  Hope to get your suggestions, please help review.
thanks

@liujinhui1994 Thank you for raising this. Quite useful for debugging. Can you please resolve the conflicts?

@liujinhui1994 Thank you for raising this. Quite useful for debugging. Can you please resolve the conflicts?

This is actually not used for debugging. There may be some wrong records in the production environment. Users of these records expect a way to trace back to facilitate the location of specific problems.
Ok i will handle the conflict

@hudi-bot travies

@hudi-bot run azure

@liujinhui1994 taking this up now. lets work together to land this

@liujinhui1994 taking this up now. lets work together to land this

Thank you vc, work hard together

I will reply after verification

@liujinhui1994 : Can we revive this please. Trying to see if we can get this in for 0.11. This has become one of the repeated ask from the community. If you are occupied, let me know.

Sorry, I missed this thing earlier. I'll go ahead with it, and if anyone needs help, I'll be here, asking for your help. @nsivabalan

I said softly,  help me with the review,   ☺?
@nsivabalan

@liujinhui1994 any interest in reviving this?

@vinothchandar  Of course, but the company has been busy lately and it may take some time

The error table support is redesigned and implemented in #7982 which is merged and release in Hudi 0.14.0.  Closing this PR.


Update Web Chat to 4.14.1

I am updating version of Web Chat.
Previously we say "Schema 2.5.0", which is not true. It should say "Schema 1.4" which Web Chat 4.14.1 use<EMAIL_ADDRESS>Microsoft Reviewers: Open in CodeFlow

Docs Build status updates of commit 92fd2fc:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

AdaptiveCards/resources/partners.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


FakeRelay suddenly stopped working here

FakeRelay stopped working here without any changes and when trying to readd Fakerelay i am getting this in docker container.

fakerelay-fakerelay-1  | warn: Microsoft.AspNetCore.HttpsPolicy.HttpsRedirectionMiddleware[3]
fakerelay-fakerelay-1  |       Failed to determine the https port for redirect.
fakerelay-fakerelay-1  | fail: FakeRelay.Web.Services.QueuedHostedService[0]
fakerelay-fakerelay-1  |       Error occurred executing workItem.
fakerelay-fakerelay-1  |       System.Threading.Tasks.TaskCanceledException: The request was canceled due to the configured HttpClient.Timeout of 100 seconds elapsing.
fakerelay-fakerelay-1  |        ---> System.TimeoutException: A task was canceled.
fakerelay-fakerelay-1  |        ---> System.Threading.Tasks.TaskCanceledException: A task was canceled.
fakerelay-fakerelay-1  |          at System.Threading.Tasks.TaskCompletionSourceWithCancellation`1.WaitWithCancellationAsync(CancellationToken cancellationToken)
fakerelay-fakerelay-1  |          at System.Net.Http.HttpConnectionPool.GetHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
fakerelay-fakerelay-1  |          at System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken)
fakerelay-fakerelay-1  |          at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
fakerelay-fakerelay-1  |          at System.Net.Http.HttpClient.g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken)
fakerelay-fakerelay-1  |          --- End of inner exception stack trace ---
fakerelay-fakerelay-1  |          --- End of inner exception stack trace ---
fakerelay-fakerelay-1  |          at System.Net.Http.HttpClient.HandleFailure(Exception e, Boolean telemetryStarted, HttpResponseMessage response, CancellationTokenSource cts, CancellationToken cancellationToken, CancellationTokenSource pendingRequestsCts)
fakerelay-fakerelay-1  |          at System.Net.Http.HttpClient.g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken)
fakerelay-fakerelay-1  |          at FakeRelay.Core.Helpers.MastodonHelper.SendMessageToInboxAsync(String targetHost, String content) in /src/FakeRelay.Core/Helpers/MastodonHelper.cs:line 45
fakerelay-fakerelay-1  |          at FakeRelay.Core.Helpers.MastodonHelper.ProcessInstanceFollowAsync(ActivityPubModel request) in /src/FakeRelay.Core/Helpers/MastodonHelper.cs:line 52
fakerelay-fakerelay-1  |          at FakeRelay.Web.Services.QueuedHostedService.BackgroundProcessing(CancellationToken stoppingToken) in /src/FakeRelay.Web/Services/QueuedHostedService.cs:line 86

Any ideas what's wrong?

Any ideas what's wrong?
I have tried reconfiguring, reinstalling containers etc nothing helps.

huh, I don't know... but seeing the background code is rarely hit (only when adding an instance) I'm thinking I'll remove it

can you try with version  1.0.39?

Ok i will try update it and see if it helps.
Strange thing is that it worked earlier.

Now i am getting this

fakerelay-cli-1        | USAGE:
fakerelay-cli-1        |     FakeRelay.Cli.dll [OPTIONS]
fakerelay-cli-1        |
fakerelay-cli-1        | OPTIONS:
fakerelay-cli-1        |     -h, --help       Prints help information
fakerelay-cli-1        |     -v, --version    Prints version information
fakerelay-cli-1        |
fakerelay-cli-1        | COMMANDS:
fakerelay-cli-1        |     instance
fakerelay-cli-1        |     list-instances             Lists the hosts and their keys
fakerelay-cli-1        |     config <FAKERELAY_HOST>    Initializes the FakeRelay configuration
fakerelay-cli-1 exited with code 0
fakerelay-fakerelay-1  | warn: Microsoft.AspNetCore.DataProtection.Repositories.FileSystemXmlRepository[60]
fakerelay-fakerelay-1  |       Storing keys in a directory '/root/.aspnet/DataProtection-Keys' that may not be persisted outside of the container. Protected data will be unavailable when container is destroyed.
fakerelay-fakerelay-1  | info: Microsoft.Hosting.Lifetime[14]
fakerelay-fakerelay-1  |       Now listening on: http://[::]:5000
fakerelay-fakerelay-1  | info: Microsoft.Hosting.Lifetime[0]
fakerelay-fakerelay-1  |       Application started. Press Ctrl+C to shut down.
fakerelay-fakerelay-1  | info: Microsoft.Hosting.Lifetime[0]
fakerelay-fakerelay-1  |       Hosting environment: Production
fakerelay-fakerelay-1  | info: Microsoft.Hosting.Lifetime[0]
fakerelay-fakerelay-1  |       Content root path: /app/
fakerelay-fakerelay-1  | warn: Microsoft.AspNetCore.HttpsPolicy.HttpsRedirectionMiddleware[3]
fakerelay-fakerelay-1  |       Failed to determine the https port for redirect.
fakerelay-fakerelay-1  | Exception The request was canceled due to the configured HttpClient.Timeout of 5 seconds elapsing. when connecting to xxxxxxxxxx
fakerelay-fakerelay-1  | fail: Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware[1]
fakerelay-fakerelay-1  |       An unhandled exception has occurred while executing the request.
fakerelay-fakerelay-1  |       System.Threading.Tasks.TaskCanceledException: The request was canceled due to the configured HttpClient.Timeout of 5 seconds elapsing.
fakerelay-fakerelay-1  |        ---> System.TimeoutException: A task was canceled.
fakerelay-fakerelay-1  |        ---> System.Threading.Tasks.TaskCanceledException: A task was canceled.
fakerelay-fakerelay-1  |          at System.Threading.Tasks.TaskCompletionSourceWithCancellation1.WaitWithCancellationAsync(CancellationToken cancellationToken) fakerelay-fakerelay-1  |          at System.Net.Http.HttpConnectionPool.GetHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken) fakerelay-fakerelay-1  |          at System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken) fakerelay-fakerelay-1  |          at System.Net.Http.DiagnosticsHandler.SendAsyncCore(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken) fakerelay-fakerelay-1  |          at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken) fakerelay-fakerelay-1  |          at System.Net.Http.HttpClient.<SendAsync>g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken) fakerelay-fakerelay-1  |          --- End of inner exception stack trace --- fakerelay-fakerelay-1  |          --- End of inner exception stack trace --- fakerelay-fakerelay-1  |          at System.Net.Http.HttpClient.HandleFailure(Exception e, Boolean telemetryStarted, HttpResponseMessage response, CancellationTokenSource cts, CancellationToken cancellationToken, CancellationTokenSource pendingRequestsCts) fakerelay-fakerelay-1  |          at System.Net.Http.HttpClient.<SendAsync>g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken) fakerelay-fakerelay-1  |          at FakeRelay.Core.Helpers.MastodonHelper.SendMessageToInboxAsync(String targetHost, String content) in /src/FakeRelay.Core/Helpers/MastodonHelper.cs:line 47 fakerelay-fakerelay-1  |          at FakeRelay.Core.Helpers.MastodonHelper.ProcessInstanceFollowAsync(ActivityPubModel request) in /src/FakeRelay.Core/Helpers/MastodonHelper.cs:line 60 fakerelay-fakerelay-1  |          at FakeRelay.Web.Controllers.AcitivityPubController.Inbox(ActivityPubModel model) in /src/FakeRelay.Web/Controllers/AcitivityPubController.cs:line 19 fakerelay-fakerelay-1  |          at lambda_method4(Closure , Object ) fakerelay-fakerelay-1  |          at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.TaskOfActionResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments) fakerelay-fakerelay-1  |          at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask1 actionResultValueTask)
fakerelay-fakerelay-1  |          at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
fakerelay-fakerelay-1  |          at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)
fakerelay-fakerelay-1  |          at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
fakerelay-fakerelay-1  |          at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.g__Awaited|13_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
fakerelay-fakerelay-1  |          at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g__Awaited|25_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
fakerelay-fakerelay-1  |          at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResourceExecutedContextSealed context)
fakerelay-fakerelay-1  |          at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
fakerelay-fakerelay-1  |          at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g__Awaited|20_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
fakerelay-fakerelay-1  |          at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
fakerelay-fakerelay-1  |          at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
fakerelay-fakerelay-1  |          at Microsoft.AspNetCore.Routing.EndpointMiddleware.g__AwaitRequestTask|6_0(Endpoint endpoint, Task requestTask, ILogger logger)
fakerelay-fakerelay-1  |          at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)
fakerelay-fakerelay-1  |          at Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware.g__Awaited|6_0(ExceptionHandlerMiddleware middleware, HttpContext context, Task task)
fakerelay-fakerelay-1  | fail: Microsoft.AspNetCore.Server.Kestrel[13]
fakerelay-fakerelay-1  |       Connection id "0HMRTJ1VHCIAV", Request id "0HMRTJ1VHCIAV:00000002": An unhandled exception was thrown by the application.
fakerelay-fakerelay-1  |       System.InvalidOperationException: The exception handler configured on ExceptionHandlerOptions produced a 404 status response. This InvalidOperationException containing the original exception was thrown since this is often due to a misconfigured ExceptionHandlingPath. If the exception handler is expected to return 404 status responses then set AllowStatusCode404Response to true.
fakerelay-fakerelay-1  |        ---> System.Threading.Tasks.TaskCanceledException: The request was canceled due to the configured HttpClient.Timeout of 5 seconds elapsing.
fakerelay-fakerelay-1  |        ---> System.TimeoutException: A task was canceled.
fakerelay-fakerelay-1  |        ---> System.Threading.Tasks.TaskCanceledException: A task was canceled.
fakerelay-fakerelay-1  |          at System.Threading.Tasks.TaskCompletionSourceWithCancellation1.WaitWithCancellationAsync(CancellationToken cancellationToken) fakerelay-fakerelay-1  |          at System.Net.Http.HttpConnectionPool.GetHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken) fakerelay-fakerelay-1  |          at System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken) fakerelay-fakerelay-1  |          at System.Net.Http.DiagnosticsHandler.SendAsyncCore(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken) fakerelay-fakerelay-1  |          at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken) fakerelay-fakerelay-1  |          at System.Net.Http.HttpClient.<SendAsync>g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken) fakerelay-fakerelay-1  |          --- End of inner exception stack trace --- fakerelay-fakerelay-1  |          --- End of inner exception stack trace --- fakerelay-fakerelay-1  |          at System.Net.Http.HttpClient.HandleFailure(Exception e, Boolean telemetryStarted, HttpResponseMessage response, CancellationTokenSource cts, CancellationToken cancellationToken, CancellationTokenSource pendingRequestsCts) fakerelay-fakerelay-1  |          at System.Net.Http.HttpClient.<SendAsync>g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken) fakerelay-fakerelay-1  |          at FakeRelay.Core.Helpers.MastodonHelper.SendMessageToInboxAsync(String targetHost, String content) in /src/FakeRelay.Core/Helpers/MastodonHelper.cs:line 47 fakerelay-fakerelay-1  |          at FakeRelay.Core.Helpers.MastodonHelper.ProcessInstanceFollowAsync(ActivityPubModel request) in /src/FakeRelay.Core/Helpers/MastodonHelper.cs:line 60 fakerelay-fakerelay-1  |          at FakeRelay.Web.Controllers.AcitivityPubController.Inbox(ActivityPubModel model) in /src/FakeRelay.Web/Controllers/AcitivityPubController.cs:line 19 fakerelay-fakerelay-1  |          at lambda_method4(Closure , Object ) fakerelay-fakerelay-1  |          at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.TaskOfActionResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments) fakerelay-fakerelay-1  |          at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask1 actionResultValueTask)
fakerelay-fakerelay-1  |          at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
fakerelay-fakerelay-1  |          at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)
fakerelay-fakerelay-1  |          at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
fakerelay-fakerelay-1  |          at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.g__Awaited|13_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
fakerelay-fakerelay-1  |          at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g__Awaited|25_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
fakerelay-fakerelay-1  |          at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResourceExecutedContextSealed context)
fakerelay-fakerelay-1  |          at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
fakerelay-fakerelay-1  |          at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g__Awaited|20_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
fakerelay-fakerelay-1  |          at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
fakerelay-fakerelay-1  |          at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
fakerelay-fakerelay-1  |          at Microsoft.AspNetCore.Routing.EndpointMiddleware.g__AwaitRequestTask|6_0(Endpoint endpoint, Task requestTask, ILogger logger)
fakerelay-fakerelay-1  |          at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)
fakerelay-fakerelay-1  |          at Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware.g__Awaited|6_0(ExceptionHandlerMiddleware middleware, HttpContext context, Task task)
fakerelay-fakerelay-1  |          --- End of inner exception stack trace ---
fakerelay-fakerelay-1  |          at Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware.HandleException(HttpContext context, ExceptionDispatchInfo edi)
fakerelay-fakerelay-1  |          at Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware.g__Awaited|6_0(ExceptionHandlerMiddleware middleware, HttpContext context, Task task)
fakerelay-fakerelay-1  |          at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.ProcessRequests[TContext](IHttpApplication`1 application)

Tried reinstall docker and now maybe it works again.

Closing this for now.
Opening it again if problems continues.


tests: fixtures: fix fixtures to work along with recent squad changes

Fixes https://github.com/Linaro/squad-client/issues/75

LGTM!


Allow renaming of tabbed terminal windows

Being able to rename the tabs of your terminal would be a big help.

Duplicate #10023

Just press CTRL+SHIFT+P, then type TERMINAL RENAME, enter a name and press ENTER. :-D


document magic methods

write some py to generate docs for all our magic methods, see
https://www.phpdoc.org/docs/latest/references/phpdoc/tags/method.html

See https://github.com/jcupitt/php-vips/blob/dev/examples/generate_phpdoc.rb
Sample output https://github.com/jcupitt/php-vips/blob/dev/examples/docs.php
TODO

[ ] add magic properties as well
[ ] add constants
[ ] we need to paste this into src/Image.php, or arrange for it to be included ... if we include it, will phpdoc still work?

You probably want the generator to be in php, if possible.

Unfortunately the generator needs more introspection than php-vips-ext allows, so it has to be Ruby or Python.
The alternative would be to rewrite the generator in C and put it inside the binary extension.

Unfortunately the generator needs more introspection

I was expecting that. But it would be a shame if Ruby becomes a dependency to successfully build the source.

It would only be needed to regenerate the magic method docs, which will only need updating on a release. It would just be a maintainer thing.
Let's prototype in Ruby and reimplement in C once it's all nailed down.

Few improvements:
project and profile method are incorrectly generated:
https://github.com/jcupitt/php-vips/blob/dev/src/auto_docs.php#L85-L88
(return can be array only)
extract_area is generated twice:
https://github.com/jcupitt/php-vips/blob/dev/src/auto_docs.php#L109-L112
By the way,
You could make a empty class in auto_docs.php lets say:
class GeneratedDocs {

}

and extend it from the image class:
class Image extends GeneratedDocs implements \ArrayAccess

This ensures that modern PHP IDE's can autocomplete (I'm using PhpStorm):

And it looks like a @method tag must be on 1 line:

(try to increase the limit of text wrapping to 120 (or disable text wrapping) and change integer to int type.)

Ah that makes sense. Thank you for testing this.
I've fixed it up, but now it's not autoloading. I see:
$ vendor/bin/phpunit
PHPUnit 5.5.4 by Sebastian Bergmann and contributors.

....
Fatal error: Class 'Jcupitt\Vips\AutoDocs' not found in /home/john/GIT/php-vips/src/Image.php on line 410

Image can't find the AutoDocs class for some reason.

@jcupitt Unit tests are failing because there's no namespace Jcupitt\Vips; in AutoDocs.php.

 All seems to pass now, and the phpdoc output is looking better too!
OK to close this issue?

Ooop, sorry, forgot the one-line issue, I'll fix that too. Though of course that'll make phpcs complain.

OK, line breaks removed. Thank you for fixing all this for me, @kleisauke!

Typo in generate_phpdoc.rb fixed, thanks.

@jcupitt No problem!
For constants:
We could use something like this model: https://gist.github.com/kleisauke/d6f54acec93ab9b66645c68520ebb0d9
(In this example we only have to generate Jcupitt\Vips\Enum\VipsColourSpace automatically without touching the Image.php or AutoDocs.php)
For validation (like real enums) we could use this: http://stackoverflow.com/a/254543/1480019
There is also a native extension called SplEnum but that requires installing an extra extension and SPL Types are experimental.
For magic properties:
I think we should also generate them automatically (with generate_phpdoc.rb). Example output:
/**
 * @property $width Image width in pixels.
 * @property $height Image height in pixels.
 */

Can we add the enum docs to a single file, or do we need a separate file for each enum? A single file would be more convenient.
I'll see if I can get a list of all properties somehow.

Auto-loaders will not find a class that doesn't has his own dedicated file, so multiple classes in a single file is not recommend. See: http://stackoverflow.com/questions/29033625/is-it-possible-use-multiple-classes-under-the-same-namespace-in-the-same-file
However, we could add all enums to a single file (thus in a single class). See: https://gist.github.com/kleisauke/8888471459e193cf93ff25d4794dc6ba

It now generates @property tags too. This is at the end of AutoDocs.php:
 * @property string $nickname Class nickname
 * @property string $description Class description
 * @property integer $width Image width in pixels
 * @property integer $height Image height in pixels
 * @property integer $bands Number of bands in image
 * @property BandFormat $format Pixel format in image
 * @property Coding $coding Pixel coding
 * @property Interpretation $interpretation Pixel interpretation
 * @property float $xres Horizontal resolution in pixels/mm
 * @property float $yres Vertical resolution in pixels/mm
 * @property integer $xoffset Horizontal offset of origin
 * @property integer $yoffset Vertical offset of origin
 * @property string $filename Image filename
 * @property string $mode Open mode
 * @property bool $kill Block evaluation on this image
 * @property DemandStyle $demand Preferred demand style for this image
 * @property integer $sizeof_header Offset in bytes from start of file
 * @property string $foreign_buffer Pointer to foreign pixels

I'll have a look at enums next,

Argh, there are 35 enums, we need to generate 35 files. We could have a single Constants class, as you nicely describe, but that seems a bit ugly.
The enums are generated now, I'll try linking them to the other docs.

@jcupitt @property tags and generated enums looks nice!
Few comments:

- is not allowed in a const name. - is interpreted as an expression. We could strip the - or convert it to a _ (underscore).

Test PHP script:

echo gettype($image->format).PHP_EOL;
echo gettype($image->coding).PHP_EOL;
echo gettype($image->interpretation).PHP_EOL;

returns all integers and not strings. Now this compare fails (to detect if the pixel values in a image is 16-bit):
$image->interpretation == Interpretation::RGB16 || $image->interpretation == Interpretation::GREY16;

Should we return ->interpretation, ->coding and ->format as string in php-vips-ext and keep these enums or should we change the constants in BandFormat, Interpretation, Coding to integers to ensure that we can compare things? (Could not test the type of ->demand because of this error vips_image_get: field "demand" not found)

I think it's nicer to put the enums in a directory (e.g. Enum) and change the namespace of the enums to that directory (e.g. namespace Jcupitt\Vips\Enum) to use them in the AutoDocs.php we can put:

use Jcupitt\Vips\Enum\Interpretation;
use Jcupitt\Vips\Enum\BandFormat;
use Jcupitt\Vips\Enum\DemandStyle;
use Jcupitt\Vips\Enum\Coding;

on the top of the PHP file.

We have now ImageAutodoc and AutoDocs with the same content, which one should we keep?

OK, I've fixed it up a bit.

swap - for _ in enum names
enums in a sub namespace
removed AutoDocs
linked Image to the various enums, I think

I'm not sure what to do about strings versus ints for enum values. We should probably use ints everywhere in the php layer, but allow strings as a shortcut in php-vips-ext.

@jcupitt  Few comments:
PhpStorm complains that it expected a class as input. See:

Maybe we should drop all the class parameters in the ImageAutodoc class (and replace them for example with string type). And put a @see tag for available formats, for example:
/**
 * @method Image relational(Image $right, string $relational, array $options = []) Relational operation on two images.
 *         @see OperationRelational for available formats for the `$relational` parameter.
 */

The swap - for _ in enum names happens also in the enum values.
The enums are now in a sub namespace. We can put them in a directory named Enum because  classes should be stored in folders according to their namespaces.

OK, I think I've done this. There's now an Enum directory with these files in, @see lines are generated for enum references, and enum values don't have the -, _ swap.
We still have the problem of $image->format being an integer.

@jcupitt This looks really nice! When I have some spare time, I can implement these enums in the Image class.
One comment:
PhpStorm still complains that array(Image, Image), array(float) and array(Image) isn't valid.
In order to solve this, I think this would be the best:
array(float) -> array (or float[])
array(Image, Image) -> array
array(Image) -> Image[] (or array)
You can then add a note (on the top of the PHPDoc) for the array|float parameter and clarifications for the return array of the project and profile method. For example:
/**
 * Autodocs for the Image class.
 * @category  Images
 * @package   Jcupitt\Vips
 * @author    John Cupitt<EMAIL_ADDRESS> * @copyright 2016 John Cupitt
 * @license   https://opensource.org/licenses/MIT MIT
 * @version   Release:0.1.2
 * @link      https://github.com/jcupitt/php-vips
 *
 * NOTE:
 * When there's a `array|float` defined as parameter value; then you can supply this
 * value as an a float, or as an array of floats. libvips types are automatically wrapped and unwrapped.
 * The binding looks at the type of argument required by the operation and converts the value you supply, when it can.
 *
 * For example, you can write:
 * ```php
 * // Constant is used for all image bands.
 * $result = $image->linear(1, 3);
 * $result = $image->linear(12.4, 13.9);
 *
 * // One array element is used for each band.
 * $result = $image->linear([1, 2, 3], [4, 5, 6]);
 * $result = $image->linear(1, [4, 5, 6]);
 * ```
 *
 * @method static Image sum(Image[] $in, array $options = []) Sum an array of images.
 * @method Image linear(array|float $a, array|float $b, array $options = []) Calculate (a * in + b).
 * @method Image relational_const(array|float $c, string $relational, array $options = []) Relational operations against a constant.
 *     @see OperationRelational for possible values for $relational
 * @method Image remainder_const(array|float $c, array $options = []) Remainder after integer division of an image and a constant.
 * @method Image boolean_const(array|float $c, string $boolean, array $options = []) Boolean operations against a constant.
 *     @see OperationBoolean for possible values for $boolean
 * @method Image math2_const(array|float $c, string $math2, array $options = []) Pow( @in, @c ).
 *     @see OperationMath2 for possible values for $math2
 * @method array project(array $options = []) Find image projections.
 *     Returns array with: [
 *          'columns' => @type Image|float The sum of every column of pixels (output depends on the input format),
 *          'rows' => @type Image|float The sum of every row of pixels (output depends on the input format)
 *     ];
 * @method array profile(array $options = []) Find image profiles.
 *     Returns array with: [
 *          'columns' => @type Image First non-zero pixel in column,
 *          'rows' => @type Image First non-zero pixel in row
 *     ];
 * @method array|float getpoint(integer $x, integer $y, array $options = []) Read a point from an image.
 * @method static Image arrayjoin(Image[] $in, array $options = []) Join an array of images.
 * @method Image bandjoin_const(array|float $c, array $options = []) Append a constant band to an image.
 * @method Image affine(array|float $matrix, array $options = []) Affine transform of an image.
 * @method Image draw_rect(array|float $ink, integer $left, integer $top, integer $width, integer $height, array $options = []) Paint a rectangle on an image.
 * @method Image draw_mask(array|float $ink, Image $mask, integer $x, integer $y, array $options = []) Draw a mask on an image.
 * @method Image draw_line(array|float $ink, integer $x1, integer $y1, integer $x2, integer $y2, array $options = []) Draw a line on an image.
 * @method Image draw_circle(array|float $ink, integer $cx, integer $cy, integer $radius, array $options = []) Draw a circle on an image.
 * @method Image draw_flood(array|float $ink, integer $x, integer $y, array $options = []) Flood-fill an area.
 */

About the problem of $image->format. We could solve this with an lookup array, for example (untested):
public function __get(string $name)
{
    $result = vips_image_get($this->_image, $name);
    self::_errorIsArray($result);

    $result = self::_wrap($result);

    $fix = [
        'format' => [
            -1 => BandFormat::NOTSET,
            0 => BandFormat::UCHAR,
            1 => BandFormat::CHAR,
            2 => BandFormat::USHORT,
            3 => BandFormat::SHORT,
            4 => BandFormat::UINT,
            5 => BandFormat::INT,
            6 => BandFormat::FLOAT,
            7 => BandFormat::COMPLEX,
            8 => BandFormat::DOUBLE,
            9 => BandFormat::DPCOMPLEX,
        ],
    ];

     return isset($fix[$name][$result]) ? $fix[$name][$result] : $result;
}

This will convert a enum integer to the right enum string. But I think this is a bit ugly.. 👎
The right approach should be fixing this in php-vips-ext.

Hi again, thanks again for reviewing this.
OK, I've tried again. It now looks like this:
 * @method array profile(array $options = []) Find image profiles.
 *     Return array with: [
 *         'columns' => @type Image First non-zero pixel in column.
 *         'rows' => @type Image First non-zero pixel in row.
 *     ];
 * @method Image linear(float[]|float $a, float[]|float $b, array $options = []) Calculate (a * in + b).
 * @method Image colourspace(string $space, array $options = []) Convert to a new colourspace.
 *     @see Interpretation for possible values for $space

https://github.com/jcupitt/php-vips/commit/e9cf7f7f12d5f62d99e3157b23e9c6a7d51bb90a
The text at the top of Image.php already talks about the magic float -> array conversions. Perhaps it can be improved.
https://github.com/jcupitt/php-vips/blob/dev/src/Image.php#L292
Yes, I'll look into why php-vips-ext is making a LONG.

No problem, I've reviewed it again and could not find any problems! There are only some unused use statements in ImageAutodoc but that doesn't impact performance.

I think I found it: https://github.com/jcupitt/php-vips-ext/commit/333b22d73b7e252625e2891712ff49c4d5ae80b2
$image->interpretation should now be a string, woo!
Thanks for reviewing again, I think we can close. I'll add a test for string returns for enums.


no boost in performance with Ada GPU

On a simple transformer model, I am observing 10% training speed improvement with Hopper architecture GPUs but not with Ada ones. Baseline is bf16.
I am using huggingface accelerate to handle everything
from accelerate import Accelerator
from accelerate.utils import FP8RecipeKwargs
accelerator = Accelerator(mixed_precision='fp8', kwargs_handlers=[FP8RecipeKwargs(backend='te')])
model = accelerator.prepare(model)

Is this the best way to use this library?
Should I explicitly use the te.Linear layers?

@saurabh-kataria  I'd recommend testing out accelerate using our containers and these benchmark scripts: https://github.com/huggingface/accelerate/tree/main/benchmarks/fp8.
Could you share which Ada GPU you are using?


Add code coverage to tests

Would be nice to know how much of the code is exercised in tests, and what code currently isn't tested.
tarpaulin looks good.

Code coverage generation is slow, and not super informative. In particular, it doesn't catch code exercised by integration tests.


Master into Live

@chrisda can you merge this into live?  We're getting a lot of rushed asks for the latest version of master to go live

Docs Build status updates of commit 2b32fba:
:clock10: Full build: the average full build time is 17 min(s) 38 sec(s), this is based on the last 1000 build(s) for this repository.

Docs Build status updates of commit 2b32fba:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

.openpublishing.publish.config.json
:white_check_mark:Succeeded

officewebapps/docfx.json
:white_check_mark:Succeeded

sharepoint/docfx.json
:white_check_mark:Succeeded

sharepoint/docs-conceptual/sharepoint-pnp/sharepoint-pnp-cmdlets.md
:white_check_mark:Succeeded
View (sharepoint-ps)

sharepoint/docs-conceptual/sharepoint-server/sharepoint-server-cmdlets.md
:white_check_mark:Succeeded
View (sharepoint-ps)

sharepoint/sharepoint-ps/sharepoint-online/Add-SPOHubToHubAssociation.md
:white_check_mark:Succeeded

sharepoint/sharepoint-ps/sharepoint-online/Add-SPOSiteCollectionAppCatalog.md
:white_check_mark:Succeeded

sharepoint/sharepoint-ps/sharepoint-online/Get-SPOBuiltInDesignPackageVisibility.md
:white_check_mark:Succeeded

sharepoint/sharepoint-ps/sharepoint-online/Get-SPOCrossGeoMoveReport.md
:white_check_mark:Succeeded

sharepoint/sharepoint-ps/sharepoint-online/Get-SPODataEncryptionPolicy.md
:white_check_mark:Succeeded

sharepoint/sharepoint-ps/sharepoint-online/Get-SPOHomeSite.md
:white_check_mark:Succeeded

sharepoint/sharepoint-ps/sharepoint-online/Get-SPOMultiGeoCompanyAllowedDataLocation.md
:white_check_mark:Succeeded

sharepoint/sharepoint-ps/sharepoint-online/Get-SPOMultiGeoExperience.md
:white_check_mark:Succeeded

sharepoint/sharepoint-ps/sharepoint-online/Get-SPOSiteCollectionAppCatalogs.md
:white_check_mark:Succeeded

sharepoint/sharepoint-ps/sharepoint-online/Get-SPOSiteDataEncryptionPolicy.md
:white_check_mark:Succeeded

sharepoint/sharepoint-ps/sharepoint-online/Get-SPOSiteRenameState.md
:white_check_mark:Succeeded

sharepoint/sharepoint-ps/sharepoint-online/Get-SPOSiteScriptFromWeb.md
:white_check_mark:Succeeded

sharepoint/sharepoint-ps/sharepoint-online/Get-SPOSiteUserInvitations.md
:white_check_mark:Succeeded

sharepoint/sharepoint-ps/sharepoint-online/Get-SPOStorageEntity.md
:white_check_mark:Succeeded

sharepoint/sharepoint-ps/sharepoint-online/Get-SPOUnifiedGroup.md
:white_check_mark:Succeeded

sharepoint/sharepoint-ps/sharepoint-online/Get-SPOUnifiedGroupMoveState.md
:white_check_mark:Succeeded

sharepoint/sharepoint-ps/sharepoint-online/New-SPODataConnectionSetting.md
:white_check_mark:Succeeded

sharepoint/sharepoint-ps/sharepoint-online/Register-SPODataEncryptionPolicy.md
:white_check_mark:Succeeded

sharepoint/sharepoint-ps/sharepoint-online/Remove-SPOHomeSite.md
:white_check_mark:Succeeded

sharepoint/sharepoint-ps/sharepoint-online/Remove-SPOHubToHubAssociation.md
:white_check_mark:Succeeded

sharepoint/sharepoint-ps/sharepoint-online/Remove-SPOMultiGeoCompanyAllowedDataLocation.md
:white_check_mark:Succeeded

sharepoint/sharepoint-ps/sharepoint-online/Remove-SPOSiteCollectionAppCatalog.md
:white_check_mark:Succeeded

sharepoint/sharepoint-ps/sharepoint-online/Remove-SPOSiteCollectionAppCatalogById.md
:white_check_mark:Succeeded

sharepoint/sharepoint-ps/sharepoint-online/Remove-SPOSiteUserInvitations.md
:white_check_mark:Succeeded

sharepoint/sharepoint-ps/sharepoint-online/Remove-SPOStorageEntity.md
:white_check_mark:Succeeded

sharepoint/sharepoint-ps/sharepoint-online/Restore-SPODataEncryptionPolicy.md
:white_check_mark:Succeeded

sharepoint/sharepoint-ps/sharepoint-online/Set-SPODataConnectionSetting.md
:white_check_mark:Succeeded

sharepoint/sharepoint-ps/sharepoint-online/Set-SPODataConnectionSettingMetadata.md
:white_check_mark:Succeeded

sharepoint/sharepoint-ps/sharepoint-online/Set-SPOHomeSite.md
:white_check_mark:Succeeded

sharepoint/sharepoint-ps/sharepoint-online/Set-SPOMultiGeoCompanyAllowedDataLocation.md
:white_check_mark:Succeeded

sharepoint/sharepoint-ps/sharepoint-online/Set-SPOMultiGeoExperience.md
:white_check_mark:Succeeded

sharepoint/sharepoint-ps/sharepoint-online/Set-SPOTenant.md
:white_check_mark:Succeeded

sharepoint/sharepoint-ps/sharepoint-online/Set-SPOUnifiedGroup.md
:white_check_mark:Succeeded

sharepoint/sharepoint-ps/sharepoint-online/Set-SPOWebTheme.md
:white_check_mark:Succeeded

sharepoint/sharepoint-ps/sharepoint-online/Update-UserType.md
:white_check_mark:Succeeded

sharepoint/sharepoint-ps/sharepoint-server/Add-FASTSearchSpelltuning.md
:white_check_mark:Succeeded

sharepoint/sharepoint-ps/sharepoint-server/Add-SPAppDeniedEndpoint.md
:white_check_mark:Succeeded

sharepoint/sharepoint-ps/sharepoint-server/Get-FASTSearchSpelltuningStatus.md
:white_check_mark:Succeeded

sharepoint/sharepoint-ps/sharepoint-server/Get-SPAppInstance.md
:white_check_mark:Succeeded

sharepoint/sharepoint-ps/sharepoint-server/Get-SPODataConnectionSetting.md
:white_check_mark:Succeeded

sharepoint/sharepoint-ps/sharepoint-server/Get-SPODataConnectionSettingMetadata.md
:white_check_mark:Succeeded

sharepoint/sharepoint-ps/sharepoint-server/New-FASTSearchMetadataCrawledProperty.md
:white_check_mark:Succeeded

sharepoint/sharepoint-ps/sharepoint-server/New-SPEnterpriseSearchLinksDatabase.md
:white_check_mark:Succeeded

sharepoint/sharepoint-ps/sharepoint-server/Remove-FASTSearchSpelltuning.md
:white_check_mark:Succeeded

sharepoint/sharepoint-ps/sharepoint-server/Remove-SPApplicationCredentialKey.md
:white_check_mark:Succeeded

This comment lists only the first 50 files in the pull request.
For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


Build error for iOS

[x] I have read the Get Started - Installation section
[x] I have read and done the Get Started - Setup Android section
[x] I have read and done the Get Started - Setup iOS section
[x] I have already searched for the same problem

Environment

Technology
Version

Flutter version
2.1.0-12.2 pre

Plugin version
5.3.1

Android version
N/A

iOS version
14

Xcode version
12.1

Device information: N/A
Description
Build error when compiling on iOS release mode
Stacktrace/Logcat
❌  /Users/tanay/Desktop/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_inappwebview-5.3.1/ios/Classes/InAppWebView/InAppWebView.swift:684:34: value of type 'WKPDFConfiguration' has no member 'rect'

                pdfConfiguration.rect = CGRect(x: rect["x"]!, y: rect["y"]!, width: rect["width"]!, height: rect["height"]!)
            ^

❌  /Users/tanay/Desktop/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_inappwebview-5.3.1/ios/Classes/InAppWebView/InAppWebView.swift:687:9: cannot find 'createPDF' in scope

        createPDF(configuration: pdfConfiguration) { (result) in
                ~~~~~~~~~~~~~~~~ ^~~~

❌  /Users/tanay/Desktop/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_inappwebview-5.3.1/ios/Classes/InAppWebView/InAppWebView.swift:702:29: incorrect argument label in call (have 'completionHandler:', expected 'dataCompletionHandler:')

        createWebArchiveData(completionHandler: { (result) in
        ^~~~~~~~~

❌  /Users/tanay/Desktop/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_inappwebview-5.3.1/ios/Classes/InAppWebView/InAppWebView.swift:1226:33: extra arguments at positions #2, #3 in call

        super.evaluateJavaScript(javaScript, in: frame, in: contentWorld, completionHandler: completionHandler)
                            ^~~~~~~~~~~~~~~~~~

❌  /Users/tanay/Desktop/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_inappwebview-5.3.1/ios/Classes/InAppWebView/InAppWebView.swift:1226:94: cannot convert value of type '((Result<Any, Error>) -> Void)?' to expected argument type '((Any?, Error?) -> Void)?'

        super.evaluateJavaScript(javaScript, in: frame, in: contentWorld, completionHandler: completionHandler)
              ^

❌  /Users/tanay/Desktop/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_inappwebview-5.3.1/ios/Classes/InAppWebView/InAppWebView.swift:1243:15: value of type 'WKWebView' has no member 'callAsyncJavaScript'

        super.callAsyncJavaScript(functionBody, arguments: arguments, in: frame, in: contentWorld, completionHandler: completionHandler)

I think you should update your Xcode version

Yep that fixed it, thanks!

I am using Xcode 12.4 , Mac Version 10.15.7, Flutter 2.2.3
Facing the same issue.
@tneotia  Which version your this issue has fixed


remove the dependency for security.yml for normal applications

Based on new design for the restful API, system will use openapi-security.yml as JWT security token configuration file. And new version light-codegen does not generate security.yml file for restful API anymore.
In JwtVerifyHandler class, system check the openapi-security.yml  first, if not find, use security.yml for backward compatibility:
// check if openapi-security.yml exist
config = Config.getInstance().getJsonMapConfig(OPENAPI_SECURITY_CONFIG);
// fallback to generic security.yml
if(config == null) config = Config.getInstance().getJsonMapConfig(JwtHelper.SECURITY_CONFIG);
But in JwtHelper class, it only load security.yml for JWT config:
public static final String SECURITY_CONFIG = "security";
static Map<String, Object> securityConfig = (Map)Config.getInstance().getJsonMapConfig(SECURITY_CONFIG);
static Map<String, Object> securityJwtConfig = (Map)securityConfig.get(JWT_CONFIG);

I think it should have same logic to check openapi-security.yml since resful API will use the file for configuration.

@chenyan71 I double-checked the source code and you are right. In most cases, the default security.yml in the light-4j security module will be used for the JwtHelper. As JwtHelper is invoked from the JwtVerifyHandler in the openapi-security module in light-rest-4j, we need to find a way to pass the configuration to the JwtHelper; however, it is not an easy job as all the methods in the JwtHelper are static and the init code is a static block to load the security.yml. There is no knowledge for the JwtHelper to figure out who is the caller and which config file should be loaded (openapi-security vs. swagger-security). Do you have any good idea to get the issue fixed? Thanks for raising it up.

To eliminate the dependency for security.yml config file, I have introduced a new class named JwtVerifier to replace the JwtHelper. The JwtHelper is still there but marked as deprecated. The following repositories must be changed as well for use the newly introduced class instead of using the static JwtHelper.
light-rest-4j
light-hybrid-4j
light-graphql-4j
light-hybrid-4j
light-spa-4j
light-example-4j

light-rest-4j https://github.com/networknt/light-rest-4j/issues/103

 remove the dependency for security.yml for normal applications

 remove the dependency for security.yml for normal applications


Word memory

This adds a --words/-w flag to the memory view that displays the data as a column of machine words.

This looks like it won't display correctly for big endian architectures. I'm also not keen on displaying the ASCII like that - IMO it should still be displayed in the order of the bytes in memory. I'll give it a try and see what can be done.

Thanks for the PR though, it's definitely a feature I'd like to include.

Now that I think of it, I totally agree on the ascii part - the whole point is to read strings directly from memory. I'm going to look into adding compatibility for big-endian architectures.

Awesome, thanks. FYI the target var set here contains byte_order and addr_size fields.


H61E0 Support

Please explain your feature request in a one or two sentences.
The new H61E0 Device (M1 Lightstrip with new Matter Controller) is not supported yet. Would you support it, even it has Matter Support?

Is your feature request related to a problem? Please describe.
The log says that the H61E0 is not supportet and I should make a ticket here.

Any particular Govee devices that this relates to?
H61E0 Lightstrip

Hi @schmidt787
Please install the beta version of the plugin, docs:
https://github.com/bwp91/homebridge-govee/wiki/Beta-Version
Note that this will still use the cloud to control the device rather than matter

Thank you for the fast response. I've tried to install the beta. But there was a problem with the installation. I'll test again today's evening and post more from the problem.

So now I try to fix the problem and I got the 2 H61E0 to work. The number of percent is different at first and need some time to get to the right number. But other functions are working.


Documentation: Check for dependencies when building

Fixes: #538
Signed-off-by: Thomas Graf<EMAIL_ADDRESS>

Assigning @scanf as reviewer as he reported this issue.


Feature/last viewed

@thisiskell I have included an index.html file at the root for the mfly-commands repo. Here are the steps to test the last viewed content feature:

Run mfly-interactive -u http://viewer.mediafly.dev/interactives/interactive/9cf282320e6340ee8b830e5376d54531product236314/index.html
Navigate to URL https://localhost:3000/interactives/interactive/9cf282320e6340ee8b830e5376d54531product236314/index.html. This will load the interactive that is index.html.

I just created a section for Last Viewed Content in this interactive for now. I have to think some more about how I can provide a way to test all functions of mflyCommands using this method.


Minimal imports seem to result in exemptions taking precedence over imports

In the patch where I added cargo-vet audits into Firefox, I got some surprising behavior. I first added the import to config.toml, then ran cargo-vet. This told me I had unnecessary exemptions and that I should run cargo vet prune, but didn't actually add the new imports to imports.lock until I actually ran prune. This struck me as somewhat surprising behavior, since I wouldn't expect something called prune to actually add new imports.

(I'm hoping this is a pretty straightforward behavioral tweak. If it's hard to fix we can discuss whether we should just live with the current behavior).

@mystor reminded me this is the behavior we want (since we don't want peoples' patches to pull in random imports), and upon reflection I think the name prune makes sense if you squint.


Rule SA1009 should deal with closing parenthesis as the end of a value tuple

The Rule SA1009 is defined as:
"A closing parenthesis should never be preceded by whitespace. In most cases, a closing parenthesis should be followed by a single space, unless the closing parenthesis comes at the end of a cast, or the closing parenthesis is followed by certain types of operator symbols, such as positive signs, negative signs, and colons.
If the closing parenthesis is followed by whitespace, the next non-whitespace character should not be an opening or closing parenthesis or square bracket, or a semicolon or comma."
In some cases the closing parenthesis can be used to define a value tuple.
If, for example, a list of value tuples is defined, the syntax can be like
IEnumerable<(string a, int b)> tupleList;.
I suggest to add the "greater-than-sign" as an additional exception for the rule SA1009 to allow these code structures.
Maybe code changes concerning this issue can be combined with a solution for the issue Rule SA1008 should add => for expression based properties/functions as exception by handling value tuples generally.

:memo: This is supposed to be covered by the following test:
https://github.com/DotNetAnalyzers/StyleCopAnalyzers/blob/94ff9be5073f74e8bffa3bed7ff3e5b85be5183f/StyleCop.Analyzers/StyleCop.Analyzers.Test.CSharp7/SpacingRules/SA1009CSharp7UnitTests.cs#L808-L841

@hen1990fr Which version are you using?

@bjornhellander I'm currently using the last stable Version 1.0.2 via NuGet.  So there is the point. A short research showed, that the commits, in which the support of value tuples was added, were made later with the tag 1.1.0 (beta4). Correct me, if I'm wrong.

@hen1990fr The 1.1.0 beta releases are the first ones to support C# 7 syntax.

I'm using .NET 4.6.2 and 1.1.0-beta4 and still seeing this error.

@msmolka Can you provide sample code? I cannot reproduce it here.

All looks working it occurred that even if NuGet was installed, the analyzer section in csproj was missing, and I missed that because of resharper. It would be good to have easier info when StyleCop is not properly installed. I had the same issue today, when tried to create empty project to reproduce. Added new nuget but there were no StyleCopAnalyzers under Analyzers section in references.

It would be good to have easier info when StyleCop is not properly installed.

The new project system will deal with this by no longer requiring that the section exist in the project at all.

I get this using the v1.0.2 with
public Dictionary<Guid, IEnumerable<(Guid p1, string p2, Guid p3)>> MyProperty { get; set; }

@DrGriff that is expected; see https://github.com/DotNetAnalyzers/StyleCopAnalyzers/issues/2522#issuecomment-325152888 above


Issue for adding a SNAP8-ER 2D coupled model

This is an issue for adding the SNAP8ER PR which requires a ticket reference.

#138

Closing as addressed by #138


META-INF folder is empty after merge

Hi,
after performing merge, in case there are files in the META-INF folder in the main APK and the other (such as config.en.apk,config.armeabi_v7a.apk) has an empty META-INF folder, the result is that the merged apk will have an empty (with folders only) META-INF folder.

Hello,
During merging , we modify apk so the orginal signing keys *.SF, *.RSA, MANIFEST.MF are invalid and should be cleared from META-INF but keep other files like META-INF/services/*
Check this commit  by @Kirlif

Keeping META-INF is useful to install APK with original signature on a rooted device + disabled signature check using Core Patch module

Hello and warm welcome here 😃,
Maybe I should add option to let the user decide to keep signing keys, like -keep-meta

Keeping META-INF is useful to install APK with original signature on a rooted device + disabled signature check using Core Patch module

Hello and warm welcome here 😃, Maybe I should add option to let the user decide to keep signing keys, like -keep-meta

Yes, an option would always be great 👍

It is fixed now with this, going to close it


Showing that content is part of a season

What is it and who's it for?
Site visitors who access any part of a Season's content should be offered a way to browse to more content from that Season
Problems/Questions

If content in the season is also part of a event-series or article series or serial, which relationship is primary?
What are the onward journeys from a content page to more content in the season?
Do we want to connect to the season itself, or a selection of content pages within?

Implementation
TBC
Acceptance criteria
TBC
Testing and tracking

Setting up additional tracking and monitoring - talk to Tacey
Qual and/or Quant test plan - Alice and Tacey

Measurement

Related KPIs (e.g. breadth of collection accessed, reading time, etc.)

Other considerations
<---Delete as appropriate--->

Impact on URL design
Cardigan documentation

2 December 2020
Promo design (banner) and relationship of promo to the content


Source maps reference non-existent source files

Bug Report
When referencing this package from a react-scripts project, we see several warnings because of invalid source maps:
WARNING in ../../node_modules/typescript-json/lib/schemas/IJsonSchema.js
Module Warning (from ../../node_modules/source-map-loader/dist/cjs.js):
Failed to parse source map from '/Users/sbergam/git/incident-management-service/node_modules/typescript-json/src/schemas/IJsonSchema.ts' file: Error: ENOENT: no such file or directory, open '/Users/sbergam/git/incident-management-service/node_modules/typescript-json/src/schemas/IJsonSchema.ts'

This discussion describes the issue (and how to fix it):
https://github.com/facebook/create-react-app/discussions/11767
TL;DR if your npm package contains sources maps (which typescript-json does) then you need to make sure the source files referenced in the source maps actually get published with the package.
E.g. the file node_modules/typescript-json/lib/index.js.map as published on npm has these contents:
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAAiC;AAEjC,kBAAe,IAAI,CAAC;AACpB,2CAAyB"}

...but the file src/index.ts that it references is not published on npm.
I hope this helps. I looked for a publish command in the repo to see if the src directory was being excluded onpurpose, but I'm not sure where it is (otherwise I would have created a PR for this issue).

Can you give me your opinion about two options?

Generate d.ts.map files and do not publish js.map files
Publish src directory

I think #2 is best.


A small documentation update to talk about the 3x1 keyboard

I use your software and it perfectly works on my 3x1 keyboard.
Thanks for you works.

Cool! Good to know.


Operator precedence and associativity

Pull Request Description
Implements: https://www.pivotaltracker.com/story/show/182497344
Important Notes
Checklist
Please include the following checklist in your PR:

[x] The documentation has been updated if necessary.
[x] All code conforms to the
Scala,
Java,
and
Rust
style guides.
All code has been tested:

[x] Unit tests have been written where possible.
[x] If GUI codebase was changed: Enso GUI was tested when built using BOTH
./run ide build and ./run ide watch.

[ci no changelog needed]

Merged into #3706


fix pkgsCross.*.texinfoInteractive

This fixes #86166 to build cross compilied texinfoInteractive.
BUILD_CC has been renamed to CC_FOR_BUILD so the patch needs to applied
this renaming.
tested on: pkgsCross.armv7l-hf-multiplatform.texinfoInteractive

Motivation for this change
Things done

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

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

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

The diff is very weird looking? I think you have an unintentional extra space?

~~The diff is very weird looking?~ I think you have an unintentional extra space?
Oh I understand now---I messed it up in my commit. Sorry about that. But let's do take away that stray space.

The extra space has been removed.


Support SPV_KHR_uniform_group_instructions

Spec: https://github.com/KhronosGroup/SPIRV-Registry/pull/138
SPIR-V Headers: https://github.com/KhronosGroup/SPIRV-Headers/pull/269

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

@alan-baker Hi, headers are merged, retrigger the checks please

@alan-baker friendly ping


median-age-MOE/CV in 2015-2019 and 2008-2012 ACS PUMS data is 0 at the borough level aggregation

Going through spot checks and noticed that there are no calculated age-median-MOE, age-median-CV for the 2015-2019 data for 3/5 boroughs and no calculated age-median-MOE or age-median-CV for any borough in the 2008-2012 data.  This is also happening at the citywide level in the 2008-12 data (which makes sense seeing as there is no calculation at the borough level). I will dig into the citywide median aggregations for the 2015-19 data now.
Example of the Demographic Median Aggregation at the borough level for 2015-19 ACS PUMS Data:

Running agg19 = PUMSMedianDemographics(year = 2019, geo_col = "borough", requery = True) in ipython

Oh I see when you say none you mean it's all zeros. I originally thought you meant NaN.
Going to compare against Erica's file of demographics indicators based off 2000 census

Compared against Erica's numbers. In her numbers MOE and CV for median age of total pop per borough are .1 except for bronx CV which is .2. Which is not so conclusive
But then I looked at median age by race, where for example 3/5 boroughs have 0 CV and MOE for median age for asians where in Erica's numbers the CV for this indicator range from .007 to .018. And the MOE range from .4 to 2.2.
So I think we are doing something wrong. I guess it's plausible that survey response rates or the capacity of the census to get a representative sample improved but that seems unlikely.
I'm checking out that link you posted in the teams chat now


remove tokio sync primitives

As per https://github.com/surrealdb/surrealkv/issues/80, this PR will attempt to remove Tokio related sync primitives with async_mutex and async_semaphore.
Technically speaking, the behavior shouldn't be that much differed, the few things that needs to be taken noticed on is only in fairness guarantee, whether one mutex lock would starve another, and whether or not two mutex lock re-entrancy would cause a live-lock or not.
As for async_semaphore, I noticed how the "write lock" for the oracle doesn't need a lock at all; it just need a critical section to prevent concurrent access. While I couldn't find any async critical section crate, I think replacing it with a semaphore would better indicate its functionality, hence the change.

Hey @stevefan1999-personal
Sorry for the late reply, and thank you for these suggestions on surrealkv. I think they would be useful in the long run. Perhaps we can add them in a future milestone once everything is stable and working as expected, as we do not want to introduce any large breaking change at this time. I'll keep them open for now and maybe add it for a future milestone


Option to disable the modal dialog on start debug failure.

When I accidentally write a bug that causes a compile failure, I get a modal error like this:

I think it's a great default setting.  However, now that I'm very familiar with vscode, I know to look in the debug console.  ... that's where I'm looking when I start the debugger.  Closing the modal every time there is a compile issue is just extra hassle since it is already very clear from the debug console that I have an error and what it is.
Please make a configurable setting to diable this modal.
I recommend:
debug.modalDialogOnStartFailure
See also:  https://github.com/Microsoft/vscode/issues/45998

I made a pull request with the fix.  Pls LMK if you want any changes.
Thanks!  vscode rocks!

@jeffhoye thanks for the PR but we will only accept it if more users ask for this feature.
We try to make vscode minimalstic, otherwise we would have millions of settings.

I understand.  I'll try to think of a way to solve it via a plugin....

@jeffhoye not sure if possible via a plugin

I think there are two types of notifications:

expected (frequent) problems like compiler errors,
unexpected (rare) problems like a runtime error in a debugger or a non-existing variable in a launch config.

IMO the first type of problem should be addressed by the non-modal notification whereas the second type should result in a modal dialog because it is a fundamental problem that requires the users attention.
@jeffhoye in your original message from above you said that a compile failure results in the modal error dialog you are showing. The dialog looks strange because it does not indicate that the prelaunch task was failing. What debugger are you using and how are you compiling/building?

I've been using vscode to program in Node.js, Python, but primarily Go (golang).  I just fired up some Python and Node.js programs and inserted syntax errors to see if it behaves the same.  It does not.
Therefore, perhaps it's an issue with the Golang plugin (lukehoban.go).
https://code.visualstudio.com/docs/languages/go
I'll have to try c++ or java around to see if it's just the Golang plugin or if it's an issue with compiled vs interpreted languages.

Setting up C++ and/or Java environments with vscode is taking longer than I can play with this morning.
I was hoping to see how they behave to similar syntax errors that block building.
I'll bring my issue over to https://github.com/Microsoft/vscode-go
... and see if there's a more compliant way to report normal compilation errors.
I guess we can close the issue until I work with vscode-go to figure out the proper approach.

@jeffhoye thanks for revisiting this and filing an issue against vscode-go.


Add feature/fix: Added 3 new resources on Pentest, Red Team, Webapp Security and General offsec focused detailed blog.

I added NetSPI which was a great resource for me to learn mssql pentesting and AD abuse. Then the Hacking Articles, really detailed CTF writeups and General Hacking stuff. Finally the PortSwigger Academy which has extensive labs and lessons on learning WebApp Security.

Thanks man.


earthly: 0.5.14 -> 0.5.15

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/earthly/earthly/releases.
meta.description for earthly is: "Build automation for the container era"
meta.homepage for earthly is: "https://earthly.dev/"
meta.changelog for earthly is: "https://github.com/earthly/earthly/releases/tag/v0.5.15"
Updates performed

Golang update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS

The tests defined in passthru.tests, if any, passed

/nix/store/adw20g9nfki84fsi5w0c57xmsns5gy92-earthly-0.5.15/bin/earthly passed the binary check.

/nix/store/adw20g9nfki84fsi5w0c57xmsns5gy92-earthly-0.5.15/bin/earthly-debugger passed the binary check.

Warning: no invocation of /nix/store/adw20g9nfki84fsi5w0c57xmsns5gy92-earthly-0.5.15/bin/earthly-shellrepeater had a zero exit code or showed the expected version

2 of 3 passed binary check by having a zero exit code.

0 of 3 passed binary check by having the new version present in output.

found 0.5.15 in filename of file in /nix/store/adw20g9nfki84fsi5w0c57xmsns5gy92-earthly-0.5.15

directory tree listing: https://gist.github.com/6f1666050dd38a7b245006396a27f949

du listing: https://gist.github.com/38a6553ed1fa2c2aca08a425ac3971ff

Rebuild report (if merged into master) (click to expand)

4 total rebuild path(s)

1 package rebuild(s)

1 x86_64-linux rebuild(s)
1 i686-linux rebuild(s)
1 x86_64-darwin rebuild(s)
1 aarch64-linux rebuild(s)

First fifty rebuilds by attrpath
earthly

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/adw20g9nfki84fsi5w0c57xmsns5gy92-earthly-0.5.15 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A earthly https://github.com/r-ryantm/nixpkgs/archive/cdadef2a1c6f5e43dbc8700fe950cbbd3f09776f.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/adw20g9nfki84fsi5w0c57xmsns5gy92-earthly-0.5.15
ls -la /nix/store/adw20g9nfki84fsi5w0c57xmsns5gy92-earthly-0.5.15/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

earthly

Maintainer pings
cc @Mdsp9070 @kalbasit for testing.

where are those modifications in buildFlags?

@Mdsp9070 This is an automated update from a bot. I'm not sure what you are asking for, but if this needs other changes, it is best to open a new PR that closes this one on merging.

Oh, sorry! I was talking about this change: https://github.com/NixOS/nixpkgs/pull/125530


Save api key somewhere all components can reach to

Currently, search component is the only component which requires api keyt. I think it will make sense to pass the api key with initialization of the map.
This should be backward compatible until official release.

separated from : https://github.com/mapzen/mapzen.js/issues/316

WIP on this branch : https://github.com/mapzen/mapzen.js/tree/hanb/separating-key

closed via 47f504f2464416d78b625834794571e9c3114231


chore(package): update leveldown to version 5.0.3

:tada: This PR is included in version 1.14.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


AdminQueries AWS::ApiGateway::RestApi Unable to put integration on 'ANY' for resource at path '/{proxy+}'

Before opening, please confirm:

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

How did you install the Amplify CLI?
npm
If applicable, what version of Node.js are you using?
v14.18.2
Amplify CLI Version
7.6.26
What operating system are you using?
Mac
Did you make any manual changes to the cloud resources managed by Amplify? Please describe the changes made.
no
Amplify Categories
auth, api
Amplify Commands
push, update
Describe the bug
Added AdminQueries via 'amplify update auth' and after 'amplify push' I got:
CREATE_FAILED      AdminQueries AWS::ApiGateway::RestApi Mon Mar 28 2022 13:48:53 GMT+0200 (Central European Summer Time) Errors found during import:  Unable to put integration on 'ANY' for resource at path '/{proxy+}': Invalid lambda function (Service: AmazonApiGateway; Status Code: 400; Error Code: BadRequestException; Request ID: cb4fdec6-fb09-4298-b072-98f59963c44f; Proxy: null)
I can't push anything now.
Expected behavior
Push should run without problems.
Reproduction steps

amplify update auth
Choose AdminQueries
amplify push

GraphQL schema(s)

# Put schemas below this line

Log output
CREATE_FAILED      AdminQueries AWS::ApiGateway::RestApi Mon Mar 28 2022 13:48:53 GMT+0200 (Central European Summer Time) Errors found during import:  Unable to put integration on 'ANY' for resource at path '/{proxy+}': Invalid lambda function (Service: AmazonApiGateway; Status Code: 400; Error Code: BadRequestException; Request ID: cb4fdec6-fb09-4298-b072-98f59963c44f; Proxy: null)
Additional information
No response

@jhockett sure:
{
"version": "1",
"cognitoConfig": {
"identityPoolName": "****664a87b2_identitypool_664a87b2",
"allowUnauthenticatedIdentities": false,
"resourceNameTruncated": "****664a87b2",
"userPoolName": "****664a87b2_userpool_664a87b2",
"autoVerifiedAttributes": [
"email"
],
"mfaConfiguration": "OFF",
"mfaTypes": [
"SMS Text Message"
],
"smsAuthenticationMessage": "Your authentication code is {####}",
"smsVerificationMessage": "Your verification code is {####}",
"emailVerificationSubject": "Your verification code",
"emailVerificationMessage": "Your verification code is {####}",
"defaultPasswordPolicy": false,
"passwordPolicyMinLength": 8,
"passwordPolicyCharacters": [],
"requiredAttributes": [
"email",
"nickname",
"preferred_username"
],
"aliasAttributes": [],
"userpoolClientGenerateSecret": false,
"userpoolClientRefreshTokenValidity": 30,
"userpoolClientWriteAttributes": [
"email"
],
"userpoolClientReadAttributes": [
"email"
],
"userpoolClientLambdaRole": "****664a87b2_userpoolclient_lambda_role",
"userpoolClientSetAttributes": false,
"sharedId": "664a87b2",
"resourceName": "****664a87b2",
"authSelections": "identityPoolAndUserPool",
"useDefault": "manual",
"triggers": {
"PostConfirmation": [
"add-to-group"
],
"PreSignup": [
"custom"
]
},
"userPoolGroupList": [
"Member",
"Admin"
],
"serviceName": "Cognito",
"usernameCaseSensitive": false,
"useEnabledMfas": true,
"authRoleArn": {
"Fn::GetAtt": [
"AuthRole",
"Arn"
]
},
"unauthRoleArn": {
"Fn::GetAtt": [
"UnauthRole",
"Arn"
]
},
"breakCircularDependency": true,
"dependsOn": [
{
"category": "function",
"resourceName": "****664a87b2PostConfirmation",
"triggerProvider": "Cognito",
"attributes": [
"Arn",
"Name"
]
},
{
"category": "function",
"resourceName": "****664a87b2PreSignup",
"triggerProvider": "Cognito",
"attributes": [
"Arn",
"Name"
]
}
],
"permissions": [
"{\n  "policyName": "AddToGroupCognito",\n  "trigger": "PostConfirmation",\n  "effect": "Allow",\n  "actions": [\n    "cognito-idp:AdminAddUserToGroup",\n    "cognito-idp:GetGroup",\n    "cognito-idp:CreateGroup"\n  ],\n  "resource": {\n    "paramType": "!GetAtt",\n    "keys": [\n      "UserPool",\n      "Arn"\n    ]\n  }\n}"
],
"authTriggerConnections": "[\n  {\n    "triggerType": "PostConfirmation",\n    "lambdaFunctionName": "frinju664a87b2PostConfirmation"\n  },\n  {\n    "triggerType": "PreSignUp",\n    "lambdaFunctionName": "frinju664a87b2PreSignup"\n  }\n]",
"parentStack": {
"Ref": "AWS::StackId"
},
"adminQueryGroup": "Admin",
"thirdPartyAuth": false,
"userPoolGroups": true,
"adminQueries": true,
"hostedUI": false,
"authProviders": []
}
}

Hey @MichaelPlan are you still experiencing this issue?


GEOMESA-1769 remove use of case class with DescriptiveStats

Might want to reconsider case class use with other Stats classes
Signed-off-by: Tom Kunicki<EMAIL_ADDRESS>

@jnh5y Thoughts on this?


feat: #1277 canonicalize wasm filename extension to '.wasm'

Always fetching the wasm with the .wasm extension
Provide some guidelines for users to configure their content servers correctly
vue-aries-framework-go now npm linked to aries-js-worker via npm run server

Signed-off-by: George Aristy<EMAIL_ADDRESS>

Merging despite BDD tests for introduce failing (perhaps to be fixed by #1284). The failing parts of the codebase are irrelevant to this PR.