Property sources in parent interface are not inherited

I wanted to split configuration interfaces which would share the same property sources and their loading/merging strategy. For that I wanted to define parent interface specifying those sources. Unfortunately in that case the properties are not loaded.
For example, I have parent interface which specifies sources to property files:
@Config.LoadPolicy(Config.LoadType.MERGE)
@Config.Sources({"classpath:application.properties",
        "classpath:application.conf",
        "classpath:reference.conf"})
public interface BaseConfig extends Config {

    void list(PrintStream out);
}

and sub interface which extends the parent:
public interface PdfApiConfig extends BaseConfig {

    @Config.Key("pdfapi.copyUnmodified")
    boolean isCopyUnmodified();
}

I have property file reference.conf containing value:
pdfapi.copyUnmodified=true
And this code fails with NPE, unless I repeat @Config.Sources annotation on subinterface:
PdfApiConfig config = ConfigFactory.create(PdfApiConfig.class);
boolean value = config.isCopyUnmodified();

Hi @abysas, this can be surely improved, but I think it is correct to specify the @Sources annotation in the sub interface. I could add the ability to include the @Sources from the super interface too as improvement.

@lviggiano, that would be great and IMHO it would allow to follow "don't repeat yourself" principle, don't you think :)
I guess such behavior could be default, unless subinterfaces were annotated with @Sources as well, which would effectively override the sources in super interface.


Make DBus properties optional where needed

With the removal of the capabilities, we have a bunch of dbus properties now that should be optional, depending on device capabilities:

