[Question] Dynamic center offset

Issue Type
[X ] Question
Description and/or steps/code to reproduce the problem
This is a question, but I googled a lot and I failed to get it settled.
I have a nice and smooth location following and autorotating MapView.
But as most of the time the future is now on the upper end, I want the current location be below the map center.
I have looked at #586 and the corresponding Stackoverflow, but it does not even explain me, which classes I need to attach the mentioned methods. And it looks a tiny bit messy, so I wonder if this is really the prefered solution?
What I am dreaming of is more like an API MapView.setCenterShift(0.0f, 0.3f), to make current location 30% closer to the button. I mean, it is a bit of a standard expected behaviour, isn't it?
Any hint appreciated. Thank you!

There is the function setExpectedCenter for this bug it is not yet in the baseline..
https://github.com/osmdroid/osmdroid/pull/1353

Aha, I will wait for that future release and then try to understand, how to use the new apparatus.

@InI4 Does the latest release solve the issue?

Sry, I do not get my head around it right now.
I want the map centered when auto rotation is disabled and uncentered otherwise. Auto rotation is only on, when follow location is on. So I tried to insert code in my LocationOverlay subclass, enableFollowLocation(), disableFollowLocation().
But it behaves strange. Some of my overlay drawing code is now broken, as it should draw around the real center not the shifted one. But the real issue is, the transitions between auto follow (ui: touch the button) and unfollow (ui: touch the map anywhere) are both confusing now, when the map is rotated. I tried both setMapCenterOffset() and setExpectedCenter() with animation. The latter without animation does not seem to move anything?

cf. MapView code: setExpectedCenter() does not animate the map, but moves it if the map center actually changed.
To know if it changed, we compute the current map center and compare it to the expected center given in parameter. Perhaps the issue is with the way we compute the current map center: do we take into account the map center offsets (and should we)? Rather confusing...


[SERV-600] Enforce camelCase in Database JSON View

Updated SELECT queries to alias column names (where necessary) to impose camelCase on JSON field names
Tweaked Institution and Job field-name constants to match values in OpenAPI spec
Tweaks to db script to synchronize field names (that PostgreSQL actually ignores)

Just a note that the branch is out-of-date now.


Sticky / pinned polls

The polls currently created, get buried under the all messages section as more messages flow in. A new feature to pin the polls or a floating menu needs to be developed so as to keep the polls alive to the developers to get feedback on developmental changes.

claim

@zulipbot claim

I am working on this :)

Me too 😅

Thanks for the suggestion.  I don't think this is a feature we want to add as described; even if it were, there's no agreement in the development community about where we'd show these pinned polls.  We can discuss more in chat.zulip.org, but it's definitely not ready to be worked on, and quite possibly not how we want to address the user problem of avoiding polls getting lost in the history.


Teams users talking to Skype consumer users not working.

MS Support confirmed that "Unfortunately, communicating from Teams to a Regular Skype is not yet available. "  -

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 31588a25-f3ee-e888-aa67-203be3d34489
Version Independent ID: 3b498bcf-69a9-01ac-973a-4d5dbeea587c
Content: Manage external access (federation) in Microsoft Teams
Content Source: Teams/manage-external-access.md
Service: msteams
GitHub Login: @LolaJacobsen
Microsoft Alias: lolaj

@carrillo-dot-cz Thank you for submitting feedback and contributing to the docs. We are currently investigating this.

@officedocsbot assign @scanum

@carrillo-dot-cz Thank you for your feedback. This feature is not available yet, however it is under review and if you like the idea you can up-vote at https://microsoftteams.uservoice.com/forums/555103-public/suggestions/16958347-skype-integration-consumer-federation
Hope this helps!
Regards
Sriraman

@carrillo-dot-cz Thank you for submitting feedback. We understand that this issue has been resolved.
Please feel free to re-open this issue if there is a specific area of the docs that we can improve or make better. Thank you.

@officedocsbot close


Application error

https://iata-code-decoder-api.herokuapp.com/ is down

Thanks for reaching out! The API has moved, and is now located at https://iata-code-decoder-api.timrogers.co.uk/.


Suggestion: Is it a good idea to standardize the flag file extension

Hi @thomaspoignant,
Is it a good idea to standardize the flags.yaml with name like (*.goff.yaml). If we restrict the extension to .goff.yaml or anything
specific then we are able to submit the json schema to schemastore, and it will enrich the
IDE like VSCode with auto-completion and suggestions while writing the yaml file, as it detects that filename. (YAML extension should be installed).
What do you think?
Benefits:

Autocompletion and suggestion while writing flag file.

Hey @sarvsav, I really like this idea of having some help from the IDE to auto-complete flag file creation.
I would not restrict the file extension to .goff.yaml to keep supporting the legacy configuration files, but we could encourage it through the documentation.
If we offer this schema file, I guess we should auto-generated by the CI from the struct directly.
So it will be automatically maintained with no manual action.
Did you had other idea for this?

How about using similar schema from flagd?

@liran2000 yes I could apply for flagD too, the schema will be different from the one of GO Feature Flag.

@sarvsav I've started to look at this idea and I have a hard time understanding how to build a proper schema.
Especially with the fact that the key name is a random string.
This is what the schema looks like for now.
{
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "$defs": {
        "DTOv1": {
            "properties": {
                "variations": {
                    "additionalProperties": true,
                    "type": "object"
                },
                "targeting": {
                    "items": {
                        "$ref": "#/$defs/Rule"
                    },
                    "type": "array"
                },
                "defaultRule": {
                    "$ref": "#/$defs/Rule"
                },
                "scheduledRollout": {
                    "items": {
                        "$ref": "#/$defs/ScheduledStep"
                    },
                    "type": "array"
                },
                "experimentation": {
                    "$ref": "#/$defs/ExperimentationDto"
                },
                "metadata": {
                    "type": "object"
                }
            },
            "additionalProperties": false,
            "type": "object"
        },
        "ExperimentationDto": {
            "properties": {
                "start": {
                    "type": "string",
                    "format": "date-time"
                },
                "end": {
                    "type": "string",
                    "format": "date-time"
                }
            },
            "additionalProperties": false,
            "type": "object"
        },
        "ExperimentationRollout": {
            "properties": {
                "start": {
                    "type": "string",
                    "format": "date-time"
                },
                "end": {
                    "type": "string",
                    "format": "date-time"
                }
            },
            "additionalProperties": false,
            "type": "object"
        },
        "ProgressiveRollout": {
            "properties": {
                "initial": {
                    "$ref": "#/$defs/ProgressiveRolloutStep"
                },
                "end": {
                    "$ref": "#/$defs/ProgressiveRolloutStep"
                }
            },
            "additionalProperties": false,
            "type": "object"
        },
        "ProgressiveRolloutStep": {
            "properties": {
                "variation": {
                    "type": "string"
                },
                "percentage": {
                    "type": "number"
                },
                "date": {
                    "type": "string",
                    "format": "date-time"
                }
            },
            "additionalProperties": false,
            "type": "object"
        },
        "Rule": {
            "properties": {
                "name": {
                    "type": "string"
                },
                "query": {
                    "type": "string"
                },
                "variation": {
                    "type": "string"
                },
                "percentage": {
                    "additionalProperties": {
                        "type": "number"
                    },
                    "type": "object"
                },
                "progressiveRollout": {
                    "$ref": "#/$defs/ProgressiveRollout"
                },
                "disable": {
                    "type": "boolean"
                }
            },
            "additionalProperties": false,
            "type": "object"
        },
        "ScheduledStep": {
            "properties": {
                "variations": {
                    "additionalProperties": true,
                    "type": "object"
                },
                "targeting": {
                    "items": {
                        "$ref": "#/$defs/Rule"
                    },
                    "type": "array"
                },
                "defaultRule": {
                    "$ref": "#/$defs/Rule"
                },
                "experimentation": {
                    "$ref": "#/$defs/ExperimentationRollout"
                },
                "scheduledRollout": {
                    "items": {
                        "$ref": "#/$defs/ScheduledStep"
                    },
                    "type": "array"
                },
                "trackEvents": {
                    "type": "boolean"
                },
                "disable": {
                    "type": "boolean"
                },
                "version": {
                    "type": "string"
                },
                "metadata": {
                    "type": "object"
                },
                "date": {
                    "type": "string",
                    "format": "date-time"
                }
            },
            "additionalProperties": false,
            "type": "object"
        }
    },
    "additionalProperties": {
        "$ref": "#/$defs/DTOv1"
    },
    "type": "object"
}

Thank you for sharing the schema @thomaspoignant . I will load in my VSCode and give you feedback. We can start small and update later. :)

Hi @thomaspoignant, it looks good to me. Shall we consider it merging it to repo and then we will improve it? I have verified locally and it looks amazing.

@sarvsav can you share with me how you’ve test it, so I can try on my side.

Hi @thomaspoignant, I have created a json file with above text and loaded in VSCode. And, tried to add key/value parameters. I am able to do autocomplete as well as autosuggest. There are minor things that still can be improved like adding a description, and with this skeleton, we have something to start with.
I have also written my experience here on Medium with details.

