UseFilter referencing a service field in the filter arg fails

Repro
[Fact]
        public void TestOffsetPagingWithOthersAndServices()
        {
            var schema = SchemaBuilder.FromObject<TestDataContext>();
            var data = new TestDataContext();
            data.People.Add(new Person { Id = 1, Name = "Jill", LastName = "Frank", Birthday = DateTime.Now.AddYears(22) });
            data.People.Add(new Person { Id = 2, Name = "Cheryl", LastName = "Frank", Birthday = DateTime.Now.AddYears(10) });

            schema.Query().ReplaceField("people", ctx => ctx.People, "Return list of people")
                .UseFilter();
            schema.Type<Person>().AddField("age", "Persons age")
                .ResolveWithService<AgeService>((person, ager) => ager.GetAge(person.Birthday));
            var gql = new QueryRequest
            {
                Query = @"{
                    people(filter: ""age > 21"") {
                        name id age lastName
                    }
                }",
            };

            var serviceCollection = new ServiceCollection();
            var ager = new AgeService();
            serviceCollection.AddSingleton(ager);

            var result = schema.ExecuteRequest(gql, data, serviceCollection.BuildServiceProvider(), null);
            Assert.Null(result.Errors);

            dynamic people = result.Data["people"];
            Assert.Equal(1, Enumerable.Count(people));
            var person1 = Enumerable.ElementAt(people, 0);
            Assert.Equal("Frank", person1.lastName);
            Assert.Equal("Jill", person1.name);
        }

Any idea how complex it would be to fix this one?
I'm not sure how to go around doing it properly, but my very quick and dirty solution appears to work for your test and my use case.
https://github.com/EntityGraphQL/EntityGraphQL/compare/master...crjc:EntityGraphQL:fix/service-in-filter-arg

By default we run 2 queries. One that fetches all the data without service fields and one that combines in the service fields. This can be turned off but if using Entity Framework as the base query type it makes sense.
The update I think is to extract out the service call to allow the first execution to run via EF with no issues and add it back for the second execution. The parser for the filter expression doesn't handle this. Although I am exploring replacing the Antler parser with a C# solution so might look at tackling this then.
I'm not too sure what you code is doing without running it myself which I will do when I get some time. Is it just finding the services used in the filter and making sure we add them?
If that is it, that will work unless you are using a EF DbContext as the query type. As EF will complain about not knowing how to handle that part of the expression.
Example
{
  people(filter: age > 80) { name }
}