Profile.Enabled
Profile.Name
Profile.SetActive()
Resolution.IsDefault
Resolution.SetDefault
Resolution.SetActive()
Profile.ReportRate and ReportRates (note #645)
Led.EffectDuration() - only if Modes isn't limited to just on/off
Led.Brightness
Led.Color and Led.ColorDepth (because monochrome means we don't control the colors)
Button.Enabled  - doesn't currently exist but should
Button.Disable()

In ratbagd.py this is probably best achieved by having the properties as True/False where exists and None where not.

Just as a note, this could be a fair bit of work. If we return positive errnos from our property getters, ratbag gets kicked off the bus. Negative errnos are returned by systemd but this affects the GetAll call and thus all properties. D-Feet can cope with that but ratbagd.py cannot. I suspect the trick is going to be using SD_BUS_VTABLE_HIDDEN in the vtables but that would require us to add per-object vtables instead of the current "one vtable for all objects" approach.

For reference, a WIP is here https://github.com/whot/libratbag/tree/wip/custom-vtables


Safely use TeX code, define keywords and get the attention ...

So I'm creating this thing to make a simple scientific documentation page. For this I am using markdown but needed to get around the use of markdown characters inside TeX equations, so I decided to fork this parser and extend it, maybe It should be made optional?
TeX formulas
Use TeX $\partial_{\mu} A^\mu = 0$ inside markdown without worrying about the special characters.
$$\mathcal{L}=\bar\psi(i\gamma^\mu D_\mu-m)\psi -\frac{1}{4}F_{\mu\nu}F^{\mu\nu}$$

Everything in between $ or $$ will be ignored and can be rendered by KaTeX

These two extensions seemed useful? I don't know ...
Define keyword
:keyword: a word or concept of great significance.

will be rendered to

keyword:

a word or concept of great significance.

Alert
>! The auto-render extension isn't part of KaTeX proper, it should be separately included!

will be rendered to

The auto-render extension isn't part of KaTeX proper, it should be separately included!

A bug #722 was found, so more extensive testing is required ...

What's the status on this? I'd like to be able to use MathJax or KaTeX with marked, but this issue is a showstopper.

You can check out my changes changes f0fd2644ae96179b3252431e8aaa53d9d5b0ee94, this is an earlier commit as I might have been to fast accepting the pull request. Looking at it right now, it wasn't inline with what I actually wanted to do ...
I basically told marked to ignore everything between two '$' so that I could use '^' and '_' without worries, then I used the auto-renderer  to render everything between '$' inline and '$$' in display mode.
It's probably better to render inside marked by changing renderer methods as there might be a reason why the auto-render extension isn't part of KaTeX proper, something like
Renderer.prototype.formula = function(tex) {
    return katex.renderToString(tex);
}

I see some issues with this. For instance, it does not handle \begin{}..\end{}.
Have a look at my new PR #799 and see what you think.

I dislike the idea of interweaving marked and KaTeX. What about support for other math renderers (like MathJax)? What about if markdown is rendered on the server, and math in the browser? I think the markdown rendering and math rendering should be separate, making marked agnostic to how one renders the math.
Also, note that does have auto-render like MathJax: https://github.com/Khan/KaTeX/tree/master/contrib/auto-render


Other compatible recommended UI mods

Is your feature request related to a problem? Please describe.
There are lots of other UI mods out there, most are incompatible with CQUI. Some are however. We could:

Include such mods! This is extra work on CQUI's part.
List such mods we recommend

Describe the solution you'd like
I'd like to see us list those mods in a "Other recommended UI mods" section of the README.
Here are two:
Better Loading Screen
Real Era Tracker
Radial Measuring Tool
There are likely lots of others I don't know about.
Describe alternatives you've considered
While we could include any mods we recommend, I think there needs to be a limit. We probably don't need to if it is compatible anyway.
Additional context
I saw this post here:
https://civilization.fandom.com/wiki/Modding_(Civ6)/List_of_Popular_UI_Mods

I like the idea, however I don't know the best way to go about it.  It's not always the easiest to determine the mods that are compatible or not, as the troubleshooting tools are not always the most easy to work with, nor is there any strict structure that anyone has to follow in order to mod things.
I would love for someone to compile a list - I have a number that I certainly like, which do not interfere with CQUI, including some done by @Infixo that I discovered after he started helping out here.  These are the ones I have enabled in my "preferred mods" list:

Better Civilization Colours (Janboruta)
Better Civilopedia (Infixo)
Better Climate Screen (Infixo)
Better Leader Icon (Infixo)
Better Report Screen (Infixo)
Clean Nuclear Power (JNR)
Decomission Power Plants (JNR)
Renewable Energy Complexity (JNR)
City State Introductions Reworked (TC)
CIVITAS City States (SeelingCat and others)
Colorized Historic Moments (MiniRagnorok and GreenEighenlicht)
Leugi's Unique District Icons (Leugi, Sukritact)
Oasis Caravanserai (JNR)
Real Strategy (Infixo)
Starting Scout (NoShotz)
Stone Rocks! (JNR)
Sukritact's Global Relations Panel (Sukritact)
Take your Time Ultimate - Slower Research Trees (No Author?)
Tier 4 Government Policies (JNR)
UC - Builder Charges for Housing (JNR)
UC - District-Themed Recruits (JNR)
UC - District Expansion: Military (JNR)
UC - Forest Districts (JNR)
UC - Government Plaza Expansion (JNR)
UC - Satellites (JNR)
UC - Suburban Roads (JNR)

I like the idea, however I don't know the best way to go about it.  It's not always the easiest to determine the mods that are compatible or not, as the troubleshooting tools are not always the most easy to work with, nor is there any strict structure that anyone has to follow in order to mod things.
I would love for someone to compile a list - I have a number that I certainly like, which do not interfere with CQUI, including some done by @Infixo that I discovered after he started helping out here.  These are the ones I have enabled in my "preferred mods" list:

Better Civilization Colours (Janboruta)
Better Civilopedia (Infixo)
Better Climate Screen (Infixo)
Better Leader Icon (Infixo)
Better Report Screen (Infixo)
Clean Nuclear Power (JNR)
Decomission Power Plants (JNR)
Renewable Energy Complexity (JNR)
City State Introductions Reworked (TC)
CIVITAS City States (SeelingCat and others)
Colorized Historic Moments (MiniRagnorok and GreenEighenlicht)
Leugi's Unique District Icons (Leugi, Sukritact)
Oasis Caravanserai (JNR)
Real Strategy (Infixo)
Starting Scout (NoShotz)
Stone Rocks! (JNR)
Sukritact's Global Relations Panel (Sukritact)
Take your Time Ultimate - Slower Research Trees (No Author?)
Tier 4 Government Policies (JNR)
UC - Builder Charges for Housing (JNR)
UC - District-Themed Recruits (JNR)
UC - District Expansion: Military (JNR)
UC - Forest Districts (JNR)
UC - Government Plaza Expansion (JNR)
UC - Satellites (JNR)
UC - Suburban Roads (JNR)

I would suggest the other way, creating a list of current incompatible mods in another markdown file and collectively maintained by the community.
Listing all compatible mods is too long, but of course, it's helpful to list some popular mods that are compatible, like what you guys did here!

I am using CQUI all the time. All my UI mods are compatible with CQUI.


mailing caught error Error: getaddrinfo ENOTFOUND smtp.example.com

Describe the bug
Not able to get the test server to force send with the correct config settings, maybe im missing something.
I tried changing /emails/index.ts transport, but still getting the following error.
mailing caught error Error: getaddrinfo ENOTFOUND smtp.example.com

even with /emails/index.ts config
const transport = nodemailer.createTransport({
  host: 'smtp.mailtrap.io',
  port: 2525,
  auth: {
    user: 'username',
    pass: 'password'
  }
});

To Reproduce
Steps to reproduce the behavior:
I must be missing a config step, but i updated the transport config in the /emails/index.ts, and when I run npx mailing, then send

run npx mailing to init project inside nextjs app
change the config in emails/index.ts in transport ensuring host is different
restart mailing server
trigger send email within main nextjs app so it gets intercepted by mailing server
Click on 'Force send'
See error

mailing caught error Error: getaddrinfo ENOTFOUND smtp.example.com

Expected behavior
To send email to mailtrap
I was able to get it to send within the main nextjs app by doing
dangerouslyForceDeliver: true
inside sendMail
Any help would be appreciated

Thanks for making an issue!
I was able to repro and I think I spotted the bug. Sorry about that.
Fixing shortly and will ping this thread upon release.

I'm having the same issue

fixed in 0.8.15
thanks @SSardorf and @crushingCodes for finding this!

@psugihara thanks for sorting it out so fast

no problem, thx for reporting!
please lmk if you hit any other snags.


Cart-Service need more helpful log / status check

used wrong env OTEL_EXPORTER_OTLP_TRACES_ENDPOINT, cart-service can't connect to OTLP
but no error log
➜  charts git:(wph95/otel-demo) ✗ kc logs demo-cart-service-57f754d46f-hmj7m
Connecting to Redis: demo-redis:6379,ssl=false,allowAdmin=true,abortConnect=false
Successfully connected to Redis
Performing small test
Small test result: OK
Initialization completed
info: Microsoft.Hosting.Lifetime[14]
      Now listening on: http://[::]:8080
info: Microsoft.Hosting.Lifetime[0]
      Application started. Press Ctrl+C to shut down.
info: Microsoft.Hosting.Lifetime[0]
      Hosting environment: Production
info: Microsoft.Hosting.Lifetime[0]
      Content root path: /usr/src/app
Connection failed. Disposing the object
Connection failed. Disposing the object
Connection to redis was retored successfully
Connection to redis was retored successfully
GetCartAsync called with userId=0685aee7-b2b7-47c3-893a-ae4b898138f0
AddItemAsync called with userId=0685aee7-b2b7-47c3-893a-ae4b898138f0, productId=1YMWWN1N4O, quantity=1
GetCartAsync called with userId=0685aee7-b2b7-47c3-893a-ae4b898138f0

used right env OTEL_EXPORTER_OTLP_ENDPOINT, connect to OTLP
➜  charts git:(wph95/otel-demo) ✗ kc logs demo-cart-service-57f754d46f-hmj7m
Connecting to Redis: demo-redis:6379,ssl=false,allowAdmin=true,abortConnect=false
Successfully connected to Redis
Performing small test
Small test result: OK
Initialization completed
info: Microsoft.Hosting.Lifetime[14]
      Now listening on: http://[::]:8080
info: Microsoft.Hosting.Lifetime[0]
      Application started. Press Ctrl+C to shut down.
info: Microsoft.Hosting.Lifetime[0]
      Hosting environment: Production
info: Microsoft.Hosting.Lifetime[0]
      Content root path: /usr/src/app
Connection failed. Disposing the object
Connection failed. Disposing the object
Connection to redis was retored successfully
Connection to redis was retored successfully
GetCartAsync called with userId=0685aee7-b2b7-47c3-893a-ae4b898138f0
AddItemAsync called with userId=0685aee7-b2b7-47c3-893a-ae4b898138f0, productId=1YMWWN1N4O, quantity=1
GetCartAsync called with userId=0685aee7-b2b7-47c3-893a-ae4b898138f0

might improve LogLevel ?

@mic-max could you potentially take a look when youre back?

Logging is done with plain Console log statements. It should be using the Logging API. I can make a small PR attempt...

@cijothomas  hello, cijothomas! Recently , I try to using the opentelemetry logging API to print logs for  cartservice.
I first config opentelemetry   log in program.cs
builder.Logging.ClearProviders();

builder.Logging.AddOpenTelemetry(options =>
{
    options.ConfigureResource(r => r.AddTelemetrySdk());
    options.AddConsoleExporter();
});

builder.Services.Configure<OpenTelemetryLoggerOptions>(opt =>
{
    opt.IncludeScopes = true;
    opt.ParseStateValues = true;
    opt.IncludeFormattedMessage = true;
});

builder.Services.AddGrpc();
builder.Services.AddGrpcHealthChecks()
    .AddCheck("Sample", () => HealthCheckResult.Healthy());

Then I init logs in RedisCartStore.cs

        private readonly ILogger<RedisCartStore> log;

        public RedisCartStore(ILogger<RedisCartStore> logger)
        {
            log = logger;
        }

Finally, I logs the AddItemAsync  call
 log.LogInformation("AddItemAsync called with userId={userId}, productId={productId}, quantity={quantity}", userId, productId, quantity)

I can compile this code and running it, but I meet some error in log
LogRecord.Timestamp:               2022-11-10T06:30:02.6120211Z
LogRecord.TraceId:                 281311f89567e856aae2042f92b21b5a
LogRecord.SpanId:                  9797adee538b6ac9
LogRecord.TraceFlags:              Recorded
LogRecord.CategoryName:            Grpc.AspNetCore.Server.ServerCallHandler
LogRecord.LogLevel:                Error
LogRecord.FormattedMessage:        Error when executing service method 'AddItem'.
LogRecord.StateValues (Key:Value):
    ServiceMethod: AddItem
    OriginalFormat (a.k.a Body): Error when executing service method '{ServiceMethod}'.
LogRecord.EventId:                 6
LogRecord.EventName:               ErrorExecutingServiceMethod
LogRecord.Exception:               System.ArgumentNullException: Value cannot be null. (Parameter 'logger')
   at Microsoft.Extensions.Logging.LoggerExtensions.Log(ILogger , LogLevel , EventId , Exception , String , Object[] )
   at Microsoft.Extensions.Logging.LoggerExtensions.Log(ILogger , LogLevel , String , Object[] )
   at Microsoft.Extensions.Logging.LoggerExtensions.LogInformation(ILogger , String , Object[] )
   at cartservice.cartstore.RedisCartStore.AddItemAsync(String userId, String productId, Int32 quantity) in /usr/src/app/cartstore/RedisCartStore.cs:line 128
   at cartservice.services.CartService.AddItem(AddItemRequest request, ServerCallContext context) in /usr/src/app/services/CartService.cs:line 40
   at Grpc.Shared.Server.UnaryServerMethodInvoker`3.AwaitInvoker(Task`1 , GrpcActivatorHandle`1 )
   at Grpc.Shared.Server.UnaryServerMethodInvoker`3.AwaitInvoker(Task`1 , GrpcActivatorHandle`1 )
   at Grpc.AspNetCore.Server.Internal.CallHandlers.UnaryServerCallHandler`3.HandleCallAsyncCore(HttpContext , HttpContextServerCallContext )
   at Grpc.AspNetCore.Server.Internal.CallHandlers.ServerCallHandlerBase`3.<HandleCallAsync>g__AwaitHandleCall|8_0(HttpContextServerCallContext , Method`2 , Task )
LogRecord.ScopeValues (Key:Value):
[Scope.0]:SpanId: 9797adee538b6ac9
[Scope.0]:TraceId: 281311f89567e856aae2042f92b21b5a
[Scope.0]:ParentId: e671d5bcbe789f95
[Scope.1]:ConnectionId: 0HMM2SJM9SJH0
[Scope.2]:RequestId: 0HMM2SJM9SJH0:0000000B
[Scope.2]:RequestPath: /hipstershop.CartService/AddItem

Can you give me some suggestion for me to fix this error, I would like to contribute this project.

This will be addressed in future logging work - closing for now.


Update iota-wallet to 2.5.5

After making all changes to the cask:

[X] brew cask audit --download {{cask_file}} is error-free.
[X] brew cask style --fix {{cask_file}} reports no offenses.
[X] The commit message includes the cask’s name and version.

Thanks for the PR!


Operand of nul-aware operation

../../../Programs/flutter220/.pub-cache/hosted/pub.dartlang.org/flutter_datetime_picker-1.5.1/lib/flutter_datetime_picker.dart:311:32: Warning: Operand of null-aware operation '??' has type 'Color' which excludes null.
 - 'Color' is from 'dart:ui'.
                  color: theme.backgroundColor ?? Colors.white,

Steps to reproduce : just flutter run

@iamabs2001 how do you fix this?

@iamabs2001 how do you fix this?

Not fixed.
but don't worry it just a warning nothing bad, its from library only.

I bet that there is no new release for this, its annoying when running flutter


apply check_max_size logic to headers as well

Right now it's possible to load the socket with large headers, so I don't think there are any checks for this scenario (other than headers count < 100).

Example of a failing test (in elixir)
  test "fails on large headers" do
    cookie = "bar=" <> String.duplicate("a", 10_000_000)
    response = request(:get, "/headers", [{"cookie", cookie}])
    assert match?({400, _, _}, response) or match?({:error, :closed}, response)
    assert {200, _, _} = request(:get, "/headers", [{"foo", "bar"}, {"baz", "bat"}])
  end

Maybe applies to the request like (get_request) as well.

Looks like a bug to me. Thanks for pointing it out.

Thanks for pointing it out. PRs are most welcome!

Great! I'll try to make one today.


fixes to setReaction

change addReaction to setReaction in error message
place docs to setReaction in alphabetical order
make table with emojis
remove some trailing spaces

Eeeeh >< sorry for that many issues

No problem @GAMELASTER! We're all working together 😄
Thanks @ravkr


1 3 5 Issues

When I change the criteria on a 3 slot for a build it changes the number of runes available for the 1 slot. Is this by design?

Yes, as the tool will detect how many of each set of rune is over all slots and exclude sets that can't be completed.
Eg. You include Energy (a 2-set) and the current filter only permits 1 Energy rune on slot 3 and 2 Energy runes on slot 1, along with runes of other sets.
When you change the filter for slot 3, it cuts out the Energy rune. As there is now only 1 slot, Slot 1, with Energy runes, the Energy set can never be completed as it requires at least 2 slots with permissible runes.
As a result, it removes the runes from that slot from being run, as those builds will be broken.

I just checked the code and it pulls out the runes regardless of AllowBroken, so I'll make that change.
How should I make this functionality more apparent/known?


Eliminate "import org.jruby..." from CLI and embulk-standards

After merging embulk-cli to embulk-core (#883), stopping to use JRuby directly from CLI, and embulk-standards.
@muga @sakama Can you PTAL?

Thanks!


updated(Community Page): Created Basic Community Layout and updated and updated InfoFilled Component + Modified formatCount Utility

Signed-off-by: Sayan Mondal<EMAIL_ADDRESS>
What this PR does / why we need it:
Description

Added Basic Responsive Layout along with the Base UI Layout for Community Page
Updated CustomInfoFilled Component, now the component can take values as a number instead of string and automatically parse the numbers accordingly. Values greater than 1000 would automatically be converted into 1K and values more than 1000000 to 1M or equivalent by the utility function.
Refactored area where the component was called or being used previously

Which issue this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged): fixes #
Checklist

[x] Does this PR have a corresponding GitHub issue?
[ ] Have you included relevant README for the chaoslib/experiment with details?
[ ] Have you added debug messages where necessary?
[x] Have you added task comments where necessary?
[ ] Have you tested the changes for possible failure conditions?
[ ] Have you provided the positive & negative test logs for the litmusbook execution?
[ ] Does the litmusbook ensure idempotency of cluster state?, i.e., is cluster restored to original state?
[ ] Have you used non-shell/command modules for Kubernetes tasks?
[ ] Have you (jinja) templatized custom scripts that is run by the litmusbook, if any?
[ ] Have you (jinja) templatized Kubernetes deployment manifests used by the litmusbook, if any?
[ ] Have you reused/created util functions instead of repeating tasks in the litmusbook?
[ ] Do the artifacts follow the appropriate directory structure?
[ ] Have you isolated storage (eg: OpenEBS) specific implementations, checks?
[ ] Have you isolated platform (eg: baremetal kubeadm/openshift/aws/gcloud) specific implementations, checks?
[ ] Are the ansible facts well defined? Is the scope explicitly set for playbook & included utils?
[ ] Have you ensured minimum/careful usage of shell utilities (awk, grep, sed, cut, xargs etc.,)?
[ ] Can the limtusbook be executed both from within & outside a container (configurable paths, no hardcode)?
[ ] Can you suggest the minimal resource requirements for the litmusbook execution?
[ ] Does the litmusbook job artifact carry comments/default options/range for the ENV tunables?
[ ] Has the litmusbooks been linted?

Special notes for your reviewer:

/preview

Please resolve the conflicts


Update gdnative to 0.10.0

Hadn't seen that you had already done most of this work here when I started this... Not sending this PR to step on your toes, but since that branch is kinda old and has merge conflicts maybe this can help someone...

Hi! And thanks for the PR :smile:
As you already mentioned, this work was already started in #30 when @bromeon took care of updating the branch to use godot-rust 0.10.0.rc-1 which is almost the same as the recently released 0.10.0.
The current roadblock is merging the new code onto the main branch. The two branches have diverged a bit now, and on top of that I would also like to move it to the recently released egui 0.17. I will try to find time for this soon, but I'm glad you were able to make it work on your end! :smile:

I have the bulk of these changes resolved with #33 so I think we can go ahead and close this PR for now. Thank you for the help @derivator , if you want you can take a look at and test the changes on that branch and it would help give some confidence to the changes :)


[Handlebars] Curly braces edit issues

Having issues with double curly braces and text in between. Say {{person.name}}, VSCode won't let me place the cursor between the second opening curly braces and the p.

@snaquaye Nice catch!


checkLocationSettings always return cancelled

Hi,
In checkLocationSettings you always return cancelled. That makes app querying it always fail to get location. At least that's what i understand

I wonder if always returning Status.SUCCESS in https://github.com/microg/android_external_GmsLib/blob/master/play-services-location/src/main/java/org/microg/gms/location/SettingsApiImpl.java would trick the apps.
Could you please tell me a name of an app where you see the problem?

Actually most of my apps seems to work. But i don't know if they use the FusedLocationProvider.
Now i am creating an app using Nativescript (cross platform framework).
They have a geolocation module  which uses the FuseLocation provider. YOu can see the source here however the script is in Javascript...
Here the module uses checkLocationSettings
This makes it fail everytime.
Now even without this is not working. I removed the call to _isLocationServiceEnabled to pass but then when it makes to call to requestLocationUpdates here nothing happens. I don't even see the "geo" icon in my status bar.
It works on a phone with Google Play Services though.
Can you help me? Is the FusedLocationProviderClient supposed to work in microg?

I don't know this code (and if it is working) but looking at the source I see:
requestLocationUpdates(request, listener)
requestLocationUpdates(request, listener, looper)
requestLocationUpdates(request, callbackIntent)
I'm not sure if the version with looper properly support the looper being null, have you tried to omit the third parameter?

@ale5000-git we are working with a FusedLocationClient. It does not have a method without the looper. And yes it is supposed to work with null.
As mentioned this works well on devices with Google Play Services

If I'm not wrong in microG there is, and I don't see any nullo check, look at: https://github.com/microg/android_external_GmsLib/search?q=requestLocationUpdates&unscoped_q=requestLocationUpdates

@ale5000-git i tested with the official google location sample
https://github.com/googlesamples/android-play-location/blob/master/LocationUpdates/app/src/main/java/com/google/android/gms/location/sample/locationupdates/MainActivity.java
And it does not work on my phone. Nothing happens if i click on startUpdates


Use node-uuid for random UUIDs

given how well optimised https://github.com/broofa/node-uuid is, let's use it!

Done. https://github.com/ideaq/aguid/blob/33fc064dee0a7f258be6f1fad16c5d70ccc2ccef/lib/index.js#L6


three changes:

Add critical sections where there is a chance that an interrupt can
be missed.
Add blocking versions of SPIM methods.
Make some pins on SPIM optional.

I believe the race is fixed by 28664406d660c635a79fe71dfa7b019ea0228600 and 1dcffe0eea66687428e173ee2b958acde51019ea. It'd be awesome if you could give it a quick test! :)

I would test it but I fried my board :'(

The race condition is fixed, the optional SPIM pins change has been included.
The only thing missing is blocking APIs, tracked in #136 . I agree it's something that we want but ideally it should be implementing the embedded_hal traits.

Cool I'm looking forward to trying this out once I've got my new hardware :)


1.7 Release testing - App freezes on disconnect in app remoting - basic sample

Unity version used: 2020.3.35/ 2021.3.1 (oculus integration installed, not sure if this is the reason)
Unity MR Plugin: 1.7
Branch used: https://github.com/microsoft/OpenXR-Unity-MixedReality-Samples/tree/Update-to-MR-OpenXR-Plugin-1.7-release
Repro steps:

Checkout above branch, open basic sample
Build app remoting standalone/UWP app
Run the app and connect to player app running on HL2
Disconnect using "Disconnect" button in the app
observe that 2D UI does not appear on the PC and it freezes on disconnect.

Logs:
Look towards the end of the logs - It is stuck on seemingly an MRTK issue -  ArticulatedHand Controller Right was never registered with the Input Manager!

[AppRemotingSubsystem] DeinitializeLoader
Setting up 12 worker threads for Enlighten.
Thread -> id: 792c -> priority: 1
Thread -> id: 8a38 -> priority: 1
Thread -> id: 446c -> priority: 1
Thread -> id: 42e8 -> priority: 1
Thread -> id: 9078 -> priority: 1
Thread -> id: 3778 -> priority: 1
Thread -> id: 6880 -> priority: 1
Thread -> id: 7ddc -> priority: 1
Thread -> id: 8ed4 -> priority: 1
Thread -> id: 2024 -> priority: 1
Thread -> id: 7fc0 -> priority: 1
Thread -> id: 6cec -> priority: 1
[MRTK Issue] ArticulatedHand Controller Right was never registered with the Input Manager!

Observed that this occured only when entering a subscene in Basic sample. When entering a subscene, it basically exits main menu scene where appremotingsample.cs 's "OnDisable()" is called and unregistering for Connected and disconnecting events.
fixed by registering for "Connected" and "Disconnecting" events in "OnEnable()" along with Awake().

New task is opened in the plugin to fix this: https://github.com/microsoft/Unity-MR-Plugin/pull/1558


MGDOBR-444: Introduce Smart Events UI CI quality checks

The github action needs to be checked on my fork: https://github.com/jomarko/sandbox-ui/actions

@kelvah @manstis @vpellegrino as this PR demonstrates, our current prettier config is set to have 'strings' vs "strings". To me are double quotes more natural (due to my java background), just wanted to know your opinion.

@kelvah @manstis @vpellegrino as this PR demonstrates, our current prettier config is set to have 'strings' vs "strings". To me are double quotes more natural (due to my java background), just wanted to know your opinion.

I have no strong opinion either way. I "grew up" with the format "here is a 'string' inside a 'string'" from my JS days too. However 'here is a "string" inside a "string"' works equally well and seems to be the standard inside kiegroup repositories for TypeScript code (interestingly the prettier default seems to be "dynamic": https://prettier.io/docs/en/rationale.html#strings. Perhaps we force single quotes to avoid a mix-and-match approach that could result from dynamic formatting).

@kelvah @manstis @vpellegrino as this PR demonstrates, our current prettier config is set to have 'strings' vs "strings". To me are double quotes more natural (due to my java background), just wanted to know your opinion.

I'd prefer to avoid mixed approaches, for sure.
My personal preference is about having double quotes: "string"

I will do double quotes our default setting then

I will do double quotes our default setting then

I'm late to the party but I don't have a strong opinion. it's OK for me to change it.
Just to clarify, the prettier quotes "conversion" will stay dynamic regardless of singleQuote. It will still convert strings to single quotes to remove escapes when they are present.

I believe the CI setup is worth to review now, please notice, I would like to review eslint config in separate ticket https://issues.redhat.com/browse/MGDOBR-478


Return View

I made a return view method in base Controller that looks for a folder, that should be named as the controller itself, then gets the file with the same name as the method
Code for the base Controller: https://pastebin.com/RxMjVVmz
Architecture should look like this:

Usage:

Closing because this PR is no longer needed. Thank you for your work!


Cleanest way to validate a signature

I'm trying to performance test this library against other libraries in languages I'm more familiar with so I apologize for the newbie question. I wrote this function which works:
// all inputs are presented as hex encoded strings
fn validate_signature(pubkey: &str, message: &str, signature: &str) -> bool {
    let pubkey_bytes = hex::decode(pubkey).expect("pub key must be correct");
    let pubkey: PublicKey<Bls12381G2Impl> = serde_bare::from_slice::<PublicKey<Bls12381G2Impl>>(pubkey_bytes.as_slice()).expect("must be able deserialize pubkey");
    let msg = hex::decode(message).expect("failed to decode hex value");

    let mut sig_vector = vec![0; 97]; // a signature is 96 bytes, plus we're going to add a leading 1
    let last_bytes = &mut sig_vector[1..];

    hex::decode_to_slice(signature, last_bytes).expect("must be valid sig");

    let sig = serde_bare::from_slice::<blsful::Signature<Bls12381G2Impl>>(sig_vector.as_slice()).expect("must be able to deserialize sig");
    let valid = sig.verify(&pubkey, msg);

    valid.is_ok()
}

I'm just wondering if there's any improvements you can see. I couldn't figure out how to deserialize a "BasicSignature" without the prepending of 0 hack I used there.
Thanks very much!

Yeah you can use the as_raw_value to get out the value itself without the leading type byte. Then when you want to get it back you can just use Signature::Basic(point) since the inner value is public. Hope that helps

To get the hex string to a point, you can use from_compressed_hex

For the key you can just use try_from since all structs support it from a slice of bytes

Overall you should be able to cut the number of lines down to just 3

Thanks for the pointers!


[ConstraintSystem] Handle pack expansion materialization on l-value base

If the base tuple of .element is l-value, it has to be loaded
before pack expansion could be materialized.

@swift-ci please smoke test


Changed database configuration to doctrine

Closes #51

Pull Request Test Coverage Report for Build 134

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build 130:
0.0%

Covered Lines:
170

Relevant Lines:
170

💛  - Coveralls


docs: explain volumes

These were written assuming that #378 is merged, but it's noted inline.
I'm still a little unclear how you use --volume so let me know if any of this is incorrect. See https://github.com/coreos/rocket/issues/518 for more info.

LGTM! TY!


Add window resize hook

https://usehooks.com/useWindowSize/
And anything else that looks useful from here: https://usehooks.com/

https://usehooks.com/useDarkMode/
https://usehooks.com/useSpring/
https://usehooks.com/useDebounce/
https://usehooks.com/useOnClickOutside/
https://usehooks.com/useHover/
https://usehooks.com/useLocalStorage/

691231


Don't set linker language for corrosion generator

The corrosion generator is a 100% rust executable, so I don't think there is any benefit in us telling rust which linker it should use.
Additionally corrosion_set_linker_language currently does not have any effect anyway (See #133).
Closes #88

I think it is supposed to be a public function. I opened #133 to discuss removing it and offering something like corrosion_set_linker() instead. If you don't have any objections, I could just add that to the scope of this PR.


docs: Fix mermaid graphs

Styling of the graphs were not proper and custom stylings were being overrided by the default styling. This PR fixes that issue. There is another issue where the arrow is not shown properly and a dimmed line is shown, this is because of improper syntax, that also has ben changed in this commit. And lastly, the component lifecycle graph onLoad and low-level game api graph are fixed.
Description
The yellow styling is defined before default styling which ignores yellow styling. So, moving it after default will work as expected.
Also, the syntax A-- This is a text .->B is not a syntax. So, changing it to either -- or -. | .- completely will fix the non arrow showing line.
This PR changes 3 graphs:

Before
After

Checklist

[x] I have followed the [Contributor Guide] when preparing my PR.
[-] I have updated/added tests for ALL new/updated/fixed functionality.
[-] I have updated/added relevant documentation in docs and added dartdoc comments with ///.
[-] I have updated/added relevant examples in examples or docs.

Breaking Change?

[-] Yes, this PR is a breaking change.
[x] No, this PR is not a breaking change.

Related Issues
Closes #2465

The arrow from onRemove could go directly to onGameResize now too.

Now the new graphs will be:

If this is alright, I will push them at once.

Now the new graphs will be:

If this is alright, I will push them at once.

Exactly
I think the text in the bottom can be changed to "If added to a new parent", if it fits.

Oooh right, and Game is no longer a mixin, but an abstract class, so the yellow box could change to that. It is still used as a mixin from FlameGame so that part is still correct.

Oooh right, and Game is no longer a mixin, but an abstract class, so the yellow box could change to that. It is still used as a mixin from FlameGame so that part is still correct.

So, just changing the Mixin to Abstract Class would be fine?

Also a doubt, should the If added to a new parent be a normal line or dotted line is good?

And, I think that the docs near low-level game api graph has to be updated? (as you mentioned it was outdated).
Maybe it can go to a new issue if required?

Also a doubt, should the If added to a new parent be a normal line or dotted line is good?

It can be dotted, I think that is clear enough.

And, I think that the docs near low-level game api graph has to be updated? (as you mentioned it was outdated).
Maybe it can go to a new issue if required?

Ah yes, let's turn that into a new issue.


INT8 cudnn with 1st layer return error

Currently Yolo2_light supports quantization for some specified layers,
Not the 1st layer, Not the layer before yolo(region), and Not the size=1 layer.
And I tried to make a full INT8 quantization, but however, when I changed the 1st layer on Yolov3-tiny, it says
CUDNN failure
Error: 3 - CUDNN_STATUS_BAD_PARAM

my questions are

is that possible to quantize with all the layers? don't care about mAP lose at this stage.
is that possible to fixed the CUDNN error?

The last layer must be fp32, since it is used for object coordinates. May be it can be int8 only if we use much more anchors (initial w,h defined with lower step) and higher network resolution (initial x,y defined with lower step).

It seems you changed something incorrect.


style for Placeholder(title)

I need to css placehoder on my site (with another coler) but i cant change style because when i select an option it have same color with placeholder

See guidelines for contributing.

Bug reports
A bug is a demonstrable problem that is caused by the code in the repository.
Good bug reports are extremely helpful - thank you!
Guidelines for bug reports:

Use the GitHub issue search. Check if the issue has already been reported.

Check if the issue has been fixed. Try to reproduce it using the latest master or development branch in the repository.

Provide environment details. Provide your operating system, browser(s), jQuery version, Bootstrap version, and bootstrap-select version.

Create an isolated and reproducible test case. Create a reduced test case.

Include a live example. Make use of jsFiddle or jsBin to share your isolated test cases.

Style via the bs-placeholder class.


inputField: add dot color option

Adds option to input-field to change the color of the dots when you type

closing because pull request for this already exists #11


Refactor nerdctl rm

Part of #1680
Signed-off-by: Jin Dong<EMAIL_ADDRESS>

Thanks, but please consider this
#1834 (comment)

updated. thanks


Can't get 'patch' or 'change' event to work when the local dev site URL is specified

Hi @caspervonb,
Thanks again for helping me out earlier, when I tried to do test example files in Mac OS X. My ultimate goal, though, was to make amok work in the development environment running in my local dev machine. I'm using docker but I'm not sure if it matters.
Since React is not used in this site, I took out transform reactify --fast part, and I used this command to run it:
amok -b chrome --hot --compiler watchify http://compass.dev --

(Note) compass.dev is the URL that I use to run the site locally.

I got this error message in console right away, but Chrome is launched fine and the site runs okay:

Error: Cannot find module '/Users/glee/Sites/compass/http:/compass.dev' from
'/Users/glee/Sites/compass'

(Note) I was in /Users/glee/Sites/compass directory.
Is this looking okay or this would be the culprit of question 2 below? Should I use the command differently in this case?
2. Since it's a web application using Backbone, it has a lot of files. As a test, I put some event handlers in the top container JS file, to see if 'patch' or 'change' event is fired.
window.addEventListener('patch', function () {
	console.log('patch fired');
});
window.addEventListener('change', function () {
	console.log('change fired');
});

While the site is running in the browser, I tried editing & saving in other view (JS) files (also in the same file that has above event bindings), but neither 'patch' nor 'change' was fired.
Am I doing something wrong? Could you advise?

$ amok --browser chrome --hot --compiler watchify http://compass.dev

So you're using an external server here, which is fine.
But you are also trying to use a compiler, so amok is trying to invoke watchify with http://compass.dev as the entry script.
$ watchify http://compass.dev

So, when using an external server, you're expected to use external compilation too.
$ amok --browser chrome --hot http://compass.dev

One minor note, change events from from the --watch option, where-as patch events come from the --hot option.

Thanks, @caspervonb. So, as you suggested, I tried this:
amok --browser chrome --hot http://compass.dev

I don't see Error: Cannot find module '/Users/glee/Sites/compass/http:/compass.dev' from  '/Users/glee/Sites/compass'message any more, which is good, but I still cannot get 'patch' event fired. I have
window.addEventListener('patch', function () {
    console.log('patch fired');
});

in the top container view file (JS), and I picked one of the sub-views currently loaded in the browser and edit & save it. (When I edited the sub-view, I tried adding one empty line somewhere or change the value of some variable, and etc. I mean, just a quick update to the file. I assumed any update would work.)
I added the 'patch' event listener in app.js (it's not the entry point (main.js in my case), but app.js is loaded from main.js, and I tried editing/saving list.js, which is the sub-view that's currently loaded on screen. Theoretically, shouldn't it work? Is there anything that I'm possibly missing? (I wish I could give you more helpful information. Is there any way to generate debug log or something that I can provide?)

Amok uses the NODE_DEBUG env variable to dump debug information, its split up into multiple namespaces.
Try running this and don't be shy about dumping long logs.
$ echo $PWD
$ export NODE_DEBUG='amok-hotpatch`
$ amok --browser chrome --hot http://compass.dev

Here we go. I tried those commands and it looked like this:
$ echo $PWD
/Users/glee/Sites/compass
$ export NODE_DEBUG='amok-hotpatch'
$ amok --browser chrome --hot http://compass.dev
AMOK 34024: set cwd /Users/glee/Sites/compass
AMOK 34024: set url http://compass.dev
AMOK 34024: use hotpatch
AMOK 34024: use browser
AMOK 34024: use print
AMOK 34024: use multiplexer
AMOK 34024: run
AMOK-HOTPATCH 34024: done
[34025:1299:0824/105712:ERROR:bluetooth_adapter_mac.mm(100)] Not implemented reached in virtual bool device::BluetoothAdapterMac::IsDiscoverable() const

When I tried editing/saving files (main.js, app.js, list.js I mentioned earlier), nothing happens. (no more logs than the one I attached above) I guess something is supposed to be logged on Terminal screen?

You are in the root of what the server is serving? e.g /foo.js is accessible at /Users/glee/Sites/compass/foo.js

All js files (including the entry point) are under 'src' directory. Entry point is main.js file is it's accessible at
/Users/glee/Sites/compass/src/js/main.js. (in the browser, it's accessible as http://compass.dev/js/main.js)
Other js files are all separated out to different directories, too. e.g., list.js I mentioned earlier is located at
/Users/glee/Sites/compass/src/js/modules/campaign/views/list.js. (it's accessible as http://compass.dev/js/modules/campaign/views/list.js in the browser)

While amok is running and the browser is open, if you could get me these two JSON requests
$ curl http://localhost:9222/json/list
$ curl http://localhost:9223/json/list

I'm guessing the connection is not made (somewhat the same issue as in #139, in that my error reporting in the browser spawning kind of sucks, it does not time out and just waits definitively).
I think the connection is being made here but, it's probably waiting for http://compass.dev to be opened while chrome is reporting the url to be http://compass.dev/ (I will relax that, currently its just strict equals, there's an issue for it on #94.

While amok is running and the browser is open, I tried those requests and I've got:
$ curl http://localhost:9222/json/list
curl: (7) Failed to connect to localhost port 9222: Connection refused
$ curl http://localhost:9223/json/list
curl: (7) Failed to connect to localhost port 9223: Connection refused

I couldn't understand completely when you said strict equality with localhost:8000 in #94. That led me wonder if the setup I have (http://compass.dev) is okay to work with amok in the first place. Anyhow, if you have any suggestions or if you have something you could try on your end, please do so. And again, please let me know if you need any more info. I'll help you as much as I can. Thanks.

localhost port 9223: Connection refused

This is where chrome should be listening, so something is going wrong.

I'm using docker but I'm not sure if it matters.

At first I dismissed this but, how is this set up? The server is running inside a docker container? Are you running amok from inside docker?
Could you test and make sure the following yields a response?
$ <chrome-executable> --remote-debugging-port=5555
$ curl http://localhost:5555/json/list
----

> couldn't understand completely when you said strict equality with localhost:8000 in #94

Basically the search is not really a search, rather its just looking for `browserTabUrl === urlGivenFromCommandLine`
----

Yes, correct, the server is running inside a docker container. In fact, I was not running amok --browser chrome --hot http://compass.dev inside the container so far. Your question inspired me, so I installed amok in the docker container, and the installation was good. However I wasn't able to run it inside the container, so I ran amok --browser chrome --hot http://compass.dev again in the regular prompt (outside of container), but still not working.
As for those test commands, /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --remote-debugging-port=5555 made the chrome browser launched. And the curl command yields this response:
$ curl http://localhost:5555/json/list
[ {
   "description": "",
   "devtoolsFrontendUrl": "/devtools/inspector.html?ws=localhost:5555/devtools/page/999F4C52-89BF-454D-9764-52FE9841F945",
   "id": "999F4C52-89BF-454D-9764-52FE9841F945",
   "title": "New Tab",
   "type": "page",
   "url": "chrome://newtab/",
   "webSocketDebuggerUrl": "ws://localhost:5555/devtools/page/999F4C52-89BF-454D-9764-52FE9841F945"
}, {
   "description": "",
   "devtoolsFrontendUrl": "/devtools/inspector.html?ws=localhost:5555/devtools/page/1EDBA8F0-E8A8-4792-AF4E-B6A02CA67F60",
   "faviconUrl": "chrome://extension-icon/pafkbggdmjlpgkdkcbjmhmfcdpncadgh/24/1",
   "id": "1EDBA8F0-E8A8-4792-AF4E-B6A02CA67F60",
   "title": "Google Now",
   "type": "background_page",
   "url": "chrome-extension://pafkbggdmjlpgkdkcbjmhmfcdpncadgh/_generated_background_page.html",
   "webSocketDebuggerUrl": "ws://localhost:5555/devtools/page/1EDBA8F0-E8A8-4792-AF4E-B6A02CA67F60"
}, {
   "description": "",
   "devtoolsFrontendUrl": "/devtools/inspector.html?ws=localhost:5555/devtools/page/8B5D26D0-761C-4D07-AC86-7EB7910461D1",
   "faviconUrl": "chrome://extension-icon/niloccemoadcdkdjlinkgdfekeahmflj/24/1",
   "id": "8B5D26D0-761C-4D07-AC86-7EB7910461D1",
   "title": "Save to Pocket",
   "type": "background_page",
   "url": "chrome-extension://niloccemoadcdkdjlinkgdfekeahmflj/html/background.html",
   "webSocketDebuggerUrl": "ws://localhost:5555/devtools/page/8B5D26D0-761C-4D07-AC86-7EB7910461D1"
}, {
   "description": "",
   "devtoolsFrontendUrl": "/devtools/inspector.html?ws=localhost:5555/devtools/page/22E87F33-9545-40DA-BF1F-53BE74EB7F45",
   "faviconUrl": "chrome://extension-icon/jnihajbhpnppcggbcgedagnkighmdlei/24/1",
   "id": "22E87F33-9545-40DA-BF1F-53BE74EB7F45",
   "title": "LiveReload",
   "type": "background_page",
   "url": "chrome-extension://jnihajbhpnppcggbcgedagnkighmdlei/_generated_background_page.html",
   "webSocketDebuggerUrl": "ws://localhost:5555/devtools/page/22E87F33-9545-40DA-BF1F-53BE74EB7F45"
}, {
   "description": "",
   "devtoolsFrontendUrl": "/devtools/inspector.html?ws=localhost:5555/devtools/page/7AC0D7E3-5892-4A8C-A2DD-E739E6799A3C",
   "faviconUrl": "chrome://extension-icon/gbammbheopgpmaagmckhpjbfgdfkpadb/24/1",
   "id": "7AC0D7E3-5892-4A8C-A2DD-E739E6799A3C",
   "title": "XML Tree",
   "type": "background_page",
   "url": "chrome-extension://gbammbheopgpmaagmckhpjbfgdfkpadb/_generated_background_page.html",
   "webSocketDebuggerUrl": "ws://localhost:5555/devtools/page/7AC0D7E3-5892-4A8C-A2DD-E739E6799A3C"
}, {
   "description": "",
   "devtoolsFrontendUrl": "/devtools/inspector.html?ws=localhost:5555/devtools/page/31F0C5E1-1627-4BB5-8C14-91D18D5D52E2",
   "faviconUrl": "chrome://extension-icon/cppjkneekbjaeellbfkmgnhonkkjfpdn/24/1",
   "id": "31F0C5E1-1627-4BB5-8C14-91D18D5D52E2",
   "title": "Clear Cache",
   "type": "background_page",
   "url": "chrome-extension://cppjkneekbjaeellbfkmgnhonkkjfpdn/_generated_background_page.html",
   "webSocketDebuggerUrl": "ws://localhost:5555/devtools/page/31F0C5E1-1627-4BB5-8C14-91D18D5D52E2"
}, {
   "description": "",
   "devtoolsFrontendUrl": "/devtools/inspector.html?ws=localhost:5555/devtools/page/57C9137D-1618-4085-AB5C-5B955C6D41FA",
   "faviconUrl": "chrome://extension-icon/chklaanhfefbnpoihckbnefhakgolnmc/24/1",
   "id": "57C9137D-1618-4085-AB5C-5B955C6D41FA",
   "title": "JSONView",
   "type": "background_page",
   "url": "chrome-extension://chklaanhfefbnpoihckbnefhakgolnmc/_generated_background_page.html",
   "webSocketDebuggerUrl": "ws://localhost:5555/devtools/page/57C9137D-1618-4085-AB5C-5B955C6D41FA"
}, {
   "description": "",
   "devtoolsFrontendUrl": "/devtools/inspector.html?ws=localhost:5555/devtools/page/563FF96A-D57F-4AED-A0C4-50B5A1027B92",
   "id": "563FF96A-D57F-4AED-A0C4-50B5A1027B92",
   "title": "https://docs.google.com/offline/backgroundshell#ouid=u1b0f821d218d0786",
   "type": "other",
   "url": "https://docs.google.com/offline/backgroundshell#ouid=u1b0f821d218d0786",
   "webSocketDebuggerUrl": "ws://localhost:5555/devtools/page/563FF96A-D57F-4AED-A0C4-50B5A1027B92"
}, {
   "description": "",
   "devtoolsFrontendUrl": "/devtools/inspector.html?ws=localhost:5555/devtools/page/A0BCDC54-1AB7-40F6-B53C-36F5C0606928",
   "id": "A0BCDC54-1AB7-40F6-B53C-36F5C0606928",
   "title": "",
   "type": "worker",
   "url": "https://docs.google.com/fe/s/fe.s.ClientModule.nocache.js?ouid=u1b0f821d218d0786",
   "webSocketDebuggerUrl": "ws://localhost:5555/devtools/page/A0BCDC54-1AB7-40F6-B53C-36F5C0606928"
} ]

I'd recommend just running amok on native, I've heard fs.watch doesn't work inside containers.

Is it a port issue maybe? amok uses 9222 and 9223 by default, rerun the chrome test with those ports?

Give it a try with 1.1.3, it should give an error in your scenario now.

Closing this issue because of inactivity. I can say with fair certainty the issue was ports being occupied. If you still have any problems feel free to comment further on this issue and it will be re-opened or post another issue.


WebView2 hangs on reading final 0 bytes via NetFxToWinRtStreamAdapter

Originally opened on WebView2:
https://github.com/MicrosoftEdge/WebView2Feedback/issues/806
But may be related to the cswinrt adapter code.
Internal tracking: https://task.ms/31565319

This is not a C#/WinRT issue exactly -- discussion is still going on offline about how to proceed. Seems the most appropriate fix is on the OS side of things.

Removing blocking label as we have a workaround for this:
var stream = new InMemoryRandomAccessStream();
await stream.WriteAsync(Encoding.UTF8.GetBytes($"
Hello, WebView2!
").AsBuffer());

Do we have any update on this? Right now the workaround is to copy all the stream content to a new stream, which is not a great solution due to performance problems.

I hope to spend some time looking at this soon.  Need to investigate whether we can remove our synchronization part of the task code if our delegates are already agile.

FYI This only happens with CsWinRt, when the same code is executed in a UAP environment it does not hang. ###

@j0shuams can you explain on a technical level why InMemoryRandomAccessStream() works here? I saw your comment a couple of weeks ago and figured "oh, I can just use new MemoryStream(), copy to it, then invoke AsRandomAccessStream() and spent hours trying to get it to work before trying to use a WinRT native new InMemoryRandomAccessStream() instead, which worked immediately (as a workaround).
The documentation on WebView2's threading model states that any streams passed to CreateWebResourceResponse() must be created on a background STA thread, but that doesn't help, e.g. this still hangs:
webView.CoreWebView2.WebResourceRequested += async (s, e) =>
{
    using var deferral = e.GetDeferral();

    var url = e.Request.Uri;
    var id = url.Replace("http://attachments/", "").Replace('/', '\\');
    id = WebUtility.UrlDecode(path);
    var path = TranslateAttachmentIdToPath(id);

    if (attachment is null)
    {
        e.Response = webHistory.CoreWebView2.Environment.CreateWebResourceResponse(null, 404, "Not found", "");
        return;
    }

    TaskCompletionSource<IRandomAccessStream> completion = new ();
    var t = new Thread(() =>
    {
        var stream = File.Open(path).AsRandomAccessStream();
        completion.SetResult(stream);
    });
    t.IsBackground = true;
    t.SetApartmentState(ApartmentState.STA);
    t.Start();

    var stream = await completion.Task;

    e.Response = webView.CoreWebView2.Environment.CreateWebResourceResponse(stream, 200, "Found", "");
    deferral.Complete();
}

It seems that the IRandomAccessStream passed to CreateWebResourceResponse must be a native WinRT random access stream and not anything else converted to an IRandomAccessStream via .AsRandomAccessStream() or else the COM threads will lock up.
Can you or @angelazhangmsft confirm whether this is the same issue that is being tracked internally, or if I should open this as a separate bug either in the CsWinRT repo or the WebView2Feedback repo?

@j0shuams @angelahazhangmsft

Can you or @angelazhangmsft confirm whether this is the same issue that is being tracked internally, or if I should open this as a separate bug either in the CsWinRT repo or the WebView2Feedback repo (where a similar but not identical bug was closed after saying it was being tracked here)?

@mqudsi - yes, this is being tracked internally (added internal link to the issue above). The issue you mentioned above is the same issue being tracked here.

Thanks, @angelazhangmsft


lombok support for open jdk 11[FEATURE]

Before submitting
Please check our wiki because some feature requests are asked a lot and there are good reasons (as explained on the wiki) why we can't (yet) implement them or why we won't implement them.
Describe the feature
A clear and concise description of what the feature request/enhancement is. What is the goal of adding this feature request? This should include 2 java snippets: One 'lomboked' version, which is java code with (for example) an annotation that is short and boilerplate free, and a second snippet that shows precisely what lombok will do under the hood. Lombok can only turn java code that is valid java syntax into different java code.
Describe the target audience
Describe which programmers and/or which kinds of programs would benefit from your feature proposal. If the feature proposal interacts with a library that isn't part of the core java libraries, link to this project.
Additional context
Add any other context about the feature / enhancement here.

lombok works fine on openjdk11.


peer isn't found, aborting!

I am getting the following error while running the deploy.sh Script
build/bin/peer
CGO_CFLAGS=" " GOBIN=/home/akash/Documents/Apps/go/src/github.com/hyperledger/fabric/build/bin go install -tags "" -ldflags "-X github.com/hyperledger/fabric/common/metadata.Version=1.0.5-snapshot-ad68580 -X github.com/hyperledger/fabric/common/metadata.BaseVersion=0.3.2 -X github.com/hyperledger/fabric/common/metadata.BaseDockerLabel=org.hyperledger.fabric -X github.com/hyperledger/fabric/common/metadata.DockerNamespace=hyperledger -X github.com/hyperledger/fabric/common/metadata.BaseDockerNamespace=hyperledger" github.com/hyperledger/fabric/peer
github.com/hyperledger/fabric/vendor/github.com/miekg/pkcs11
vendor/github.com/miekg/pkcs11/pkcs11.go:29:18: fatal error: ltdl.h: No such file or directory
compilation terminated.
Makefile:227: recipe for target 'build/bin/peer' failed
make: *** [build/bin/peer] Error 2
cp: cannot stat '/home/akash/Documents/Apps/go/src/github.com/hyperledger/fabric/build/bin/peer': No such file or directory
build/bin/cryptogen
CGO_CFLAGS=" " GOBIN=/home/akash/Documents/Apps/go/src/github.com/hyperledger/fabric/build/bin go install -tags "" -ldflags "-X github.com/hyperledger/fabric/common/tools/cryptogen/metadata.Version=1.0.5-snapshot-ad68580" github.com/hyperledger/fabric/common/tools/cryptogen
github.com/hyperledger/fabric/vendor/github.com/miekg/pkcs11
vendor/github.com/miekg/pkcs11/pkcs11.go:29:18: fatal error: ltdl.h: No such file or directory
compilation terminated.
Makefile:227: recipe for target 'build/bin/cryptogen' failed
make: *** [build/bin/cryptogen] Error 2
cp: cannot stat '/home/akash/Documents/Apps/go/src/github.com/hyperledger/fabric/build/bin/cryptogen': No such file or directory
peer isn't found, aborting!

try to apply this command:
sudo apt-get install -y libltdl3-dev


Planning and Relativemap: Updated with followings in order to use nav…

…igation with utm coor in std model

Configs: Added use_relative_map_with_utm to choose whether use navigation with utm coor or hdmap;
Hdmap_util: Modified the condition to get relativemap;
Navigation_lane: Modified kWeight;
Navigation_lane: Transformated utm to flu only in navigaion model with relativemap;
Relativemap: Enabled to use relativemap in std model;
Std_planning: Modified the condition to use routing and relativemap;
Frame: Modified the condition to use routing.
Reference_line_provider: Modified the condition to use routing and relativemap;

Thank you for ur advices, I have modified code as required.


[DO NOT MERGE] Auto PR to update dependencies of pilot

This PR will be merged automatically once checks are successful.
none

@istio-testing: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/pilot-presubmit.sh
e743d56a4233bfbbc8646efcff724b6b83c24ba6
link
/test pilot-presubmit

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.


fine tuning arabic traineddata to solve extended words issue

so i want to finetune ara.traineddata in the traineddata_best repo to handle extended words like the this :

to do that i made a list of lines with the same format like this :
.............
الســــــــيد العضـــــو د. عــــلي العتيبــــــي:
الســــــــيد العضـــــو جــــمال الحــــربي:
الســــــــيد العضـــــو د. خالــــد الفيصـــــل:
الســـــــــيد العضـــــو تركـــــي المطيــــري:
..............

i started by genereting ground truth files with .tif images and .box files
then started training with this:
make training MODEL_NAME=ara_new TESSDATA=../tesseract/tessdata START_MODEL=ara MAX_ITERATIONS=10000  LANG_TYPE=RTL
i started with 99%BCER and stoped when i had 24% BCER
when i came to test the traineddata file  with evalute it with best traineddata ara.trainedata
i got a poor result
this is the result of best traineddata for arabic:

it's giving me almost 90% accuracy
but when i tested the new trained file this is the result :

it's like doesn't recognize anything and the main the reason i started this is to finetune it to better accuracy

@zdenop

uncertain if the issue arises because the model was trained on multiline in tiff, but have you attempted fine tuning with one line text in images? give it a try if not yet and share results with us


4.1.0 release

4.1.0 release

The Debian Long Term Support (LTS) Team hereby announces that Debian 8 jessie support has reached its end-of-life on June 30, 2020, five years after its initial release on April 26, 2015.


Add config file for disabling default queries.

@GeekMasher This will allow one to bypass having to create a separate configuration file if all one wants to do is to disable the default queries. It will work for many but not all cases, but allows configurations such as this. One can think of it as a more verbose version of the future disable-default-queries property in workflows.

If we wanted to make it less verbose, we could also consider creating a separate repo for it, e.g.: advanced-security/disable-default-queries. Then we could refer to it via e.g. advanced-security/disable-default-queries/true@main :wink: . This might be sufficient though.

Ok, consider this PR more or less obsolete. This is now possible.
Alternatively, one can also use the equivalent advanced-security/run-default-queries/f@lse


ISSUES-590 fix Distributed push down stage

#590
I hereby agree to the terms of the CLA available at: https://yandex.ru/legal/cla/?lang=en

Just fix the part of @MikhailKalashnikov in #590

Sorry, but the fix is wrong.
When a query is issued to a Distributed table with multiple shards,
it will be processed in Distributed table up to WithMergeableState. No other option.

Proper solution is to substitute aliases when rewriting query before sending to remote servers.

Fixed in a different way.


[OpenAI] Post-release changes

API change check
API changes are not detected in this pull request.


[5.8] Add currentRouteGroup()

In blade templates, I will often use Route::currentRouteName(), but there have been a number of times that I grouped 4 or 5 routes together. Most of the time these are located under a Route::group().
Here is a route group from a blog integration.
Route::group( [ 'prefix' => 'blog' ], function () {
    Route::get( '/', 'BlogController@index' )->name( 'blog' );
    Route::get( '/categories', 'BlogController@categories' )->name( 'categories' );
    Route::get( '/categories/{category}', 'BlogController@categories' )->name( 'category' );
    Route::get( '/categories/{category}/{page}', 'BlogController@categories' );
    Route::get( '/tags', 'BlogController@tags' )->name( 'tags' );
    Route::get( '/tags/{tag}', 'BlogController@tags' )->name( 'tag' );
    Route::get( '/tags/{tag}/{page}', 'BlogController@tags' );
    Route::get( '/authors', 'BlogController@authors' )->name( 'authors' );
    Route::get( '/authors/{author}', 'BlogController@authors' )->name( 'author' );
    Route::get( '/authors/{author}/{page}', 'BlogController@authors' );
    Route::get( '/{post}', 'BlogController@post' )->name( 'post' );
} );

A basic example of this would be including stylesheets on a per page or area basis.
@if ( Route::currentRouteName() == 'blog' ?? Route::currentRouteName() == 'categories' ??Route::currentRouteName() == 'tags' ?? Route::currentRouteName() == 'authors')
   // Load the blog CSS
@endif

Using Route::currentRouteGroup()
@if ( Route::currentRouteGroup() == 'blog')
   // Load the blog CSS
@endif

- or -
@if ( Route::currentRouteGroup() == 'blog' && Route::currentRouteName() != 'authors')
   // Load the blog CSS
@endif

You should probably use named routes:
Route::name('blog.')->group(function () {
	//
});

Then in your view you can do something like this:
@if (Route::is('blog.*'))
	//
@endif

@bonzai Oh neat, I didn't know they worked that way.
I had to adjust my named routes to include blog.categories but it's much more readable now.
Thanks,
Is it worth pushing this through?

@bonzai Actually once I enabled this and no other routes seem to be working.

Thanks for your pull request to Laravel!
Unfortunately, I'm going to delay merging this code for now. To preserve our ability to adequately maintain the framework, we need to be very careful regarding the amount of code we include.
If possible, please consider releasing your code as a package so that the community can still take advantage of your contributions!
If you feel absolutely certain that this code corrects a bug in the framework, please "@" mention me in a follow-up comment with further explanation so that GitHub will send me a notification of your response.


Moving a folder to a location with it already existing deletes the existing foler

Type: Bug
Create the Following File system:
Folder1
| - Folder2
|   | - File1
Folder2
| - File2
Now move the lower Folder2 into Folder1. (via Drag-n-Drop)
Instead of the contents of both Folders being merged only the contents of the lower folder are there after the move operation.
 It looks like you may be using an old version of VS Code, the latest stable release is 1.73.0. Please try upgrading to the latest version and checking whether this issue remains.
Happy Coding!

I tried it with the newest version, same result.
Yes, there is a warning coming that the file will be replaced:

But normally replacing a folder does not mean that it is completely replaced, but only the contents that are the same.

I suggest implementing a new dialog to ask user intentions if we are going to add merging folder feature:

If we clearly differentiate two behaviors, users won't get unexpected results.

Seems nice!
It should also be consistent when using Keyboard shortcuts. Currently the behavoir of copying it with mouse and keyboard shortcuts is different.


Build Name can't be set dynamically

🐛 Bug Report
If i set the build name in the .yml file with environment variables, these variables are always empty, even if i set them in advance. (example: https://github.com/saucelabs/testrunner-toolkit/blob/master/.sauce/puppeteer.yml#L12)
To Reproduce
Steps to reproduce the behavior (including the executed commands):

export BUILD_ID="1234"
export BUILD_ENV="5678"
saucectl run

Expected behavior
Build name in sauce is "Build #1234 in 5678"
Actual behavior
Build name in sauce is "Build # in "
Environment
OS: tested on Windows 10 and Linux
Docker version: Docker version 19.03.8, build afacb8b
Saucectl version: saucectl version 0.6.3 (build ada174fe455daa5836de7586f8fecb086fc23046)
image: base: saucelabs/sauce-puppeteer version: 3.0.4

This feature has now been added as part of https://github.com/saucelabs/saucectl/releases/tag/v0.9.1 :)


Improve speed of 'scan' command. Running searches for dever.json files in parallel

Is your feature request related to a problem? Please describe.
Searching for dever.json files can take up to 1-2 minutes on systems with a lot of files which has to be looped through
Describe the solution you'd like

Parallelize searches for dever.json files to speed up discovery
Attempt to use node.js instead of powershell for scanning

Possible solutions:
https://stackoverflow.com/questions/5827612/node-js-fs-readdir-recursive-directory-search/45130990#45130990
https://stackoverflow.com/questions/15294836/how-can-i-exclude-multiple-folders-using-get-childitem-exclude/59558095#59558095

Tested running folders in parallel. I didn't help.
https://github.com/czprz/dever/compare/main...123-improve-speed-of-init-command-running-searches-for-deverjson-files-in-parallel

Closed, has been fixed by #210


MM-11839: Ldap Groups Link/Unlink page

Summary
Add the LDAP Groups Link/Unlink page to the admin console.
Ticket Link
MM-11839
Checklist

[x] Ran make check-style to check for style errors (required for all pull requests)
[x] Ran make test to ensure unit and component tests passed
[x] Added or updated unit tests (required for all new features)
[x] Has server changes (please link)
[x] Has redux changes (please link)
[x] Includes text changes and localization file (.../i18n/en.json) updates

I going to change it a bit to adapt it to the new pagination UX.


HBASE-25258 Backport HBASE-24776 "[hbtop] Support Batch mode" to bran…

…ch-1

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
0m  0s
Docker mode activated.

-1 :x:
docker
10m 49s
Docker failed to build yetus/hbase:b249092a5f.

Subsystem
Report/Notes

GITHUB PR
https://github.com/apache/hbase/pull/2641

Console output
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2641/1/console

versions
git=2.17.1

Powered by
Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

Not sure why the QA is failing..

Just re-triggered QA.

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
0m  0s
Docker mode activated.

-1 :x:
docker
0m 15s
Docker failed to build yetus/hbase:b249092a5f.

Subsystem
Report/Notes

GITHUB PR
https://github.com/apache/hbase/pull/2641

Console output
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2641/2/console

versions
git=2.17.1

Powered by
Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

Closing this as the QS is failing for some reason. I'll recreate a new PR for it.


Visual Shader, doesn't cast bools to float when trying to add or multiply them together

Godot version:
3.2.4.rc1
OS/device including version:
NA
Issue description:
Visual Shader, doesn't cast bools to float when trying to add or multiply them together.
It appears to work fine as long as only one of the values is a bool, but not with both.

Steps to reproduce:
Open the example.tres in the attached project.
Minimal reproduction project:

visual_shader_boolean.zip

Fixed in master, need to be backported to 3.2


Modified the Readme

Changes:

Added some badges to the Readme
Some words have been changed to make it more understandable

Why this should be added:

This PR makes the Readme more understandable for some people and pretty with the badges.

The Support Server badge is possible by the server widget and shields.io dynamic badges, like all the other badges.
I hope do you like it! :)

I like it, I will add it. Thank you very much for contributing!


Incorrect status being reported for skipped, pending, failed steps v16.0.3

Versions

Cypress version:
"cypress": "^12.16.0"
Preprocessor version:
"@badeball/cypress-cucumber-preprocessor": "16.0.3",
Node version:
16

Current behavior

I have "json": {"enabled": true,} and noticed a couple of issues regarding the status values in the json output file which seem incorrect
Wanted to check if these are expected or incorrect
Summary
1] I have a step that fails - steps[0].result.status = 'failed' but in the after block steps[1].result.status = 'skipped'
2] I have a step that is pending - steps[0].result.status = 'failed' ("error_message": "pending") but in the after block steps[1].result.status = 'skipped'
3] I have a step that returns skipped steps[0].result.status = 'passed' and the after block steps[1].result.status = 'passed'
4] I have a step that is undefined - steps[0].result.status = 'passed' but in the after block steps[1].result.status = 'passed'
Desired behavior
1] I have a step that fails - steps[0].result.status = 'failed' after block steps[1].result.status = 'failed' - whole scenario failed
2] I have a step that is pending - steps[0].result.status = 'failed' ("error_message": "pending") but in the after block steps[1].result.status = "pending"
3] I have a step that returns skipped steps[0].result.status = 'skipped' and the after block steps[1].result.status = 'skipped'
4] I have a step that is undefined - steps[0].result.status = 'pending' but in the after block steps[1].result.status = 'pending'
Scenario
step - passed
step - failed
step skipped
=> scenario failed (worst status)
Scenario
step - passed
step - passed
step - skipped
=> scenario skipped (worst status)
Scenario
step - skipped
step - passed
step - pending
=> scenario pending (worst status)
Scenario
step - passed
step - undefined
step - passed
=> scenario undefined (worst status)

