Issue: Re-opening Accounts & IsLoginAllowed

Pre-requisites: Two pre-requisites:

MR is configured to allow login without verification (as I want users to be able to jump straight into the system after registration and defer verification until they have decided they want to continue using the application).

The closure and re-opening of accounts uses a manual SetIsLoginAllowed method call to prevent / allow access whilst an account is temporarily closed. Examples:
          //Close Account
          userAccountService.CloseAccount(ID);
          userAccountService.SetIsLoginAllowed(ID, false);

          //Reopen Account
          userAccountService.ReopenAccount(account);
          userAccountService.SetIsLoginAllowed(account.ID, true);

Scenario: User A creates a local account, and verifies it. Later User A decides to Close the account (not delete it). A while later (malicious) User B tries to reopen User A's account by supplying User A's email address (assumption here is that is somehow known to User B). User A receives a, "Account Reopened" email from MR and immediately tries to cancel the request.
Issues: The ReopenAccount routine (quite rightly) requests that the user re-verifies their email account. However on cancelling the request (to verify the email address) MR has no ability to denote that the request was not just a simple email verification, but a more broadly part of a Reopen Account routine. Thus whilst manually controlling the IsLoginAllowed property of an account, and under this situation the account is left with Login access enabled even though the user has cancelled the request.
Resolution(s): The only way I can think of a way around this is either:

Don't allow access prior to verification, and let that approach control login access (not the option I want given the need to get users into the system quickly and not add too many hurdles).

Differentiate the verification request so that the type can be denoted as part of a ReopenAccount routine E.g. VerificationKeyPurpose.ReopenAccount This request type would ultimately be used to provision for verifying email address (as per account initiation) and either controlling the IsLoginAllowed property of the account, or raising an event (incl. a reference to the key purpose) that as a developer we could use to undertake any post CancelVerification processing i.e. setting the IsLoginAllowed if we so choose.

Keen to get some thoughts on this. It's very much an alternative use case, but still very much part of the overall logic of the MR framework & End User Experience.
References: This issue follows on from a prior closed issue #475 and may help to clarify the context of this issue.

Really sorry for letting these issues get so old without attention.
Yes, I see. I think you have a really good point but to be honest you're more in the middle of it than I am (meaning I think you've got a better idea on perhaps a solution than I would). Perhaps we do need more verification purpose flags.
Do you have a workaround, or are you looking to get a fix into MR? If so, then I'd suggest first building several unit tests to illustrate the broken workflows and then we can fix them one by one. Would you be interesting in forking and then working on a PR?

Hey @brockallen  No drama, I know what its like :)
I've moved on a little with my work since this issue, but i'll revisit this in a few days and see if I can come up with something for you.
Equally, I may be a little slow, but I will do my best :)


Canvas: Font property not working for fonts registered with ConfigureFonts

In a MAUI Canvas try to draw some text with a font registered during the ConfigureFonts startup.
canvas.Font = new Microsoft.Maui.Graphics.Font("Dino");
canvas.DrawString("Hello", 10, 10, HorizontalAlignment.Center);
Expected result:

Text rendered with expected Font

Current result:

Text rendered with default Font

Hi @aletfa,
Connecting some dots here, this issue is related to or also mentioned in:

https://github.com/dotnet/Microsoft.Maui.Graphics/issues/433
https://github.com/dotnet/Microsoft.Maui.Graphics/issues/232
https://github.com/dotnet/Microsoft.Maui.Graphics/issues/337
https://github.com/dotnet/Microsoft.Maui.Graphics/issues/279

We had the same problem i.e. we have to set different Custom Font(s) depending upon some logic, so what I found that the DrawString method doesn't use IFont it uses FontPaint and setting IFont doesn't always override the default FontPaint object.
So I created a workaround,

Create a new inherited class from SkiaCanvas e.g. MySkicCanvas
Override IFont setter, here set FontPaint object using the Custom Font
Create a new inherited class from BitmapExportContext e.g. MyBitmapExportContext
in the inherited constructor inject MySkicCanvas while create ScalingCanvas object
and while consuming MyBitmapExportContext.Canvas,  always set the MyBitmapExportContext.Canvas.Font first then set MyBitmapExportContext.Canvas.FontSize and/or MyBitmapExportContext.Canvas.FontColor

Code snipped is in here
 public class MySkiaCanvas : SkiaCanvas   {         public override IFont Font         {             set             {                 base.CurrentState.FontPaint = new SKPaint                 {                     Color = SKColors.Black,                     IsAntialias = true,                     Typeface = SKTypeface.FromFile(value.Name)                 };             }         }   }
`
public class MyBitmapExportContext : BitmapExportContext
{
private SKBitmap? _bitmap;
private SKSurface _surface;
private ScalingCanvas _canvas;
    public MyBitmapExportContext(int width, int height, float displayScale)
        : base(width, height, 72)
    {
        _surface = SKSurface.Create(new SKImageInfo(width, height, SKColorType.Rgba8888, SKAlphaType.Premul));

        _canvas = new ScalingCanvas(new MySkiaCanvas
        {
            Canvas = _surface.Canvas,
            DisplayScale = displayScale
        });
    }

    public override Microsoft.Maui.Graphics.ICanvas Canvas => _canvas;

    public override IImage Image
    {
        get
        {
            return new SkiaImage(Bitmap);
        }
    }

    public SKBitmap Bitmap
    {
        get
        {
            if (_bitmap == null)
            {
                _bitmap = SKBitmap.Decode(_surface.Snapshot().Encode());
            }

            return _bitmap;
        }
    }

    public override void WriteToStream(Stream stream)
    {
        using var data = _surface.Snapshot().Encode(SKEncodedImageFormat.Png, 100);
        data.SaveTo(stream);
    }

    protected override void Dispose(bool disposing)
    {
        if (!disposedValue)
        {
            if (disposing)
            {
                _surface.Dispose();

                _bitmap?.Dispose();
                _bitmap = null;

                base.Dispose(disposing);

                //we are not setting disposedValue value to true here as its done in the base method
            }
        }
    }
}

`


Villages can turn out a little bit smaller due to structure removal

While debugging the issue of https://github.com/LordDeatHunter/FabricWaystones/pull/73 I found another small one.
There's this code here which ensures waystones are unique in each village:
https://github.com/LordDeatHunter/FabricWaystones/blob/e11e7d0d116d1285f971f25f34ee4caa17580c2f/src/main/java/wraith/waystones/util/Utils.java#L251-L271
It does this by removing all structures that contain waystones except 1.
This means if a village were to generate with multiple waystones, because those structures are getting removed without replacement, the village will actually be smaller than intended.
To demonstrate this I boosted the weighting of waystone structures from 5 to 500 here:
https://github.com/LordDeatHunter/FabricWaystones/blob/f3f8b63903c3671f34347c55ee970fdf2801bcd7/src/main/java/wraith/waystones/util/WaystonesWorldgen.java#L36
Here's a village without waystone generation:

Here's the same village with the boosted waystone generation:

Of course this comparison is heavily exaggerated, but it's still an issue to a lesser degree.

Finally fixed.


Component not rerendered when preserved

Is it possible that components are not rerendered by default when they are preserved (and class did not change). I just had such a case during my panel refactorings. It seems it gets recycled as it should but actually a rerender should be triggered unless shouldRerender is defined and returns false.
Will follow up with an example from that updated codebase.

You can reproduce using lens#panel-refactor. The relevant code is here:
https://github.com/substance/lens/blob/panel-refactor/LensWriter.js#L160-L161

I now use props to propagate things for the ContextSection, but still no rerender happens. :(
Test with Lens#panel-refactor. Open References panel and click on the focus buttons. The app will react except for the panel itself, because ContextSection just does nothing.

Fixed.

Analyzing the code in ContextSection, I found out that the taken approach is invalid.
During rendering ContextSection derives props for its child, the panel component, dynamically from the parent's state. As this issue show, this generates the expectation, that just by changing the parent state, the panel would get rerendered. This is a violation of the contract, that rerendering occurs only if props or state of a component change.
This contract is essential for an efficient reactive rendering implementation, as otherwise no assumptions can be made on when to bound the recursive rendering.
The solution to this is to provide the ContextSection itself with appropriate information. If it depends on the parent's state, then the parent must provide its state as prop, or derive appriopriate props from its state.
Closing this as invalid.

I changed lens accordingly in lens@6880b2c5977e4369f11c34335b839fc9153feaab


How about when compare to socket.io

Could you please tell a sort of comparison

Hi @nvcken, please take a look here: https://github.com/gamestdio/colyseus#what-colyseus-provides-to-you
It's basically match-making and automatic state synchronization.
Cheers


Thunk to save graph settings, save button

1, create thunk to save user's graph editing to db
2, refactor model graph and save color
3, refactor put router 'api/graph ' to update color change to db


Enable NGAC by default to be able to showcase the application security features

FWIW, done in my fork: https://github.com/nacx/tetrate-service-bridge-sandbox/commit/d7ede66d4326efbf009f0a926837310f6f8359df

@nacx for the team and my own understanding when we enable it... what actually will change from the existing rules? do we affect existing functionality?


Update SDK VERSION to 3.4

Automatic update of SDK VERSION

Pull request for fixing build problem with Larod examples https://github.com/AxisCommunications/acap3-examples/pull/98


nixos/smokeping: replace smokeping.fcgi with a symlink

Motivation for this change
This fixes a regression from bb649d96b038ab2c567439987bc182f6797bae5a.
There were permission problems, when the preStart script tried to copy the smokeping.fcgi file over the old file.
834fi85dzixkalmk383gp0v9ps6rd4gy-unit-script-smokeping-pre-start[1545]: cp: cannot create regular file '/var/lib/smokeping/smokeping.fcgi': Permission denied

Things done
As I don't see any reason why smokeping.fcgi should be writable, I replaced it with a symlink from /nix/store.
Warning: If you experience this problem, applying this patch and rebuilding your system is not enough:

You need to manually remove the old file with higher privileges than smokeping user has.
I also needed to restart thttpd.service.

This needs to be backported to nixos-19.09.

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

[X] NixOS
[ ] macOS
[ ] other Linux distributions

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

Notify maintainers
cc @cransom as they introduced the module.

Thanks for the module ;)

Looks good and fixes the issue for me. Thanks!

Backported to 19.09.

Great, thanks for merging.

for reference: backport is in 990f5f433f5de359fbf8dacc109df2e8bb01ba50


Fix run(Executor) to actually use the provided Executor

Currently always uses an Executor for Sequential Elastic Pools.