@sarvsav Awesome, I have created a new version of the file with descriptions if you want to test it.
I am currently looking at how to automate this.
{
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "$defs": {
        "DTOv1": {
            "properties": {
                "variations": {
                    "additionalProperties": true,
                    "type": "object",
                    "title": "variations",
                    "description": "All the variations available for this flag. You need at least 2 variations and it is a key value pair. All the variations should have the same type."
                },
                "targeting": {
                    "items": {
                        "$ref": "#/$defs/Rule"
                    },
                    "type": "array",
                    "title": "targeting",
                    "description": "List of rule to target a subset of the users based on the evaluation context."
                },
                "defaultRule": {
                    "$ref": "#/$defs/Rule",
                    "title": "defaultRule",
                    "description": "How do we evaluate the flag if the user is not part of any of the targeting rule."
                },
                "scheduledRollout": {
                    "items": {
                        "$ref": "#/$defs/ScheduledStep"
                    },
                    "type": "array",
                    "title": "scheduledRollout",
                    "description": "Configure an update on some fields of your flag over time."
                },
                "experimentation": {
                    "$ref": "#/$defs/ExperimentationDto",
                    "title": "experimentation",
                    "description": "Configure an experimentation. It will allow you to configure a start date and an end date for your flag."
                },
                "metadata": {
                    "type": "object",
                    "title": "metadata",
                    "description": "A field containing information about your flag such as an issue tracker link a description etc..."
                }
            },
            "additionalProperties": false,
            "type": "object",
            "required": [
                "variations",
                "defaultRule"
            ]
        },
        "ExperimentationDto": {
            "properties": {
                "start": {
                    "type": "string",
                    "format": "date-time",
                    "title": "start",
                    "description": "Time of the start of the experimentation."
                },
                "end": {
                    "type": "string",
                    "format": "date-time",
                    "title": "start",
                    "description": "Time of the end of the experimentation."
                }
            },
            "additionalProperties": false,
            "type": "object",
            "required": [
                "start",
                "end"
            ]
        },
        "ExperimentationRollout": {
            "properties": {
                "start": {
                    "type": "string",
                    "format": "date-time"
                },
                "end": {
                    "type": "string",
                    "format": "date-time"
                }
            },
            "additionalProperties": false,
            "type": "object"
        },
        "ProgressiveRollout": {
            "properties": {
                "initial": {
                    "$ref": "#/$defs/ProgressiveRolloutStep",
                    "title": "initial",
                    "description": "A description of the initial state of the rollout."
                },
                "end": {
                    "$ref": "#/$defs/ProgressiveRolloutStep",
                    "title": "initial",
                    "description": "A description of the end state of the rollout."
                }
            },
            "additionalProperties": false,
            "type": "object"
        },
        "ProgressiveRolloutStep": {
            "properties": {
                "variation": {
                    "type": "string",
                    "title": "variation",
                    "description": "Name of the variation to apply."
                },
                "percentage": {
                    "type": "number",
                    "title": "percentage",
                    "description": "The percentage (initial or end) for the progressive rollout."
                },
                "date": {
                    "type": "string",
                    "format": "date-time",
                    "title": "date",
                    "description": "Date is the time it starts or ends."
                }
            },
            "additionalProperties": false,
            "type": "object",
            "required": [
                "variation",
                "percentage",
                "date"
            ]
        },
        "Rule": {
            "properties": {
                "name": {
                    "type": "string",
                    "title": "name",
                    "description": "Name is the name of the rule. This field is mandatory if you want to update the rule during scheduled rollout."
                },
                "query": {
                    "type": "string",
                    "title": "query",
                    "description": "The query that allow to check in the evaluation context match. Note: in the defaultRule field query is ignored."
                },
                "variation": {
                    "type": "string",
                    "title": "variation",
                    "description": "The variation name to use if the rule apply for the user. In case we have a percentage field in the config this field is ignored"
                },
                "percentage": {
                    "additionalProperties": {
                        "type": "number"
                    },
                    "type": "object",
                    "title": "percentage",
                    "description": "Represents the percentage we should give to each variation."
                },
                "progressiveRollout": {
                    "$ref": "#/$defs/ProgressiveRollout",
                    "title": "progressiveRollout",
                    "description": "Configure a progressive rollout deployment of your flag."
                },
                "disable": {
                    "type": "boolean",
                    "title": "disable",
                    "description": "Indicates that this rule is disabled."
                }
            },
            "additionalProperties": false,
            "type": "object"
        },
        "ScheduledStep": {
            "properties": {
                "variations": {
                    "additionalProperties": true,
                    "type": "object"
                },
                "targeting": {
                    "items": {
                        "$ref": "#/$defs/Rule"
                    },
                    "type": "array"
                },
                "defaultRule": {
                    "$ref": "#/$defs/Rule"
                },
                "experimentation": {
                    "$ref": "#/$defs/ExperimentationRollout"
                },
                "scheduledRollout": {
                    "items": {
                        "$ref": "#/$defs/ScheduledStep"
                    },
                    "type": "array"
                },
                "trackEvents": {
                    "type": "boolean"
                },
                "disable": {
                    "type": "boolean"
                },
                "version": {
                    "type": "string"
                },
                "metadata": {
                    "type": "object"
                },
                "date": {
                    "type": "string",
                    "format": "date-time"
                }
            },
            "additionalProperties": false,
            "type": "object"
        }
    },
    "additionalProperties": {
        "$ref": "#/$defs/DTOv1"
    },
    "type": "object"
}

The 1st part of the automation is available here https://github.com/thomaspoignant/go-feature-flag/pull/1101

@sarvsav waiting for the PR https://github.com/SchemaStore/schemastore/pull/3253 to be merged to be officially available everywhere.


Is the CrmServiceClient thread safe?

I have an ASP.NET web application that needs to make requests to CE during the course of a web request to the ASP.NET application.
I can create an instance of CrmServiceClient using a connection string, but I've found conflicting information online as to whether or not the client is thread-safe and what the best practices are for managing connections.
I use a Inversion of Control container for dependency injection and I want to know how I should register CrmServiceClient (and the  OrganizationWebProxyClient OrganizationWebProxyClient that I provide to my early-bound auto-generated OrganizationServiceContext that consumes the IOrganizationService.
I want to create an instance per request for my OrganizationServiceContext, but should I be using a singleton or instance per request for CrmServiceClient?
Thanks!

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 722a6aee-93d5-027b-9944-cbadd4330d5e
Version Independent ID: 26ab5d60-68d8-ef48-a23c-70deb2901b1e
Content: Use connection strings in XRM tooling to connect to Dynamics 365 (Developer Guide for Dynamics 365 Customer Engagement)
Content Source: ce/developer/xrm-tooling/use-connection-strings-xrm-tooling-connect.md
Service: crm-online
GitHub Login: @Nkrb
Microsoft Alias: nabuthuk

CrmServiceClient is Thread Safe natively, unless you set the property “disableCrossThreadSafeties”.
However, given your scenario, I would suggest you create an initial connection and then use .Clone off the initial connection to either create a thread pool ( depending on how much traffic your site is expected to get ) or a .Clone for each operation.
you would wrap each .Cloned copy in a using() to dispose it at the end of its use.
Hope that helps.
MattB

@MattB-msft thanks for the information.
All of the most popular dependency injection containers manage disposing of disposable objects for you at the end of a request, assuming the objects are registered in the container as "Instance Per Request".
Looking at the .Clone() method for CrmServiceClient, I see this comment.
// Clone, 'Clones" the current CRM Service client with a new connection to CRM.
//     Clone only works for connections creating using OAuth Protocol.

I am using this constructor, which takes a ConnectionString:
public CrmServiceClient(string crmConnectionString)

not an OAuth authentication flow.
Am I to understand that .Clone() has custom logic that creates a pool internally?

@MattB-msft Any additional insight on this or documentation you can point me towards?
I find the Dynamics SDK is not discussed much online and its implementation details are pretty opaque, otherwise I'd try other avenues than docs for clarification here.
Thanks

@seangwright Hope you got enough information. Closing the issue. Please re open the issue if you need more help.

Hello @seangwright, did you find solution for other auth types? We have similar case

@FixRM The approach I typically take is to create the CrmServiceClient manually, perform the .IsReady check and then store the OrganizationWebProxyClient in my DI container as a Singleton (examples below are using Autofac):
builder
    .Register(ctx =>
    {
        var settings = ConfigurationManager.ConnectionStrings["CrmConnectionString"];

        var client = new CrmServiceClient(settings.ConnectionString);

        if (!client.IsReady)
        {
            throw new Exception($"Couldn't connect to {client.CrmConnectOrgUriActual}: {client.LastCrmException.Message}: {client.LastCrmError}");
        }

        return client.OrganizationWebProxyClient ?? client.OrganizationServiceProxy as IOrganizationService;
    })
    .SingleInstance();

However, I register my CrmServiceContext (which is generated by the XrmToolbox Early Bound Generator) as Per Request / Scoped, since it's a Unit of Work, populating it with the Singleton IOrganizationService.
builder
    .Register(ctx => new CrmServiceContext(ctx.Resolve<IOrganizationService>()))
    .AsImplementedInterfaces()
    .InstancePerRequest();

I then inject the CrmServiceContext in my ASP.NET types that need to work with Dynamics.

Thanks @seangwright

@seangwright, is any sacred meaning in client.OrganizationWebProxyClient ?? client.OrganizationServiceProxy as IOrganizationService construction? I guess CrmServiceClient implements IOrganizationService itself.

@FixRM If I remember correctly, on some occasions client.OrganizationWebProxyClient was null while client.OrganizationServiceProxy was not.
There's so little documentation on all this, I left that null coalescing in there 'just in case' 🤷♂.

Thanks @seangwright. That's why I'm asking - documentation is poor. But still, do we need that dirty magic, if we can simply cast CrmServiceClient to  IOrganizationService?
I guess I will try it if I win on-premise IFD authentication with this new client )))


Standalone map: more options for continuous var overlays as binned discrete color maps

As discussed here: https://veupathdb.atlassian.net/wiki/spaces/WG/pages/181796873/2023-02-02+Map+UX
Default behaviour could continue to be equal spaced bins using global min & max
However, we want the binning to use the subset min and max (ignoring viewport) which will require a separate back end request to calculate this.
Then also consider quantile and SD-based binning.
Approx task list

[ ] new continuous-var-bin-spec (feel free to rename) end point, calculates min, max and equal binWidth
[ ] add quantile-based bin mode for continuous-var-bin-spec (again this needs to be calculated on the subset, not the viewport-ed subset) - this presumably returns a list of binStarts and ends or similar
[ ] allow map-markers-overlay to handle quantile binSpec
[ ] similar approach for SD-based binning (but probably for Phase X)

i think for consistency the new endpoint should always return bin start and ends. then the client just passes those to map-markers-overlay, which doesnt need to know anything about binning specific binning methods


lib: add HTTP request properties to context object for better raw HTTP support

@boson-project/core ping - anyone have thoughts on how this should look? Currently supporting raw HTTP requests by simply adding HTTP request properties (query string, headers, etc) to the Context.


one mistake in websocket documentation

is the the following correct? in the above example ?
@adonisjs/websocket-client/clusterPubSub
isn't the following to replace above?
@adonisjs/websocket/clusterPubSub
I may be wrong too, please correct me
thank you .. you did awesome work

Fixed in https://github.com/adonisjs/docs/pull/261

thanks


Release of version <IP_ADDRESS> of xStorage

Releasing version <IP_ADDRESS>

Codecov Report

Merging #95 into master will increase coverage by <1%.
The diff coverage is 100%.

@@          Coverage Diff          @@
##           master   #95    +/-   ##
=====================================
+ Coverage      91%   92%   +<1%
=====================================
  Files           5     5
  Lines         631   647    +16
=====================================
+ Hits          580   596    +16
  Misses         51    51


[Question] Discord Presence