Test code to reproduce
Steps to reproduce the behavior:

Install '.cypress": "^12.16.0' using "@badeball/cypress-cucumber-preprocessor": "16.0.3",
Create a feature file with the below Feature & step defs
Feature

Feature: Example feature

  Scenario: Test various statuses - Pass
    Given I have a step that passes

  Scenario: Test various statuses - Fail
    Given I have a step that fails

  Scenario: Test various statuses - Undefined
    Given I have a step that is undefined

  Scenario: Test various statuses - Pending
    Given I have a step that is pending

  Scenario: Test various statuses - skipped
    Given I have a step that returns skipped

  Scenario: Test various statuses - undefined
    Given I have a step that returns undefined

// cypress/support/step_definitions/exampleSteps.js

import { Given } from '@badeball/cypress-cucumber-preprocessor';

Given('I have a step that passes', () => {
  cy.log('This step passes');
});

Given('I have a step that fails', () => {
  cy.log('This step fails');
  expect(true).to.be.false;
});

Given('I have a step that is undefined', () => {
  // Leave this step undefined
});

Given('I have a step that is pending', () => {
  // In Cucumber JS, you can use 'return "pending"' to mark a test as pending,
  // but Cypress doesn't support this directly. You could, for instance,
  // throw a specific error to denote a pending test and then handle this
  // in your test result reporting.
  throw new Error('pending');
});