Fixed on master


Files without a project

In VSCode we encounter solo cs-files which don't belong to a project. While we OmniSharp cannot provide semantic features (IntelliSense, type check, etc) we could enable syntactical features which require a parse tree only (Formatting, outline, etc)

Heh... nice to hear you talk about VSCode on here :)
We should be able to support this scenario already, by specifying the folder to the cs file. We do this in other editors already.

@nosami This doesn't work right now AFAIK because the project systems (asp.net 5 and msbuild) try to find projects in the folder (sln and project.json respectively) and if they don't find any projects, they just exit without populating workspace with anything.
scriptcs project system is the only one that discovers loose files and adds them to workspace but it's csx only

Ah, ok. I was getting confused with the old server which does work this way.
On 7 May 2015 20:19, "Filip W"<EMAIL_ADDRESS>wrote:

@nosami https://github.com/nosami This doesn't work right now AFAIK
because the project systems (asp.net 5 and msbuild) try to find projects
in the folder (sln and project.json respectively) and if they don't find
any projects, they just exit without populating workspace with anything.
scriptcs project system is the only one that discovers loose files and
adds them to workspace but it's csx only
—
Reply to this email directly or view it on GitHub
https://github.com/OmniSharp/omnisharp-roslyn/issues/207#issuecomment-99987186
.

@filipw - and you go with mscorlib which comes with desktop clr/mono right? So no happy path for core clr users? wondering if we could funnel in some default lib for this case...

yeah right now it just uses desktop/mono mscorlib.
in fact, the whole csx thing is #ifdeffed against ASPNET50 too
I have started a separate repo so that all the same information could be retrieved from CSX files when omnisharp itself runs on coreclr https://github.com/filipw/scriptcs-dnx this is very rough outline now, but this approach should be replacing the embedded scriptcs dlls in the future
btw, one more thing, at the moment roslyn scripting doesn't support core clr, in fact it doesn't even work on mono, so scriptcs uses roslyn binaries on windows and mono.csharp on mono
but going back to the original topic, I think orphan *.cs files could be treated similarly to *.csx files and just added to workspace in a loose way; that would like you say require determining the runtime, plus some organizational decisions regarding how to code it in - would that be a new specialized project system that runs at the end or would that be part of msbuildprojectsystem for example, to basically gather all the loose files it didn't need as part of msbuild projects