So, I had it turned on. Discord detects VRChat but yet it dosen't show up with a invite if I wanted a server to join or so. I have no clue if its because of VRCX taking on the presence or its on discord side.

VRCX Discord presence can not support VRChats request to join Discord integration, if you'd like to use this VRChat/Discord feature you'll need to disable VRCX rich presence.


Draft 2 MD on custom blocks ??

Hello! , thanks for this awesome plugin.
I've noted that the custom conversion is possible on custom entities but in my case I've a custom block that is not present on the EntityMap

How can I include a custom block  in the draftToMarkdown configuration ?

sorry, I've realized that styleItems was the way to go


support custom coffeescript forks (fix #52)

Tests seem to have been failing already :(

Needs a docs and a test if possible

Done.

Published as 2.3.4

BTW, you might want to rm Node <4 from the travis.yml. Seems to be causing tests to fail.


ADD FLUID DYE

Advantages:

gives more opportunity for cool recipes

drop stuff in water dye to make other stuff
dye stuff in the coolest way
Disadvantages:

16 more stuff to clutter the game
might not have enough recipes to justify itseld

What if fluid dye were actually just other fluids that can also dye. Example honey can dye things yellow, lava can dye things orange (funny coz you need to be carful)
Maybe water makes blue? that would be weird
Chocolate = brown

What if water colored stuff based on the biome you are in?

@tulkinRB had an idea for dying stuff that isn't cloth-like with a more viscous version of the dye using slime
examples

combining slime and dye in mixer and applying the result to the input dyeable item
applying slime and then applying liquid dye on the dyeable item

We can also just drop the dye and the dyeable in water instead of having a liquid version of dyes. Then if we go with tulkin's idea we can throw slime + dye + dyeable. That is actually something we can also do programmatically: we can go through all recipes that have dye in ingredients and only one other ingredient, then remove them and replace with fluid one.

problem: leather armor dyeing recipe is dynamic, ie it doesn't actually exist until you craft, it's this so that you can dye with complex colors. Need to find a way around this or just allow it in this case


Full validation

Traits

Validates against all rules.
Continues on validation failure.
Returns results of all validations.

Full validation procedure implemented. Tests pending. Tests require stubs.

Stubs and tests implemented and passing.


Test gutter icons/decorations sometimes run the wrong test

This came up at https://github.com/Dart-Code/Dart-Code/issues/3707, but after some testing I believe this is a VS Code issue.
Here's what seems to be happening:

I open a test file with a single test
I duplicate that test with copy/paste
Since I only track tests by name, this results in only a single test node being given to VS Code (which happens to be the last test with that name)
I rename the second test to have a unique name (we now produce two test nodes, both show up in test explorer and with gutter icons)
I try to run the second test from its gutter icon, but the first test runs

In order to help debug, I updated my runTests method to print the current test tree before running, as well as the include tests:
	private dumpTreeItems(items: vs.TestItemCollection, indent = 1) {
		items.forEach((item) => {
			console.log(`${" ".repeat(indent * 4)}${item.label} (${item.range?.start.line}:${item.range?.start.character}-${item.range?.end.line}:${item.range?.end.character})`);
			this.dumpTreeItems(item.children, indent + 1);
		});
	}

	private async runTests(debug: boolean, request: vs.TestRunRequest, token: vs.CancellationToken): Promise<void> {
		console.log(`TREE LOOKS LIKE:`);
		this.dumpTreeItems(this.controller.items);
		console.log(`REQUEST IS FOR:`);
		request.include?.forEach((item) => {
			console.log(`    ${item.label} (${item.range?.start.line}:${item.range?.start.character}-${item.range?.end.line}:${item.range?.end.character})`);
		});

		// code to run tests

Here is a video showing the behaviour. I start with a single test (shown in the tree). I copy/paste it, then rename it, and then try to run it from the gutter icon. The console shows the output from the printing above, which shows that clicking the gutter icon for the second test sends a test run request for the first test, even though the range (included in the printed output) does not cover that test.
TREE LOOKS LIKE:
    test/widget_test.dart (undefined:undefined-undefined:undefined)
        Test 1 (3:2-5:4)
        Test 2 (7:2-9:4)
REQUEST IS FOR:
    Test 1 (3:2-5:4)

This only happens if I perform all of these steps. If I open the file when it already has both tests, the second gutter icon works fine.
https://user-images.githubusercontent.com/1078012/148203933-7f648e5a-c83e-40e6-9baf-1e26bec8bd1c.mp4
@connor4312 I haven't made an isolated repro of this because I'm honestly not sure what's triggering it, though it's easily reproducible with Dart. I don't believe it's anything specific in my code (since these are driven by Ranges that are printed above), so I'm hoping you might have some ideas - but if not, let me know and I can try to cut it down to something smaller.

Actually, this appears fixed in Insiders - I'm guessing by https://github.com/microsoft/vscode/commit/25d0e27e292fad4454151b85521014d4c92a3aa7. Sorry for the spam :-)


Add known issue with destroy to cloud docs

When we have Cloud docs in place, we need to add to a Known issues section that on destroy the issue described in https://github.com/terraform-ibm-modules/terraform-ibm-kms-all-inclusive/issues/469 can occur - and if user hits it, they should wait ~10mins before retrying destroy

Proposed wording:
Problem:
During un-deploy of the Key Management member of the deployable architecture, the followiing error may be seen:
"Result": {
  "details": "{\"status_code\":409,\"name\":\"ConflictError\",\"message\":{\"message\":\"CONTAINS_ACTIVE_KEYS: Remove all keys before de-provisioning: Instance contains 4 active keys\",\"name\":\"ConflictError\",\"status_code\":409,\"transaction_id\":\"\"},\"description\":\"CONTAINS_ACTIVE_KEYS: Remove all keys before de-provisioning: Instance contains 4 active keys\"}",
  "error_code": "RC-ServiceBrokerErrorResponse",
  "message": "Please contact the Service Provider for this error. [409, Conflict] CONTAINS_ACTIVE_KEYS: Remove all keys before de-provisioning: Instance contains 4 active keys",
  "status_code": 422,
  "transaction_id": "bss-bc223e693444d810"
}

Workaround:
Retry the un-deploy after about 10 minutes.

@ocofaigh Drafted at https://test.cloud.ibm.com/docs/security-services?topic=security-services-known-issues


Instances of generic types with bound=BaseModel are not serialised

Initial Checks

[X] I confirm that I'm using Pydantic V2

Description
I have an Error class that optionally includes details, which should be a subclass of Pydantic's BaseModel. My aim is to specify the type of these details. Here's how I've implemented it:
ErrorDataT = TypeVar("ErrorDataT", bound=BaseModel)

class Error(BaseModel, Generic[ErrorDataT]):
    message: str
    details: Optional[ErrorDataT]

With this, the details field is strongly typed and ensures that, if present, it's always an instance of Pydantic's BaseModel. However, when I call error.model_dump(), the details field serializes as an empty dictionary. Removing the bound constraint on ErrorDataT allows the model to serialize correctly, but at the expense of type validation, i.e., I can assign any value to error.details.
In the tests provided below, both should ideally pass. But currently, only one of them does based on the bound constraint:

With the constraint:test_can_not_use_non_base_models_as_error_details passes, buttest_sample_error_is_correctly_serialized fails.
Without the constraint:test_sample_error_is_correctly_serialized passes, buttest_can_not_use_non_base_models_as_error_details fails.

NOTE: This was working in v1 (using GenericModel). I apologize in advance if I didn't understand something while doing the migration from v1 to v2.
Example Code
from pydantic import BaseModel, ValidationError
from typing import TypeVar, Generic, Optional
import pytest

ErrorDataT = TypeVar("ErrorDataT", bound=BaseModel)

class ErrorDetails(BaseModel):
    foo: str

class ErrorDetailsNonBaseModel:
    other: str

    def __init__(self, other) -> None:
        self.other = other

class Error(BaseModel, Generic[ErrorDataT]):
    message: str
    details: Optional[ErrorDataT]

sample_error = Error(
    message="We just had an error",
    details=ErrorDetails(foo="var"),
)

class TestApiErrorResponse:
    def test_sample_error_is_correctly_serialized(self):
        assert sample_error.model_dump() == {
            "message": "We just had an error",
            "details": {
                "foo": "var",
            },
        }

    def test_can_not_use_non_base_models_as_error_details(self):
        with pytest.raises(ValidationError):
            Error(
                message="We just had an error",
                details=ErrorDetailsNonBaseModel(other="some value"),
            )

Python, Pydantic & OS Version
pydantic version: 2.3.0
        pydantic-core version: 2.6.3
          pydantic-core build: profile=release pgo=false
                 install path: /Users/carlos/.virtualenvs/pydantic-issue/lib/python3.10/site-packages/pydantic
               python version: 3.10.8 (v3.10.8:aaaf517424, Oct 11 2022, 10:14:40) [Clang 13.0.0 (clang-13<IP_ADDRESS>)]
                     platform: macOS-13.5.1-arm64-arm-64bit
     optional deps. installed: ['typing-extensions']

Hi @carlosds731,
Thanks for your question! The current issue you're having is due to the fact that you haven't specified the generic parameter type when you instantiate the Error class.
If you do the following, your tests pass:
from pydantic import BaseModel, ValidationError
from typing import TypeVar, Generic, Optional
import pytest

ErrorDataT = TypeVar("ErrorDataT", bound=BaseModel)

class ErrorDetails(BaseModel):
    foo: str

class ErrorDetailsNonBaseModel:
    other: str

    def __init__(self, other) -> None:
        self.other = other

class Error(BaseModel, Generic[ErrorDataT]):
    message: str
    details: Optional[ErrorDataT]

sample_error = Error[ErrorDetails](
    message="We just had an error",
    details=ErrorDetails(foo="var"),
)

The reason for this is that we default to serializing with the bound type of a TypeVar if the type being used for a generic isn't specified.
Another approach that you could use is this:
from pydantic import BaseModel, SerializeAsAny
from typing import TypeVar, Generic, Optional

ErrorDataT = TypeVar("ErrorDataT", bound=BaseModel)

class ErrorDetails(BaseModel):
    foo: str

class Error(BaseModel, Generic[ErrorDataT]):
    message: str
    details: Optional[SerializeAsAny[ErrorDataT]]

sample_error = Error(
    message="We just had an error",
    details=ErrorDetails(foo="var"),
)

Using the SerializeAsAny flag makes it such that whatever type ErrorDataT takes on, it's serialized as an Any type, but validated still against the ErrorDataT type schema.
All of this being said, we think that this behavior is confusing, so we've opened the PR mentioned above to fix this issue (so the original code you have should work, once that change is released).

thank you very much @sydney-runkle

Just stumbled upon this today and was pretty hard to find the solution. Might be useful to mention SerializeAsAny somewhere near the GenericModel documentation.


How to configure Redis?

Hello!
I'm looking for an example on how to configure the storage options to work with a Redis server through unstorage.
I am unable to figure out the syntax for configuring it inside the session.session.storageOptions setting.

Hi @JacobArrow!
In the current release we saldy only support memory storage (as we wanted to keep the scope smaller for the first release).
However we have a open PR that is working on integrating other storage possibilities here: https://github.com/sidebase/nuxt-session/pull/7
It is coming along very well and we hope to merge it soon! When we do so, we will include more documentation on the different storage options. You are free to look into the PR, give feedback on it and follow along!

Thank you very much for the insight @zoey-kaiser! I will pay close attention to the PR :)

Hey @JacobArrow, this works now, see the docs here: https://github.com/sidebase/nuxt-session#configuration Thanks tgo @Twitch0125 for implementing this 🎊
Please let us know if you have any other problems with this, or open a new issue for future bug / features request!

@JacobArrow here's the exact link to the relevant docs: https://github.com/sidebase/nuxt-session#example-of-using-a-different-storage-driver


Hitbtc new order not work

I have define this var:
$exchange['hitbtc'] = new \ccxt\hitbtc(['apiKey' => 'xxx','secret' => 'yyy']);
And when i use:
$exchange['hitbtc']->fetch_balance();
It work fine, so api and secret are right.. but when i do:
print_r($exchange['hitbtc']->create_market_sell_order('LTC/BTC', 0.1));
Crash!
PHP Fatal error:  Uncaught ccxt\ExchangeNotAvailable: hitbtc POST http://api.hitbtc.com/api/1/trading/new_order?nonce=1507106702&apikey=xxx&clientOrderId=1507106702852&symbol=LTCBTC&side=sell&quantity=1&type=market not accessible from this location at the moment (possible reasons: invalid API keys, bad or old nonce, exchange is down or offline, on maintenance, DDoS protection, rate-limiting in effect) in /source/temp/test_auto/ccxt.php:611
Stack trace:
#0 /source/temp/test_auto/ccxt.php(781): ccxt\Exchange->raise_error('ExchangeNotAvai...', 'http://api.hitb...', 'POST', 'not accessible ...', '(possible reaso...')
#1 /source/temp/test_auto/ccxt.php(632): ccxt\Exchange->fetch('http://api.hitb...', 'POST', Array, 'nonce=150710670...')
#2 /source/temp/test_auto/ccxt.php(13290): ccxt\Exchange->fetch2('new_order', 'trading', 'POST', Array, NULL, NULL)
#3 [internal function]: ccxt\hitbtc->request('new_order', 'trading', 'POST', Array)
#4 /source/temp/test_auto/ccxt.php(575): call_user_func(Array, 'new_ord in /source/temp/test_auto/ccxt.php on line 611

Hi! Thanks for reporting this! I'll check it asap and get back to you!

Can you please check if your keys have the necessary permissions?

I haven't withdrawal because i don't need It:

Ok, I'll debug it further and get back to you with a fix asap. Thx!

Ok, I've been able to reproduce it, and I fixed this in version 1.9.33+. So, create_xxx_order should work with HitBTC in PHP now. Thanks for reporting this! Please update ccxt to the most recent version, the build should be available in about 5 minutes, then try it with the same code. I tested it locally and it now works for me. We will be thankful, if you tell us whether it works for you or not. Thx!

Ok, the build is there and it should work normally, as expected. Waiting to hear from you.

@multipooleu thx for reporting back! Let us know if you have any other questions. Cheers!


Warnings are displayed as errors

The errors placed in the warn_list of .ansible-lint are still shown as errors in neovim. The .ansible-lint file is being processed correctly, because when I move those errors to skip_list, ansible-lint ignores them, which is correct.
Versions
coc-ansible: 0.12.2
ansible-language-server: 0.10.1
ansible-lint: 6.6.0
ansible: 2.13.4
.ansible-lint config
skip_list:
  - 'risky-shell-pipe'
  - 'role-name'

warn_list:
  - package-latest
  - unnamed-task
  - no-handler
  - fqcn-builtins

Diagnostic messages are sent from the language server. If you have any requests for behavior, please submit a feature request to ansible-language-server itself.

The following is the diagnostics message returned from ansible-language-server.
[Trace - 5:30:43 PM] Received notification 'textDocument/publishDiagnostics'.
Params: {
    "uri": "file:///Users/yaegassy/_Dev/vim/check-coc-extension/ansible-check/roles/ntp/tasks/main.yml",
    "diagnostics": [
        {
            "message": "fqcn-builtins\nDescription: Use FQCN for builtin actions.",
            "range": {
                "start": {
                    "line": 2,
                    "character": 0
                },
                "end": {
                    "line": 2,
                    "character":<PHONE_NUMBER>
                }
            },
            "severity": 1,
            "source": "Ansible"
        },
        // ...snip
    ]
}

There is a section called severity.
Changing this value to 2 will cause language clients such as coc.nvim to treat it as a warning messeage.
Below are the specifications for LSP.

https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#diagnosticSeverity

I think it would be a good idea to make a request to the language server that messages that match the warn_list: in .ansible-lint be changed to 2.

Seems like this is already happening: https://github.com/ansible/ansible-language-server/blob/1eac729b2cdb19dfa694c4b44f3293d20a16b258/src/services/ansibleLint.ts#L214

Now check the behavior in vscode-ansible as well, the developers of ansible-language-server have verified it in vscode. Try it and see if it behaves as you expect.

Yep, same here. Thank you, I will report the bug


error in nvim-treesitter.configs

Describe the bug

on line 428 of init.lua an error with missing fields
this is the error message that nvim itself caught
.config/nvim/init.lua|428-490 col 44-4 warning| Missing required fields in type TSConfig: modules, sync_install, ignore_install
To Reproduce
just install the config as it is
Desktop

OS: fedora workstation 38linux
Terminal: alacritty with tmux

Neovim Version

v0.9.4

This is harmless, and was already reported:
https://github.com/nvim-lua/kickstart.nvim/issues/441
If it bothers you, you can uncomment a line in the config:
      -- NOTE: toggle below to ignore Lua_LS's noisy `missing-fields` warnings
      -- diagnostics = { disable = { 'missing-fields' } },

link to code:
https://github.com/nvim-lua/kickstart.nvim/blob/76c5b1ec57f40d17ac787feb018817a802e24bb6/init.lua#L578

Thanks @dam9000. Closing.


[Monitor Query] Support resource-centric logs queries

Library name
Azure.Monitor.Query
Please describe the feature.
It looks like Azure.Monitor.Query's LogsQueryClient can only query workspaces, but not resources (https://docs.microsoft.com/en-us/azure/azure-monitor/logs/api/azure-resource-queries).  I want to set up some API calls to query Key Vault resources, and it looks like if I perform all my own stunts this is possible, but it'd be nice if the SDK supported this too.  Would be great for some SDK support here.
Checklist added by @scottaddie:

[ ] Add API surface to support new /{resourceId}/query endpoint
[ ] Add code example
[ ] Update README (we currently say a workspace ID is a prerequisite, but I don't think that's true for the new endpoint)
[ ] Update troubleshooting guide

Label prediction was below confidence level 0.6 for Model:ServiceLabels: 'ARM:0.12535079,KeyVault:0.08972482,Monitor - Exporter:0.06807664'
Label prediction was below confidence level 0.6 for Model:CategoryLabels: 'Mgmt:0.58093184,Client:0.37477067,Service:0.043131437'

Thank you for your feedback.  Tagging and routing to the team member best able to assist.

@AtOMiCNebula Thank you for the feature request. It's been added to the product backlog. I'm working with the Azure Monitor service team to prioritize the necessary changes on their end. Work is expected to begin as soon as April.

Thanks!  For now, we're working around this limitation by specifying our own HttpClientTransport that rewrites workspace query URLs to target resources instead, but it'll be nice to have proper SDK support. :smile:

v1.2.0-beta.1 shipped today and includes this feature


Clarification of requirements on the attributes of a bounds variable

See issue #265 for discussion of these changes.
Release checklist

[x] Authors updated in cf-conventions.adoc?
[x] Next version in cf-conventions.adoc up to date? Versioning inspired by SemVer.
[x] history.adoc up to date?
[x] Conformance document up-to-date?

For maintainers
After the merge remember to delete the source branch.
Tags are set at the conclusion of the annual meeting; until then, main always is a draft for the next version.

@davidhassell there is a conflict that needs to be resolved before merging

@davidhassell there is a conflict that needs to be resolved before merging

I have resolved it manually. It was that all the http have changed to https.


Bank tab named "clue" behaving oddly, other tabs unaffected

Describe the bug
I have a bank tag/tab named "clue" with many items tagged within it. Today, when I opened this particular tab, it no longer had any items displayed in it.
If I attempt to add more items to this tab, they don't appear in it. If I export the tab, the copied string has a list of about 90 items. If I delete and recreate the tab, items added still don't appear within it.
If I look at items that SHOULD be in it, by right clicking and editing tags, they still have the "clue" tag.
None of my other bank tabs/tags are behaving oddly.
If I search my bank for "clue", none of the items tagged "clue" appear. But I can search for other tags/tabs and the expect items are shown.
If I completely reset Runelite (by deleting/renaming ~/.runelite), the issue persists (after making a new tab named clue).
To Reproduce
Steps to reproduce the behavior:

Create a bank tag named clue
Drop items into the tab
Open the tab, see that no items appear!

Expected behavior
Bank tags should work properly even if named "clue".
Screenshots
N/a
Environment (please complete the following information):

OS: macOs and Ubuntu Linux
RuneLite version: 1.6.39
Launcher version: 2.1.2

Additional context
I have multiple computers with Runelite and this problem appeared on all of them within the last day or so. I don't sync my ~/.runelite directory or sign into Runelite.

For a work around until next release, you can rename your tag to something else.
Fixed in https://github.com/runelite/runelite/commit/f13be14280d8fc7d6f12c05ea0f3807daabaddf4

Oof, I just noticed that was the latest commit, too. Thanks!


python311Packages.simple-rest-client: 1.1.3 -> 1.2.1

Diff: https://github.com/allisson/python-simple-rest-client/compare/1.1.3...1.2.1
Description of changes

Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

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

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

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

[ ] Fits CONTRIBUTING.md.

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

6 packages built:

faraday-cli
faraday-cli.dist
python310Packages.simple-rest-client
python310Packages.simple-rest-client.dist
python311Packages.simple-rest-client
python311Packages.simple-rest-client.dist


Connect to Excel for fares

The Google Sheets API may not be accessible to every server owner, therefore I've changed the goal to Microsoft Excel instead.
If you don't have Microsoft Excel, simply create your fare table on Google Sheets and download the workbook as an Excel file.
Milestones/Methods:

[ ] Read Excel file
[ ] Split each spreadsheet into individual tables
[ ] Read those tables
[ ] Write the data to fares.yml

Tests:

[ ] Single large table at A1
[ ] Tables at A1 and Ax
[ ] Tables at B1 and X1
[ ] Tables at A2 and Ax
[ ] Tables at Xx and Yy
[ ] More than 2 tables
[ ] Multiple sheets
[ ] Do everything within 0.05s


Another noob question regarding calling a service from typescript

Not an issue with the platform at all, just a noob question for me. How do I make the call to a service (MyListHandler) from typescript in the onViewSubmit? I've seen a lot of code suggestions with buttons and such but I am so new to typescript and javascript (I come from windows forms) that any suggestions would be helpful. I keep going through the guide and the questions in here but I am missing something so basic still (I know it's basic, and embarrassing) I will be making a few of these calls in different places throughout the program. I am not sure how to correctly make the call here in myGrid.ts:
            protected onViewSubmit() {
                if (!super.onViewSubmit()) {
                    return false;
                }
            //Do something here to call service........
            NotaryManager.NotaryService.ListByZip(<any>)
            }

I have my endpoint as such:
    public ListResponse<MyRow> ListByZip(IDbConnection connection, ListRequest request)
    {
        return new MyRepository().ListByZip(connection, request);
    }

My Repository:
    public ListResponse<MyRow> ListByZip(IDbConnection connection, ListRequest request)
    {
        return new MyListHandlerZip().Process(connection, request);
    }

    private class MyListHandlerZip : ListRequestHandler<MyRow>
    {

        protected override void OnBeforeExecuteQuery()
        {
            string eq1 = "3956 * 2 * ASIN(SQRT( POWER(SIN((n.lat - 35.8395)* pi() / 180 / 2), 2) OS(n.lat * pi() / 180) * COS(35.8395 * pi() / 180) * POWER(SIN((n.lng - -83.4803) * pi() / 180 / 2), 2) ))";
            string eq2 = "(n.lat between (35.8395-2)and (35.8395+2)) and (n.lng between(-83.4803-2)and (-83.4803+2)) and (3956 * 2 * ASIN(SQRT(POWER(SIN((n.lat - 35.8395) * pi() / 180 / 2), 2) + COS(n.lat * pi() / 180) * COS(35.8395 * pi() / 180) * POWER(SIN((n.lng - -83.4803) * pi() / 180 / 2), 2))))";
            base.OnBeforeExecuteQuery();
            var query = new SqlQuery();
            var n = Entities.NotaryRow.Fields.As("n");
            var o = Entities.NOrderRow.Fields.As("o");
            query
                .Select(n.VendorNum)
                .Select(n.Name)
                .Select(n.TierLevel, "Rank")
                .Select(n.Phone)
                .Select(n.Email)
                .Select(n.City)
                .Select(n.St)
                .Select(n.Zip)
                .Select(eq1, "Actual Distance")
                .Select("Count(Order_ID)", "Orders Done")
                .Select("max(o.sign_date)", "Latest Date")
                .From(n)
                .LeftJoin(o, n.VendorNum == o.VendorNum)
                .Where(
                new Criteria(eq2 + "< n.Maxdistance"))
                .GroupBy(n.VendorNum)
                .GroupBy(n.Name)
                .GroupBy(n.TierLevel)
                .OrderBy(eq1);

            //Check query, remove when successful
            Console.WriteLine(query.ToString());
        }

Hi @jdready5,
I'm not sure what you are trying to do at the moment, but to call the service anywhere you just write NotaryService.List({ your list request params }, response => { do something with response.Entities; });
Why onViewSubmit, i'm not sure though

Also you are creating a new query in OnBeforeExecuteQuery, so your new query won't be executed and you are not actually modifying the query that will be executed soon.

Okay, I was doing onViewSubmit because I wasn't quite sure where to call it (still experimenting) and OnBeforeExecuteQuery, that makes sense I will correct that. (That's why I finally had to ask even though I really didn't want to), but I just wasn't sure where to call the service at or to do it correctly and efficient. I'll continue re-working it. Thank you

Hi @jdready5,
I'm not sure what you are trying to do at the moment, but to call the service anywhere you just write NotaryService.ListByZip({ your list request params }, response => { do something with response.Entities; });
Why onViewSubmit, i'm not sure though

Anywhere in the client side?? When I use this in the xyzGrid, the List Request and the connection is not defined, Why ??!!
protected onViewSubmit(): boolean {
            if (!super.onViewSubmit()) {
                return false;
            }
            var lsi = HolidayService.List(connection, new Serenity.ListRequest, response => { });

            return true;
        }

And if I put it in the script of .cshtml page Serenity.ListRequest is not defined


fix password length error, compatible issue with openssl 1.1.0(#658)

When use openssl to generate keys, a passphrase with a length of 4 to 1023 characters is required in openssl 1.1.0, not compatible with openssl 1.0.2g.

Codecov Report

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

@@           Coverage Diff           @@
##           master     #671   +/-   ##
=======================================
  Coverage   57.26%   57.26%
=======================================
  Files          35       35
  Lines        2490     2490
=======================================
  Hits         1426     1426
  Misses        775      775
  Partials      289      289

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 f444979...f32654b. Read the comment docs.

Alex, can you sign the Google CLA? I need it before I can merge this PR.

Signed, thanks.


Fix unreachable code warning in buffers_cat.hpp

It seems we can't simply assume that the code for past_end::operator*() will never compile, as the following code clearly needs to handle that case:
return mp11::mp_with_index<
    sizeof...(Bn) + 2>(
        it_.index(), // Considering the index is a runtime value, the compiler needs to generate code for when it points to `past_end`
        dereference{*this});

Fixes #2678

Interesting, is this why we keep getting that damn warning !?

Interesting, is this why we keep getting that damn warning !?

I believe so. The reason we are getting those warnings is that the returned net::mutable_buffer from the past_end::operator* function (which is marked unreachable) implicitly converts to net::const_buffer. For example, the following generates the warning:
https://godbolt.org/z/83G5f4Wx7
auto buf = buffers_cat(net::const_buffer{}, net::const_buffer{});
auto it  = buf.begin();
*it;

However, this doesn't:
https://godbolt.org/z/WePad646W
auto buf = buffers_cat(net::mutable_buffer{}, net::mutable_buffer{});
auto it  = buf.begin();
*it;

This is quite comparable to this example:
https://godbolt.org/z/8fMroWh54
[[noreturn]] const char * f1()
{
  __assume(false);
}

const char * f2()
{
  return f1(); // Fine
}

std::string f3()
{
  return f1(); // warning C4702: unreachable code
}

MSVC is correctly warning us that we are doing something after unreachable code (in this case, the implicit conversion is what we are doing).


CONFIG: SETI-3728 Bump version of package to 1.9.13-9

Build succeeded (check pipeline).

Build succeeded (check pipeline).

LGTM

Build succeeded (gate pipeline).

https://checklist.intgdc.com/job/compliance/job/serverspec-core-merge-compliance-check/5/ : SUCCESS in 23s


my issue

Steps to Reproduce

...
...
...

Logs

C:\Users\hp>flutter doctor -v
Checking Dart SDK version...
Building flutter tool...
Running pub upgrade...
The current Dart SDK version is 2.3.0-dev.0.5.flutter-a1668566e5.

Because flutter_tools depends on xml >=3.5.0 which requires SDK version >=2.3.0 <3.0.0, version solving failed.
Error (1): Unable to 'pub upgrade' flutter tool. Retrying in five seconds... (9 tries left)

Waiting for 0 seconds, press CTRL+C to quit ...
Running pub upgrade...

Delete issue or add relevant content.

Hi @kazanooova, Can you provide more information about your issue?

I have the same issue on osx. Which relevant content would you like me to provide ?

Saw you updated log later.
It appears that you have dart and flutter installations issues. May happen if you changed location of your SDK or switch channel
Change to stable version and update or reinstall.

I was facing the same issue and resolved it by Downloading my newer version of flutter SDK from below link.
https://flutter.dev/docs/get-started/install/windows
After that I update newer Flutter SDK stored path to my environment variable path and Flutter SDK path in Android Studio setting->Languages & Frameworks->flutter.


feat: add support for example annotations

What kind of change does this PR introduce? (check at least one)

~Bugfix~
Feature
Test
Docs
~Refactor~
Build-related changes
~Other, please describe:~

Description:
This PR adds support for @example annotations. These can be used to add examples on the expected input / output for every endpoint of our API. More details on its usage and specifications can be found in the sections listed below.
Should close #89.
Usage example:
The following example illustrates how the @example annotation can be used to add examples on how the request body must be, as well as what the endpoint is supposed to return for specific status codes.
/**
 * POST /api/v1/song
 * @param {Song} request.body.required - song info
 * @return {object} 200 - song response
 * @return {object} 400 - Bad request response
 * @example request - example payload
 * {
 *   "title": "untitled song",
 *   "artist": "anonymous",
 *   "year": 2019
 * }
 * @example response - 200 - example success response
 * {
 *   "message": "you have saved song"
 * }
 * @example response - 400 - example error response
 * {
 *   "message": "failed to save song",
 *   "errCode": "E120"
 * }
 */

Usage instructions:
The @example annotation must be immediatly be followed by a keyword that will represent what our example will be illustrating: request or response.
It's possible to add as many examples as required for both requests and responses in a single endpoint, there's no limit on that. In the case of responses, multiple examples for the same status code are also supported (so we can provide multiple examples of what our API returns if it succeeds, for example).
The sections below describe more in detail the expected syntax for the @example tag in each case (request and responses). Although it's same for the most part, it will differ slightly depending on the keyword used.
:inbox_tray: Request body example:
@example request - [summary]
[content]

Field
Description

Summary
Small text that briefly describes the example. This text must occupy a single line. Everything outside of the @example tag line will be considered part of the example content and NOT the summary.

Content
Example content for the request body. It's imperative that its contents start at a new line below the @example tag, and not in the same one. The content can be split into multiple lines if necessary, for better readibility. Indentation and breaklines will be preserved in Swagger UI.

:outbox_tray: Response body example:
@example response - [status code] - [summary]
[content]

Field
Description

Summary
Small text that briefly describes the example. This text must occupy a single line. Everything outside of the @example tag line will be considered part of the example content and NOT the summary.

Status code
An HTTP status code (ex.: 200). Keep in mind that any code not available in validStatusCodes will be ignored. Also, it's necessary for a @return tag to exist for that same code in order for the example to appear in Swagger UI.

Content
Example content for the response body. It's imperative that its contents start at a new line below the @example tag, and not in the same one. The content can be split into multiple lines if necessary, for better readibility. Indentation and breaklines will be preserved in Swagger UI.

Task list:
:computer: Development

[x] Create parser for @example within the paths folder.
[x] Add examples to response objects.
[x] Add examples to request body objects.
[x] Create new example in examples > requestBody folder to illustrate how to use @example for the request body.
[x] Create new example in examples > responses folder to illustrate how to use @example for the responses.

:heavy_check_mark: Tests

[x] Create unit test for @example parsing in request body.
[x] Create unit test for @example parsing in responses.

:memo: Documentation

[x] Add descriptive comments to new examples.js parser.
[x] Update README file with usage example for the @example tag.
[x] Generate usage instructions for the @example tag (included in this PR message).

:whale: Project settings

[x] Update examples > package.json with references to the new examples.

@all-contributors please add @LonelyPrincess for code


Homework 3 6

What changes are you trying to make? (e.g. Adding or removing code, refactoring existing code, adding reports)
What did you learn from the changes you have made?
Was there another approach you were thinking about making? If so, what approach(es) were you thinking of?
Were there any challenges? If so, what issue(s) did you face? How did you overcome it?
How were these changes tested?
A reference to a related issue in your repository (if applicable)
Checklist

[ ] I can confirm that my changes are working as intended

HW3 Allright.

For HW2, you missed one part of where query task of using between.

For HW4, Window function query, you use row_number both time, once you have to use row_number and once dense_rank.

HW 5, 6 marked completed, Passed.

For HW4, Window function query, you use row_number both time, once you have to use row_number and once dense_rank.

SELECT
customer_id, market_date,
DENSE_RANK() OVER (PARTITION BY customer_id ORDER BY market_date) AS visit_number
FROM
(SELECT DISTINCT customer_id, market_date FROM customer_purchases) AS unique_visits
ORDER BY
customer_id, market_date;
Please review the code for HW4 Window function query use dense_rank


No such file or directory: '/data/omnimed/pretrain_data/negative_sample/type2ans.json'

I encounter the following error when evaluating the pretrained model with evaluate_vqa_pretrained_beam_scale.sh. Whereas it works fine for the finetuned models. I don't know what this type2ans.json file should be and how it is generated.
Traceback (most recent call last):
File "/.conda/envs/biomedgpt/lib/python3.7/runpy.py", line 193, in _run_module_as_main
"main", mod_spec)
File "/.conda/envs/biomedgpt/lib/python3.7/runpy.py", line 85, in _run_code
exec(code, run_globals)
File "/BiomedGPT/evaluate.py", line 162, in
cli_main()
File "/BiomedGPT/evaluate.py", line 157, in cli_main
cfg, main, ema_eval=args.ema_eval, beam_search_vqa_eval=args.beam_search_vqa_eval, zero_shot=args.zero_shot
File "/BiomedGPT/fairseq/distributed/utils.py", line 389, in call_main
main(cfg, **kwargs)
File "/data2/dongwenjie/BiomedGPT/evaluate.py", line 84, in main
num_shards=cfg.checkpoint.checkpoint_shard_count,
File "/BiomedGPT/utils/checkpoint_utils.py", line 447, in load_model_ensemble_and_task
task = tasks.setup_task(cfg.task)
File "/BiomedGPT/fairseq/tasks/init.py", line 46, in setup_task
return task.setup_task(cfg, **kwargs)
File "/BiomedGPT/tasks/ofa_task.py", line 111, in setup_task
return cls(cfg, src_dict, tgt_dict)
File "/BiomedGPT/tasks/pretrain_tasks/unify_task.py", line 97, in init
self.type2ans_dict = json.load(open(os.path.join(self.cfg.neg_sample_dir, 'type2ans.json')))
FileNotFoundError: [Errno 2] No such file or directory: '/data/omnimed/pretrain_data/negative_sample/type2ans.json'

found a previous issue on negative_sample. checking on it.

Could you please share the complete script and the error log with me? I'm puzzled by the errors as they appear to be related to the pretraining phase, rather than the evaluation/inference phase. Additionally, I'm unclear about the reference to "evaluate_vqa_pretrained_beam_scale.sh", and you meant to refer to the modified "evaluate_vqa_beam_scale.sh" by yourself?

Or you may want to evaluate the model in the zero shot setting, if it is, you can directly set "--zero-shot " in the evaluation script, for example:
CUDA_VISIBLE_DEVICES=0 python3 -m torch.distributed.launch --nproc_per_node=1 --master_port=${MASTER_PORT} ../../evaluate.py \
                ${data} \
                --path=${path} \
                --user-dir=${user_dir} \
                --task=vqa_gen \
                --selected-cols=${selected_cols} \
                --bpe-dir=${bpe_dir} \
                --patch-image-size=480 \
                --prompt-type='none' \
                --batch-size=8 \
                --log-format=simple --log-interval=10 \
                --seed=7 \
                --gen-subset=${split} \
                --results-path=${result_path} \
                --fp16 \
                **--zero-shot \**
                --beam=${beam_size} \
                --unnormalized \
                --temperature=1.0 \
                --num-workers=0 \
                > ${log_file} 2>&1

"evaluate_vqa_pretrained_beam_scale.sh" is my modified "evaluate_vqa_beam_scale.sh". I want to evaluate the pretrained model on VQA without finetuning. Changing to "--zero-shot " works. But the score is quite low, below 0.1.

The issue should be related to the uppercase of the generation as mentioned in issue #6. To address this, I have been using the 'test_predict.json' file generated during evaluation and calculating accuracy by converting all uppercase characters in the gold answers to lowercase, and get the result reported in the paper.

Thank you for the quick reply. I am able to get an exact match score at ~0.3.


[DNM] Test supporting spark 2.4.0

/run-all-tests

/run-all-tests

close this PR because it is resolved by #665


adding alt text for images in recommended

When creating an image widget, you should provide an alternative text which describes the image.
This can be achieved by adding a semanticLabel to images.
This can make the app more accessible for vision impaired users who are using screen reader.

This is a Flutter-specific lint, so this request should probably be made to https://github.com/flutter/packages/tree/main/packages/flutter_lints

But if i follow the link at the bottom of the readme to file a lint proposal i get forwarded to here.

Oh ok, sorry, my bad!


Add Jekyll 3 Support

Added references to Jekyll 3 so gem could be validated as working against the latest version.

Updated PR with suggested changes


tbd - Spell Check

Depending on the quality of the extraction, you might have words that are misspelled. Libraries like pyspellchecker can help correct these.

include before ngraming


Add Actions etc

https://github.com/netzbegruenung/keycloak-2fa-sms-authenticator/pull/1/commits/a34061ba480343e1aca76f395dd31bb2544e9967 Here I have added the Required Action definition into the jars service directory:  https://www.keycloak.org/docs/latest/server_development/#packaging-classes-and-deployment-2


French language file

I translated Cultivation to french. It's really the only way i can be useful for this project

It is more useful than you think <3


Raise limiter to over directory size

parallelizing calls for rebuilding the directory leads to problems, raising this to a number larger then the directory size should fix it

A comment explainng.the magic numbers or using constants would be nice

A comment explainng.the magic numbers or using constants would be nice

Sure, if it helps you why not :)

Thank you. I found the explanation on the units in the go source code.


Custom styling property not working with px-data-table

Submit an Issue
Custom styling property not working with px-data-table.
We are trying with putting it with inline css. Please find below the example.

https://codepen.io/anon/pen/MmOLQz?editors=1001

Inline CSS variables are not supported by the Polymer polyfill - https://github.com/Polymer/polymer/issues/2086
You should include it in a <style is="custom-style"> block at the document level instead.

We tried using

Hmm, I'm not sure why --px-data-table-border-color is listed as a style variable, the one you actually want is --px-data-table-cell-border-color


Simple multitenancy

TODOs:

[ ] @tbartynski: Start Atmo locally and test basic functionality such as starting and stopping a vm.
[ ] @mkasztelnik: Ensure API v1 compatibility
[x] Add network_id and tenant_id to Tenant
[ ] In Plgrid project add a periodic task that queries for plg groups that has network id associated and based on this updates information about tenants in the Atmo DB. It requires querying LDAP or Baazar or both. It also need to assign a default fund to a tenant.
[ ] @tbartynski: Default network id provider should return net id from tenant model if tenant.network_id.present? or nil
[ ] Make sure that monitoring workers are working correctly.
[ ] Make sure that for a shared tmpl OpenStack returns image object with one id_at_site.
[ ]  Temporarily change VMT and Tenant relation to has_and_belongs_to_many since one tmpl maybe shared among tenants.
[ ]  If Atomic Service is available for more than one tenant user should be given a choice of tenants that can access this tmpl and that are available for him (based on plg groups).
[ ] There is a many-to-many relation between tenants and tmpls therfore if monitoring running in context of one tenant cannot see a tmpl any longer it should remove the relation with tenant and destroy the tmpl only if tmpl is not associated with ayny other tenant.

Issues:

[ ] What should we do if Tenant disappears and it used to have vms or tmpls that are still  in cloud? If tenant disappears from OpenStack also Atmo cannot do anything since it lost credentials for this specific tenant in cloud.

I'm dealing with API v1 compatibility right now

I propose to validate if refactoring from CS into Tenant is ok (manual testinng of UI, basic appliance lifecycle), API v1 is compatible and merge it ASAP. After that in short living branches adds features described by @tbartynski in this PR.

We can do it similar like I done it with plgapp security audit (https://github.com/dice-cyfronet/plgapp/issues/79): one issue with todo tasks and a refference to PR which solves concrete problem. What do you think?

Just to remember/check:
I believe this change is incorrect:
def set_compute_sites
-    @compute_sites = Atmosphere::ComputeSite.all
+    @tenants = Atmosphere::Tenant.all
end

most probably it will blow up admin virtual machine templates index view. This method is only used there, so we should move it from general ApplicationController.

Re: TODO#3: there already exists a column named tenant_id in Tenant (it's the old compute_site_id from ComputeSite). Do we need another specialized column?

@mkasztelnik I'm okay with the proposed testing methodology. Can you or TB deploy the current branch to plgrid-dev (I assume that's where you want to test it)?

Btw., views may blow up since they're poorly covered by rspecs. We'll deal with issues as they emerge.

@nowakowski yes we need both site_id and tenant_id. The first one will be used by redirus to generate adding/removing/editing http/https request into appropriate queue and the tenant_id will be used to synchronize concrete tenant with ldap/bazar.
@nowakowski do you have knowledge how ldap schema for tenants and groups will look like?

We definitely need to fix hound issues since it generates a lot of noise.

@mkasztelnik I pushed the requested change related to set_compute_sites in ApplicationController but I propose we avoid getting sidetracked in this particular branch and focus on what's necessary. The job is big enough as it is.

@mkasztelnik Re: tenant_id - I propose we simply use the existing field for the purposes mentioned in your comment. I have added network_id although from what JM has told us it will no longer be necessary to add network ID information to cloud_site requests when spawning VMs for a particular tenant.
I have no knowledge regarding the tenant representation in the LDAP, however the agreement with MR is that the name of each tenant will match the name of the PL-Grid team exactly (so plgg-cloud etc.) Can you (or @tbartynski ) tell us what information is required in order to launch a VM in the context of a specific OST tenant?

@nowakowski I've added site_id field to Tenant since we need it for Redirus. We need a common id for all tenants.
Regarding getting information about tenants I'm not sure yet but will try to figure it out today.

Okay; I'm going to stop trying to appease Hound for now since the rabbit hole goes very deep and I seem to be just making things worse. :angry:
Making the entire Atmosphere project Hound-compliant will be a massive undertaking and it certainly shouldn't be taking place in this PR. Sorry for the mail spam. :)

@tbartynski  site_id belongs in ComputeSite (and you can have a delegation in Tenant to avoid painful refactoring).

@tbartynski To clarify - I would propose:

Recreating ComputeSite with a 1:n relationship with Tenant
Adding site_id to ComputeSite
Delegating Tenant.site_id to parent.

Much more elegant than cramming site_id into Tenant (IMO :)
@mkasztelnik Your opinion...?

@nowakowski I also like your suggestion better in terms of elegance. Please remember we've decided to keep things as simple as possible and not to introduce CS model again at this stage. I am aware it will be required in near future anyway. It's your decision guys since you'll working with that in upcoming days.

It seems to me that at some point not introducing ComputeSite does not make things any simpler -- quite the opposite in fact. I would view this circumstance as an example. Still, let @mkasztelnik decide; he's a better programmer than myself. :)

By the way, I've created a page on redmine wiki https://redmine.dev.cyfronet.pl/projects/vph-share/wiki/Multitenancy_
Please indicate there what works fine and what does not. I hope this help us to organize our work.

@tbartynski, @nowakowski lets finish for now Tenant revolution and leave everything else as it is. According to site_id we have strong argument to add it. I believe that f2f meeting on Monday will allow us to discuss it deeply.
The goal for this week would be to have atmosphere installation bulletproof (as bulletproof as I was before Tenant refactoring) - so existing clew should be able to start new appliance, manage it (http/https redirections, tcp/udp redirections, saving as AT), all Admin views are working, all delayed jobs are working correctly. After this we will focus on automatic tenant generation/removal.
Tomorrow in the morning I should be able to push API v1 compliance changes and then I will focus on testing and correcting admin views.

I'll work on the VirtualMachineTemplate <> Tenant relationship.

@tbartynski your last changes introduced a lot of spec failures. Are you able to fix it before your holiday?
@nowakowski we need to be sure that current version is working correctly before introducing new changes. Can you pull current changes, pull database from vph-dev (or create separate CS on your local machine) and perform detailed manual tests? I will also try to do it today and verify if everything is working as expected.

@mkasztelnik This is being done for PL-Grid; perhaps it would make more sense to import the cloud-dev database rather than the vph-dev database?

@nowakowski vph-dev cloud is more reliable than cloud-dev (ask @mpawlik for details :smile:), but of course you can try with plg cloud-dev if you want.

@mkasztelnik @mpawlik 's beef was with the production PL-Grid infrastructure, not with cloud-dev.

I have verified that OpenStack returns identical templates on multiple tenants -- hence the relation between VirtualMachineTemplate and Tenant should indeed be m:n. I will continue to hack away at it.

I propose to finish tenant stabilization in this PR and don't add additional things here => m:n between VMT and Tenant new branch.

@mkasztelnik It's already done (i.e. the branching, not the m:n).

All problems with UI fixed, API v1 compatibility guaranteed, deployed into plg cloud-dev. IMHO we should merge it and work for further extension in short living branches.


Update sbt to 1.4.1

Updates org.scala-sbt:sbt from 1.3.13 to 1.4.1.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.scala-sbt", artifactId = "sbt" } ]

labels: library-update, semver-minor

Codecov Report

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

@@            Coverage Diff            @@
##            master      #107   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            3         3
  Lines            3         3
=========================================
  Hits             3         3

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 b62967f...8d0969f. Read the comment docs.


Controller annotation

I've seen many controllers uses the form
controller: function($scope)

which creates issues when code is minified and angular refuses to load the controller in strict mode.
Shouldn't this use annotations like
controller: ['$scope', function($scope){}]

Yes it should, this is one of the things I was working on earlier today. I'll make sure to update this issue when this is committed and released.

Awesome, thanks!

Fixed with release 0.2.0

Awesome! 🚀


MvcReportViewer change export filename with default export button

I use mvcreportviewer for my solution, i config as:
@Html.MvcReportViewerFluent("App_Data/Report/TestReport.rdlc").ProcessingMode(ProcessingMode.Local).ReportParameters(new { ReportName = Model.ReportName, Province = Model.Province }).LocalDataSource("TestDataset", Model.Data).ControlSettings(settings).Attributes(new { Height = 750, Width = "100%", style = "border: none" })
I want use default export button of viewer and i want to change export filename with timestamp. Now, export filename is "TestReport", that isn't meaning. Please help me!
P/s: i don't want to create new action Excel Download as:
private ActionResult DownloadReport(ReportFormat format, bool isLocalReport, string filename = null)
{
if (isLocalReport)
{
return this.Report(
format,
LocalReportName,
new { Parameter1 = "Test", Parameter2 = 123 },
ProcessingMode.Local,
new Dictionary<string, DataTable>
{
{ "Products", LocalData.GetProducts() },
{ "Cities", LocalData.GetCities() }
},
filename);
}
        return this.Report(
            format,
            RemoteReportName,
            new { Parameter1 = "Hello World!", Parameter2 = DateTime.Now, Parameter3 = 12345, Parameter4 = (DateTime?)null },
            filename: filename);
    }

I also would like to have a different report name when user clicks on export button. How could i do that?

I do not think you can change the report name whn uer clicks export button. This is the part of the original report viewer web control.
Could you send me a pull request for the proposed features, please?


re-export prost::Message

Allows for importing the message trait for Decoding without needing the add the same version of prost as a dependency.

Hi @michaeldjeffrey, thanks and I support the idea :+1:  Wouldn't it be a better idea to re-export the prost crate however? That might provide some additional flexibility I guess.

Hi @michaeldjeffrey, thanks and I support the idea 👍 Wouldn't it be a better idea to re-export the prost crate however? That might provide some additional flexibility I guess.

I agree with that.

Thanks for updating the PR :+1:


Adds rules for horizontal headers

So they are bolded and will be aligned to the left.

Looks good!


MEGA CHANGES lbry:// to open.lbry.com

Description
some lbry:// link not found on LBRY app. so i just change lbry:// to open.lbry.com for make reader can download lbry and visit beta.lbry.com website

@tzarebczan its other my pr Mr Thomas. lets merge together with me.. hhehe

Thanks Chris!


Istio sidecar injection running despite having annotation not to

Bug Description
Hi,
We had a situation today where by change istiod and one on our own mutatingwebhook controllers went down at the same time.  This landed us in a situation where neither could start because both had a failedPolicy: Fail.
This never used to be an issue, because the pods in our workload have the sidecar.istio.io/inject=false annotation (eg they should not be blocked on startup by istio)
13m         Warning   FailedCreate                   replicaset/kubitzer-698b79c87f                Error creating: Internal error occurred: failed calling webhook "auto.sidecar-injector.istio.io": Post "https://istiod.istio-system.svc:443/inject?timeout=10s": EOF
13m         Warning   FailedCreate                   replicaset/kubitzer-698b79c87f                Error creating: Internal error occurred: failed calling webhook "auto.sidecar-injector.istio.io": Post "https://istiod.istio-system.svc:443/inject?timeout=10s": context deadline exceeded
7m34s       Warning   FailedCreate                   replicaset/kubitzer-698b79c87f                Error creating: Internal error occurred: failed calling webhook "auto.sidecar-injector.istio.io": Post "https://istiod.istio-system.svc:443/inject?timeout=10s": no endpoints available for service "istiod"

Looking at the configuration for that particular handler (auto.sidecar-injector.istio.io), I see:
  failurePolicy: Fail
  matchPolicy: Equivalent
  name: auto.sidecar-injector.istio.io
  namespaceSelector:
    matchExpressions:
    - key: istio-injection
      operator: DoesNotExist
    - key: istio.io/rev
      operator: DoesNotExist
  objectSelector:
    matchExpressions:
    - key: sidecar.istio.io/inject
      operator: DoesNotExist
    - key: istio.io/rev
      operator: DoesNotExist

But shouldn't that objectSelector be:
  objectSelector:
    matchExpressions:
    - key: sidecar.istio.io/inject
      operator: NotIn
      values:
      - "false"

like all of the others?
Version
control plane version: 1.10.2

Additional Information
No response

Object selectors only apply to labels, not annotation. So if you have that as a label it should work. We are trying to push for users to use the label since it's strictly better.

OK so just to be clear we shouldn't be using metadata.annotations.sidecar.istio.io/inject: "false" any more and instead use a label?  When did that change happen?
It's still not clear to me how that selector works though...
  objectSelector:
    matchExpressions:
    - key: sidecar.istio.io/inject
      operator: DoesNotExist

It doesn't have any true/false assertion, just the presence of the label?  So shouldn't it be:
  objectSelector:
    matchExpressions:
    - key: sidecar.istio.io/inject
      operator: NotIn
      values:
      - "false"

https://istio.io/latest/docs/setup/additional-setup/sidecar-injection/#controlling-the-injection-policy has been updated. Not that I expect you or others to know when obscure docs pages are updated... we have been working on finding a way to recommend users to switch to the label without blasting them with 1000s of warnings.
BTW you can have both set if there are compatibility concerns (something else reading the annotation, etc).
As far as the webhook selectors - k8s doesn't have an "OR" in the logic so there are actually multiple different selector entries.

we have been working on finding a way to recommend users to switch to the label without blasting them with 1000s of warnings.

Haha.  To be honest that's probably the best bet.  It's better than relying on doco.   I'll have a read of the updated guidance and see how it maps to what we're doing.  Will close the issue for now then as it's probably working as intended.
Thanks for your help

Yeah, it really didn't work...
I moved the sidecar.istio.io/inject: "true" from an annotation to a label, and the pod wasn't injected.
The namespace doesn't have any labels on it, so I assumed that we'd also need istio-injection: enabled on the namespace.  I added that to test, but that doesn't work either.
The only thing that does work, is the annotation.

Do you have https://github.com/istio/istio/blob/fe710ef62f9c1cc8207f4643b48c3def28da7f95/manifests/charts/istio-control/istio-discovery/templates/istiod-injector-configmap.yaml#L32 to "false"? I need to look into it but I think we are missing some logic to make that work right. will do some investigation

We seem to have two references to autoInject in istiooperator:

.Values.global.proxy.autoInject: disabled
.Values.sidecarInjectorWebhook.objectSelector.autoInject: true, and .Values.sidecarInjectorWebhook.objectSelector.enabled: false


Upgrading to v4.15.0 breaks (@babel/runtime again)

Describe the bug
Upgrading to v4.15.0 breaks with
Error [ERR_PACKAGE_PATH_NOT_EXPORTED]: Package subpath './helpers/callSuper' is not defined by "exports" in<EMAIL_ADDRESS>    at new NodeError (node:internal/errors:406:5)
    at exportsNotFound (node:internal/modules/esm/resolve:268:10)
    at packageExportsResolve (node:internal/modules/esm/resolve:598:9)
    at resolveExports (node:internal/modules/cjs/loader:547:36)
    at Module._findPath (node:internal/modules/cjs/loader:621:31)
    at Module._resolveFilename (node:internal/modules/cjs/loader:1034:27)
    at Module._load (node:internal/modules/cjs/loader:901:27)
    at Module.require (node:internal/modules/cjs/loader:1115:19)
    at require (node:internal/modules/helpers:130:18)
    at Object.<anonymous> (/data/dev/mjml-babel-4.15.0/node_modules/mjml-core/lib/index.js:71:42) {
  code: 'ERR_PACKAGE_PATH_NOT_EXPORTED'
}

To Reproduce
Steps to reproduce the behavior:

mkdir mjml-babel-4.15.0
cd mjml-babel-4.15.0
npm init -y
npm i --save -E<EMAIL_ADDRESS><EMAIL_ADDRESS>(to for the @babel/runtime dependency to the existing version, and the version mjml depends on)
npm ls @babel/runtime (to verify the installed version)
node -e 'require("mjml")' (expect no error)
npm i mjml@latest
npm ls @babel/runtime (version 7.14.6 is still installed)
node -e 'require("mjml")' (:boom:)

Expected behavior
Upgrade works
MJML environment (please complete the following information):

OS: [e.g. Linux]
MJML Version [e.g. 4.15.0]
MJML tool used [e.g MJML Api]

Email sending environment(for rendering issues):
N/A
Affected email clients (for rendering issues):
N/A
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Add any other context about the problem here.

Not sure why you add manually<EMAIL_ADDRESS>to your package json here ?
npm prune should just fix this no?

Hi @iRyusa
I do it to simulate an existing project having the previous version installed. This problem is not new (https://github.com/mjmlio/mjml/issues/2299) and is due to lax dependencies version... I'm using mjml for a very long time, so my @babel/runtime dependency is whatever version satisfied your package.json at that time, actually 7.14.6. MJML now requires a more recent version of @babel/runtime but you didn't bump the dependency in package.json, resulting in a broken package for upgrades.
Indeed the problem does not appear for new installs in new projects because NPM picks the latest available version of @babel/runtime that satisfies the dependency.
According to Babel, you should depend on at least 7.23.8 as per https://github.com/babel/babel/blob/0e5ae8de66d5c1e9ecc3f94daa5bd5d3a920e5a4/packages/babel-helpers/src/helpers/callSuper.ts#L1
Hope this helps,
David

Really need to burn everything down and remove completely babel at some point 😮💨 .
I'll do a 4.15.2 with updated package.json for everything for today

For future me : yarn upgrade-interactive doesn't update the package.json when updating a package so I need to do update manually next time 😑
Can you confirm 4.15.2 is good for you @ddolcimascolo ?

Yep. All good now.
Thanks again,
Cheers,
David

Fixed in 4.15.2


Error in plugin 'gulp-ng-annotate': error: couldn't process source due to parse error

Got this stange error on this harmless code:
$('#input-region').focusout(
$scope.$apply();
);
events.js:72
throw er; // Unhandled 'error' event
^
[gulp] Error in plugin 'gulp-ng-annotate': error: couldn't process source due to parse error
Line 54: Unexpected token ;
at Transform._transform (/Users/dmitrizaitsev/Dropbox/33hotels/node_modules/gulp-ng-annotate/index.js:23:26)
at Transform._read (/Users/dmitrizaitsev/Dropbox/33hotels/node_modules/gulp-ng-annotate/node_modules/through2/node_modules/readable-stream/lib/_stream_transform.js:184:10)
at Transform._write (/Users/dmitrizaitsev/Dropbox/33hotels/node_modules/gulp-ng-annotate/node_modules/through2/node_modules/readable-stream/lib/_stream_transform.js:172:12)
at doWrite (/Users/dmitrizaitsev/Dropbox/33hotels/node_modules/gulp-ng-annotate/node_modules/through2/node_modules/readable-stream/lib/_stream_writable.js:238:10)
at writeOrBuffer (/Users/dmitrizaitsev/Dropbox/33hotels/node_modules/gulp-ng-annotate/node_modules/through2/node_modules/readable-stream/lib/_stream_writable.js:228:5)
at Transform.Writable.write (/Users/dmitrizaitsev/Dropbox/33hotels/node_modules/gulp-ng-annotate/node_modules/through2/node_modules/readable-stream/lib/_stream_writable.js:195:11)
at write (/Users/dmitrizaitsev/Dropbox/33hotels/node_modules/gulp-changed/node_modules/through2/node_modules/readable-stream/lib/_stream_readable.js:605:24)
at flow (/Users/dmitrizaitsev/Dropbox/33hotels/node_modules/gulp-changed/node_modules/through2/node_modules/readable-stream/lib/_stream_readable.js:614:7)
at Transform.pipeOnReadable (/Users/dmitrizaitsev/Dropbox/33hotels/node_modules/gulp-changed/node_modules/through2/node_modules/readable-stream/lib/_stream_readable.js:646:5)
at Transform.emit (events.js:92:17)
No error as soon as I remove ; after $scope.$apply();

but I did'nt understand..

I have the issue too: the error message is really misdirecting

What's wrong with this error message? It says you have invalid code in js/app.js at line 53582. Also check out FAQ.

My js/app.js is only 40 lines long :)

Probably your gulp build setup concatenated a lot of source code into vinyl File object with the path js/app.js. Try to add e.g. gulp-tap plugin before the gulp-ng-annotate and check the files and their contents which get passed to the gulp-ng-annotate input.

Thanks for your help!
I don't know how to use gulp-tap
Maybe there is a way to disable the minification in the gulp task :
gulp.task('usemin', ['templates', 'enable-production'], function() {
  return gulp.src(['app/index.html', 'app/badbrowser.html'])
    .pipe($.usemin({
      html: [$.minifyHtml({empty: true})],
      js: ['concat', $.ngAnnotate(), $.uglify({outSourceMap: false})],
      css: ['concat', $.minifyCss({compatibility: true, keepBreaks: true})]
    }))
    .pipe(gulp.dest('dist'));
});

This is my first time with angular and gulp (I'm trying to fix errors in an existing application)

Try to remove $.ngAnnotate(), $.uglify({outSourceMap: false}) from the js target and check the resulting JS file at line 53582. I've never used gulp-usemin plugin though.

I've done what you adviced and I don't have the error anymore.
gulp.task('usemin', ['templates', 'enable-production'], function() {
  return gulp.src(['app/index.html', 'app/badbrowser.html'])
    .pipe($.usemin({
      html: [$.minifyHtml({empty: true})],
      js: ['concat'],
      css: ['concat', $.minifyCss({compatibility: true, keepBreaks: true})]
    }))
    .pipe(gulp.dest('dist'));
});

Now if I add ng-annotate without the uglify, the faulty line the one marked below:
$templateCache.put("partials/mobile/video_modal.html","
\n
\n
\n      \n        \n      \n
\n\n
\n      \n        \n      \n
\n\n
\n      \n
\n      \n
\n\n
\n
\n\n
\n
\n
\n      \n        \n      \n
\n
\n      \n        \n
\n

\n
\n      \n
\n
\n
\n\n
\n
\n
\n\n
\n\n

\n\n
\n\n
\n
\n
\n\n");
// FAULTY LINE
$templateCache.put("partials/mobile/welcome.html","");}]);video_modal_wrap\" my-vertical-position=\"0.5\">\n\n
\n\n

\n\n
\n\n
\n
\n
\n\n");
$templateCache.put("partials/mobile/welcome.html","");}]);
/*!
 * Webogram v0.4.2 - messaging web application for MTProto
 * https://github.com/zhukov/webogram
 * Copyright (C) 2014 Igor Zhukov<EMAIL_ADDRESS> * https://github.com/zhukov/webogram/blob/master/LICENSE
 */

'use strict';

/* EmojiHelper */

(function (global, emojis, categories, spritesheets) {

Looks like gulp-angular-templatecache artifacts or some other odd build error. Anyway, that's clearly a problem with your gulp build setup.

thanks!

love you guys, save me a lot of time D:  incorrent JS syntax in my javascript D:

Just in case it helps anyone, I had a massive HTML file that was included in the project so was being concatenated in, and this was also causing the same error, as it seemed the file was too big.


Store Nexus Product page under docs/

It makes sense to host here the content of the marketing-oriented Product Page under the docs/ folder on the master branch (as per https://help.github.com/articles/user-organization-and-project-pages/#project-pages-sites ). Any objection to this?

I personnally prefer this option than the gh-pages branch. Go for it.