Given('I have a step that returns pending', () => {
  // In Cucumber JS, you can use 'return "pending"' to mark a test as pending,
  // but Cypress doesn't support this directly. You could, for instance,
  // throw a specific error to denote a pending test and then handle this
  // in your test result reporting.
  return 'pending';
});

Given('I have a step that returns skipped', () => {
  // In Cucumber JS, you can use 'return "pending"' to mark a test as pending,
  // but Cypress doesn't support this directly. You could, for instance,
  // throw a specific error to denote a pending test and then handle this
  // in your test result reporting.
  return 'skipped';
});

Given('I have a step that returns undefined', () => {
  // In Cucumber JS, you can use 'return "pending"' to mark a test as pending,
  // but Cypress doesn't support this directly. You could, for instance,
  // throw a specific error to denote a pending test and then handle this
  // in your test result reporting.
  return 'undefined';
});

In your package.json. ensure you have

"cypress-cucumber-preprocessor": {
    "stepDefinitions": "test/e2e/**/*.{js,ts}",
    "commonPath": "test/e2e/commonSteps",
    "json": {
      "enabled": true,
      "output": "reports/cucumber-report.json"
    },...

Run cypress and check the json file generated

Json output
{
    "description": "",
    "elements": [
      {
        "description": "",
        "id": "example-feature;test-various-statuses---pass",
        "keyword": "Scenario",
        "line": 3,
        "name": "Test various statuses - Pass",
        "steps": [
          {
            "arguments": [],
            "keyword": "Given ",
            "line": 4,
            "name": "I have a step that passes",
            "match": {
              "location": "not available:0"
            },
            "result": {
              "status": "passed",
              "duration": 8000000
            }
          },
          {
            "keyword": "After",
            "hidden": true,
            "result": {
              "status": "passed",
              "duration": 4000000
            }
          }
        ],
        "tags": [],
        "type": "scenario"
      },
      {
        "description": "",
        "id": "example-feature;test-various-statuses---fail",
        "keyword": "Scenario",
        "line": 6,
        "name": "Test various statuses - Fail",
        "steps": [
          {
            "arguments": [],
            "keyword": "Given ",
            "line": 7,
            "name": "I have a step that fails",
            "match": {
              "location": "not available:0"
            },
            "result": {
              "status": "failed",
              "duration": 0,
              "error_message": "expected true to be false"
            },
            "embeddings": [
              {}
            ]
          },
          {
            "keyword": "After",
            "hidden": true,
            "result": {
              "status": "skipped",
              "duration": 0
            }
          }
        ],
        "tags": [],
        "type": "scenario"
      },
      {
        "description": "",
        "id": "example-feature;test-various-statuses---undefined",
        "keyword": "Scenario",
        "line": 9,
        "name": "Test various statuses - Undefined",
        "steps": [
          {
            "arguments": [],
            "keyword": "Given ",
            "line": 10,
            "name": "I have a step that is undefined",
            "match": {
              "location": "not available:0"
            },
            "result": {
              "status": "passed",
              "duration": 4000000
            }
          },
          {
            "keyword": "After",
            "hidden": true,
            "result": {
              "status": "passed",
              "duration": 3000000
            }
          }
        ],
        "tags": [],
        "type": "scenario"
      },
      {
        "description": "",
        "id": "example-feature;test-various-statuses---pending",
        "keyword": "Scenario",
        "line": 12,
        "name": "Test various statuses - Pending",
        "steps": [
          {
            "arguments": [],
            "keyword": "Given ",
            "line": 13,
            "name": "I have a step that is pending",
            "match": {
              "location": "not available:0"
            },
            "result": {
              "status": "failed",
              "duration": 0,
              "error_message": "pending"
            },
            "embeddings": [
              {}
            ]
          },
          {
            "keyword": "After",
            "hidden": true,
            "result": {
              "status": "skipped",
              "duration": 0
            }
          }
        ],
        "tags": [],
        "type": "scenario"
      },
      {
        "description": "",
        "id": "example-feature;test-various-statuses---skipped",
        "keyword": "Scenario",
        "line": 15,
        "name": "Test various statuses - skipped",
        "steps": [
          {
            "arguments": [],
            "keyword": "Given ",
            "line": 16,
            "name": "I have a step that returns skipped",
            "match": {
              "location": "not available:0"
            },
            "result": {
              "status": "passed",
              "duration": 5000000
            }
          },
          {
            "keyword": "After",
            "hidden": true,
            "result": {
              "status": "passed",
              "duration": 3000000
            }
          }
        ],
        "tags": [],
        "type": "scenario"
      },
      {
        "description": "",
        "id": "example-feature;test-various-statuses---undefined",
        "keyword": "Scenario",
        "line": 18,
        "name": "Test various statuses - undefined",
        "steps": [
          {
            "arguments": [],
            "keyword": "Given ",
            "line": 19,
            "name": "I have a step that returns undefined",
            "match": {
              "location": "not available:0"
            },
            "result": {
              "status": "passed",
              "duration": 4000000
            }
          },
          {
            "keyword": "After",
            "hidden": true,
            "result": {
              "status": "passed",
              "duration": 4000000
            }
          }
        ],
        "tags": [],
        "type": "scenario"
      }
    ],
    "id": "example-feature",
    "line": 1,
    "keyword": "Feature",
    "name": "Example feature",
    "tags": [],
    "uri": "test/e2e/Example/test.feature"
  }

Versions

Cypress version:
"cypress": "^12.16.0"
Preprocessor version:
"@badeball/cypress-cucumber-preprocessor": "16.0.3",
Node version:
16

Other + Additional information:
Comment from mpkorstanje
Generally speaking the way to determine the result of a scenario is to take the worst status of its steps.
https://github.com/cucumber/cucumber-jvm/blob/main/cucumber-core/src/main/java/io/cucumber/core/runner/TestCaseState.java#L54C1-L54C1
The order being
PASSED,
SKIPPED,
PENDING,
UNDEFINED,
AMBIGUOUS,
FAILED

https://github.com/cucumber/cucumber-jvm/blob/main/cucumber-java/src/main/java/io/cucumber/java/Status.java
If a scenario has no steps implementations currently vary a bit on what the outcome should be.
https://github.com/cucumber/gherkin/issues/11
Checklist

[x] I've read the FAQ.
[x] I've read instructions for logging issues.
[x] I'm not using<EMAIL_ADDRESS>(package name has changed and it is no longer the most recent version, see #689).

1] I have a step that fails - steps[0].result.status = 'failed' but in the after block steps[1].result.status = 'skipped'
2] I have a step that is pending - steps[0].result.status = 'failed' ("error_message": "pending") but in the after block steps[1].result.status = 'skipped'
3] I have a step that returns skipped steps[0].result.status = 'passed' and the after block steps[1].result.status = 'passed'
4] I have a step that is undefined - steps[0].result.status = 'passed' but in the after block steps[1].result.status = 'passed'