This needs to turn into the below eventually.
(MyContext ctx, AgeService, ageService) => ctx.People.Where(p => ageService.GetAge(p.Birthday).Select(...);

I think we don't get the services from the filter expression (I think that is your change, to do that?). And to best support EF it needs to be split
(MyContext ctx) => ctx.People.Select(...); // EF can handle this - although no filtering
(NewContextFromResult resultFromAbove, AgeService, ageService) => resultFromAbove.Where(p => ageService.GetAge(p.Birthday).Select(...);

My change simply recursively goes through the filter expression to extract any ParameterExpressions.
It then passes these Parameters to AddServices on the CompileContext.
Oddly enough, I use an EF DbContext, and it works great!
For my use case, I'm taking IHttpContextAccessor to conditionally remove/alter fields based on a User's claims.
For example
{
  users (filter: "email.contains(\".co.uk\")") {
    items {
      fullName
      email
    }
  }
}

The base query here is an EF database, and it's working as I'd expect.
When I'm missing a certain claim, my code replaces email with a blank string for example, and no users are returned with this filter.

Interesting. What version of dot net /EF are you using?

From: crjc @.>
Sent: Thursday, April 18, 2024 12:46:42 AM
To: EntityGraphQL/EntityGraphQL @.>
Cc: Luke Murray @.>; Author @.>
Subject: Re: [EntityGraphQL/EntityGraphQL] UseFilter referencing a service field in the filter arg fails (Issue #303)
My change simply recursively goes through the filter expression to extract any ParameterExpressions.
It then passes these Parameters to AddServices on the CompileContext.
Oddly enough, I use an EF DbContext, and it works great!
For my use case, I'm taking IHttpContextAccessor to conditionally remove/alter fields based on a User's claims.
For example
{
users (filter: "email.contains(".co.uk")") {
items {
fullName
email
}
}
}
The base query here is an EF database, and it's working as I'd expect.
When I'm missing a certain claim, my code replaces email with a blank string for example, and no users are returned with this filter.
—
Reply to this email directly, view it on GitHubhttps://github.com/EntityGraphQL/EntityGraphQL/issues/303#issuecomment-2061436721, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AABGHUO5UYSUXIVSYLOFQXLY52DNFAVCNFSM6AAAAAAW56IZTSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANRRGQZTMNZSGE.
You are receiving this because you authored the thread.Message ID: @.***>

8.0.2

So I wonder if EF 8 (or maybe 7) handles non EF fields/methods better that would be nice as the library separates execution to prevent giving EF non DB fields / methods as EF Core 3.1, 5 & 6 would throw exceptions when it hit them.

OK odd, I just tried my branch on EF Core 6 and it also worked.

And it does NOT work on EF6, but Core seems OK?


Add abstraction to controller role in ansible

Description
Add a level of abstraction the controller role in ansible.  It will now accept a set of parameters to configure:

host_group - the group from the hosts file used to determine indexing during deployment
name_prefix - the prefix (i.e. 'controller', 'crudController') used to name docker instances
controller_index_base - the base starting point for indexing in the total controller arrays

While working on #3412, it was uncovered that some (or at least one major) implementers of OpenWhisk segregate their controllers and use a copy of the rolefile to deploy it.  That creates maintenance overhead and deployment complexity in keeping ansible playbooks in sync.  This change abstracts the necessary parameters to allow the OpenWhisk playbook to be used to deploy multiple 'collections' of controllers into an environment.
The change also includes significant linting of 'roles/controller/tasks/deploy.yml' and '.../clean.yml' to support maintainability and readability.
Related issue and scope

[ ] I opened an issue to propose and discuss this change (#????)

My changes affect the following components

[ ] API
[X] Controller
[ ] Message Bus (e.g., Kafka)
[ ] Loadbalancer
[ ] Invoker
[ ] Intrinsic actions (e.g., sequences, conductors)
[ ] Data stores (e.g., CouchDB)
[ ] Tests
[X] Deployment
[ ] CLI
[ ] General tooling
[ ] Documentation

Types of changes

[ ] Bug fix (generally a non-breaking change which closes an issue).
[X] Enhancement or new feature (adds new functionality).
[ ] Breaking change (a bug fix or enhancement which changes existing behavior).

Checklist:

[X] I signed an Apache CLA.
[ ] I reviewed the style guides and followed the recommendations (Travis CI will check :).
[ ] I added tests to cover my changes.
[ ] My changes require further changes to the documentation.
[ ] I updated the documentation where necessary.

Playground3/2114 🔵

@dubee this seems right up your alley! Could you please review?

Playground3/2135/ 🔵

Just rebased to include #3457 (thank @markusthoemmes ).

/Playground3/2138/ 🔵

Codecov Report

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

@@          Coverage Diff           @@
##           master   #3534   +/-   ##
======================================
  Coverage    74.5%   74.5%
======================================
  Files         126     126
  Lines        5950    5950
  Branches      378     378
======================================
  Hits         4433    4433
  Misses       1517    1517

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 d13ff86...37c5bef. Read the comment docs.

@dubee Rebased.  Seem to not be able to start my own Playground, though :(


Admin pages

[ ] Upload

[ ] Upload pictures
[ ] List of uploaded pictures (with CRUD functionality)

[ ] Contacts

[ ] List of people that have used the contact form (with RD functionality)

[ ] Content

[ ] About text/picture

[ ] Settings

[ ] Themes
[ ] Plugin Management
[ ] Preferences
[ ] Site language
[ ] Menu placement (not menu text)

[ ] Side-menu (left/right)

[ ] Blog or News (affects menu text amongst other things)
[ ] Google Analytics code
[ ] About placement:

[ ] Widget above/below menu (if side-menu)
[ ] On separate page

Decided to use AdminLTE as a presentation template for the admin pages.


Http links?

Is there a way to do the same thing with HTTP links?
for example:
https://fonts.gstatic.com/s/roboto/v18/ek4gzZ-GeXAPcSbHtCeQI_esZW2xOQ-xsNqO47m55DA.woff2

Nope, webpack relies on the file system, you can only fetch additional data within a loader, but a source file (even if empty) must exist when using a loader to my knowledge

Ok, thank you.


RAMClustR fails if run on large feature table.

If supplying a feature table with more than 55k entries, RAMClustR fails due to this issue in the ff package ref. I doubt this issue in ff will be fixed.
Since this allocated matrix is symmetric (I assume at least), and only the upper triangle is computed anyway, I think this computation could maybe be optimized in order to never have to store the actual full matrix in memory.
@cbroeckl if you are currently busy and don't have the time to address this issue I'd be happy to support and we will come up with an implementation to solve this.
https://github.com/cbroeckl/RAMClustR/blob/351243d9bb98da7ae684580c8e0fe2f911482190/R/ramclustR.R#L667

Thanks for the quick response! The command ffmat<-ff::ff(vmode="double", dim=c(n, n), initdata = 0) ##reset to 1 if necessary listed above is called with n being the number of features. The ff function is limited to .Machine$integer.max entries, which, as you say, becomes problematic with more than 46k features (seems like my estimation skills above aren't that great, so 46k instead of 55k).
As far as I can see, the matrix is used to store the correlations between the features, which will be a symmetric matrix - you already just compute the upper triangle I think and use a block-wise procedure for efficiency - I will have to have a more detailed look but I think allocating the large matrix can eventually be circumvented since I don't think the ff package will be fixed.
We will need some time to implement some tests to ensure that the program still behaves the same but we can come up with some fix afterwards. We can post it as a PR to this main repo to make those developments accessible for everyone and we can discuss implementation details etc. in the PR to find a solution that works for everyone :)

I believe the issue occurs when coming out of ff and into a distance matrix format necessary for heirarchical clustering.  If i recall, the distance matrix taken in forced a square matrix.  My memory, however, is fallible, and i could be mis-remembering this.  I think that i explored sparse form distance matrices and didn't find a solution.  At one point, @meowcat forked ramclustR to try implementing a more memory efficient approach.  If i recall, https://github.com/meowcat/fastliclust was used instead of the native fastclust algorithm.   I can't remember where this ended though.

@cbroeckl I used a debugger in vscode and traced the failure in my case back to the ff function - could also be that there will be more problems coming up afterwards. Thank you very much for the hints, maybe @meowcat has some more hints?


Installing Distributed openwhisk

Why there is no documentation to install openwhisk in a distributed way
I found some links but they are all 404 :(
I have two servers with ubuntu 14.04
how can I install openwhisk on them?
Does it need two controllers?
Should I use the local deployment again?
What should I install on the master machine and what else on the slaves?
your documentation is so weak on this issue

@alibanaei old links that you found were to unsupported and rotted docs. Can you share the links if they originate from our github so we can fix them?
If you're using VMs, you can deploy to multiple VMs by changing the IPs in the host file as in https://github.com/apache/incubator-openwhisk/blob/master/ansible/environments/jenkins/openwhisk-vm1-he-de.j2.ini and use ansible to deploy.

Thanks a lot
It's the link I found in some problems in Stackoverflow
https://github.com/apache/incubator-openwhisk/blob/master/ansible/README_DISTRIBUTED.md
But I appreciate if you complete the documentation for distributed deploying as this link
https://github.com/apache/incubator-openwhisk/blob/master/tools/ubuntu-setup/README.md
@rabbah


fix for issue #420 non-ascii bug

As #401 #420 #125 mentioned, Empire was not able to deal with non-English characters well in some important situations, like.,
downloads 中文.jpg
I found a way to deal with it and enhance the system by simply modifying two python scripts.
I found that UnicodeDecodeError: 'ascii' codec can't encode ... : ordinal not in range(128) is caused by redundant .decode('utf-8') in lib/common/packet.py, even adding sys.setdefaultencoding('utf-8') cannot fix that (mentioned in this post ). So I insert these lines into lib/common/packet.py:
def build_task_packet(taskName, data):
    ... ...
    temp=data
    try:
        temp=temp.decode('utf-8')
    except:
        # "chinese".decode().decode() will cause an encode error
        pass
    temp=temp.encode('utf-8',errors='ignore')
    length = struct.pack('=L',len(temp))
    return taskID + counter + length + temp

But still this is not enough. It cannot download files like 中文.jpg without changes in lib/common/agents.py . This is because the code in line203 tries to concatenate strings with different types, i.e., str+unicode. When type(filename)=='str' and type(save_path)=='unicode' AND filename contains non-us chars, error will occur WITHOUT any warning. Therefore, I insert following lines to /lib/common/agents.py to fix the bug:
def save_file(self, sessionID, path, data, append=False):
        ... ...
        ... ...
        filename=filename.decode('utf-8')
        if "//downloads/" in save_path:
            save_path=save_path.replace("//downloads/","/downloads/")
        ... ...
        ... ...

I've tested several situations, pure english, pure chinese, and mixed. All tests pass.
Hope it helps.

Tested and confirmed.
Thanks for your help @jolinxql

Hello,
While i changed agents.py and packets.py, the error shows when i launch empire.
Traceback (most recent call last):
File "./empire", line 11, in
from lib.common import empire
File "/opt/Empire/lib/common/empire.py", line 27, in
import agents
File "/opt/Empire/lib/common/agents.py", line 22, in
import http
File "/opt/Empire/lib/common/http.py", line 67, in
class RequestHandler(BaseHTTPRequestHandler):
File "/opt/Empire/lib/common/http.py", line 73, in RequestHandler
serverVersion = helpers.get_config('server_version')[0]
File "/opt/Empire/lib/common/helpers.py", line 537, in get_config
cur.execute("SELECT %s FROM config" % (fields))
sqlite3.OperationalError: no such column: server_version

@jolinxql  looks like you need to run reset.sh


Error when naming a function prop 'onNNN'

The component
<template></template>

<script lang="ts">
import {defineComponent, PropType} from 'vue';
export default defineComponent({
  props: {
    onDelete: {type: Function as PropType<() => void>, required: true}
  },
  setup(props) {
    props.onDelete();
  }
});
</script>

produces the following error in Volar 1.0.9:
Cannot invoke an object which is possibly 'undefined'. [Ln 10, Col 5]

Running vue-tsc from the command line does not produce any errors.
It seems any function prop named onNNN (where NNN is any word) produces the error.
Volar version 1.0.9.

This is types issue of defineComponent, please forward it to https://github.com/vuejs/core/issues.


reduce fails with duplicate column names

Bug report
reduce cannot handle duplicate column names in multiple nested dataframes, as it "flattens" all the input columns to a single dataframe. Fixing this should wait until #33 is resolved. Knowingly introduced by #34 .
Before submitting
Please check the following:

[ ] I have described the situation in which the bug arose, including what code was executed, information about my environment, and any applicable data others will need to reproduce the problem.
[ ] I have included available evidence of the unexpected behavior (including error messages, screenshots, and/or plots) as well as a descriprion of what I expected instead.
[ ] If I have a solution in mind, I have provided an explanation and/or pseudocode and/or task list.

One potential solution here is to rename the columns when generating the merged frame to the form layer.column. Then before returning the result frame we rename all of the columns to drop the layer. prefix.
Renaming columns should in theory be cheap here

I don't think this is mission-critical for v0.1 so I'm opting to remove it from the milestone for now


Every GraphQL type generated to TypeScript is doubled

Which packages are impacted by your issue?
@graphql-codegen/typescript
Describe the bug
graphql-codegen command generates graphql.ts folder with doubled types, I don't even know what more can I say. It just generates types and then runs again and generates everything but imports again.
Your Example Website or App
I think it's not needed
Steps to Reproduce the Bug or Issue

Run npx graphql-codegen
Open graphql.ts file

Expected behavior
Generate types once
Screenshots or Videos

Platform

OS: Windows 11
NodeJS 16.17.0
graphql version: 16.6.0
@graphql-codegen/cli version(s): 2.16.4

Codegen Config File
import { CodegenConfig } from '@graphql-codegen/cli'

const schema = 'https://my-backend-link.com/graphql'

const config: CodegenConfig = {
    schema,
    documents: ['src/**/*.graphql.ts'],
    overwrite: true,
    generates: {
        './src/lib/__generated__/': {
            preset: 'client',
            plugins: ['typescript', 'typescript-operations', 'typescript-react-apollo'],
            presetConfig: {
                gqlTagName: 'gql'
            }
        }
    },
    ignoreNoDocuments: false
}

export default config

Additional context
No response

Duplicate of #8467
Try removing the typescript and typescript-operations plugins since you already use the client preset as per https://github.com/dotansimha/graphql-code-generator/issues/8467#issuecomment-1274283916

thanks, it worked


AddUseHandles -> AddMissingHandles, refactor HandleMapperBase strategies, delete FallbackFate

Described in more detail in: https://docs.google.com/document/d/19QixNPDuDVRmDvKmKqoI2VnPHOOOnQ_jVU0NXz8mocE/edit#heading=h.9aa09nxvdzfj
Also fixes: https://github.com/PolymerLabs/arcs/issues/1413

This doesn't lead to a blowout in generated recipes? Looks like a nice simplification.

It does produce more recipes. It will produce even more recipes when we have more stuff in the context (for example, now it doesn't only suggest finding restaurants near my location, but also Claire's location, because Claire is a person and is in the context).
So we'll need ranking sooner rather than later. But it seems like the right direction anyway.
Alternatively (or if/when this does explode), it is possible to tweak the assign-handles strategy to prefer use fate, if possible, otherwise fallback to map/copy (this will be closer to today's behavior, but more consistent).
Let me know, if you prefer just merging it as is, or with this more conservative alternative.

I think this is sort of another example of us going around in circles then.
Preferring a fate => less recipes, but we don't capture every use case.
Exploding the fates => too many recipes.
We can't just keep going backwards and forwards on this. Like with the other parts of the coalescing doc, we need to take a step back and work out what other signals we can use to intelligently decide whether to go with use, map or copy.
In terms of this specific patch, if it isn't causing an explosion right now, I don't mind if it gets merged. I just don't see this as evidence of us progressing towards a more correct place.

I don't necessarily agree. I think this is better because:

it doesn't do unpredictable confusing wrong stuff, like when fate was set to default use, but then fallback to map/copy, and then failed to coalesce (because we only coalesce terminal recipes with use and create)
the logic and structure of the code a more straight forward and easier to reason about
but mainly, it produces good valid relevant recipes that weren't produced before, and what remains unimplemented is the ranking (but we never really explored it) - it is reasonable for me to want restaurants near Claire's location if Claire is in my context. This suggestion may be more or less relevant depending on our proximity and whether or not I have a meeting scheduled with Claire etc. But it is a valid suggestion.

Re explorations document - it's current goal is to track the changes I'm currently making and understand why they are being made. The stepping back and making intelligent decisions is next stage (at least this was my impression) - after we manage to make this work (so maybe like now? when this PR is submitted? :)) Let's chat in person on Monday?

Right, in that regard it's an improvement. It's also a step backwards in the sense that we used to have this and changed it to what we have now.
If we keep cycling, by definition we're not improving.


MTF Curve way too heavy on gpu

Hey thatcher. I’ve noticed some performance issues with the updated MTF Curve DCTL. The Gaussian blur works well visually, but it consistently pushes my GPU (RTX 4060) to 100% usage and often crashes the project. I find this a bit unusual because other GPU-intensive plugins like Dehancer, as well as tools like Texture Pop and Frequency Separation from Paul Dore, run without any issues on my system.
Do you think it would be possible to optimize the DCTL in a future update? Thanks for your work, despite the problem I was really pleased with the results I've got

Hey, the reality is that DCTL does not allow for efficient blur kernels to be implemented. The more pixels sampled by the DCTL, the slower it will run. The lowest frequency blur band in the MTF curve DCTL requires a blur with a large radius to be applied. If you don't make use of the lowest frequency band, you could set the "Blur Scale" slider to 0.5 and then you'll get faster playback performance. Likewise, if you don't use the two lowest bands, you could set it to 0.25.
The reason those other tools have better playback performance are that OFX are expressive enough to use faster (IE decomposable) blur kernels. Texture pop is similar to OFX, and usually frequency separation DCTLs are used to treat relatively high frequency details, meaning that they end up using a small blur radius and can therefore get good performance with an inefficient approach like my tool uses.
Looking at my code, the main room I see for optimization is that I can make it run faster when the lower frequency sliders are set to 0. I'll check if there's low hanging fruit in terms of truncating the blur kernel, but I'm not optimistic on that front.

Hey, just updated the DCTL to have the optimization discussed at the end of the previous comment

Thank you for the response; it was very insightful. I also appreciate the update! I'll test it out along with what you've mentioned.


[Modal] Using content slot: DialogContent requires a DialogTitle

Environment
Operating System: Windows_NT
Node Version: v20.18.0
Nuxt Version: -
CLI Version: 3.14.0
Nitro Version: -
Package Manager: unknown
Builder: -
User Config: -
Runtime Modules: -
Build Modules: -
Version
v3.0.0-alpha.6
Reproduction
Cannot use v3 on stackblitz so no repo.
Description
Using below code from docs, I am getting a warning when using the content slot.
<UModal>
      <UButton label="Open" color="neutral" variant="subtle" />
      <template #content>
        <Placeholder class="m-4 h-48" />
      </template>
    </UModal>

index.js?v=e9de77c9:2483 Warning: DialogContent requires a DialogTitle for the component to be accessible for screen reader users.
If you want to hide the DialogTitle, you can wrap it with our VisuallyHidden component.
For more information, see https://www.radix-vue.com/components/dialog.html#title
index.js?v=e9de77c9:2485 Warning: Missing Description or aria-describedby="undefined" for DialogContent.

Is there any way to suppress this? What is the best practice here? Should I just ignore this?
I need to use content because content of the modal is a different component with dynamic title and description.

Because header and footer slots are used with body, adding a header will results in the same error. Also It doesn't display the header.
<UModal>
      <UButton label="Open" color="neutral" variant="subtle" />

      <template #header> My Modal </template>
      <template #content>
        <Placeholder class="m-4 h-48" />
      </template>
    </UModal>

Because we are using content, title or description won't make a difference either.
<UModal
    title="Modal with description"
    description="Lorem ipsum dolor sit amet, consectetur adipiscing elit."
>
      <UButton label="Open" color="neutral" variant="subtle" />

      <template #header> My Modal </template>
      <template #content>
        <Placeholder class="m-4 h-48" />
      </template>
    </UModal>

Additional context
No response
Logs
No response

This is a warning thrown by Radix Vue on development only, there's not much we can do about it for now. Will check in the next major (Reka UI) once I migrate.


IMP: Do no allow duplicate records in DNAFASTAFormat

Addresses #198 at least for DNAFASTAFormat. After this is done, maybe I can make AlignedDNAFASTAFormat validate in a similar manner to DNAFASTAFormat. currently all this does is make a set of all encountered ids and raise a ValidationError if it finds any overlaps. This is basically the most basic initial implementation I could think of so we could potentially create a more robust implementation from here, some ideas for that.

Keep track of the lines all the ids occur on so when and if you find a duplicate you can report the lines each of the duplicates came on not just the line the second one occurred on (this one seems like a good idea)
Keep track of all lines all ids occur on and do not error out as soon as a duplicate is found. Instead wait until the validation completes (assuming it doesn't run into any other errors) and report any and all duplicates found while validating along with the lines they occurred on (this seems like overkill to me)

Thoughts?

LGTM, thanks @Oddant1! @ebolyen, reassigning to you in case you want to take a pass through the code. If not, please merge.


Save and load blockly code

Implement #58
This PR provides:

Ability to save the current contents of the blockly editor;
Load a stored program from the list of available pre-defined and user-defined programs;
Delete any user-defined programs.

Currently, localstore is used as the persistence mechanism.  At some point we probably want the blockly programs to be stored on a true backend.

@JamesWP @ginonott

Looks like a great start, Couple of quick things i noticed on first looks:

The selected arena isn't saved along with the code. (i think maybe this can be done later though)
The UI needs a little work, it pushes some content off the bottom of the page. (maybe put the save load into a popup?)
The list of saved programs looks a little funky.

Let me know if you want me to have a look at fixing these parts if you need it :)

Let me know if you want me to have a look at fixing these parts if you need it :)

I am happy to address the points you raised.  I was mainly interested if this goes into the right direction.  I fully agree that the UI needs to made prettier etc.

would it be possible to also have a download and upload options too. this is something i can look at if you're close to finishing up this pr. or maybe in parallel to this. The ideas would be the user can export the code as well as saving it in local storage. this would then allow them to share the work with the teachers etc...
Please reach out if you you require some help on this issue, it's an important feature!

Hey Matt just a quick note about the things we spoke about in our catchup:

The save load ui elements should probably be moved from where they are in the html to be allongside the curent editor and editor controls, this will require using the css grid magic to get the size right.
The state of the component (the list of saved codes) is currently stored inside the component itself and persisted to local storage, however we discussed moving the state into redux and having redux manage the persistance of the data.

Then I think we call it a good one :) Best of luck


Can't extract if text is underlined

It's easy to get font size, or to tell if specific text is italicized, but I have found no way to determine if some text is underlined.  Any pointers here would be greatly appreciated.

Have any news about this? Last try I test it gave me a PDF with some borders on divs, but cant relate those lines to text.
Thank you!

@alejandrofm @jeremyschiff Did either of you figure this out at any point?

@EricAndrechek Not here, I gave out and ignore the underlines


[WIP] Added example for Kuwahara filter implementation

Description
Added an implementation of the Kuwahara adaptive filter working for grayscale images
This is part of my competency test solution for GSoC 2020. I would appreciate any feedback or comments.
References
https://d-nb.info/1094419265/34
Further Development

Implement an channel agnostic version and add to filter.hpp
Document

Tasklist

[ ] Add test case(s)
[ ] Ensure all CI builds pass
[ ] Review and approve

Thanks for the example. For the competency test it looks good.
For submission to GIL as example, it needs copyright notice, formatting, refactoring according to GIL guidelines. However, it will not be accepted before the GSoC students selection is completed.


Bug 1848215: CVE-2020-2182: jenkins-credentials-binding-plugin 1.0.23

jenkins-credentials-binding-plugin 1.0.23 : improper masking of secrets

as https://bugzilla.redhat.com/show_bug.cgi?id=1828484 is not fixed, we have to override e2e tests
/override ci/prow/e2e-gcp

We were impacted by this also: https://github.com/openshift/release/pull/9877
let's see if it we didn't LGTM ; we can /bugzilla refresh

/lgtm

ART build asked here: https://issues.redhat.com/browse/ART-2128


question about capsule tenant owner default Role

Bug description
I have some questions about the default role of tenant owner as described in https://capsule.clastix.io/docs/general/tutorial#assign-tenant-ownership. Maybe this is not a bug.
as the description above. when creating the tenant using the yaml
apiVersion: capsule.clastix.io/v1beta1
kind: Tenant
metadata:
  annotations:
    clusterrolenames.capsule.clastix.io/user.alice: editor,manager
  name: oil
spec:
  owners:
    - kind: User
      name: alice

question 1:
alice the tenant owner will assign  ClusterRole/editor and ClusterRole/manager. In other word,  the clusterRole editor
manager should I create manually?
question 2:

as described in the snapshot  Captured from  https://capsule.clastix.io/docs/general/tutorial#assign-tenant-ownership,
kubectl get rolebindings.rbac.authorization.k8s.io rolebinding is namespace scope. the rolebinding should be created after a namespace created by aclice.
the documentation makes me confusing.

cc @prometherion  need some help!

question 1:
alice the tenant owner will assign ClusterRole/editor and ClusterRole/manager. In other word, the clusterRole editor
manager should I create manually?

tl;dr; yes
This feature has been designed to address a fine-grained multi-tenancy implementation. Let's imagine the case where you're working in a company that must address specific security guidelines and your security department states that the admin role is too much wide for their standards. They're requiring you to implement a new one, named limited_admin that has limitations and meets their criteria. To address this, the Tenant Owners must be bound to that specific ClusterRole that you have created in advance, since also the admin one, by default, is installed by Kubernetes itself.

question 2:
as described in the snapshot Captured from https://capsule.clastix.io/docs/general/tutorial#assign-tenant-ownership,
kubectl get rolebindings.rbac.authorization.k8s.io rolebinding is namespace scope. the rolebinding should be created after a namespace created by aclice.

You're right, we missed to specify that those RoleBinding resources are living in a Namespace owned by a Tenant, we should address it to the documentation by adding the --namespace or -n flag to the command.
Would you like to contribute @TinySong?

@prometherion  PR has submitted, please see if there is anything that needs to be added. 😄


Support custom fonts in Xaml through _compatibleFamilyName

Our implementation of supporting user-supplied fonts could not propagate to XAML because we cannot modify the system's font collection and instead have a separate font collection where we store user-supplied fonts.  XAML can't access this separate font collection, and instead has to pull the font from the file directly.  We already had a private method _compatibleFamilyName which returned the family name required for XAML as CTFontGetFamilyName would return different strings for some fonts, so this has been modified to return the string which XAML will use to get the specified font from its file.
This will be in format @"ms-appx///[Absolute Path To File].ttf#FamilyName".  This however requires that the family name requested from the font be used for that specific font, as families can have multiple files.  For example, WinObjC-Bold.ttf has family name WinObjC as does WinObjC.ttf, but getting _compatibleFamilyName from a regular WinObjC font will not return the correct path to construct a Bold font, so one should be careful to create the font UIFont with required attributes before trying to convert to XAML.
We will get the path to the file by saving the CGDataConsumer which contains the CFURL it is registered with in the IDWriteFontFile we create.  Then, when we go to get the _compatibleFamilyName we retrieve the CGDataConsumer from which we retrieve the CFURL, pull out the path, and return the correct value.
Fixes #2273

:clock1:


Switch to Globus Auth authentication

The pull request replaces local authentication with the Globus Auth IdP. It still uses the same User model which contains username, name, password, affiliation, address, phone but the information is obtained from Globus Auth. Globus Auth provides a sub (OIDC subject which is a unique UUID in this case), preferred_username, name, organization, email. The following Globus information is mapped to the Qiita User fields:
preferred_username -> username,
name -> name,
organization -> affiliation.
The GlobusOAuth2LoginHandler also exchanges an OAuth2 authorization code to access/refresh tokens that can be used to submit file transfers, etc.

Once you login, you end in the page below; not sure why but if I go back to the main page I can see that I'm logged in:

It has bee fixed.

The login doesn't show my UCSD email but the globus ID (I think), is that expected?

Qiita uses email addresses as usernames. Globus does not. In effect, you see your Globus username, you used to log into Globus as a Qiita username, instead of your email address you were asked to provide when you were creating your Globus account.

@lukaszlacinski apologies for the radio silence, but we were wondering if instead of replacing the current authentication system with Globus' we could allow users to link their existing Qiita accounts with a Globus account. This way existing users can augment their existing capabilities. In addition users who don't need to use Globus wouldn't have to create a Globus account.

@lukaszlacinski apologies for the radio silence, but we were wondering if instead of replacing the current authentication system with Globus' we could allow users to link their existing Qiita accounts with a Globus account. This way existing users can augment their existing capabilities. In addition users who don't need to use Globus wouldn't have to create a Globus account.

@ElDeveloper this may be possible. Ideally we'd be able to set it up so new users use Globus, but existing users can do the linking. Do you want to set up a call and have a short chat about how it would work? I'm back at UCSD so I can only ask Lukasz or others in Globus if they have the time or capacity to work on this. If we can define the use case that makes the request clearer.

@ElDeveloper this may be possible. Ideally we'd be able to set it up so new users use Globus, but existing users can do the linking. Do you want to set up a call and have a short chat about how it would work? I'm back at UCSD so I can only ask Lukasz or others in Globus if they have the time or capacity to work on this. If we can define the use case that makes the request clearer.

Very exciting, sure let's discuss this in more detail.

Very exciting, sure let's discuss this in more detail.


CLN: reorganize index.py, test_index.py

Split apart these two very large modules and created a new pandas.indexes subpackage. It would be nice to move all the index class code from pandas.tseries there in a followup patch.

Once the build passes, best not to let this patch linger (to avoid rebase conflicts). @jreback I don't think I broke anything but let me know if any concerns that I can look into

The python 2 tests are still failing, I think you missed a from pandas.compat import range import in the range.py file

Thanks, think I got it now. Will check the build in an hour or two here

@jorisvandenbossche @jreback merge when ready. thank you

OK, cleaned up things per your comments.

lgtm. ping when green.

@jreback we are good to go

boo ya! thanks!


Added CEC Certs to ProdBattery cert enum

A comment
Added Cec Certs to ProdBattery

Added 2 additional option to the CECcert Item type


Default to First Scene if None

I generated a .gltf file using another tool. When processing it with gltf-to-3d-tiles, I found that self.scene = None in Slicer.__init__().
This is easily fixed by setting self.scene = 0 to make the tool resilient, though it is probably an error in the previous tool that I used that caused no scene to be set in that resulting data.
A high-level error message could be preferable to this:
File "...\gltf-to-3d-tiles\gltf\slicer.py", line 24, in __init__
    root = self.scenes[self.scene].nodes[0]
TypeError: list indices must be integers or slices, not **NoneType**

There is precedent for defaulting to the first scene in the glTF spec:
https://github.com/KhronosGroup/glTF/issues/815

fixed in commit 218172d11c54d63be2cc06f7753fafbe397f6226


Conflict with symphony version?

Trying to create a Laravel 5.2 project with oauth2 I create the project using
laravel new myProject
Integrating oauth2-server-laravel using composer gives me a lot of messages pointing at conflicts with other laravel components, see below.
Am I doing something wrong?
$ composer require "lucadegasperi/oauth2-server-laravel: ^5.1"
./composer.json has been updated
> php artisan clear-compiled
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Conclusion: don't install lucadegasperi/oauth2-server-laravel 5.1.1
    - Conclusion: remove symfony/http-foundation v3.0.1
    - Installation request for lucadegasperi/oauth2-server-laravel  ^5.1 -> satisfiable by lucadegasperi/oauth2-server-laravel[5.1.0, 5.1.1].
    - Conclusion: don't install symfony/http-foundation v3.0.1
    - lucadegasperi/oauth2-server-laravel 5.1.0 requires league/oauth2-server 4.1.* -> satisfiable by league/oauth2-server[4.1.0, 4.1.1, 4.1.2, 4.1.3, 4.1.4].
    - league/oauth2-server 4.1.1 requires symfony/http-foundation ~2.4 -> satisfiable by symfony/http-foundation[v2.4.0, v2.4.1,
....

Same problem here with Laravel 5.2.*
Search for a package: lucadegasperi/oauth2-server-laravel
Enter the version constraint to require (or leave blank to use the latest version): 5.1.*
Search for a package:
./composer.json has been updated
> php artisan clear-compiled
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Conclusion: don't install lucadegasperi/oauth2-server-laravel 5.1.1
    - Conclusion: remove symfony/http-foundation v3.0.1
    - Installation request for lucadegasperi/oauth2-server-laravel 5.1.* -> satisfiable by lucadegasperi/oauth2-server-laravel[5.1.0, 5.1.1].
    - Conclusion: don't install symfony/http-foundation v3.0.1
    - lucadegasperi/oauth2-server-laravel 5.1.0 requires league/oauth2-server 4.1.* -> satisfiable by league/oauth2-server[4.1.0, 4.1.1, 4.1.2, 4.1.3, 4.1.4].
    - league/oauth2-server 4.1.1 requires symfony/http-foundation ~2.4 -> satisfiable by symfony/http-foundation[v2.4.0, v2.4.1, v2.4.10, v2.4.2, v2.4.3, v2.4.4, v2.4.5, v2.4.6, v2.4.7, v2.4.8, v2.4.9, v2.5.0, v2.5.1, v2.5.10, v2.5.11, v2.5.12, v2.5.2, v2.5.3, v2.5.4, v2.5.5, v2.5.6, v2.5.7, v2.5.8, v2.5.9, v2.6.0, v2.6.1, v2.6.10, v2.6.11, v2.6.12, v2.6.2, v2.6.3, v2.6.4, v2.6.5, v2.6.6, v2.6.7, v2.6.8, v2.6.9, v2.7.0, v2.7.1, v2.7.2, v2.7.3, v2.7.4, v2.7.5, v2.7.6, v2.7.7, v2.7.8, v2.8.0, v2.8.1].
    - league/oauth2-server 4.1.2 requires symfony/http-foundation ~2.4 -> satisfiable by symfony/http-foundation[v2.4.0, v2.4.1, v2.4.10, v2.4.2, v2.4.3, v2.4.4, v2.4.5, v2.4.6, v2.4.7, v2.4.8, v2.4.9, v2.5.0, v2.5.1, v2.5.10, v2.5.11, v2.5.12, v2.5.2, v2.5.3, v2.5.4, v2.5.5, v2.5.6, v2.5.7, v2.5.8, v2.5.9, v2.6.0, v2.6.1, v2.6.10, v2.6.11, v2.6.12, v2.6.2, v2.6.3, v2.6.4, v2.6.5, v2.6.6, v2.6.7, v2.6.8, v2.6.9, v2.7.0, v2.7.1, v2.7.2, v2.7.3, v2.7.4, v2.7.5, v2.7.6, v2.7.7, v2.7.8, v2.8.0, v2.8.1].
    - league/oauth2-server 4.1.3 requires symfony/http-foundation ~2.4 -> satisfiable by symfony/http-foundation[v2.4.0, v2.4.1, v2.4.10, v2.4.2, v2.4.3, v2.4.4, v2.4.5, v2.4.6, v2.4.7, v2.4.8, v2.4.9, v2.5.0, v2.5.1, v2.5.10, v2.5.11, v2.5.12, v2.5.2, v2.5.3, v2.5.4, v2.5.5, v2.5.6, v2.5.7, v2.5.8, v2.5.9, v2.6.0, v2.6.1, v2.6.10, v2.6.11, v2.6.12, v2.6.2, v2.6.3, v2.6.4, v2.6.5, v2.6.6, v2.6.7, v2.6.8, v2.6.9, v2.7.0, v2.7.1, v2.7.2, v2.7.3, v2.7.4, v2.7.5, v2.7.6, v2.7.7, v2.7.8, v2.8.0, v2.8.1].
    - league/oauth2-server 4.1.4 requires symfony/http-foundation ~2.4 -> satisfiable by symfony/http-foundation[v2.4.0, v2.4.1, v2.4.10, v2.4.2, v2.4.3, v2.4.4, v2.4.5, v2.4.6, v2.4.7, v2.4.8, v2.4.9, v2.5.0, v2.5.1, v2.5.10, v2.5.11, v2.5.12, v2.5.2, v2.5.3, v2.5.4, v2.5.5, v2.5.6, v2.5.7, v2.5.8, v2.5.9, v2.6.0, v2.6.1, v2.6.10, v2.6.11, v2.6.12, v2.6.2, v2.6.3, v2.6.4, v2.6.5, v2.6.6, v2.6.7, v2.6.8, v2.6.9, v2.7.0, v2.7.1, v2.7.2, v2.7.3, v2.7.4, v2.7.5, v2.7.6, v2.7.7, v2.7.8, v2.8.0, v2.8.1].
    - league/oauth2-server 4.1.0 requires symfony/http-foundation ~2.5 -> satisfiable by symfony/http-foundation[v2.5.0, v2.5.1, v2.5.10, v2.5.11, v2.5.12, v2.5.2, v2.5.3, v2.5.4, v2.5.5, v2.5.6, v2.5.7, v2.5.8, v2.5.9, v2.6.0, v2.6.1, v2.6.10, v2.6.11, v2.6.12, v2.6.2, v2.6.3, v2.6.4, v2.6.5, v2.6.6, v2.6.7, v2.6.8, v2.6.9, v2.7.0, v2.7.1, v2.7.2, v2.7.3, v2.7.4, v2.7.5, v2.7.6, v2.7.7, v2.7.8, v2.8.0, v2.8.1].
    - Can only install one of: symfony/http-foundation[v2.8.0, v3.0.1].
    - Can only install one of: symfony/http-foundation[v2.8.1, v3.0.1].
    - Can only install one of: symfony/http-foundation[v2.4.0, v3.0.1].
    - Can only install one of: symfony/http-foundation[v2.4.1, v3.0.1].
    - Can only install one of: symfony/http-foundation[v2.4.10, v3.0.1].
    - Can only install one of: symfony/http-foundation[v2.4.2, v3.0.1].
    - Can only install one of: symfony/http-foundation[v2.4.3, v3.0.1].
    - Can only install one of: symfony/http-foundation[v2.4.4, v3.0.1].
    - Can only install one of: symfony/http-foundation[v2.4.5, v3.0.1].
    - Can only install one of: symfony/http-foundation[v2.4.6, v3.0.1].
    - Can only install one of: symfony/http-foundation[v2.4.7, v3.0.1].
    - Can only install one of: symfony/http-foundation[v2.4.8, v3.0.1].
    - Can only install one of: symfony/http-foundation[v2.4.9, v3.0.1].
    - Can only install one of: symfony/http-foundation[v2.5.0, v3.0.1].
    - Can only install one of: symfony/http-foundation[v2.5.1, v3.0.1].
    - Can only install one of: symfony/http-foundation[v2.5.10, v3.0.1].
    - Can only install one of: symfony/http-foundation[v2.5.11, v3.0.1].
    - Can only install one of: symfony/http-foundation[v2.5.12, v3.0.1].
    - Can only install one of: symfony/http-foundation[v2.5.2, v3.0.1].
    - Can only install one of: symfony/http-foundation[v2.5.3, v3.0.1].
    - Can only install one of: symfony/http-foundation[v2.5.4, v3.0.1].
    - Can only install one of: symfony/http-foundation[v2.5.5, v3.0.1].
    - Can only install one of: symfony/http-foundation[v2.5.6, v3.0.1].
    - Can only install one of: symfony/http-foundation[v2.5.7, v3.0.1].
    - Can only install one of: symfony/http-foundation[v2.5.8, v3.0.1].
    - Can only install one of: symfony/http-foundation[v2.5.9, v3.0.1].
    - Can only install one of: symfony/http-foundation[v2.6.0, v3.0.1].
    - Can only install one of: symfony/http-foundation[v2.6.1, v3.0.1].
    - Can only install one of: symfony/http-foundation[v2.6.10, v3.0.1].
    - Can only install one of: symfony/http-foundation[v2.6.11, v3.0.1].
    - Can only install one of: symfony/http-foundation[v2.6.12, v3.0.1].
    - Can only install one of: symfony/http-foundation[v2.6.2, v3.0.1].
    - Can only install one of: symfony/http-foundation[v2.6.3, v3.0.1].
    - Can only install one of: symfony/http-foundation[v2.6.4, v3.0.1].
    - Can only install one of: symfony/http-foundation[v2.6.5, v3.0.1].
    - Can only install one of: symfony/http-foundation[v2.6.6, v3.0.1].
    - Can only install one of: symfony/http-foundation[v2.6.7, v3.0.1].
    - Can only install one of: symfony/http-foundation[v2.6.8, v3.0.1].
    - Can only install one of: symfony/http-foundation[v2.6.9, v3.0.1].
    - Can only install one of: symfony/http-foundation[v2.7.0, v3.0.1].
    - Can only install one of: symfony/http-foundation[v2.7.1, v3.0.1].
    - Can only install one of: symfony/http-foundation[v2.7.2, v3.0.1].
    - Can only install one of: symfony/http-foundation[v2.7.3, v3.0.1].
    - Can only install one of: symfony/http-foundation[v2.7.4, v3.0.1].
    - Can only install one of: symfony/http-foundation[v2.7.5, v3.0.1].
    - Can only install one of: symfony/http-foundation[v2.7.6, v3.0.1].
    - Can only install one of: symfony/http-foundation[v2.7.7, v3.0.1].
    - Can only install one of: symfony/http-foundation[v2.7.8, v3.0.1].
    - Installation request for symfony/http-foundation == <IP_ADDRESS> -> satisfiable by symfony/http-foundation[v3.0.1].

Confirmed, I've opened an issue at the leage/oauth2-server package. Thanks for reporting!

This should be solved now in 4.1.5. Run composer update in order to fix this.

Awesome thanks!!

Thanks a lot for this super fast fix, now it works like a charm!

Error not solved:
1. composer.json
"require": {
    "php": ">=5.5.9",
    "laravel/framework": "5.2.*",
    "tinymce/tinymce": "^4.2",
    "guzzlehttp/guzzle": "^6.1",
    "barryvdh/laravel-ide-helper": "^2.1",
    "doctrine/dbal": "^2.5",
    "lucadegasperi/oauth2-server-laravel": "5.0.*"

2. Console error
>composer update

php artisan clear-compiled
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.

Problem 1
- Conclusion: remove laravel/framework v5.2.12
- Conclusion: don't install laravel/framework v5.2.12
- Conclusion: don't install laravel/framework v5.2.11
- Conclusion: don't install laravel/framework v5.2.10
- Conclusion: don't install laravel/framework v5.2.9
- Conclusion: don't install laravel/framework v5.2.8
- Conclusion: don't install laravel/framework v5.2.7
- Conclusion: don't install laravel/framework v5.2.6
- Conclusion: don't install laravel/framework v5.2.5
- Conclusion: don't install laravel/framework v5.2.4
- Conclusion: don't install laravel/framework v5.2.3
- Conclusion: don't install laravel/framework v5.2.2
- Conclusion: don't install laravel/framework v5.2.1
- lucadegasperi/oauth2-server-laravel 5.0.0 requires illuminate/config 5.1.* -> satisfiable by illuminate/config[v5.1.1, v5.1.13, v5.1.16, v5.1.2, v5.1.20, v5.1.22, v5.1.25, v5.1
.28, v5.1.6, v5.1.8].
- lucadegasperi/oauth2-server-laravel 5.0.1 requires illuminate/config 5.1.* -> satisfiable by illuminate/config[v5.1.1, v5.1.13, v5.1.16, v5.1.2, v5.1.20, v5.1.22, v5.1.25, v5.1
.28, v5.1.6, v5.1.8].
- lucadegasperi/oauth2-server-laravel 5.0.2 requires illuminate/config 5.1.* -> satisfiable by illuminate/config[v5.1.1, v5.1.13, v5.1.16, v5.1.2, v5.1.20, v5.1.22, v5.1.25, v5.1
.28, v5.1.6, v5.1.8].
- lucadegasperi/oauth2-server-laravel 5.0.3 requires illuminate/config 5.1.* -> satisfiable by illuminate/config[v5.1.1, v5.1.13, v5.1.16, v5.1.2, v5.1.20, v5.1.22, v5.1.25, v5.1
.28, v5.1.6, v5.1.8].
- don't install illuminate/config v5.1.1|don't install laravel/framework v5.2.0
- don't install illuminate/config v5.1.13|don't install laravel/framework v5.2.0
- don't install illuminate/config v5.1.16|don't install laravel/framework v5.2.0
- don't install illuminate/config v5.1.2|don't install laravel/framework v5.2.0
- don't install illuminate/config v5.1.20|don't install laravel/framework v5.2.0
- don't install illuminate/config v5.1.22|don't install laravel/framework v5.2.0
- don't install illuminate/config v5.1.25|don't install laravel/framework v5.2.0
- don't install illuminate/config v5.1.28|don't install laravel/framework v5.2.0
- don't install illuminate/config v5.1.6|don't install laravel/framework v5.2.0
- don't install illuminate/config v5.1.8|don't install laravel/framework v5.2.0
- Installation request for laravel/framework 5.2.* -> satisfiable by laravel/framework[v5.2.0, v5.2.1, v5.2.10, v5.2.11, v5.2.12, v5.2.2, v5.2.3, v5.2.4, v5.2.5, v5.2.6, v5.2.7,
v5.2.8, v5.2.9].
- Installation request for lucadegasperi/oauth2-server-laravel 5.0.* -> satisfiable by lucadegasperi/oauth2-server-laravel[5.0.0, 5.0.1, 5.0.2, 5.0.3].

change
"lucadegasperi/oauth2-server-laravel": "5.0."
to
"lucadegasperi/oauth2-server-laravel": "5.1."

@gmferreir1 Thanks!

Thanks gmferrier1

VLWWWWWWWW :)


DRAFT: Test CI with new definitions

Debugging a Check on PRs issue

Issue identified as blocklisting ".trunk". Awaiting fix to land


No Mailchimp Update on Customer Update

Sylius 1.4.4.
If the customer or the admin updates his status for the newsletter its not updating this in mailchimp. It only sends the new registered customer to MC.
So far I read the manual I understand that this is a basic function?
TELLO

Hi @TELLO0815. We will review it and fix it if necessary.
Thanks for your feedback!


Max pooling is directly followed by upsampling

The network's structure contains max pooling immediately followed by upsampling.
Maybe I'm missing something but it doesn't seem to make any sense. And just removing it should improved results.
local pool7 = nn.SpatialMaxPooling(2,2,2,2)(conv7_relu)
local unpool00 = nn.SpatialUpSamplingNearest(2)(pool7)

Is there something specific that this structure addresses?

@jackaceuser For perspective images with type prediction, the pooling operation is needed for shrinking down the parameters. But I agree with you for general case in solving panoramic/perspective images the max pooling + unsampling is a bit redundant. :)


Invalid ParameterGroup takes 45 minutes to roll back

Hi,
I just wanted to make you aware of https://github.com/aws-cloudformation/cloudformation-coverage-roadmap/issues/1014, which seems to affect this resource provider. I am re-reporting this here, since there has been no interaction (maybe I was reporting to the wrong repo).

The corresponding issue in the CFN roadmap repo was resolved. Closing this one as well.


Update copyright year

Previous: #101

Just checking: is this waiting for something?

I don't think so... I probably just forgot to press the "Merge" button, since the jobs were not all green.


Add oeth entity for ushakov

Hi @k0kk0k
Thanks for submitting your entity information.
We've added your entity id into our ParaTime allowlist. You can join our compute node group now.

Dear @k0kk0k  ,
Thanks for submitting the SSVM ParaTime entities.
We are encountering an issue related to the storage state. The consensus will be broken when any new ParaTime joins into the consensus group. That's why your entity is not in the whitelist at this moment.
Fortunately, we figured out the issue and fixed it with the support of the oasis team.
To fix it, we are planning to update the ParaTime settings and software after the hackathon.
We will stop the ParaTime at 10/26 10:00 a.m. (UTC+8), and restart it at 10/26 18:00 p.m (UTC+8) .
After restarting the ParaTime, your entity will be added back to the whitelist. Also, we will update the step-by-step setup guide and video.
My apologies for any inconvenience. And thanks for your patience.

Dear @k0kk0k ,
Hello :) it is Miley from Oasis Ethereum. Have you run the updated software yet? If not please make time to do so to get ready before the mainnet launch in February. Details here -> https://link.medium.com/eZ18ZTC4odb
The OasisEth is in its mainnet beta stage right now. After we run the latest release v1.5.2 for a couple of weeks, we will announce the mainnet genesis. If you encounter any kind of problem operating the node please do not hesitate to contact me and the team. Looking forward to hearing from you!

Dear @k0kk0k ,
Hello :) it is Miley from Oasis Ethereum. Have you run the updated software yet? If not please make time to do so to get ready before the mainnet launch in February. Details here -> https://link.medium.com/eZ18ZTC4odb
The OasisEth is in its mainnet beta stage right now. After we run the latest release v1.5.2 for a couple of weeks, we will announce the mainnet genesis. If you encounter any kind of problem operating the node please do not hesitate to contact me and the team. Looking forward to hearing from you!


Improve article 2112.00828

Exact location of issue
Article fails to convert.
Problem details
Based on the log looks like an infinite loop connected to missing support for stackengine.sty.

Thank you for the report. I have edited the issue description with more details.


Better visibility of what forkability looks for before being run

After a glance over of the readme and the webapp, I couldn't tell what forkability looked for before running the app. I know it shows a demo output under Node Module / Command Line, but can I open a PR to have this show more prominently in the README / index page of the webapp?
# Forkability found 6 recommended features, and has 2 suggestions

# Features (6)
✓ Contributing document
✓ Readme document
✓ License document
✓ .gitignore file
✓ Test suite
✓ Tags are being used

---

# Suggestions (2)
! Changelog document
! Uncommented issue: Comment on the issue to indicate acknowledgement
└── Media Responses: https://github.com/basicallydan/interfake/issues/19

Good catch.
Thank you, and please do open a PR

Hi @dougaitken thanks for the issue!
Sure make a PR. However, for the command line output it's pretty high up in the readme, right under instructions. As for the web app, I don't think that same text is appropriate alongside the main form.
For the web app, I think I'd rather see an actual live example, maybe have a big-ish button which links to the Forkability result for Forkability?
Also, under the heading "Web App" in the README perhaps a screenshot of the output could be shown to give people an idea? What do you guys think?

a screenshot with a button that links to forkability for forkabilty sounds good to me


Lots of missing pragmas for DeveloperError

Edit gulpfile.js and change the combine step so that removePragmas is true.
Run the combine step and then search the resulting Build/CesiumUnminified/Cesium.js file for new DeveloperError.

There will be a ton of occurrences in the code when there should be none.  This also affects performance due to additional if checks in hot code.  Any place it appears means that it's missing the proper pragma notation as discussed in the Coding Guide: https://github.com/AnalyticalGraphicsInc/cesium/tree/master/Documentation/Contributors/CodingGuide#throwing-exceptions
It should be easy to detect this as part of the build process in the future, once the initial problems are fixed.

Hey! Is this still open. Can I work on it?

Of course!  In order for us to review and accept a pull request, you'll need to email us a CLA as described here: https://github.com/AnalyticalGraphicsInc/cesium/blob/master/CONTRIBUTING.md
That document also contains links to other relevant information you'll need (such as the Coding Guide) in order to make your PR a successful one.
Thanks in advance.

@mramato There's a destroyObject function that replaces an object's methods with a throwOnDestroyed method that simply throws a DeveloperError when invoked. What should the behavior of this be in production code? Not sure if this DeveloperError should be handled like all the other ones.

Also, what about "interface specifications", like in Source/Core/TilingScheme.js, which should not be used at all, are they actually included in the output bundle when building for production?

Not sure if this DeveloperError should be handled like all the other ones.

@pjcozzi or @shunter can second this, but perhaps it should either be a RuntimeError instead or a no-op (don't replace the functions at all).  I think I would prefer either of those to leaving an un-pragma'd DeveloperError

Also, what about "interface specifications", like in Source/Core/TilingScheme.js, which should not be used at all, are they actually included in the output bundle when building for production?

Same opinion here as above, these make more sense as RuntimeError or being pragma'd out.
Let's go with pragma-ing both cases for now and if anyone has any objections, it's easy enough to change if there are any objections.

Let's go with pragma-ing both cases for now and if anyone has any objections, it's easy enough to change if there are any objections.

+1

@mramato Can you close this? (I didn't use the "Fixes #..." reference in the PR before it was merged...)


Add {system.home}

Add {system.home} to address issue #153

I've manually added this to resources2 branch.


Make the proto type in the Protobuf trait an associated type

Is your feature request related to a problem? Please describe.
We've talked about adding an object cache to the State, so that compound objects (like a CompactBlock) can be built up incrementally, without constant serialization round-trips.  This would basically involve having a HashMap<KeyHash, Box<dyn Protobuf>>, but we can't do that right now, because the Protobuf type has a type parameter, so we can't have a collection of "some kind of domain type" without naming the proto type.
Describe the solution you'd like
Redo #353 at some point soon when there are no in-flight changes to the codebase (since it will conflict with basically everything).

I don't think redoing #353 will actually solve this, because dyn Trait requires you to specify the associated type, too. For example (check it out in the Rust playground):
trait Trait {
    type Associated;
}

struct Struct;

impl Trait for Struct {
    type Associated = ();
}

type DynTrait = dyn Trait;

This results in the error:
error[[E0191]](https://doc.rust-lang.org/stable/error-index.html#E0191): the value of the associated type `Associated` (from trait `Trait`) must be specified
  --> src/lib.rs:11:21
   |
2  |     type Associated;
   |     ---------------- `Associated` defined here
...
11 | type DynTrait = dyn Trait;
   |                     ^^^^^ help: specify the associated type: `Trait<Associated = Type>`

For more information about this error, try `rustc --explain E0191`.

In some sense, the rust compiler treats associated types as "function-like type parameters", and they inherit the dyn restriction of needing to be specified. The reason this restriction exists is that if you added a method like fn get() -> Self::Associated, this couldn't be called on a dyn Trait object without the type Associated being fixed, or else the calling convention would differ dynamically, which would be unsafe.
I think you're right that we need to implement #353, but then additionally we also need to make an extension trait which which is both dyn-safe and does not require us to specify the associated type. This would look something like (assuming Protobuf has an associated type Proto instead of its current unfixed generic type):
trait CacheObject: Any {
    fn encode(&self) -> Vec<u8>;
    fn decode(buffer: &[u8]) -> anyhow::Result<Self>; // has to be monomorphic to be dyn-safe
}

impl<T: Protobuf + Any> CacheObject for T {
    fn encode(&self) -> Vec<u8> {
        <Self as Protobuf>::encode_to_vec(self)
    }

    fn decode(buffer: &[u8]) -> anyhow::Result<Self> {
        <Self as Protobuf>::decode(buffer)
    }
}

Then we could have our cache be a HashMap<KeyHash, Box<dyn CacheObject>>.
It's also worth noting that since KeyHashes are already hashed, we would benefit by using hash_hasher's HashedMap, which is a much faster hash than the default hash map hash, provided that the input is already hashed.

Thanks for writing this up, this is really helpful to flag before we dive in to making changes.
My sense from this is that we should pause on making big changes to the traits, make a new issue to discuss the changes to the State design, and then figure out whether the benefit of implementing that is currently worth it relative to everything else.

An update on this comment:

It's also worth noting that since KeyHashes are already hashed, we would benefit by using hash_hasher's HashedMap, which is a much faster hash than the default hash map hash, provided that the input is already hashed.

The newer state architecture has this be a BTreeMap<String, Option<Vec<u8>>>, so the commentary about hash_hasher no longer is applicable.

Further thoughts: I think the solution proposed above is actually not right. The signature of CacheObject::decode still varies by the type of T, which means that CacheObject isn't dyn-safe after all, since if T differed, then the return type of that method would, which would be a memory safety violation. We need to add a where Self: Sized bound to decode, which means that it can only be invoked on a known T (this is also, already true, because it's a static method). Because of this restriction, we can also allow decode to be fully polymorphic again:
trait CacheObject: Any {
    fn encode(&self) -> Vec<u8>;
    fn decode<B: bytes::Buf>(buf: B) -> anyhow::Result<Self> where Self: Sized;
}

In the RYW cache, we only need to invoke encode on Box<dyn CacheObject>s, to write them out; reading things into the cache from disk is not done. So we could also drop the method entirely.

In the end, we decided not to do this, and instead we have an object cache as part of the state.


Support native PDF LaTeX export

Currently I use the inkscape -D -z --file input.svg --export-pdf output.pdf_tex --export-latex to create a PDF file that can be imported into LaTeX and uses the fonts etc. from LaTeX. But I have to manually escape f.e. the percentage signs from the axis or fiddle around quite a lot to make the paddings etc. work. Therefore I'd like to know, if a native latex PDF LaTeX export is on the table for the future.

As a very basic workaround for the font, you can install the Computer Modern font from here and then use it in your Altair code with something like labelFont='CMU Serif'.

AFAIK, matplotlib support exporting plots to latex  like:
plt.savefig('figure.pdf', backend='pgf')

I often have to insert plots in latex, and if you could provide similar feature, this will become an advantage of alrair. :)

If that feature is important to you, I’d suggest sticking with matplotlib.

Since Altair 5.2, the functionality of Altair Saver is now available in Altair via the vl-convert package. Most of the functionality has been available since 5.0, and the main addition in 5.2 was PDF export. See the docs on how to save charts for more details.
We are going to archive this repo, so I'm closing all the open issues and PRs before doing so. Try out the new options for saving charts mentioned above and if you run into issues, please open an issue directly in the altair or vl-convert repo.


Next Release?

Hi  AnderWeb,
¿When will next Release be available  in JCenter?
There are several improvements like option for stepped values,etc. not avaible in release 1.0.0
Thanks!.

+1

uploaded 1.0.1 to bintray


Add basic searchbar

Disc
Add basic search functionality with Simple-Jekyll-Search.
Features

create search.json
add searchbar
basic animations
focus input on touch
switch searchbar and animation on/off in _config.yml

Screenshot

I've migrated some clumsy css to javascript, and gave the visual a overhaul. Tell me if you like it. @thelehhman

Great work @DotIN13!
Could you rebase your PR & squash your commits?

Also, please add a description about the search in the README.

I have squashed commits and added description to README. Check it out! @thelehhman

I can't find the search.scss file. Could you check?

I can't find the search.scss file. Could you check?

Sorry I made a mistake with git add, I'll fix that now.

Missing files were added, now it should be fine. @thelehhman

Thanks a lot @DotIN13!
Its a great addition :)

Glad ya liked it! Cheers! @thelehhman


MINOR: [Java] Bump maven.version from 3.3.9 to 3.9.6 in /java

Rationale for this change
This is a draft PR to evaluate the maven bump done by the dependabot https://github.com/apache/arrow/pull/39371
What changes are included in this PR?
Change the maven version to 3.9.6
Are these changes tested?
N/A
If tests are not included in your PR, please explain why (for example, are they covered by existing tests)?
The CI's itself will test the change
Are there any user-facing changes?
No

@github-actions crossbow submit java

@github-actions crossbow submit java

Reasoned here: https://github.com/apache/arrow/pull/39371
closing in favor of the discussion in the mentioned thread.


HTMLImageElement.decode() method is missing

Missing/Incorrect APIs
The decode() method of the HTMLImageElement interface is missing. It returns a Promise that resolves when the image is decoded and it is safe to append the image to the DOM. This prevents a decoding delay on the next frame.
Relevant documentation
https://html.spec.whatwg.org/multipage/#dom-img-decode
https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement/decode

Thanks for reporting @jcready I can try to fix this if I get some time. If anyone else wants to jump on this first, the relevant code is here: https://github.com/facebook/flow/blob/c34fd59cf346650fbf2eeaedc38af9adf1d17da8/lib/dom.js#L2974

It ended up not taking much effort and I've done it here: https://github.com/facebook/flow/pull/7691

Looks like this went out with 0.98.1


Feature: Output to HTML

Pre-submission checks

[X] I am not reporting a new vulnerability or requesting a new vulnerability identifier. These must be reported or managed via upstream dependency sources or services, not this repository.
[X] I agree to follow the PSF Code of Conduct.
[X] I have looked through the open issues for a duplicate request.

What's the problem this feature will solve?
I am using this tool in a CI that does not handle the existing report styles, but it will handle html (currently I am looking at using markdown2 to convert the markdown your tool does produce.) It would be more convenient if this tool would output in the html format directly
Describe the solution you'd like
The solution I would like is to have an html formatted report. I suspect this would be straight forward since the hard work is already done to make the markdown pretty.
Additional context
No response

Thanks for the feature request @ajpenner!
I'm a -0 on this: I don't think it would be hard to add (since we could wrap the existing Markdown output, like you said), but HTML has more degrees of freedom around styling (and headers/footers) that users will probably want to specialize, leaving us with an open-ended set of feature requests.
I'll let the other maintainers chime in, though -- if we explicitly constrained it to "emits unstyled HTML" then this is a pretty trivial feature change :slightly_smiling_face:

In the mean time, you could probably use pandoc or grip to to this conversion as part of a pipeline:
pip-audit --format=markdown | pandoc -f markdown -t html -o report.html


feat: added method to duplicate predicate

Closes https://github.com/FuelLabs/fuels-ts/issues/3392

Release notes
In this release, we:

Added method fromInstance to the Predicate class.

Summary

Added the method fromInstance to the Predicate class. This allows the consumer to create a new predicate instance with new configurable parameters and data.

Checklist

[x] All changes are covered by tests (or not applicable)
[X] All changes are documented (or not applicable)
[X] I reviewed the entire PR myself (preferably, on GH UI)
[X] I described all Breaking Changes (or there's none)

@Torres-ssf @danielbate @petertonysmith94 hello, could you please check this implementation and if that fits point me which docs it should be documented in?

@YaTut1901 can you please fix the lint errors?

hey, yes off course, just decided to postpone it until the implementation will be approved

@petertonysmith94 could you suggest any other issue to take?

hello @Torres-ssf @danielbate , may this PR be merged?

hello @Torres-ssf @danielbate , may this PR be merged?

@YaTut1901 Please make sure to request a re-review after finishing applying the requested changes

@danielbate @petertonysmith94 approve please


Suggestion: Allow setting RowHeight in Results Grid View.

SQL Operations Studio Version: 0.26.7

Steps to Reproduce: Run any query that returns results.
The Results Grid has very tall rows, showing about half the data density that SQL Server Management Studio would show in its Results view.
Suggestion: Add a Setting to set the RowHeight of the Results Grid.

Found that a bit annoying too, some way of workaround is to CTRL +/- the size of text and actually the query window and rest of the UI are scaled separately. If you get focus in the result pane and resize and then go to query window and resize text you might get decent results.
Hope this helps.


OpenAI fine-tune shows "That model doesn't exist"

I have already trained a fine-tuned model. I am able to retrieve the details of the model using Open AI API. However, when I am using it in a Completion.create() it gives "This model doesn't exist".
Any reason as to why this happened ?
I have already been charged for the fine-tune training process. It also shows up on my account.

Hi there! We've responded to the support request you sent in on our site, so I'll close this issue and we can discuss there (the issue is unrelated to the openai python package itself)

Hi, There, I met the same error. my mpdel was fine tuned, but "that model doesn't exist err" is occured.
How can I fix this bug?

OpenAI fine-tune shows "That model doesn't exist"
I trained / fine tuned the model, but getting error like
The model ABCD does not exist
What could be the issue ?

HI Schnerd,
I could able to resolve above issue,
Thanks a lot for your support.

HI Schnerd,
I could able to resolve above issue, Thanks a lot for your support.

@SrikanthanNK How did you resolve your issue?

I resolved this issue.
Just created a new API Key and it works for me.


Failing upgrade Basic Load Balancer

Hello There,
We are trying to upgrade a Load Balancer which is in front of a Virtual machine scale set of Pulse Secure Virtual Traffic Managers, We keep getting the following error;
2022-11-11 01:25:43.5808 [Error] - [BackupBasicLoadBalancer] An error occured while exporting the VMSS '' for backup purposes. Error: Exception calling "Serialize" with "3" argument(s): "The specified type Microsoft.Azure.Commands.Compute.Automation.Models.PSVirtualMachineScaleSet must derive from the specific value's type System.Object[]."
the PowerShell window keeps closing so not able to get any messages from that, tried to make sure all Modules are the most updated ones, we have two setups of the Virtual machine scale set with Load Balancer and both are failing to upgrade.
Thanks,
Matt G

Hi @MattGammonAtSeeTickets,
It looks like we are not getting a valid VMSS object ID from the list of backend pool members on your Basic load balancer--that error should have the VMSS name in the single quotes.
Would you mind sharing the JSON view of your Basic load balancer? The easiest way to get this is to navigate to your load balancer in the Portal, then on the Overview page, click the JSON View link at the top right. Feel free to scrub subscription IDs or other sensitive details.

Hi @mbrat2005
Thanks, below are the JSON you have requested from one we are testing with at the momnet;
{     "name": "mmtestdel-vtmLB",     "id": "/subscriptions/********-****-****-****-************/resourceGroups/martin-test-delete/providers/Microsoft.Network/loadBalancers/mmtestdel-vtmLB",     "etag": "W/\"cdf91a38-6e8c-43e0-a717-57573e162eab\"",     "type": "Microsoft.Network/loadBalancers",     "location": "*******",     "properties": {         "provisioningState": "Succeeded",         "resourceGuid": "d2c9e6d6-4749-4c7e-a197-6f2a4456288d",         "frontendIPConfigurations": [             {                 "name": "LoadBalancerFrontEnd",                 "id": "/subscriptions/********-****-****-****-************/resourceGroups/martin-test-delete/providers/Microsoft.Network/loadBalancers/mmtestdel-vtmLB/frontendIPConfigurations/LoadBalancerFrontEnd",                 "etag": "W/\"cdf91a38-6e8c-43e0-a717-57573e162eab\"",                 "type": "Microsoft.Network/loadBalancers/frontendIPConfigurations",                 "properties": {                     "provisioningState": "Succeeded",                     "privateIPAllocationMethod": "Dynamic",                     "publicIPAddress": {                         "id": "/subscriptions/********-****-****-****-************/resourceGroups/martin-test-delete/providers/Microsoft.Network/publicIPAddresses/mmtestdel"                     },                     "loadBalancingRules": [                         {                             "id": "/subscriptions/********-****-****-****-************/resourceGroups/martin-test-delete/providers/Microsoft.Network/loadBalancers/mmtestdel-vtmLB/loadBalancingRules/vTMTrafficRule"                         }                     ],                     "inboundNatRules": [                         {                             "id": "/subscriptions/********-****-****-****-************/resourceGroups/martin-test-delete/providers/Microsoft.Network/loadBalancers/mmtestdel-vtmLB/inboundNatRules/sshNatPool.0"                         },                         {                             "id": "/subscriptions/********-****-****-****-************/resourceGroups/martin-test-delete/providers/Microsoft.Network/loadBalancers/mmtestdel-vtmLB/inboundNatRules/adminNatPool.0"                         },                         {                             "id": "/subscriptions/********-****-****-****-************/resourceGroups/martin-test-delete/providers/Microsoft.Network/loadBalancers/mmtestdel-vtmLB/inboundNatRules/restNatPool.0"                         },                         {                             "id": "/subscriptions/********-****-****-****-************/resourceGroups/martin-test-delete/providers/Microsoft.Network/loadBalancers/mmtestdel-vtmLB/inboundNatRules/martindeletesshnonat"                         }                     ],                     "inboundNatPools": [                         {                             "id": "/subscriptions/********-****-****-****-************/resourceGroups/martin-test-delete/providers/Microsoft.Network/loadBalancers/mmtestdel-vtmLB/inboundNatPools/sshNatPool"                         },                         {                             "id": "/subscriptions/********-****-****-****-************/resourceGroups/martin-test-delete/providers/Microsoft.Network/loadBalancers/mmtestdel-vtmLB/inboundNatPools/adminNatPool"                         },                         {                             "id": "/subscriptions/********-****-****-****-************/resourceGroups/martin-test-delete/providers/Microsoft.Network/loadBalancers/mmtestdel-vtmLB/inboundNatPools/restNatPool"                         }                     ]                 }             }         ],         "backendAddressPools": [             {                 "name": "LoadBalancerBackend",                 "id": "/subscriptions/********-****-****-****-************/resourceGroups/martin-test-delete/providers/Microsoft.Network/loadBalancers/mmtestdel-vtmLB/backendAddressPools/LoadBalancerBackend",                 "etag": "W/\"cdf91a38-6e8c-43e0-a717-57573e162eab\"",                 "properties": {                     "provisioningState": "Succeeded",                     "backendIPConfigurations": [                         {                             "id": "/subscriptions/********-****-****-****-************/resourceGroups/martin-test-delete/providers/Microsoft.Compute/virtualMachineScaleSets/mmtestdel-vmss/virtualMachines/0/networkInterfaces/mmtestdel-nic/ipConfigurations/mmtestdel-ipconfig"                         }                     ],                     "loadBalancingRules": [                         {                             "id": "/subscriptions/********-****-****-****-************/resourceGroups/martin-test-delete/providers/Microsoft.Network/loadBalancers/mmtestdel-vtmLB/loadBalancingRules/vTMTrafficRule"                         }                     ]                 },                 "type": "Microsoft.Network/loadBalancers/backendAddressPools"             }         ],         "loadBalancingRules": [             {                 "name": "vTMTrafficRule",                 "id": "/subscriptions/********-****-****-****-************/resourceGroups/martin-test-delete/providers/Microsoft.Network/loadBalancers/mmtestdel-vtmLB/loadBalancingRules/vTMTrafficRule",                 "etag": "W/\"cdf91a38-6e8c-43e0-a717-57573e162eab\"",                 "type": "Microsoft.Network/loadBalancers/loadBalancingRules",                 "properties": {                     "provisioningState": "Succeeded",                     "frontendIPConfiguration": {                         "id": "/subscriptions/********-****-****-****-************/resourceGroups/martin-test-delete/providers/Microsoft.Network/loadBalancers/mmtestdel-vtmLB/frontendIPConfigurations/LoadBalancerFrontEnd"                     },                     "frontendPort": 443,                     "backendPort": 443,                     "enableFloatingIP": false,                     "idleTimeoutInMinutes": 4,                     "protocol": "Tcp",                     "loadDistribution": "Default",                     "backendAddressPool": {                         "id": "/subscriptions/********-****-****-****-************/resourceGroups/martin-test-delete/providers/Microsoft.Network/loadBalancers/mmtestdel-vtmLB/backendAddressPools/LoadBalancerBackend"                     },                     "probe": {                         "id": "/subscriptions/********-****-****-****-************/resourceGroups/martin-test-delete/providers/Microsoft.Network/loadBalancers/mmtestdel-vtmLB/probes/vtmAdminProbe"                     }                 }             }         ],         "probes": [             {                 "name": "vtmAdminProbe",                 "id": "/subscriptions/********-****-****-****-************/resourceGroups/martin-test-delete/providers/Microsoft.Network/loadBalancers/mmtestdel-vtmLB/probes/vtmAdminProbe",                 "etag": "W/\"cdf91a38-6e8c-43e0-a717-57573e162eab\"",                 "properties": {                     "provisioningState": "Succeeded",                     "protocol": "Tcp",                     "port": 9090,                     "intervalInSeconds": 5,                     "numberOfProbes": 2,                     "loadBalancingRules": [                         {                             "id": "/subscriptions/********-****-****-****-************/resourceGroups/martin-test-delete/providers/Microsoft.Network/loadBalancers/mmtestdel-vtmLB/loadBalancingRules/vTMTrafficRule"                         }                     ]                 },                 "type": "Microsoft.Network/loadBalancers/probes"             }         ],         "inboundNatRules": [             {                 "name": "sshNatPool.0",                 "id": "/subscriptions/********-****-****-****-************/resourceGroups/martin-test-delete/providers/Microsoft.Network/loadBalancers/mmtestdel-vtmLB/inboundNatRules/sshNatPool.0",                 "etag": "W/\"cdf91a38-6e8c-43e0-a717-57573e162eab\"",                 "type": "Microsoft.Network/loadBalancers/inboundNatRules",                 "properties": {                     "provisioningState": "Succeeded",                     "frontendIPConfiguration": {                         "id": "/subscriptions/********-****-****-****-************/resourceGroups/martin-test-delete/providers/Microsoft.Network/loadBalancers/mmtestdel-vtmLB/frontendIPConfigurations/LoadBalancerFrontEnd"                     },                     "frontendPort": 50000,                     "backendPort": 22,                     "enableFloatingIP": false,                     "idleTimeoutInMinutes": 4,                     "protocol": "Tcp",                     "backendIPConfiguration": {                         "id": "/subscriptions/********-****-****-****-************/resourceGroups/martin-test-delete/providers/Microsoft.Compute/virtualMachineScaleSets/mmtestdel-vmss/virtualMachines/0/networkInterfaces/mmtestdel-nic/ipConfigurations/mmtestdel-ipconfig"                     }                 }             },             {                 "name": "adminNatPool.0",                 "id": "/subscriptions/********-****-****-****-************/resourceGroups/martin-test-delete/providers/Microsoft.Network/loadBalancers/mmtestdel-vtmLB/inboundNatRules/adminNatPool.0",                 "etag": "W/\"cdf91a38-6e8c-43e0-a717-57573e162eab\"",                 "type": "Microsoft.Network/loadBalancers/inboundNatRules",                 "properties": {                     "provisioningState": "Succeeded",                     "frontendIPConfiguration": {                         "id": "/subscriptions/********-****-****-****-************/resourceGroups/martin-test-delete/providers/Microsoft.Network/loadBalancers/mmtestdel-vtmLB/frontendIPConfigurations/LoadBalancerFrontEnd"                     },                     "frontendPort": 50100,                     "backendPort": 9090,                     "enableFloatingIP": false,                     "idleTimeoutInMinutes": 4,                     "protocol": "Tcp",                     "backendIPConfiguration": {                         "id": "/subscriptions/********-****-****-****-************/resourceGroups/martin-test-delete/providers/Microsoft.Compute/virtualMachineScaleSets/mmtestdel-vmss/virtualMachines/0/networkInterfaces/mmtestdel-nic/ipConfigurations/mmtestdel-ipconfig"                     }                 }             },             {                 "name": "restNatPool.0",                 "id": "/subscriptions/********-****-****-****-************/resourceGroups/martin-test-delete/providers/Microsoft.Network/loadBalancers/mmtestdel-vtmLB/inboundNatRules/restNatPool.0",                 "etag": "W/\"cdf91a38-6e8c-43e0-a717-57573e162eab\"",                 "type": "Microsoft.Network/loadBalancers/inboundNatRules",                 "properties": {                     "provisioningState": "Succeeded",                     "frontendIPConfiguration": {                         "id": "/subscriptions/********-****-****-****-************/resourceGroups/martin-test-delete/providers/Microsoft.Network/loadBalancers/mmtestdel-vtmLB/frontendIPConfigurations/LoadBalancerFrontEnd"                     },                     "frontendPort": 50200,                     "backendPort": 9070,                     "enableFloatingIP": false,                     "idleTimeoutInMinutes": 4,                     "protocol": "Tcp",                     "backendIPConfiguration": {                         "id": "/subscriptions/********-****-****-****-************/resourceGroups/martin-test-delete/providers/Microsoft.Compute/virtualMachineScaleSets/mmtestdel-vmss/virtualMachines/0/networkInterfaces/mmtestdel-nic/ipConfigurations/mmtestdel-ipconfig"                     }                 }             },             {                 "name": "martindeletesshnonat",                 "id": "/subscriptions/********-****-****-****-************/resourceGroups/martin-test-delete/providers/Microsoft.Network/loadBalancers/mmtestdel-vtmLB/inboundNatRules/martindeletesshnonat",                 "etag": "W/\"cdf91a38-6e8c-43e0-a717-57573e162eab\"",                 "type": "Microsoft.Network/loadBalancers/inboundNatRules",                 "properties": {                     "provisioningState": "Succeeded",                     "frontendIPConfiguration": {                         "id": "/subscriptions/********-****-****-****-************/resourceGroups/martin-test-delete/providers/Microsoft.Network/loadBalancers/mmtestdel-vtmLB/frontendIPConfigurations/LoadBalancerFrontEnd"                     },                     "frontendPort": 22,                     "backendPort": 22,                     "enableFloatingIP": false,                     "idleTimeoutInMinutes": 4,                     "protocol": "Tcp"                 }             }         ],         "inboundNatPools": [             {                 "name": "sshNatPool",                 "id": "/subscriptions/********-****-****-****-************/resourceGroups/martin-test-delete/providers/Microsoft.Network/loadBalancers/mmtestdel-vtmLB/inboundNatPools/sshNatPool",                 "etag": "W/\"cdf91a38-6e8c-43e0-a717-57573e162eab\"",                 "properties": {                     "provisioningState": "Succeeded",                     "frontendPortRangeStart": 50000,                     "frontendPortRangeEnd": 50063,                     "backendPort": 22,                     "protocol": "Tcp",                     "frontendIPConfiguration": {                         "id": "/subscriptions/********-****-****-****-************/resourceGroups/martin-test-delete/providers/Microsoft.Network/loadBalancers/mmtestdel-vtmLB/frontendIPConfigurations/LoadBalancerFrontEnd"                     }                 },                 "type": "Microsoft.Network/loadBalancers/inboundNatPools"             },             {                 "name": "adminNatPool",                 "id": "/subscriptions/********-****-****-****-************/resourceGroups/martin-test-delete/providers/Microsoft.Network/loadBalancers/mmtestdel-vtmLB/inboundNatPools/adminNatPool",                 "etag": "W/\"cdf91a38-6e8c-43e0-a717-57573e162eab\"",                 "properties": {                     "provisioningState": "Succeeded",                     "frontendPortRangeStart": 50100,                     "frontendPortRangeEnd": 50163,                     "backendPort": 9090,                     "protocol": "Tcp",                     "frontendIPConfiguration": {                         "id": "/subscriptions/********-****-****-****-************/resourceGroups/martin-test-delete/providers/Microsoft.Network/loadBalancers/mmtestdel-vtmLB/frontendIPConfigurations/LoadBalancerFrontEnd"                     }                 },                 "type": "Microsoft.Network/loadBalancers/inboundNatPools"             },             {                 "name": "restNatPool",                 "id": "/subscriptions/********-****-****-****-************/resourceGroups/martin-test-delete/providers/Microsoft.Network/loadBalancers/mmtestdel-vtmLB/inboundNatPools/restNatPool",                 "etag": "W/\"cdf91a38-6e8c-43e0-a717-57573e162eab\"",                 "properties": {                     "provisioningState": "Succeeded",                     "frontendPortRangeStart": 50200,                     "frontendPortRangeEnd": 50263,                     "backendPort": 9070,                     "protocol": "Tcp",                     "frontendIPConfiguration": {                         "id": "/subscriptions/********-****-****-****-************/resourceGroups/martin-test-delete/providers/Microsoft.Network/loadBalancers/mmtestdel-vtmLB/frontendIPConfigurations/LoadBalancerFrontEnd"                     }                 },                 "type": "Microsoft.Network/loadBalancers/inboundNatPools"             }         ]     },     "sku": {         "name": "Basic"     } }

Thank you @MattGammonAtSeeTickets for the details!
I'm having trouble reproducing the issue from your provided LB config. The problem appears to be that we are failing to extract a VMSS name and/or resource group from your Basic LB's backend address pool membership, but the value in your above sample is correctly formatted. The Get-AzVMSS function then accepts a blank value for the -VMScaleSetName and -ResourceGroupName parameter (which it should not do!) and returns all VMSSes, and we are unable to serialize the array value.
Can you please confirm the version of PowerShell you are running by executing $PSVersionTable.PSVersion?
If you want to get more into the weeds, you can modify the BackupBasicLoadBalancer.psm1 file within your downloaded module, replacing the section starting at line 95 with the code below, which will add more logging. If you do this, make sure to run Remove-Module AzureBasicLoadBalancerUpgrade before retrying the operation--then please provide the logged output:
# Backup VMSS Object
    $vmssIds = $BasicLoadBalancer.BackendAddressPools.BackendIpConfigurations.id | Foreach-Object { $_.split("virtualMachines")[0] } | Select-Object -Unique
    foreach ($vmssId in $vmssIds) {

        $vmssName = $vmssId.split("/")[8]
        $vmssRg = $vmssId.Split('/')[4]

        $message = "[BackupBasicLoadBalancer] Exporting VMSS with ID '$vmssId'. vmssName: '$vmssName', vmssRg: '$vmssRg'"
        log -Severity Information -Message $message

        try {

Hi @mbrat2005,
I have tried using both PowerShell 5.1 and 7.3 on my works PC,
not sure if done the logging right?;
`
2022-11-14 04:44:45.0650 [Information] - ############################## Initializing Start-AzBasicLoadBalancerUpgrade ##############################
2022-11-14 04:44:45.0783 [Information] - [Start-AzBasicLoadBalancerUpgrade] Checking that user is signed in to Azure PowerShell
2022-11-14 04:44:45.1930 [Information] - [Start-AzBasicLoadBalancerUpgrade] Loading Azure Resources
2022-11-14 04:44:45.2039 [Information] - [Start-AzBasicLoadBalancerUpgrade] Basic Load Balancer mmtestdel-vtmLB loaded
2022-11-14 04:44:45.2388 [Information] - [Test-SupportedMigrationScenario] Verifying if Load Balancer mmtestdel-vtmLB is valid for migration
2022-11-14 04:44:45.2428 [Information] - [Test-SupportedMigrationScenario] Verifying source load balancer SKU
2022-11-14 04:44:45.2528 [Information] - [Test-SupportedMigrationScenario] Source load balancer SKU is type Basic
2022-11-14 04:44:45.2558 [Information] - [Test-SupportedMigrationScenario] Checking if there are any backend pool members which are not virtualMachineScaleSets and that all backend pools are not empty
2022-11-14 04:44:45.2717 [Information] - [Test-SupportedMigrationScenario] All backend pools members virtualMachineScaleSets!
2022-11-14 04:44:45.2747 [Information] - [Test-SupportedMigrationScenario] Checking if there are more than one VMSS in the backend pool
2022-11-14 04:44:45.3096 [Information] - [Test-SupportedMigrationScenario] Basic Load Balancer has only one VMSS in the backend pool
2022-11-14 04:44:45.3146 [Information] - [Test-SupportedMigrationScenario] Checking that source load balancer is configured
2022-11-14 04:44:45.3226 [Information] - [Test-SupportedMigrationScenario] Load balancer has at least 1 frontend IP configuration
2022-11-14 04:44:45.3266 [Information] - [Test-SupportedMigrationScenario] Checking that standard load balancer name 'mmtestdel-vtmLB'
2022-11-14 04:44:45.6194 [Information] - [Test-SupportedMigrationScenario] Load balancer resource 'mmtestdel-vtmLB' is a Basic Load Balancer. The same name will be re-used.
2022-11-14 04:44:45.6294 [Information] - [Test-SupportedMigrationScenario] Checking if backend pools contain members which are members of another load balancer's backend pools...
2022-11-14 04:44:45.8359 [Information] - [Test-SupportedMigrationScenario] Checking for instances in backend pool member VMSS '' with Instance Protection configured
2022-11-14 04:44:45.8738 [Information] - [Test-SupportedMigrationScenario] No VMSS instances with Instance Protection found
2022-11-14 04:44:45.8807 [Information] - [Test-SupportedMigrationScenario] Determining if LB is internal or external based on FrontEndIPConfiguration[0]'s IP configuration
2022-11-14 04:44:45.8967 [Information] - [Test-SupportedMigrationScenario] FrontEndIPConfiguiration[0] is assigned a public IP address '/subscriptions/----/resourceGroups/martin-test-delete/providers/Microsoft.Network/publicIPAddresses/mmtestdel', so this LB is External
2022-11-14 04:44:45.8997 [Information] - [Test-SupportedMigrationScenario] Determining if there is a frontend IPV6 configuration
2022-11-14 04:44:46.0669 [Information] - [Test-SupportedMigrationScenario] Load Balancer mmtestdel-vtmLB is valid for migration
2022-11-14 04:44:46.0769 [Information] - [PublicLBMigration] Public Load Balancer Detected. Initiating Public Load Balancer Migration
2022-11-14 04:44:46.0908 [Information] - [GetVMSSFromBasicLoadBalancer] Initiating GetVMSSFromBasicLoadBalancer
2022-11-14 04:44:46.9601 [Information] - [GetVMSSFromBasicLoadBalancer] VMSS loaded Name mmtestdel-vmss vtmazuks-vmss from RG MARTIN-TEST-DELETE SEETICKETS-AZ-VTMS
2022-11-14 04:44:46.9850 [Information] - [BackupBasicLoadBalancer] Initiating Backup of Basic Load Balancer Configurations to path 'C:\Users\matt.gammon'
2022-11-14 04:44:47.1876 [Information] - [BackupBasicLoadBalancer] JSON backup Basic Load Balancer to file C:\Users\matt.gammon\State_mmtestdel-vtmLB_martin-test-delete_20221114T1644469890.json Completed
2022-11-14 04:44:47.1906 [Information] - [BackupBasicLoadBalancer] Exporting Basic Load Balancer ARM template to path 'C:\Users\matt.gammon'...
2022-11-14 04:44:48.0253 [Information] - [BackupBasicLoadBalancer] Completed export Basic Load Balancer ARM template to path 'C:\Users\matt.gammon\ARMTemplate_mmtestdel-vtmLB_martin-test-delete_20221114T1644469890.json'...
2022-11-14 04:44:48.2577 [Error] - [BackupBasicLoadBalancer] An error occured while exporting the VMSS '' for backup purposes. Error: Exception calling "Serialize" with "3" argument(s): "The specified type Microsoft.Azure.Commands.Compute.Automation.Models.PSVirtualMachineScaleSet must derive from the specific value's type System.Object[]."
`

Hi Matt--I'm not seeing the ID in your log above, so adding that logging seems not be working. If you want to drop me an email at<EMAIL_ADDRESS>and are willing, I can set up a quick time to troubleshoot with you.

Related: https://github.com/Azure/azure-powershell/issues/20095#issuecomment-1313045642

Issue is reproducable when passing the LB to migarate to the module via the command line. Workaround is to use the -BasicLoadBalancerName and -ResourceGroupName parameters instead.

An issue remains where the basic LB cannot be deleted because it fails with an error that the 'inboundNatPools' child resources are still in use by the VMSS. The VMSS is set to 'automatic' update policy

Good reference on Inbound NAT Pools and advantages of migrating to Inbound NAT Rules for VMSSes: Manage port forwarding for backend pool with Azure Load Balancer | Azure Blog and Updates | Microsoft Azure

Final issues fixed in PR 9


Include kurdish

Hey @akamfoad,
very cool, thanks for starting this translation!
I had some problems with transifex, so these Pull-Requests did some strange stuff. However, here they are now as squashed commits, including the config-changes. You might want to change the 'Kurdish' in the config-file to use the right characters, i'd say just create a separate PR, if you want.
Greets! :)
Jonas

Hey @jotoeri
GREAT, appreciate the integration, there is more work though!
I will, definitely do,
thanks for pointing it out!


Update jinja2 to v3.0.3

Fixes breaking dependency related to markupsafe. See more info here

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
961

Relevant Lines:
1667

💛  - Coveralls