Agreed - orphan cs files should be handled in a similar fashion to csx files. We already have a little magic in place that associates an unknown file to the best matching project (https://github.com/OmniSharp/omnisharp-roslyn/blob/master/src/OmniSharp/Roslyn/BufferManager.cs#L80) but there is no fallback or default project. So, in the same spirit of OmniSharp v1 I would keep this in place and add an OrphanProject which takes all other files.

@filipw I have been trying to add a OrphanProjectSystem for the orphan files. But the main problem I am running into is how to identify whether a particular document is an orphan document or has a project associated with it. I tried to invoke the GetDocument on the workspace and if a null is returned, then assuming that this is a orphan file. However, the problem with this approach is that the ProjectUpdate runs asynchronously for MSBuild Project system, hence the initialization of the orphan system is running before the projects have been added to the workspace. Any suggestions ?

Hi, I still experience the formatting issue when opening a standalone .cs file:
There is no formatter for 'csharp'-files installed.
I'm running VSCode 1.33.1 (user setup) and Omnisharp 1.18.0


[Android]Flexible size and update properties implementation

Add android's missing RootView flexibleSize and update appProperties implementation, and UIExplorer example.

Not sure about function and class's naming, feel free to leave me a comment if you have better suggestions :)

By analyzing the blame information on this pull request, we identified @javache and @emilsjolander to be potential reviewers.

The description for this PR is too short given how much code is being added. Can you elaborate a bit more on the justification for why this is needed?

@mkonicek, maybe you can do the review on this one? It looks pretty useful and would be nice to get feature parity with iOS

Why was this pr closed?


Introspection

Credit to @ruslantalpa

i ran master after merge and my introspection tests are failing for
response.__schema.mutationType branch (also subscriptionType)
is that intentional?

I've removed subscriptionType for now, as I plan on adding support for subscriptions once they've been fully integrated into the spec.  As for mutationType, the following snippet worked for me:
local ast = parse [[
{
  __schema {
    mutationType {
      name
    }
  }
}
]]

local schema = schema.create {
  query = types.object {
    name = 'Query',
    fields = {}
  },
  mutation = types.object {
    name = 'Mutation',
    fields = {}
  }
}

validate(schema, ast)

local result = execute(schema, ast, rootValue, variables, operationName)

--[[
{
  __schema = {
    mutationType = {
      name = "Mutation"
    }
  }
}
]]

If you find something wrong, feel free to submit an issue!


Fix Incorrect Value Parsing in Test Pipeline Test

Be sure to do all of the following to help us incorporate your contribution
quickly and easily:

[ ] Make sure the PR title is formatted like:
[BEAM-<Jira issue #>] Description of pull request
[ ] Make sure tests pass via mvn clean verify. (Even better, enable
Travis-CI on your fork and ensure the whole test matrix passes).
[ ] Replace <Jira issue #> in the title with the actual Jira issue
number, if there is one.
[ ] If this contribution is large, please file an Apache
Individual Contributor License Agreement.

Use split('=')[1] to parse value from a key-value string (using = as separator) have a potential problem.
In test_append_verifier_in_extra_opt, the value is a pickled string and contains more than one =, we should stop parsing at the first = to get correct value.

+R: @aaltay

LGTM

@robertwb please merge


Code fix in CC0014 TernaryOperatorAnalyzer remove comments

Code fix for CC0014 TernaryOperatorAnalyzer is not compatible with comments in VB code.
Example:
Original code:
If stackFrameItem.GetMethod.DeclaringType Is Nothing Then
declaringType = ""   'MLHIDE
Else
declaringType = stackFrameItem.GetMethod.DeclaringType.ToString
End If
Fixed code:
declaringType = If(stackFrameItem.GetMethod.DeclaringType Is Nothing, "", stackFrameItem.GetMethod.DeclaringType.ToString)
'MLHIDE comment was deleted.
Regards,
Filippo Bottega

I saw this as well but what is the expected behavior. I created a separate refactoring to move inline comments to before the beginning of the statement. Then you can use this refactoring but is that even the correct behavior?

I don't think so because in my example 'MLHIDE is a comment generated by Multi-Language for Visual Studio http://www.jollans.com/tiki/tiki-index.php and needs to be inserted at the end of the code line.
Is it possible to create two different refactorings?

Multiple possible fixes would sound like a good option. With the changes in VB to support comments after implicit line continuation, you should be able to offer a fix along the lines of –
Dim x = If(true,
               1, ‘ Comment

               2)

I’m not sure however if that construct would support the needs of the Multi-Language tool that you are needing since this comment is not at the end of an operation.
Also, I’m not sure how much more concise this option is over the standard If .. Then block syntax and warrants a conversion from block to ternary syntax.
From: filippobottega<EMAIL_ADDRESS>Sent: Monday, October 12, 2015 8:57 AM
To: code-cracker/code-cracker<EMAIL_ADDRESS>Subject: Re: [code-cracker] Code fix in CC0014 TernaryOperatorAnalyzer remove comments (#551)
I don't think so because in my example 'MLHIDE is a comment generated by Multi-Language for Visual Studio http://www.jollans.com/tiki/tiki-index.php and needs to be inserted at the end of the code line.
Is it possible to create two different refactorings?
—
Reply to this email directly or view it on GitHub https://github.com/code-cracker/code-cracker/issues/551#issuecomment-147390272 .  https://github.com/notifications/beacon/AAWSyITdE3jI1awG_x7RMXomd9cn07MAks5o66WrgaJpZM4GNBu4.gif

In my case I think that this is better solution:
Dim x = If(true, 1, 2)  ‘ Comment
Moreover I'm trying to understand when is meaningful to apply CC0014 fix because I'm changing:
Dim x = If(true, 1, 2)
to:
Dim x = If(true,
1,
2)
because If(true, 1, 2) is difficult to read in case 1 and 2 are long more then 20 characters.
Thanks to all for your support!
Best regards,
Filippo Bottega.

@filippobottega the multi-line option was proposed in order to retain the comment trivia associated with both the if and else side of the original code. It wouldn't be necessary if you concatenate all trivia at the end.

@jwooley I agree, I only suggested to use multi-line option when there aren't comments but 1 and 2 are too long to put them in a single line.

Bug confirmed.
Here is a simpler case:
        Sub Foo()
            Dim i
            If 1 > 2 Then
                i = 0 'comment 1
            Else
                i = 1 'comment 2
            End If
        End Sub

Should be fixed to:
        Sub Foo()
            Dim i
            i = If(1 > 2, 0, 1) 'comment 1 'comment 2
        End Sub

Agreed?

Yes!!!

Being worked on by @jwooley along with #550.

Hey @jwooley, how is this and #550 coming?


Typo in namespace

Here https://github.com/saade/filament-fullcalendar/blob/3.x/resources/views/fullcalendar.blade.php#L2
It says FilamentFullcalendar but should be FilamentFullCalendar

its already fixed in v3.0.2 90a3adab4ecd1ebd5f04903d4a1993aef9119716


Add Option to Edit height

is there a way to do it right now?

Did it, with vertical padding in contentPadding parameter


Allow custom config structs for services such as GRPC and HTTP

I'd like to change the default GRPC port for a project I'm working on but it looks like the grpc code expects a *process.GRPCConfig explicitly.  An idea I have for supporting this would be to have a GRPCConfig interface instead that you would cast to that implements required fields as functions, such as GRPCPort() int.  I could then have a struct in my own package implement that with a different default port.

I've added the following things to create a new dynamic config struct from an existing one while changing the struct tags. This will also allow us to register configs for two instances of a process (two GRPC servers) which we couldn't do before. This ticket pushed me to a solution for that.
https://godoc.org/github.com/efritz/nacelle#ApplyTagModifiers
https://godoc.org/github.com/efritz/nacelle#EnvTagPrefixer
https://godoc.org/github.com/efritz/nacelle#DefaultTagSetter
The preferred method for loading configs is now (although backwards compat is maintained).
https://github.com/efritz/nacelle/blob/master/process/grpc.go#L48
If configs are loaded this way, then you can register a config in your startup config map like
// ...
WhateverConfigToken: ApplyTagModifiers(&WhateverConfig{}, NewDefaultTagSetter("port", 2345),
// ...

Awesome! I'm glad to hear about the support for two GRPC servers, I think I'm going to need that this week sometime.  I'll give the custom port number a try tomorrow night when I work on papertrail again.


fix missing resource tag after forwarding to master

Proposed changes
All DDL and DML will be forwarded to Master FE.
And we forgot to set resource tag in ConnectionContext
after forwarding

run buildall


[BEAM-13576] update bom

R: @yirutang

Run Dataflow ValidatesRunner

Run PostCommit_Java_Dataflow

Run PostCommit_Java_DataflowV2

Run SQL PostCommit

Run Java_Examples_Dataflow PreCommit

Run Java PreCommit

Run Java PreCommit

Run PostCommit_Java_Dataflow

Run PostCommit_Java_DataflowV2

@suztomo I keep getting test failures that seem related to AVRO. Do we know if we have compatibility issues with newer versions of avro?

In https://ci-beam.apache.org/job/beam_PostCommit_Java_DataflowV1_PR/58/console, I see NoClassDefFoundError :
12:39:49 > Task :runners:google-cloud-dataflow-java:coreSDKJavaLegacyWorkerIntegrationTest NO-SOURCE
12:39:53
12:39:53 > Task :runners:google-cloud-dataflow-java:examplesJavaLegacyWorkerIntegrationTest
12:39:53
12:39:53 org.apache.beam.examples.complete.AutoCompleteIT > initializationError FAILED
12:39:53     java.lang.NoClassDefFoundError at Class.java:-2
12:39:53         Caused by: java.lang.ClassNotFoundException at URLClassLoader.java:382
12:39:53
12:39:53 org.apache.beam.examples.complete.TopWikipediaSessionsIT > initializationError FAILED
12:39:53     java.lang.NoClassDefFoundError at Class.java:-2
12:39:53         Caused by: java.lang.ClassNotFoundException at URLClassLoader.java:382
12:39:53
12:39:53 org.apache.beam.examples.complete.TrafficRoutesIT > initializationError FAILED
12:39:53     java.lang.NoClassDefFoundError at Class.java:-2
12:39:53         Caused by: java.lang.ClassNotFoundException at URLClassLoader.java:382
12:39:53
12:39:53 org.apache.beam.examples.complete.TrafficMaxLaneFlowIT > initializationError FAILED
12:39:53     java.lang.NoClassDefFoundError at Class.java:-2
12:39:53         Caused by: java.lang.ClassNotFoundException at URLClassLoader.java:382
12:39:53
12:39:53 org.apache.beam.examples.complete.TfIdfIT > initializationError FAILED
12:39:53     java.lang.NoClassDefFoundError at Class.java:-2
12:39:53         Caused by: java.lang.ClassNotFoundException at URLClassLoader.java:382
12:39:53
12:39:53 org.apache.beam.examples.cookbook.BigQueryTornadoesIT > initializationError FAILED
12:39:53     java.lang.NoClassDefFoundError at Class.java:-2
12:39:53         Caused by: java.lang.ClassNotFoundException at URLClassLoader.java:382
12:39:53
12:39:53 org.apache.beam.examples.snippets.transforms.io.gcp.bigquery.BigQuerySamplesIT > initializationError FAILED
12:39:53     java.lang.NoClassDefFoundError at Class.java:-2
12:39:53         Caused by: java.lang.ClassNotFoundException at URLClassLoader.java:382
12:39:53
12:39:53 7 tests completed, 7 failed

https://scans.gradle.com/s/sjhloabkaffks/tests/:runners:google-cloud-dataflow-java:examplesJavaLegacyWorkerIntegrationTest/org.apache.beam.examples.complete.TfIdfIT/initializationError?expanded-stacktrace=WyIwIiwiMC0xIl0&top-execution=1 shows java.lang.NoClassDefFoundError: org/apache/beam/examples/complete/TfIdf$Options.
What are the Avro problems you observe?

Actually the problems all seem to be in PipelineOption instantiations.

@lukecwik Have you ever seen errors like this? e.g. https://ci-beam.apache.org/job/beam_PostCommit_Java_DataflowV1_PR/58/testReport/junit/org.apache.beam.examples.cookbook/BigQueryTornadoesIT/initializationError/

Run Java PreCommit

I found https://github.com/apache/beam/pull/16388 "Fix class not found error for example integration tests", which was merged 6 days ago. The last run of this PR was before that merging. Retrying the postcommit integration tests.

Run PostCommit_Java_Dataflow

Run PostCommit_Java_DataflowV2

They succeeded.

They succeeded.

I think you are looking at the wrong run since I see that https://ci-beam.apache.org/job/beam_PostCommit_Java_DataflowV1_PR/58/ and https://ci-beam.apache.org/job/beam_PostCommit_Java_DataflowV2_PR/72/ failed.

@lukecwik  I meant today's invocations:

https://ci-beam.apache.org/job/beam_PostCommit_Java_DataflowV1_PR/63/
https://ci-beam.apache.org/job/beam_PostCommit_Java_DataflowV2_PR/76/

(your links are for the December 29th's invocations)

I see, got confused due to the rename of the jenkins job.


IS-08 audio channel mapping implementation

Several nmos-cpp users would like IS-08 support. I think we can largely follow the approach of how IS-05 Connection API resources are represented and associated with the IS-04 Node API resources. I.e. I imagine adding nmos::node_model::channelmapping_resources

Hi , is there any timeline of when to expect the support?

No guarantee, but intention is to work on this during Q2.

Done! (See 253cc74fc34abca4b3cec488da24ae70023a7297 for most of the work.)

After some recent refactoring (primarily in 699654a701a3dae4fa877b57b967bc316f3e611e), here's a picture that explains the current nmos-cpp-node IS-08 example scenario.


Docker Desktop <IP_ADDRESS> on Windows: No consistency in file mounts

Describe the bug
Installing a e.g. a TYPO3 project via composer with a composer.json file with "ddev composer install".
After changing the composer.json file and doing "ddev composer update" nothing will be changed (I think the file is cached because of new Docker file caching).
To Reproduce
Steps to reproduce the behavior:

Install a composer project with "ddev composer install" on Windows with Docker Desktop 2.2
Change the composer.json file
Do a "ddev composer update"
Nothing will be changed by composer and the changed in composer.json will be ignored

Expected behavior
The changes in composer.json file should be used and e.g. new packages installed or updated.
Version and configuration information (please complete the following information):

Host computer OS and Version: Windows 10 (newest release)
Docker version information: Docker Desktop 2.2 with Docker 19.03.5
ddev version information: 1.12.1

Just FYI:
On Win 10, Docker Desk. <IP_ADDRESS>, Ddev v1.13.0 had this issue.
I updated nfs_mount_enabled: false line to "true" in .ddev/config.yaml file (like @rfay said above), restart and all good.
Thanks all!

Docker Desktop for Windows <IP_ADDRESS> was released today; I tested a prerelease and it seemed like it was going to be fine.


Any chance of an npm version please?

I would like to use the package with webPack (commonjs)

I'll see if I can set that up this weekend if I have some time.

Sorry I just haven't had a chance to look into what would be required to get this working with commonjs and loaded up in NPM yet.
I may have some time in a week or two - if you need/want it sooner, feel free to submit a PR. Thanks!

Hi, any luck on adding an npm for this?

Sorry - not yet. Busy with other projects at the moment.

+1 for npm as I need it for webpack.


Regex compare not case-insensitive for single optional characters

Description
When a case-insensitive regex contains an optional character, the optional character is not compared in a case-insensitive fashion. For instance, the regex /ab?c/.ignoresCase() will match "AbC", but will fail to match "ABC".
Reproduction
let pattern = /ab?c/.ignoresCase()
let tests = ["abc", "Abc", "ABC", "ac", "AC", "AbC", "aBc"]

for test in tests {
    let matched = test.wholeMatch(of: pattern) != nil
    print("\(matched ? "pass" : "FAIL"): \(test)")
}

when that code is run in a playground, the following is output:
pass: abc
pass: Abc
FAIL: ABC
pass: ac
pass: AC
pass: AbC
FAIL: aBc

Expected behavior
I expect all of those tests to pass.
Environment
% swiftc --version
swift-driver version: 1.115 Apple Swift version 6.0.2 (swiftlang-<IP_ADDRESS>.2 clang-16<IP_ADDRESS>)
Target: arm64-apple-macosx15.0
Additional information
Note that the tests do all pass for this form: /a(b)?c/.ignoresCase()

I see that this is related to https://github.com/swiftlang/swift-experimental-string-processing/issues/785. Is there an easy way to transfer this over, or should I re-create a ticket there?

Sure, we can transfer this for you.
cc @xedin


Pressing enter while on the search input of the Market panel causes the popup to reload.

I believe it has something to do with the fact that you're using a form.

it's a simple solution
https://stackoverflow.com/a/19454346

@pisslake fixed by removing the unnecessary form


sql: re-enable automatic statistics by default

PR: https://github.com/cockroachdb/cockroach/pull/35291
From release notes:

Automatic statistics are now enabled by default. [#35291][#35291] {% comment %}doc{% endcomment %}

Docs already up-to-date here.


[FLINK-XXXX] Respect restartBackoffTimeStrategy in declarative scheduler

Thanks for your review. I rebased & addressed your remark.

Thanks for your review. I rebased & addressed your remark.

Manually merged via bd6cf41df94db3a891bce5b6afb032dbf28e731c

Manually merged via bd6cf41df94db3a891bce5b6afb032dbf28e731c


Handle leading "v" in versions in a commit message

eg Bumps org/repo from v1.3.0 to v1.3.2.  as a commit message does not populate the previous-version and new-version, so is also unable to calculate the proper update-type.  This makes the output not very useful for determining whether to auto merge a dependabot PR only on minor version changes or less for example.

Something like this maybe?  https://github.com/dependabot/fetch-metadata/pull/245

Makes sense, this should get fixed.
Input: Bumps org/repo from v1.3.0 to v1.3.2
Expected output:
previous-version: "v1.3.0"
new-version: "v1.3.2"
update-type: "version-update:semver-patch"
In other words, the "handling" should strip the leading v when calculating the update-type, but not actually strip it when populating the final "previous-version" / "new-version"...


Clicking the error address in the terminal with "ctrl + leftMouseButton" does not jump to the corresponding location

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

VS Code Version: 1.91.1 (user setup)
OS Version: Windows_NT x64 10.0.19045

Steps to Reproduce:

Open a python file with some bugs and run the code.
Look for error messages in the terminal and click any error address in the terminal with "ctrl + leftMouseButton" to see what will happen next.

This is working for me using an absolute path with CJK chars:

We'll need more info to be able to investigate.


failed to save bookmark: ID must not be empty

Fails with sqlite and mysql because only the pgsql path has been refactored.
Introduced by dc73cd825b9d8b997364062b625bb4b3f15bc1c8 and 222fc14fe29f9988db9aca2972c2f3a29c3914b0

Fix 4c0092fb73966584cb5cc9740cb2e111c55fc878


Ensure webhook is started

This ensures webhook is started when controller-manage deployment becomes ready.

recheck

recheck

recheck

/test infra-operator-build-deploy

recheck

/test infra-operator-build-deploy

recheck

recheck

recheck


Tools to trouble-shoot when ALE stops working

I noticed lately that ale no longer highlights lint errors for me (Python source, using flake8).  I've no idea how to debug what's going wrong.
I'm thinking it would be nice to have a :ALEStatus command that would provide some insight into what's going on.  Things like

when ALE last tried to validate the file ("30 seconds ago", or just a full YYYY-MM-DD HH:MM:SS timestamp if that's simpler)
what file type and what linter it used
what external command it ran
how long the command took to run (or if it's still running)
what exit status that command returned
how many lines of output that command returned (and maybe first 5 + last 5)

One addition that would help with this would be some way of outputting an error for a linter which ran and produced errors without the errors being in the regular error format. flake8 can return stack traces when it fails, for example.

A couple of commands I found useful while investigating my issue
com! ALECheckNow     call ale#Queue(0)
com! ALEShowCommand  echo ale_linters#python#flake8#GetCommand(bufnr('%'))

but now I see that the 2nd is not very universal...

e0928d099116e27f0203b0a365506bfecbe1a6e3 is at fault with above problem. Have no idea where he got --stdin-display-name option from. flake8 has no such thing.
Sorry for now being helpful the right way, I'm too lazy to open issues or investigating properly.
@mgedmin reverting that one line fixes the problem you had with flake8.

It's a valid option in more recent versions of flake8. http://flake8.pycqa.org/en/latest/user/options.html#cmdoption-flake8--stdin-display-name
Perhaps some version detection is needed.

sudo pip install --upgrade flake8 fixed flake8 linter for me.

I believe the :ALEInfo command was added since this issue was opened.
I think it should be enhanced with a command history. So ALE would track the command history for each linter run, and then print the commands out again when :ALEInfo is used.

I just enhanced :ALEInfo so it attempts to output linter variables. This should be useful for getting information for bug reports, etc.

Also now some of the global options.

I just added some recent command history to :ALEInfo, and an extra command :ALEInfoToClipboard for quickly copying everything to your clipboard.

Now the history should print the exit codes for commands which ran.
There's an option now g:ale_history_enabled for turning the history completely off. If it's off, ALE should skip whatever processing is needed for the command history, so it might run faster.

Now, if g:ale_history_log_output is set to 1, which is set to 0 by default, ALE will store the complete output of every command in the history List, and output that information from :ALEInfo.
I think that's enough information for now. Logging the time taken might be something to add in future.

I found that with linters (specifically estlint and standard) that print lint output on stdout, but genuine linter errors on stderr, that I had to add 'output_stream': 'both' to the linter definition to allow the logger to capture the stderr output. Only then could I understand what was going wrong.
For e.g.
call ale#linter#Define('javascript', {
\   'name': 'standard',
\   'executable_callback': 'ale_linters#javascript#standard#GetExecutable',
\   'command_callback': 'ale_linters#javascript#standard#GetCommand',
\   'callback': 'ale_linters#javascript#standard#Handle',
\   'output_stream': 'both',
\})

Is there a better way to report linter failures?

There's no straight answer. It depends on the linter. For eslint, it should be reporting all but one problem, for invalid configuration files: https://github.com/w0rp/ale/issues/398
I've considered capturing stderr output anyway when g:ale_history_log_output is on, just for ALEInfo.


Local LLMs Support

Hi, thanks for building and opening Savvy!
Is there any way I can configure it to use a locally-running LLM? With OpenAI-compatible API or otherwise.
Thanks!

Curious about your use case for local LLMs vs OpenAI ?

Usage in no-network conditions, data protection, ability to choose specific models for specific kind of workload (for example fine-tuned)
Nothing unique, just a "local LLM" use-case

Thanks for sharing!
Local Redaction and support for local LLMs is planned and I'm tracking it on our public feedback board here

Hi @av,
quick update:
I've moved away from using OpenAI for generating runbooks and we now use Llama3.1 hosted on Groq.
Savvy ask/explain still uses GPT4-o for now.

@sjuxax and @av  getting started on this - should have something for y'all to try v soon.

@sjuxax and @av you can now BYO LLM with Savvy's CLI.  See the docs here: https://docs.getsavvy.so/guides/byo_llm/
Implemented in #154


Updates creators for exporters to take logger parameter.

Fix for issue #75

Codecov Report

Merging #87 into master will not change coverage.
The diff coverage is 66.66%.

@@          Coverage Diff           @@
##           master     #87   +/-   ##
======================================
  Coverage    71.6%   71.6%
======================================
  Files          94      94
  Lines        6100    6100
======================================
  Hits         4368    4368
  Misses       1505    1505
  Partials      227     227

Impacted Files
Coverage Δ

factories/factories.go
100% <ø> (ø)
:arrow_up:

configv2/example_factories.go
55.33% <0%> (ø)
:arrow_up:

cmd/occollector/app/builder/exporters_builder.go
92.64% <100%> (ø)
:arrow_up:

exporter/opencensusexporter/factory.go
87.32% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


:bomb: Bug: When There Is Network Issue, github-repo-scaffolding Plugin Won't Fail

What Happened?
tiexin@mbp ~/work/devstream-io/devstream $ ./dtm apply
2022-05-24 10:06:09 ℹ [INFO]  Apply started.
2022-05-24 10:06:09 ℹ [INFO]  Using dir <.devstream> to store plugins.
2022-05-24 10:06:09 ℹ [INFO]  Using local backend. State file: devstream.state.
2022-05-24 10:06:09 ℹ [INFO]  Tool (github-repo-scaffolding-golang/default) found in config but doesn't exist in the state, will be created.
2022-05-24 10:06:09 ℹ [INFO]  Tool (argocd/default) found in config but doesn't exist in the state, will be created.
2022-05-24 10:06:09 ℹ [INFO]  Tool (githubactions-golang/default) found in config but doesn't exist in the state, will be created.
2022-05-24 10:06:09 ℹ [INFO]  Tool (argocdapp/default) found in config but doesn't exist in the state, will be created.
Continue? [y/n]
Enter a value (Default is n): y

2022-05-24 10:06:12 ℹ [INFO]  Start executing the plan.
2022-05-24 10:06:12 ℹ [INFO]  Changes count: 4.
2022-05-24 10:06:12 ℹ [INFO]  -------------------- [  Processing progress: 1/4.  ] --------------------
2022-05-24 10:06:12 ℹ [INFO]  Processing: (github-repo-scaffolding-golang/default) -> Create ...
2022-05-24 10:06:25 ℹ [INFO]  -------------------- [  Processing progress: 2/4.  ] --------------------
2022-05-24 10:06:25 ℹ [INFO]  Processing: (argocd/default) -> Create ...
2022-05-24 10:06:30 ℹ [INFO]  Creating or updating helm chart ...

As we can see here, when networking issues exist, the repo scaffolding plugin would time out calling GitHub API but it seems it continued without giving an result of the plugin execution.
How to Reproduce?
No response
Anything else
No response
DevStream Version
v0.6.0

The logic of the current apply command is as follows:
Each time Create/Update/Delete is executed, it just stores err in errMaps and outputs all errors after execution.
Do I need to print the error directly in one step and not continue execution?
Related Links:
https://github.com/devstream-io/devstream/blob/5f14cdb0d574bb4032cd806e83bf09c9cb06b586/internal/pkg/pluginengine/change.go#L123-L126


e2e tests for istioctl + apiserver

Based on the work done in https://github.com/istio/manager/issues/660 but as an e2e test.

Closing this work item because tests verifying istioctl prints the correct message from apiserver and the mixer API are hard to wire into a test framework due to changes in multiple branches needing to be coordinated.


Use with precompiled templates, eg. with Quicktemplate

Issue opened for the creation of a wiki page that summarizes the doubts and problems for newbies (https://github.com/volatiletech/authboss/issues/210).

I'm trying to use authboss with quicktemplate but I'm having some problems.
If I read the code for html.go I can see Load() and Render() methods.
I started copying that code and if I understand correctly:

the Load() method: I think I don't need it (for my basic work). Am I wrong? Some comments of mine in the original code:

func (h *HTML) Load(names ...string) error {
    if h.layout == nil {
        b, err := loadWithOverride(h.overridePath, "html-templates/layout.tpl") // I use an interface for layout page with quicktemplate
        if err != nil {
            return err
        }
        h.layout, err = template.New("").Funcs(h.funcMap).Parse(string(b)) // I don't need parsing anymore
        if err != nil {
            return errors.Wrap(err, "failed to load layout template")
        }
    }
    for _, n := range names {
        filename := fmt.Sprintf("html-templates/%s.tpl", n) // this is already an object in my code, right?
        b, err := loadWithOverride(h.overridePath, filename)
        if err != nil {
            return err
        }
        clone, err := h.layout.Clone() // this is already an object in my code, right?
        if err != nil {
            return err
        }
        _, err = clone.New("authboss").Funcs(h.funcMap).Parse(string(b)) // this is already an object in my code, right?
        if err != nil {
            return errors.Wrapf(err, "failed to load template for page %s", n)
        }
        h.templates[n] = clone // maybe something like this with functions?
    }
    return nil
}

for the Render() method I can use something like this:

func (h *HTML) Render(ctx context.Context, page string, data authboss.HTMLData) (output []byte, contentType string, err error) {
	// -------> Original authboss one, commented now
	// buf := &bytes.Buffer{}
	// tpl, ok := h.templates[page]
	// if !ok {
	// return nil, "", errors.Errorf("template for page %s not found", page)
	// }
	// err = tpl.Execute(buf, data)
	// if err != nil {
	// return nil, "", errors.Wrapf(err, "failed to render template for page %s", page)
	// }

	// -------> Mine
	buf := &bytes.Buffer{}
	templates.WritePage(buf, &templates.LoginPage{
		Data: data,
	})
	return buf.Bytes(), "text/html", nil
}

which has the problem I cannot dynamically load pages in templates.WritePage() method based on page parameter.
LoginPage is coming from a template like this:
{% import "github.com/volatiletech/authboss" %}

{% code
    type LoginPage struct { Data authboss.HTMLData }
%}

{% func (p *LoginPage) Title() %}
    Login
{% endfunc %}

{% func (p *LoginPage) Body() %}
    Data: {%v p.Data.Something %}
    <form action="/login" method="POST">
        <input type="email">
        <input type="password">
        <button>Login</button>
        {% if p.Data["modules"] != nil %}
            Something else with modules...
        {% endif %}
    </form>
{% endfunc %}

Maybe with reflection? Really? I read everywhere reflection is really slow and I need to use something else if possible.
I tried also with something like this:
{% import "github.com/volatiletech/authboss" %}

{% code var ALL_TEMPLATES map[string]*LoginPage %}

{% code
    func init() {
        ALL_TEMPLATES = make(map[string]*LoginPage)
        ALL_TEMPLATES["login"] = &LoginPage{}
    }
%}

{% code
    type LoginPage struct { Data authboss.HTMLData }
%}

{% func (p *LoginPage) Title() %}
    Login
{% endfunc %}

{% func (p *LoginPage) Body() %}
    Data: {%v p.Data.Something %}
    <form action="/login" method="POST">
        <input type="email">
        <input type="password">
        <button>Login</button>
        {% if p.Data["modules"] != nil %}
            Something else with modules...
        {% endif %}
    </form>
{% endfunc %}

but I think something is wrong here. I don't like ALL_TEMPLATES slice way of doing this.
What do you suggest?

I already opened an issue on quicktemplate repo: https://github.com/valyala/quicktemplate/issues/58.

I'd say that your problem is that you're not using the Load() stuff correctly. Load should compile the template and store them in a map[string]template or what have you. That way when Render is called, the right template can be referenced.

As I have already written here: https://github.com/valyala/quicktemplate/issues/58#issuecomment-517039441
What have I done
Now I'm using authboss.Renderer interface's Load() method:
type HTML struct {
  ...
  templates    map[string]func(authboss.HTMLData) templates.PageImpl
  ...
}

func InitializeLoginPageType(data authboss.HTMLData) templates.PageImpl {
	return &templates.LoginPage{Data: data}
}

func (h *HTML) Load(names ...string) error {
	for _, n := range names {
		switch n {
		case "login":
			h.templates[n] = InitializeLoginPageType
		}
	}
	return nil
}

func (h *HTML) Render(ctx context.Context, page string, data authboss.HTMLData) (output []byte, contentType string, err error) {
	buf := &bytes.Buffer{}
	tpl, ok := h.templates[page]
	if !ok {
		return nil, "", errors.Errorf("...")
	}
	templates.WritePage(buf, tpl(data))
	return buf.Bytes(), "text/html", nil
}

The million dollar question
Do you see problems with this code?

Load should compile the template

Is my final code correct using it with quicktemplate precompiled templates?

This seems fine to me. Though I would not use the lambda. I'd probably try to use an interface and create all the structs inline in the switch case. :)

Your advice is invaluable, thank you very much.
I am still learning Go and every problem is an opportunity to learn, but only if I am "guided" by skilled and generous people like you.
I have created two different versions of the problem and would like to know which one is best.

https://github.com/frederikhors/authbossQuicktemplate_1, factory pattern and initializators

https://github.com/frederikhors/authbossQuicktemplate_2, with interface and a SetData(data authboss.HTMLData) (page PageImpl) method

I think you prefer the latter, but I don't know what to improve for the performances.
Do you think I can improve using pointers somewhere?

Second one seems fine. Remember I'm not a code review service ;) I just make the library which is enough work on it's own. I think you're doing fine.


changes

Used collections.defaultdict for invites instead of dict
Renamed invites to bot.invites for performance reasons
Used python-dotenv to load credentials
Removed createinvite and used on_invite_create instead
Used only members and invites intents
Allowed for multiple invites by one person
Fixed the vanity bug

Hey! Thanks for making the pull request; I'll be sure to review the changes later.

Also, do you know how I'd go about allowing the bot to work in multiple servers?

Also, do you know how I'd go about allowing the bot to work in multiple servers?

The only issue with this request is that it reverts from using bot created invites to user invites. The reason I created this bot in the first place is for the ability to log joins using bot created invites.
Why I made bot invites?

If a server has a vanity URL, that gets used as the main invite
E.G if I create an invite, it defaults to the vanity invite of the server, and if I specify an invite to be permanent and support unlimited joins, it'll go to the vanity.

I'm afraid that this pull request will have to be closed if you aren't able to keep the bot using /createinvite

Ah, but it still would send the vanity url if it was created by the bot, wouldn't it? It's still using the same API call as a user would so I don't see why it wouldn't default to the vanity URL unless there is a check present client-side in the Discord app

So it'd be more intuitive to use the inbuilt invite creator where they can change the expiry time and uses to create a custom non-vanity URL

Basically, what the code is meant to do is allow the user to create and be allocated an invite from the bot - so the bot creates the invite (this allows the user to be given one of the bot's invites which means they can have a permanent invite that has unlimited uses)
The bot then tracks the joins and if the invite matches one of the created ones, it'll save the joiners UserID to that invite.
It uses the bot's invites to challenge the current way of invite logging as it is quite inefficient, with most invite trackers failing to store joins from temporary invites (which vanities often make you have to use if you want your own invite)
The issue with vanity joins is that the bot saves the UserIDs of people joining from the vanity as the bot invite with the most recent join.
For example, say I have bot invite x and someone has bot invite y.
Someone joins from invite y and that's fine because it saves the joiner's UserID alongside the y invite.
However, if someone then joins the server with the vanity invite, it'll save the userID to y's invite and make it seem like they joined the server from the bot invite instead.
I hope this cleared things up for you.

Fixed errors but altered the way the bot worked. Unfortunately, we couldn't add this.


fix: Advanced approval - RHP turns to not here page while dismissing dismissing after deleting the workflow.

Details

Fixed Issues
$ https://github.com/Expensify/App/issues/48089
PROPOSAL: https://github.com/Expensify/App/issues/48089#issuecomment-2312858325
Tests

Go to workspace settings > Workflows.
Click Add approval workflow.
Select user for "Expenses from" and "Approval".
Click Add workflow on confirmation page.
Click on the added workflow.
Click Delete.
Delete the worfklow.
Verify RHP closes without turning to not here page after deleting the workflow.

[x] Verify that no errors appear in the JS console

Offline tests

Go to workspace settings > Workflows.
Click Add approval workflow.
Select user for "Expenses from" and "Approval".
Click Add workflow on confirmation page.
Click on the added workflow.
Click Delete.
Delete the worfklow.
Verify RHP closes without turning to not here page after deleting the workflow.

QA Steps

Go to workspace settings > Workflows.
Click Add approval workflow.
Select user for "Expenses from" and "Approval".
Click Add workflow on confirmation page.
Click on the added workflow.
Click Delete.
Delete the worfklow.
Verify RHP closes without turning to not here page after deleting the workflow.

[x] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native
https://github.com/user-attachments/assets/4bbfa8ae-f3e5-4d79-a735-f1d901a704b7

Android: mWeb Chrome
https://github.com/user-attachments/assets/393f43a4-18a3-44b2-969a-5742bca11dd9

iOS: Native
https://github.com/user-attachments/assets/0353dcf7-63ee-424e-abfa-1a0bf9dd4c38

iOS: mWeb Safari
https://github.com/user-attachments/assets/262ead8f-f498-4444-883a-e915157d6888

MacOS: Chrome / Safari
https://github.com/user-attachments/assets/6cc484df-5151-49ec-94c7-4abb7eda8095

MacOS: Desktop
https://github.com/user-attachments/assets/05ddb7bf-356e-45bd-8a21-cb3566bffee2

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by https://github.com/srikarparsi in version: 9.0.36-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/grgia in version: 9.0.36-2 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


cloud DNS: include missing project ID

If $PROJECT_ID isn't the default project in gcloud, everything works fine except the creation command.

Good catch! 👍
/ok-to-test

Looks like the build fails for the same reason as in #588. I'll try to have it fixed and let you know when that's done.

This has been stale for a long time and has a conflict. Gonna close; feel free to re-open or open a new PR!


More details from useDismiss hook.

Is your feature request related to a problem? Please describe.
I'm building a complex overlay panel with controlled/uncontrolled state.  The custom onChange property for these components features a reason parameter.  Currently, it's difficult to determine which action triggered the close (e.g. outside-press , reference-press, or escape), and this context is useful to my consumers.
Describe the solution you'd like
A callback function from onDismiss that fires with the DOM Event and name of the event that triggered the close:
closed(event: Event, reason: 'outside-press' | 'reference-press' | 'escape-key'): void

Describe alternatives you've considered
None

So this is actually done internally via the context.events emitter (context.events.on('dismiss', payload => {}), however it's not documented and not really a great solution for external use because of the magic strings.
I'm currently looking into adding an onDismiss callback as an option to the hook that receives a similar payload.

I believe that an alternative API may be better, because you may also want details from other hooks.
Here's what I'm thinking:
onOpenChange already provides the event that caused the open state to change via the second parameter:
onOpenChange(open: boolean, event?: Event)

What if we just added more details to this hook, including reason?:
onOpenChange(
  open: boolean,
  event?: Event & {reason: string} // actually a string literal union
)

I'm not sure what structure to give the reason string though. One option could be to scope it like hook:event-type.
e.g., for useDismiss:
useFloating({
  onOpenChange(open, {reason}) {
    // reason === 'dismiss:escape-key'
    // reason === 'dismiss:outside-press'
  }
});

Or for useHover:
useFloating({
  onOpenChange(open, {reason}) {
    // reason === 'hover:entered-reference'
    // reason === 'hover:left-reference'
    // reason === 'hover:left-safe-polygon'
  }
});

The last string there I was already considering:
https://github.com/floating-ui/floating-ui/blob/0668ed61a2a12481a97b7d332f16cf61e5fb87ac/packages/react/src/hooks/useHover.ts#L248-L252


Add type check before metadata decode

In this PR I add type check before metadata decode.
I also add some test cases about operating with the wrong type
It fixes #2012

Instead, if you want to fix #2012, I think a better way is to change Metadata::ParseMetadata.

@PragmaTwice
I delay InvalidArgument error check after type match check in Metadata::ParseMetadata.
For the tests, I think it is necessary.


BLINK checkpoint

Could you release the checkpoint  of the BLINK model which trained on Zero-shot Entity Linking dataset

@xiepuzhao Sure, we will do that shortly.

@xiepuzhao Sure, we will do that shortly.


Rob dev

Pull request for review of current progress.
This contains the pair programming work with Becky as well as some of the queries I have written and script to populate db with API results ("python manage.py runscript script_name").
There are multiple commits related to fixing .gitignore which we had problems with at the start.
In queries there are some in-development functions which are commented out.

Hello @RSWilson1! Thanks for opening this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file Ploutos/Ploutos/settings.py:

Line 20:1: E265 block comment should start with '# '
Line 22:80: E501 line too long (84 > 79 characters)

In the file Ploutos/dashboard/migrations/0001_initial.py:

Line 18:80: E501 line too long (117 > 79 characters)
Line 25:80: E501 line too long (117 > 79 characters)
Line 32:80: E501 line too long (117 > 79 characters)
Line 35:80: E501 line too long (114 > 79 characters)
Line 36:80: E501 line too long (117 > 79 characters)

In the file Ploutos/dashboard/models.py:

Line 43:80: E501 line too long (82 > 79 characters)

In the file Ploutos/queries.py:

Line 85:5: E265 block comment should start with '# '
Line 89:1: E302 expected 2 blank lines, found 1
Line 97:80: E501 line too long (80 > 79 characters)
Line 145:54: E261 at least two spaces before inline comment
Line 145:80: E501 line too long (83 > 79 characters)
Line 147:80: E501 line too long (96 > 79 characters)
Line 164:80: E501 line too long (80 > 79 characters)
Line 169:80: E501 line too long (82 > 79 characters)
Line 201:1: E303 too many blank lines (3)
Line 212:5: E265 block comment should start with '# '

In the file Ploutos/scripts/populate_db.py:

Line 27:80: E501 line too long (80 > 79 characters)
Line 53:80: E501 line too long (101 > 79 characters)
Line 57:22: E251 unexpected spaces around keyword / parameter equals
Line 57:24: E251 unexpected spaces around keyword / parameter equals
Line 58:21: E251 unexpected spaces around keyword / parameter equals
Line 58:23: E251 unexpected spaces around keyword / parameter equals
Line 59:27: E251 unexpected spaces around keyword / parameter equals
Line 59:29: E251 unexpected spaces around keyword / parameter equals
Line 60:24: E251 unexpected spaces around keyword / parameter equals
Line 60:26: E251 unexpected spaces around keyword / parameter equals

In the file Ploutos/scripts/queries.py:

Line 85:5: E265 block comment should start with '# '
Line 89:1: E302 expected 2 blank lines, found 1
Line 97:80: E501 line too long (80 > 79 characters)
Line 145:54: E261 at least two spaces before inline comment
Line 145:80: E501 line too long (83 > 79 characters)
Line 147:80: E501 line too long (96 > 79 characters)
Line 164:80: E501 line too long (80 > 79 characters)
Line 169:80: E501 line too long (82 > 79 characters)
Line 201:1: E303 too many blank lines (3)
Line 212:5: E265 block comment should start with '# '


JavaScript Error: "Apps" Section on open

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

Click "Charts" or "Releases" in Apps Section

Expected behavior
Charts should load.
Screenshots

Environment (please complete the following information):

Lens Version: 5.3.0 - Electron: 13.6.1
OS: Arch
Installation method (e.g. snap or AppImage in Linux): pacman -S open-lens

LS Content of the folder of the error:
┬─[xxxx@Archie:/u/s/l/r/helm3] (22:39:24)
╰─>$ sudo ls -lah
[sudo] Passwort für xxxxx:
insgesamt 8,0K
drwxr-xr-x 2 root root 4,0K 26. Nov 22:43 .
drwxr-xr-x 7 root root 4,0K 26. Nov 22:43 ..
lrwxrwxrwx 1 root root   13 26. Nov 22:34 helm3 -> /usr/bin/helm

Solution
Install helm manually

Where did you get the binary for lens or open lens? Does this happen if you run the AppImage version?

Havnt tried the AppImage Version.
Source: https://aur.archlinux.org/packages/lens/


Shouldn't the Gulp task demand gulp?

As the Hosted Build agent has this capability, wouldn't it be interesting if this task demands it?

no the task doesn't require gulp to be in the PATH (which is what the agent checks to interpret the capability)


RuntimeError: This event loop is already running

Thanks for the question, our Github issue board is for bugs and feature requests only, though 😕
Please ask this question in the forum✨
If you were describing a bug, please create a report and fill out the template.

Thanks for raising this issue, @closed will get back to you about it soon✨
Please also check out the docs and the forum in case your issue was raised there too 🤗


Issue with ESP32 Node-MCU board

Hi Syssi, I'm haveing issues with your code, the board is constantly rebooting, I just installed your example with this result:
[14:16:14]
[14:16:14]Rebooting...
[14:16:14]ets Jun  8 2016 00:22:57
[14:16:14]
[14:16:14]rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
[14:16:14]configsip: 0, SPIWP:0xee
[14:16:14]clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
[14:16:14]mode:DIO, clock div:2
[14:16:14]load:0x3fff0018,len:4
[14:16:14]load:0x3fff001c,len:1044
[14:16:14]load:0x40078000,len:10124
[14:16:14]load:0x40080400,len:5828
[14:16:14]entry 0x400806a8
[14:16:14]Guru Meditation Error: Core  0 panic'ed (LoadStoreAlignment). Exception was unhandled.
[14:16:14]Core 0 register dump:
[14:16:14]PC      : 0x4008ad9a  PS      : 0x00060933  A0      : 0x8008cdc6  A1      : 0x3ffbc030
←[33mWARNING Decoded 0x4008ad9a: uxPortCompareSet at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/freertos/tasks.c:3507
(inlined by) vPortCPUAcquireMutexIntsDisabledInternal at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/freertos/portmux_impl.inc.h:86
(inlined by) vPortCPUAcquireMutexIntsDisabled at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/freertos/portmux_impl.h:98
(inlined by) vTaskEnterCritical at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/freertos/tasks.c:4201←[0m
[14:16:14]A2      : 0x20766f4e  A3      : 0x0000cdcd  A4      : 0xb33fffff  A5      : 0x00000001
[14:16:14]A6      : 0x00060720  A7      : 0x0000abab  A8      : 0x0000cdcd  A9      : 0x3ffbc120
[14:16:14]A10     : 0x3ffbbc74  A11     : 0x00000000  A12     : 0x00000001  A13     : 0x80000020
[14:16:14]A14     : 0x00000003  A15     : 0x00060c23  SAR     : 0x00000000  EXCCAUSE: 0x00000009
[14:16:14]EXCVADDR: 0x20766f4e  LBEG    : 0x00000000  LEND    : 0x00000000  LCOUNT  : 0x00000000
[14:16:14]
[14:16:14]ELF file SHA256:<PHONE_NUMBER>000000
[14:16:14]
[14:16:14]Backtrace: 0x4008ad9a:0x3ffbc030 0x4008cdc3:0x3ffbc060 0x4008d43d:0x3ffbc080 0x40081f6e:0x3ffbc0a0 0x40086c19:0x3ffbc0c0 0x4000bec7:0x3ffbc0e0 0x4008a759:0x3ffbc100 0x4008b522:0x3ffbc120 0x4008b537:0x3ffbc140 0x40089d8e:0x3ffbc160
←[33mWARNING Found stack trace! Trying to decode it←[0m
←[33mWARNING Decoded 0x4008ad9a: uxPortCompareSet at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/freertos/tasks.c:3507
(inlined by) vPortCPUAcquireMutexIntsDisabledInternal at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/freertos/portmux_impl.inc.h:86
(inlined by) vPortCPUAcquireMutexIntsDisabled at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/freertos/portmux_impl.h:98
(inlined by) vTaskEnterCritical at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/freertos/tasks.c:4201←[0m
←[33mWARNING Decoded 0x4008cdc3: multi_heap_internal_lock at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/heap/multi_heap.c:380←[0m
←[33mWARNING Decoded 0x4008d43d: multi_heap_free at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/heap/multi_heap_poisoning.c:321←[0m
←[33mWARNING Decoded 0x40081f6e: heap_caps_free at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/heap/heap_caps.c:232←[0m
←[33mWARNING Decoded 0x40086c19: _free_r at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/newlib/syscalls.c:42←[0m
←[33mWARNING Decoded 0x4008a759: prvDeleteTCB at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/freertos/tasks.c:3507←[0m
←[33mWARNING Decoded 0x4008b522: prvCheckTasksWaitingTermination at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/freertos/tasks.c:3507←[0m
←[33mWARNING Decoded 0x4008b537: prvIdleTask at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/freertos/tasks.c:3507←[0m
←[33mWARNING Decoded 0x40089d8e: vPortTaskWrapper at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/freertos/port.c:355 (discriminator 1)←[0m
[14:16:15]
[14:16:15]Rebooting...
The only thing I've changes is the board to nodemcu-32s to fit my board, ¿can you help me?

Could you remove most of the sensors from your configuration? Something like this:
substitutions:
  name: jk-bms

esphome:
  name: ${name}
  platform: ESP32
  board: esp-wrover-kit

external_components:
  - source: github://syssi/esphome-jk-bms@main
    refresh: 0s

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

ota:
logger:

mqtt:
  broker: !secret mqtt_host
  username: !secret mqtt_username
  password: !secret mqtt_password
  id: mqtt_client

uart:
  id: uart0
  baud_rate: 115200
  rx_buffer_size: 384
  tx_pin: GPIO14
  rx_pin: GPIO4

jk_modbus:
  id: modbus0
  uart_id: uart0

jk_bms:
  id: bms0
  jk_modbus_id: modbus0

sensor:
  - platform: jk_bms
    cell_voltage_1:
      name: "${name} cell voltage 1"
    cell_voltage_2:
      name: "${name} cell voltage 2"
    cell_voltage_3:
      name: "${name} cell voltage 3"

Does the device still crash? Which Esphome version do you use?

Now perfect I reduced the number of sensors, ¿Is there any limitation?
The same code in a ESP 8266 works well.
It's weird, I'll try to find which is the maximum.
esphome version
Version: 2021.10.3

One more question.
Are the switches functional or they only show what is configured at the bms?
Can you disable or enable balance? It' s not working for me.

The default stack size of a ESP32 build is a bit small. In future it will be possible (at esphome) to increase the stack size a bit. At the moment the maximum number of sensors is a bit limited IMO and hard to predict.
Switches: You are right. The switches are read-only at the moment because writing a new state isn't implemented. I have seen a few voices telling it's not possible to write registers / change states via the serial connection. I haven't tried it yet.
Which BMS model and firmware version do you own? I would like to add tested devices to the README.

Thank you so much for your help and comprehension with me.
You're  doing a great job.
I own a
jk-b2a24s20p
hardware version 8
software 8.1.2H
Version 3.7.4
Tell me if you want me to test something. I'm a member of a telegram group in Spain and we can test new improvements.
Thank you again.

Thanks for your support! Feel free to create new issues if there is something wrong, unclear or if you see room for improvements.

The default stack size of a ESP32 build is a bit small. In future it will be possible (at esphome) to increase the stack size a bit. At the moment the maximum number of sensors is a bit limited IMO and hard to predict.
Switches: You are right. The switches are read-only at the moment because writing a new state isn't implemented. I have seen a few voices telling it's not possible to write registers / change states via the serial connection. I haven't tried it yet.
Which BMS model and firmware version do you own? I would like to add tested devices to the README.

Hello syssi, I am Juanmi, administrator of a Spanish DIY group about LiFePO4 batteries for solar energy in homes and motorhomes, we have been able to communicate different bms (such as DALY, JK, ANT, JBD) with inverters (such as Victron, Voltronic, Deye for a long time , Growatt, etc.)
I have learned about your work thanks to rem72, who is a colleague of our group, your project is very interesting, thanks to the instructions you gave him yesterday I tested the code successfully on an esp32, I tested a bms jk 8s 200a with hardware 9. x and communicates perfectly.
I am in contact with a JK engineer through WECHAT, but they are hard to extract information ... but he told me that the GPS module they have is capable of controlling the BMS remotely, as a remote control for robberies, from what I understand that it should be possible to change parameters through the serial port.
In our group there are several colleagues collaborating on different projects, little by little we are achieving great things for the benefit of the DIY community, especially thanks to people like you
anything I can help with I will be delighted.


Unexpected character (at character 1) The data couldn’t be read because it isn’t in the correct format.

Describe the bug
AppsflyerSDK not initialising.
To Reproduce
static initializeAppsFlyer({required String devKey, required String appleAppId, bool isDebug = false, bool disableAdvertisingIdentifier = true}) async {
    Map appsFlyerOptions = {
      "afDevKey": devKey, //This value is correct.
      "afAppId": appleAppId,  //This value is correct.
      "isDebug": isDebug,
      "timeToWaitForATTUserAuthorization": 50.0,
      "disableAdvertisingIdentifier": disableAdvertisingIdentifier,
    };

    _appsflyerSdk = AppsflyerSdk(appsFlyerOptions);

    _appsflyerSdk.onInstallConversionData((res) {
      print("onInstallConversionData: $res");
      onInstallConversionDataResult = res;
    });

    _appsflyerSdk.onAppOpenAttribution((res) {
      print("onAppOpenAttribution: $res");
      onAppOpenAttributionResult = res;
    });

    _appsflyerSdk.onDeepLinking((DeepLinkResult res) {
      print("onDeepLinking: $res");
      onDeepLinkingResult = res;
    });

    await _appsflyerSdk.initSdk(
      registerConversionDataCallback: true,
      registerOnAppOpenAttributionCallback: true,
      registerOnDeepLinkingCallback: true,
    );
  }

  static logAppsFlyerEvent({required String name, required Map eventValues}) {
    try {
      _appsflyerSdk.logEvent(name, eventValues);
    } catch (error) {
      print(error.toString());
    }
  }

Expected behavior
The sdk should initialise.
Smartphone (please complete the following information):

Device: iPhone 14 Pro
OS: iOS 16.0

You should use 'AppsFlyerOptions' class on appsFlyerOptions variable.

Up. The same error at different apps with different appsflyer versions

The same issue reproduce
iOS 16.0
iPhone 13 Pro

Have you try to use 'AppsFlyerOptions' class on appsFlyerOptions variable ?

I have it still has the same issue

It seems that if you are on the ZERO plan you cant log mobile attribution. You need to be on a GROWTH plan or higher for it to work. Turning on DEBUG mode when initialising, and running the app in xcode gives a forbidden error

You're right. Seems like they changed plans without any notice. But i'm not sure because i never check this plans before:/


MacOS python 3.* build

After I follow all the instructions I get an error:
Traceback (most recent call last):
File "app.py", line 4, in
from hub_client import send
File "/Users/shakedamar/Projects/axonize-python-sdk/hub_client.py", line 3, in
import iothub_client
ImportError: dynamic module does not define module export function (PyInit_iothub_client)
I tried with all the above versions: 3.5, 3.6, 3.7

@AmarShaked
Could you please send us the code you run?
Best Regards,
Zoltan

@AmarShaked
Please also send us the platform and SDK info. (OS and SDK version)
Best Regards,
Zoltan

Closing this out as it's been open for a bit.  @AmarShaked, if you can get us the code please re-activate this or else open a new issue.  Thanks.

@AmarShaked thank you for your contribution to our open-sourced project!  Please help us improve by filling out this 2-minute customer satisfaction survey.


[stable/rabbitmq-ha] Enable custom plugin configuration

MQTT, STOMP and LDAP plugin can now be enabled from the command line
add example of custom config
follow new RBAC best practices

close https://github.com/kubernetes/charts/issues/3653 and https://github.com/kubernetes/charts/issues/3706

I'll need this for the non HA chart too, if possible.

/lgtm


Setup backend

Created the structure for question_service.
Set up mongoose for mongodb and installed the following libraries.

Server: express
Error handling & logging: http-errors, morgan
dotenv
Styling: eslint, prettier

To test

cd backend
add .env
npm install
npm start
you'll see the list of questions in localhost:8080/api/questions

(i assume the response format thing is a future pr thing?)

thanks for reviewing so quickly. we can handle this when doing the other api endpoints?


chore(deps): upgrade configuration

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-configuration-k8s-26-main" workflow

⚪ Backport skipped
The pull request was not backported as there were no branches to backport to. If this is a mistake, please apply the desired version labels or run the backport tool manually.
Manual backport
To create the backport manually run:
backport --pr 3906

Questions ?
Please refer to the Backport tool documentation


descend selector does not work for a special case

Assume I have the following structure:

Then, I have a node which represent the parent div node:
        Element divElement = doc.select("div").get(0);

Then, I perform a selector again:
        Elements foundElements = divElement.select("div span");

the result of foundElements is empty.
I digged the source and found the following source starting from row 59 of StructuralEvaluator:
        while (parent != root) {
            if (evaluator.matches(root, parent))
                return true;
            parent = parent.parent();
        }

I believe that the right way of this loop should be as following:
        do {
            if (evaluator.matches(root, parent))
                return true;
            parent = parent.parent();
        }while (parent != root);

Fixed by #619


how to make v.0.14.3. suppor Mistral AI API ?

My crew was supported by Mistral AI API before  at v0.55.
However it doesn't work in v.0.14.3.  Is there anything I missed  ? thank you.
my snippet code :
from langchain_mistralai.chat_models import ChatMistralAI

mistral_api_key = os.environ.get("MISTRAL_API_KEY")
mistral_client = ChatMistralAI(api_key=mistral_api_key, model="mistral-small-latest" , temperature=0.8,top_p=0.1 , max_retries=3 , max_tokens=8191) #

from langchain_community.tools import DuckDuckGoSearchRun
search_tool = DuckDuckGoSearchRun()

researcher = Agent(
  role='Researcher',
  goal="Conduct quick internet research on a user-defined topic. Provide a report that includes all key findings, date of the information, and sources.",
  backstory="""You are an AI researcher base on trusted source and fact.""",
  verbose=True,
  allow_delegation=False,
  tools=[search_tool],
  llm=mistral_client

)

Entering new CrewAgentExecutor chain...
2024-02-27 11:50:28,171 - 15564 - chat_models.py-chat_models:293 - WARNING: Parameter stop not yet supported (https://docs.mistral.ai/api)
2024-02-27 11:50:36,996 - 15564 - chat_models.py-chat_models:293 - WARNING: Parameter stop not yet supported (https://docs.mistral.ai/api)
2024-02-27 11:50:43,493 - 15564 - chat_models.py-chat_models:293 - WARNING: Parameter stop not yet supported (https://docs.mistral.ai/api)
2024-02-27 11:50:52,336 - 15564 - chat_models.py-chat_models:293 - WARNING: Parameter stop not yet supported (https://docs.mistral.ai/api)
I tried to use a tool and give a final answer at the same time, I must choose only one.I tried to use a tool and give a final answer at the same time, I must choose only one.I tried to use a tool and give a final answer at the same time, I must choose only one.

It works for me 0.19.0. Just takes a little bit of time. Also the warnings are actually in Langchain's Mistral adapter, so nothing to be done about them. However, it works for me.

i tried to use my code for mistral api on 0.19.0 , the previous warning "WARNING: Parameter stop not yet supported (https://docs.mistral.ai/api)" was gone , however , it show :
[DEBUG]: [Researcher] Task output: Agent stopped due to iteration limit or time limit.
stilling figuring out the solution.....

have the same issue with "Parameter stop not yet supported" warning even with crewai 0.19.0


Made ajax:success method for paginable more specific

Fixes issue with paginable JS ajax:success handler #1334

Note that this is a bug fix being PRed to master

sounds good Jose. Will deploy to roadmap-stg and test it out


Fix 'Filter Info' url

Fixes #2906
Pull request checklist:
~- [ ] CHANGELOG.md was updated, if applicable~ N/A
Description

maybe it's a nitpick but I think we could append .html at the end - that's where clicking on Filters label on the wiki takes you.

It's not October yet?


--

--
please close lol

Why?

Denied.

lmfao


[Free-Threaded] Allow Free-Threaded Python Build Fail Gracefully

As discussed in here, it would be nice to allow PyO3 to fail when building against GIL-less Python. I'm planning to implement this feature so I opened this issue to track discussion regarding this issue.
I was advised to look at the pyo3-build-config crate and the following is my plan of implementation of this feature:

Add an additional boolean field (possibly named free_threaded) in InterpreterConfig to indicate whether the interpreter is free-threaded or not.
In the build.rs located at pyo3-ffi crate or the one in top-level workspace, add an additional check in configure_pyo3 to validate the interpreter is not free-threaded (from the obtained InterpreterConfig instance), and panic otherwise.
Add an additional environment variable (possibly named PYO3_ALLOW_FREE_THREADED) to override the second bullet, to facilitate building during development.

Any advice would be much appreciated! Thanks! :)
Related to: #4265

This sounds great, yes please!

Add an additional boolean field (possibly named free_threaded) in InterpreterConfig to indicate whether the interpreter is free-threaded or not.

Depending on the CPython configuration, it might be that an additional field isn't needed and this can go into build_flags.

In the build.rs located at pyo3-ffi crate or the one in top-level workspace, add an additional check in configure_pyo3 to validate the interpreter is not free-threaded (from the obtained InterpreterConfig instance), and panic otherwise.

Yes (though configure_pyo3 returns a result rather than panicking).

Add an additional environment variable (possibly named PYO3_ALLOW_FREE_THREADED) to override the second bullet, to facilitate building during development.

Yes please, I think maybe UNSAFE_PYO3_BUILD_FREE_THREADED perhaps? We expect builds to be broken until the moment we've finalised support, so I think hinting at this in the env var might be a good idea.


Need shape format support for predefined one shot search space

Describe the issue:
When I add the profiler as tutorial instructed below:
dummy_input = torch.randn(1, 3, 32, 32)
profiler = NumParamsProfiler(model_space, dummy_input)
penalty = ExpectationProfilerPenalty(profiler, 500e3)
strategy = DartsStrategy(gradient_clip_val=5.0, penalty=penalty)

This error appeared:
[2023-05-12 22:02:18] WARNING: Shape information is not explicitly propagated when executing aten.avg_pool2d.default, and and a recent module that needs shape information has no shape inference formula. Module calling stack:
  - '' (type: nni.nas.hub.pytorch.nasnet.DARTS, NO shape formula)
  - 'stages.0' (type: nni.nas.hub.pytorch.nasnet.NDSStage, NO shape formula)
  - 'stages.0.blocks.0' (type: nni.nas.nn.pytorch.cell.Cell, NO shape formula)
  - 'stages.0.blocks.0.ops.0.0' (type: nni.nas.nn.pytorch.choice.LayerChoice, HAS shape formula)
  - 'stages.0.blocks.0.ops.0.0.avg_pool_3x3' (type: torch.nn.modules.pooling.AvgPool2d, NO shape formula)
 Traceback (most recent call last):
  File "/home/dzhang/Documents/ml-experimental/TinyNAS/nas_tutorial/darts.py", line 235, in <module>
    profiler = NumParamsProfiler(model_space, dummy_input)
  File "/usr/local/lib/python3.10/dist-packages/nni/nas/profiler/pytorch/flops.py", line 197, in __init__
    self.profiler = FlopsParamsProfiler(model_space, args, **kwargs)
  File "/usr/local/lib/python3.10/dist-packages/nni/nas/profiler/pytorch/flops.py", line 171, in __init__
    shapes = submodule_input_output_shapes(model_space, *args, **kwargs)
  File "/usr/local/lib/python3.10/dist-packages/nni/nas/profiler/pytorch/utils/shape.py", line 466, in submodule_input_output_shapes
    model(*args, **kwargs)
  File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py", line 1212, in _call_impl
    result = forward_call(*input, **kwargs)
  File "/usr/local/lib/python3.10/dist-packages/nni/nas/hub/pytorch/nasnet.py", line 613, in forward
    s0, s1 = stage([s0, s1])
  File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py", line 1212, in _call_impl
    result = forward_call(*input, **kwargs)
  File "/usr/local/lib/python3.10/dist-packages/nni/nas/nn/pytorch/repeat.py", line 158, in forward
    x = block(x)
  File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py", line 1212, in _call_impl
    result = forward_call(*input, **kwargs)
  File "/usr/local/lib/python3.10/dist-packages/nni/nas/nn/pytorch/cell.py", line 385, in forward
    current_state.append(op(inp(states)))
  File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py", line 1215, in _call_impl
    hook_result = hook(self, input, result)
  File "/usr/local/lib/python3.10/dist-packages/nni/nas/profiler/pytorch/utils/shape.py", line 514, in module_shape_inference_hook
    result = _module_shape_inference_impl(module, output, *input, is_leaf=is_leaf)
  File "/usr/local/lib/python3.10/dist-packages/nni/nas/profiler/pytorch/utils/shape.py", line 628, in _module_shape_inference_impl
    output_shape = formula(module, *input_args, **formula_kwargs, **input_kwargs)
  File "/usr/local/lib/python3.10/dist-packages/nni/nas/profiler/pytorch/utils/shape_formula.py", line 230, in layer_choice_formula
    expressions[val] = extract_shape_info(shape_inference(module[val], *args, is_leaf=is_leaf, **kwargs))
  File "/usr/local/lib/python3.10/dist-packages/nni/nas/profiler/pytorch/utils/shape.py", line 498, in shape_inference
    outputs = module(*args, **kwargs)
  File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py", line 1215, in _call_impl
    hook_result = hook(self, input, result)
  File "/usr/local/lib/python3.10/dist-packages/nni/nas/profiler/pytorch/utils/shape.py", line 514, in module_shape_inference_hook
    result = _module_shape_inference_impl(module, output, *input, is_leaf=is_leaf)
  File "/usr/local/lib/python3.10/dist-packages/nni/nas/profiler/pytorch/utils/shape.py", line 617, in _module_shape_inference_impl
    tree_map(_ensure_shape, outputs)
  File "/usr/local/lib/python3.10/dist-packages/torch/utils/_pytree.py", line 192, in tree_map
    return tree_unflatten([fn(i) for i in flat_args], spec)
  File "/usr/local/lib/python3.10/dist-packages/torch/utils/_pytree.py", line 192, in <listcomp>
    return tree_unflatten([fn(i) for i in flat_args], spec)
  File "/usr/local/lib/python3.10/dist-packages/nni/nas/profiler/pytorch/utils/shape.py", line 609, in _ensure_shape
    raise RuntimeError(
RuntimeError: Shape inference failed because no shape inference formula is found for AvgPool2d(kernel_size=3, stride=1, padding=1) of type AvgPool2d. Meanwhile the nested modules and functions inside failed to propagate the shape information. Please provide a `_shape_forward` member
function or register a formula using `register_shape_inference_formula`.

According to the previous issue in https://github.com/microsoft/nni/issues/5538, I think it is AvgPool2d does not have shape inference formula, since it is not customzied search space, so can you add the support on your side?
Environment:
NNI version: latest(Build from source and use Dockerfile in master branch)
Training service (local|remote|pai|aml|etc): local
Client OS: Unbuntu
Python version: 3.8
PyTorch/TensorFlow version: 1.10.2
Is conda/virtualenv/venv used?: No
Is running in Docker?: Yes
Configuration:
Experiment config (remember to remove secrets!): Same as Latest Version in Darts example
Search space: Darts

I think you can try to add a formula for AvgPool2d on your own. It's not that difficult.
If you have any problems, please contact us.

@matluster can tutorial for this kinds of development?

Hi, I will take up this issue and create a PR. I have it working on my end

It appears that you need also add formula for aten.stack.default and aten.sum.dim_IntList.
It also appears that although aten.cat.default has a formula, but it did not succeed, which might be due to shape information is lost, caused by previous missing formulas.
If you don't care about what happens within the cell, you can just add a formula for nni.nas.nn.pytorch.cell.Cell instead. An example of doing such thing would be:
https://github.com/microsoft/nni/blob/f17385c0ac241ed58890dc6575b54789285abd3a/nni/nas/hub/pytorch/autoformer.py#L201

I'll try to document this process in next couple of weeks. Right now I'm a bit busy around other projects.

I created a PR for nn.AvgPool2d which adds the shape format support. The PR #5565

Related PR had been merged, so could you close this issue? @dzk9528

@ultmaster Is your change is merged as @Lijiaoa Suggested? If so, I will close this issue.

No. Unfortunately I don't currently have the bandwidth to work on this issue.


docs: Fix some typos in helpers/html_helper.rst

Description
Fix some typos in helpers/html_helper.rst
Checklist:

[x] Securely signed commits
[ ] Component(s) with PHPDoc blocks, only if necessary or adds value
[ ] Unit testing, with >80% coverage
[x] User guide updated
[ ] Conforms to style guide

@obozdag Thank you!


Question, Which Icon is which?

Is the Eye with the slash over it keep awake or let go to sleep?

The eye with the slash means Awake is inactive. I also added some documentation for the used button states to the README file.


Change "data health" to "feedback" on ontology pages

From @cmungall

https://github.com/geneontology/amigo/pull/708


Rename ünicode_symbols.xml?

Can we use a different unicode symbol in this file name that doesn't cause the issue described in https://stackoverflow.com/questions/5581857/git-and-the-umlaut-problem-on-mac-os-x?
On a fresh clone, I see the following output from git status:
On branch master
Your branch is up-to-date with 'origin/master'.
Untracked files:
  (use "git add <file>..." to include in what will be committed)

        "test/data/\303\274nicode_symbols.xml"

Are we hoping to test the unicode character in the actual file name here, or just the content within the .xml? It seems if we aren't concerned about the file name itself, we should just remove the umlaut.

It seems if we aren't concerned about the file name itself, we should just remove the umlaut.

I think the original intention was to have both: in the file name and in the file itself.
I think ~2 months ago we had a failing test due to unicode characters that also lead to solve another bug.
Also, for non-US languages it might be quite common to start words (equals filenames) with unicode characters.
I suggest to leave as is.

Keeping a unicode char in the filename is likely a good idea, but can we switch it to a character that can't be written multiple ways? This issue is specifically caused by "umlaut normalization" as described in the link in the original post.

Why not make use of git config --global core.precomposeunicode?
If you are going to exchange some files with me there might very likely be some of those ÜöÄßéâ
:smiling_imp:

I tried setting git config --global core.precomposeunicode to no effect.

Have you tried both variants? As described in the link in the original post.
Some commenters said they needed it like this:

git config --global core.precomposeunicode true

Others said they needed it like this:

git config --global core.precomposeunicode false

Maybe depended on combination of git and OSX version?

Alright, I had to do a fresh clone, but
git config --global core.precomposeunicode false

seems to work for me.


Add an “Area” data-type into CAMARA_common.yaml

Problem description
Commonalities started the discussion of adding an Area Data-Type into CAMARA_common.yaml, in Issue #242.
A couple of potential modifications and extensions are identified. Please provide your views on the issue.
Expected action
Please provide your views on the issue.

Please review the PR for this issue https://github.com/camaraproject/Commonalities/pull/315 .

DeviceLocation model has been adopted by Commonalities, so we don't need to update anything