This is intended behavior. Why would the after-step be marked as failed here?

You don't mark a step as pending by throwing Error("pending"), you simply return the string "pending". This is supported, as seen here.

Returning "skipped" is the not supported p.t.

Returning "undefined" doesn't mean anything, neither here nor in cucumber-js.

Thanks for confirming @badeball . RE 1] is the after step the overall status of the scenario or the status of the last step?
if its the overall status of the scenario, then for the below scenario, the step was skipped because of the failure? so overall status should be failed not skipped i would have thought?
Scenario:
step - passed
step - failed
step - skipped
=> scenario failed (worst status)

In this scenarios also, the step status is failed but the After is showing as skipped. is that expected?
"name": "Test various statuses - Fail",
        "steps": [
          {
            "arguments": [],
            "keyword": "Given ",
            "line": 7,
            "name": "I have a step that fails",
            "match": {
              "location": "not available:0"
            },
            "result": {
              "status": "failed",
              "duration": 0,
              "error_message": "expected true to be false"
            },
            "embeddings": [
              {}
            ]
          },
          {
            "keyword": "After",
            "hidden": true,
            "result": {
              "status": "skipped",
              "duration": 0
            }
          }
        ],

You can think of After(..) as a step that runs at the end of every test. Its status is its status alone and not a reflection of the test as whole.

Ah got it, status of the after hook. That clarifies this. Thank you


Remove the default background color in dark theme.

What problem does this feature solve?
The default light theme background is transparent. But in dark mode the color is fixed dark blue (#100C2A (rgb: 16,12,42))
I cannot find any option to replace the color. I don't want to create a complete custom color.
What does the proposed API look like?
Just remove the background color or / and provide an option to set the color (to transparent) without creating a custom theme. (I use ngx-charts, all latest versions.)

any solution? why close it?

Just set option.background to 'none'

should set it in global, so I have to download the dark.js and change it, then registertheme


complete: 🕹 notificationSystem and dateValidation

Add dataValidation function in validateDate.js and intergrated with notification system. The dataValidate() function needs to be called onclick of 'Submit Query' button and creation function needs to be added in the else{} block of the function.

Please show the contribution page while presenting tomorrow :)


✨ updated apps and plugins

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


How can I disable Auth0 integration?

I have used docker-compose up to run the krakend, but the website let me to login.
How can I disable Auth0 integration?
or how can I get these auth0 params?
var AUTH0_CLIENT_ID='AUTH0_CLIENT_ID';
var AUTH0_DOMAIN='AUTH0_DOMAIN';
var AUTH0_AUDIENCE = 'AUTH0_AUDIENCE';

I think you need to remove checkJwt, checkScopes middlewares in https://github.com/devopsfaith/krakend-playground/blob/master/web/server.js and remove JOSE ("github.com/devopsfaith/krakend-jose/validator") extra_config in krakend.json

The website project is just a demo integration with auth0. I'm not sure what are you expecting to get from it without the external JWT provider.
you can create a free account and you'll get the credentials for your SPA

The website project is just a demo integration with auth0. I'm not sure what are you expecting to get from it without the external JWT provider.

In the README.md under Start the service it explains how to configure these values.   But, to me the heading 'Only if you want to try the Auth0 integration...' implies that the Auth0 configuration is optional and should work without any configuration.
If it's not optional, then that heading should be re-worded to avoid confusion.  Otherwise, it might be worth disabling checkJwt, and checkScopes if the configuration fields are empty or set to default.

the website has 2 main goals: demonstrate the CORS module and integrating your JWT validation with third party providers such as auth0. If you are not interested in these features, you don't need the website project. Notice the gateway exposes more endpoints than just the consumed by the website.
If you think the wording on the README is confusing, please submit a pr with your proposal

@xzygis  I started playing with it today and just managed to have it working with Auth0. 🥳  Meaning to have that Call Private button (that calls /private/auth0) working. I could share my notes, maybe a readme update or a dedicate page would help others also.
@kpacha I would create a PR that should include Auth0 trial setup in a step-by-step manner, so people can have this quickstart option (as marketed by the Installing KrakenD page) as smooth as possible. Also, some quick reasoning about some concepts would be nice to be included.

@devisions I'd love that!
(sorry for the delay but it looks like your comment got lost in my inbox)

@dxps looking forward to it!

If you think the wording on the README is confusing, please submit a pr with your proposal

Thanks, I'm well aware of how GitHub and open source projects work.

localhost:3000 says
Error: access_denied. Check the console for further details.
what it means I just run docker-compose

@xzygis I started playing with it today and just managed to have it working with Auth0. 🥳 Meaning to have that Call Private button (that calls /private/auth0) working. I could share my notes, maybe a readme update or a dedicate page would help others also.

@dxps did you ever put up those notes on getting /private/auth0 to work? I keep getting this in logs:
krakend_ce_1       | [GIN] 2021/09/06 - 10:43:09 | 401 |  373.462756ms |      <IP_ADDRESS> | GET      "/private/auth0"
krakend_ce_1       | Error #01: no Keys has been found

Thanks.

you can follow the official auth0 documentation regarding how to create and config a new client (https://auth0.com/docs/quickstart/spa/angular#configure-auth0) or ours (https://www.krakend.io/docs/authorization/auth0/#the-auth0---krakend-integration)
there you'll get your client id, audience, domain and jwk-url for configuring your SPA (web/auth0-variables.js) and your KrakenD (krakend/krakend.json)

@xzygis I started playing with it today and just managed to have it working with Auth0. 🥳 Meaning to have that Call Private button (that calls /private/auth0) working. I could share my notes, maybe a readme update or a dedicate page would help others also.

@dxps did you ever put up those notes on getting /private/auth0 to work? I keep getting this in logs:
krakend_ce_1       | [GIN] 2021/09/06 - 10:43:09 | 401 |  373.462756ms |      <IP_ADDRESS> | GET      "/private/auth0"
krakend_ce_1       | Error #01: no Keys has been found

Thanks.

you can follow the official auth0 documentation regarding how to create and config a new client (https://auth0.com/docs/quickstart/spa/angular#configure-auth0) or ours (https://www.krakend.io/docs/authorization/auth0/#the-auth0---krakend-integration)
there you'll get your client id, audience, domain and jwk-url for configuring your SPA (web/auth0-variables.js) and your KrakenD (krakend/krakend.json)

On my side, the most useful link for this matter was this one : https://www.krakend.io/docs/authorization/auth0/
It really clarifies every step, I which I had seen it before haha !

@crnastena Somehow GitHub sent me a notification about this thread today, months later ...
Here are my notes from that time (an year ago). Not sure if these still hold or things changed that much that I'd have to follow again all the steps and see what's different now. But anyway, hope it helps.
Playing with krakend-playground

Logged in to Auth0 and created:

a tenant domain named dxps.eu.auth0.com
a personal account
an SPA type of application named KrakendPlaygroundSPA

Updated web/auth0-variables.js file with:
var AUTH0_CLIENT_ID = "a3v ... O4e";
var AUTH0_DOMAIN = "dxps.eu.auth0.com";
var AUTH0_AUDIENCE = "http://localhost:8080/private";
var AUTH0_CALLBACK_URL = location.href;

Suppose you forgot or want to change one of these values, after updating this file you can rebuilt the image with docker-compose build web

To get the access token as JWS, I created an Custom API named Private with Identifier as http://localhost:8080/private (used as the audience param on authorization calls).

By default (without an API), the access token is not a JWT nor JWS.
Added read:private permission in the API definition (Permissions tab).

Related to user access mgmt:

In User Management > Roles I create the user role and added that read:private permission defined at that API level.
In User Management > Users click your account, go to Roles tab and grant it this user role. Then you can validate the result by going to Permissions tab and see that indirectly (assigned through the role) the account has the read:private permission.

Started all services using docker-compose up

UI (a simple SPA-like) is accessible at http://localhost:3000

Although JWS looks alright (jwt.io extension shows it), KrakenD throws the error Error #01: no Keys has been found

krakend.json file was updated on "endpoint": "/private/auth0" for krakend-jose/validator config to have:
"audience": ["http://localhost:8080/private"],
"roles_key": "permissions",
"roles": ["read:private"],
"jwk-url": "https://dxps.eu.auth0.com/.well-known/jwks.json"

Started the services again with docker-compose up

@crnastena Somehow GitHub sent me a notification about this thread today, months later ...

Thanks man ! I commented on it yesterday just to realize the link I was posting was already there.


Use cli for configuration validation

This will allow the extension to be format-agnostic and also unify the code with the CLI.
Blocked by https://github.com/metalbear-co/mirrord/issues/1840

Closed by #155


System.IO.FileNotFoundException when using Xamarin Forms

When trying to use with a Xamarin Forms application, I keep receiving the following error message:

It's happened over two computers (one with a fresh VS2017 install).
Microsoft.EntityFrameworkcore.Sqlite and Microsoft.EntityframeworkCore is referenced in both the .NET Core "shared" project and the .Android project.
Steps to reproduce
Attempt to use Microsoft.EntityFrameworkCore.Sqlite with a Xamarin Forms project
Further technical details
EF Core version: 2.0.0
Database Provider: e.g. Microsoft.EntityFrameworkCore.Sqlite
Operating system: Windows 10
IDE: Visual Studio Community 2017

This issue was moved to xamarin/xamarin-android#1275

Reopening to decide in triage whether we want to keep this for tracking purposes.


Add Templemore College of Further Education, https://www.tcfe.ie

@cj-kennedy-tcfe Please provide us with:

the school official website URL
the school street address, including city and country
an URL of a page on the official website where the school offers an IT-related long-term (>1 year) course
a proof, which shows that the school recognizes the domain you are submitting as an official email domain for the students.

Hi,
1 ) The schools official website url is https://www.tcfe.ie
2) Templemore College of Further Education
Richmond,
Templemore,
Co. Tipperary
E41 FF98

From: Philip Torchinsky @.>
Sent: 14 September 2022 17:37
To: JetBrains/swot @.>
Cc: c.kennedy @.>; Mention @.>
Subject: Re: [JetBrains/swot] Add Templemore College of Further Education, https://www.tcfe.ie (PR #15056)
@cj-kennedy-tcfehttps://github.com/cj-kennedy-tcfe Please provide us with:

the school official website URL
the school street address, including city and country
an URL of a page on the official website where the school offers an IT-related long-term (>1 year) course
a proof, which shows that the school recognizes the domain you are submitting as an official email domain for the students.

—
Reply to this email directly, view it on GitHubhttps://github.com/JetBrains/swot/pull/15056#issuecomment-1247029232, or unsubscribehttps://github.com/notifications/unsubscribe-auth/A3BW76U5MAAUKIYNS56XAZDV6H5NVANCNFSM6AAAAAAQLYGGUY.
You are receiving this because you were mentioned.Message ID: @.***>

Hi,
1 ) The school's official website url is https://www.tcfe.iehttps://www.tcfe.ie/
2) Templemore College of Further Education
Richmond,
Templemore,
Co. Tipperary
E41 FF98
Ireland
Contact Us – Templemore College (tcfe.ie)https://www.tcfe.ie/contact-us/
3 ) Software Development 5M0529 – Templemore College (tcfe.ie)https://www.tcfe.ie/software-development/
4 ) I am sending this message via my school email @.*** - We log in via office 365, but it uses @student.tcfe.ie as you can see in this reply.
Regards

From: c.kennedy @.>
Sent: 14 September 2022 21:27
To: JetBrains/swot @.>
Subject: Re: [JetBrains/swot] Add Templemore College of Further Education, https://www.tcfe.ie (PR #15056)
Hi,
1 ) The schools official website url is https://www.tcfe.ie
2) Templemore College of Further Education
Richmond,
Templemore,
Co. Tipperary
E41 FF98

From: Philip Torchinsky @.>
Sent: 14 September 2022 17:37
To: JetBrains/swot @.>
Cc: c.kennedy @.>; Mention @.>
Subject: Re: [JetBrains/swot] Add Templemore College of Further Education, https://www.tcfe.ie (PR #15056)
@cj-kennedy-tcfehttps://github.com/cj-kennedy-tcfe Please provide us with:

the school official website URL
the school street address, including city and country
an URL of a page on the official website where the school offers an IT-related long-term (>1 year) course
a proof, which shows that the school recognizes the domain you are submitting as an official email domain for the students.

—
Reply to this email directly, view it on GitHubhttps://github.com/JetBrains/swot/pull/15056#issuecomment-1247029232, or unsubscribehttps://github.com/notifications/unsubscribe-auth/A3BW76U5MAAUKIYNS56XAZDV6H5NVANCNFSM6AAAAAAQLYGGUY.
You are receiving this because you were mentioned.Message ID: @.***>

@cj-kennedy-tcfe  Thank you for the clarifications. Pull request merged.