can't see enemies on the radar, only medkits and ammo packs and it's really hard to find enemies without chams crashing my game sometimes

if chams is crashing your game you have a much bigger issue than radar.

yeah I don't have that xd, it just shows ammo and health kits as I stated

but oh well, I'll just deal with this

upload your config.


Changelog for 1.1

@pierlo-upitup do you like to add anything here?
@philipnrmn can you do the native speaker review?

LGTM

Native speaker approved :heavy_check_mark:

Thanks!


[Proposal] Add validator for AlphaNumSpace

It seems a very common use-case to me that validators should be able to validate by default an alphanumeric string that contains spaces. I appreciate this is already possible using a regular expression validator but it seems this could be made more simple with the addition of a AlphaNumSpace validator and a corresponding unit-test. I have a pull request ready should this be approved.

It is a vital feature to be able to validate people names for example. What about "David Juan Ahullana"? I could say it is "required|alpha_space" instead of having to hardcode an additional validation rule.

This is possible with the custom validator but I still feel that this should be included in laravel itself. It's a very common thing.


Will be available more CompositionClip classes like an EllipseClip?

In some places I would like to add the MapControl with an Ellipse Clipping, but at the moment there is no way to use more complex clippings than the great InsetClip.
Do we will have more options in the future? a generyClip based on a geometry might be? It will be really interesting to make transitions scaling clips and many more.

You can use the CompositionMaskBrush to create a mask and apply it to your MapControl's visual.

But I cannot set a Brush on the real Element Visual because it is a base Visual and not an SpriveVisual, and only can operate with new ones and apply with ElementCompositionPreview.SetElementChildVisual. Or is there any other way to work with the element real visual? (Hope yes)

@juanpaexpedite You are correct in that the current behavior on interop Visuals is that you cannot directly set a Brush property (or CompositionMaskBrush in this case) because Brush is only exposed on the type SpriteVisual and interop Visuals are currently of type Visual.
I've marked this for feedback with some of the following insights:

Add more clip types like if applications cannot directly control the content of an element's Visual (like Ellipse)
Allow applications to have more control over an element's Visual e.g. apps could set a CompositionMaskBrush on the content and provide their own custom mask

Thank you! I have just think about the visual possibilities that more complex options in clipping and there are a lot of visually enhancers. And if it's added more control about the element visual in theory this allows to make plenty of visual operations with the XAML elements that it's a really great step forward.

This is great feedback. There are two ways we are looking at this in the future. First, we want to continue with improved XAML interop in future releases. In short look at what it would take to more tightly integrate SpriteVisual usage by the framework which would make masking a viable option in more scenarios. Clip geometry is something we've discussed, but there are performance implications, and keeping the API highly performant is a prime directive for us.

Interesting, I understand every operation that requires checking pixels that are shown or doesn't take many calculations, if masking takes less cost than clipping hope we can test a preview soon :). and thank you all for how the team works so well.

@juanpaexpedite We're tracking clipping as part of the general shape support under the request here. Closing this issue, please feel free to upvote on the public backlog.


Write scraper logic for Slovakian border guard

I've started looking into writing a scraper for the Slovakian border crossings. The first thing I'm doing now is creating a KML file for them.

@Aziroshin What's the status on this? Also where are you getting the data to scrape from?

@Aziroshin What's the status on this? Also where are you getting the data to scrape from?

I'm still gathering and verifying data, but I have an open project in Google Earth with the 4 border checkpoints that aren't freight rail only (Chop (rail), Velyki Selmentsi (road), Malyy Bereznyy (road) and Uzhhorod (road - temporarily including pedestrians)), so I could at least provide a KML file. I'm about as confident that I got the right placemarks as I'm going to get, I think.
I've documented my research in issue #10.
I haven't gotten around to the code bit yet, and I'm getting close to end-of-weekend. Chances are I'll be hard pressed to eek out reasonable time slots during the week, so, if someone's ready to pounce on this, this would be a good moment, I guess.
I've been thinking a bit about how I'd go about it, and, given the data I have found so far, I'd parse https://www.minv.sk/?hranicne-priechody-1, since the Slovakian authorities are probably the closest-to-metal source we can get on this, and use the checkpoints there as "keys" to scrape complementary data from other sources and associate them with these checkpoints.
At least for starters, it might also be okay to hard-code certain values, or to have a sort of "standard" for additional properties, like Slovakian and Ukrainian phone numbers, or manually gathered trivia that might be valuable to know. After all, I doubt the addresses of the checkpoints are likely going to change very often, for example.
Then again, perhaps it'd be better to hard-code values like these on the frontend, but it might also be nice to have them in a structured manner already (albeit the scraper might be the wrong place for that... maybe).
Of course, there are also the Ukrainian counterparts:

List of Slovakia-Ukraine checkpoints: https://dpsu.gov.ua/ua/NA-KORDONI-ZI-SLOVACKOYU-RESPUBLIKOYU-2018/
List of checkpoints in general: https://customs.gov.ua/en/posts/

A scraper could be written for these, but it'd have to be considered that the website might get compromised, or even go down at some point (let's hope not).

I just tried to export the KML data from Google Earth Pro, but once imported into Google My Maps the placemarker data contains a malformed link. Here's the link to the map anyway: https://www.google.com/maps/d/u/0/viewer?mid=10XSF6CAHYmRA7htR2j-7YxGNmHwLuf1m&ll=49.32994140486006%2C22.460267424595084&z=7 (mind you, it only contains 4 checkpoints, excluding Pavlov and the freight one in Uzhhorod (I didn't find all that much about either of them)).
In any case, the Google Maps links in #10, or the coordinates on https://dpsu.gov.ua/ua/NA-KORDONI-ZI-SLOVACKOYU-RESPUBLIKOYU-2018/ might be of more immediate interest to the scraper right now anyway.

I've been poking around a bit (making a bit of a mess), but spent most of it running into issues with my KML files. The current state of things is on this fork: https://github.com/Aziroshin/scraper. If anyone else takes this issue, feel free to fork, copy-paste or hit me up for a pull request, ask questions or request clarifying comments - whatever seems like the best way forward. My time during the week will be quite limited, so, don't wait for me.

Wow, thanks very much for all that information. I might take a look at coding some of that stuff at some point, after I'm done with the translator. Personally I think hard-coding values in the scraper is better than in the frontend, so if/when we change them to non-hard-coded values all the changes are in one place. But I might be overlooking something.

@Jachdich I've detailed it in #10 , but it's important enough to mention it here as well: I've seen a mention (one that I've overlooked before) that Chop is closed to "individual traffic", and I found three more sites with lists of Slovakian border checkpoints, but none of them mention Chop. The only checkpoints listed there are the ones connected to Uzhhorod, Mali Selmentse and Malyi Bereznyi.

@Aziroshin I don't know if this will be helpful but here is a site list checkpoints between Ukraine and Slovakia https://www.vashtransfer.com/en/2018/03/11/border-crossings-from-ukraine-to-hungary-slovakia-poland-en/
It only has checkpoint names and they are in English.

@Aziroshin are you still actively working on this? if not, I need something to do so I might pick it up

@Jachdich You can pick it up. I haven't gotten around to it during the week, so the mess in https://github.com/Aziroshin/scraper/commits/master is all there is. I used the Hungary scraper as a guideline and then, after stalling for a while, managed to get a latitude and longitude out of my KML files. The usefulness of that is questionable anyway, though, because one could just mock the coordinates directly if taking that route. ^^"
There's also a bit of code that downloads a website to a file and allows for poking around in it without making unnecessary requests - however, I'm not well acquainted with BeautifulSoup and whether this is, perhaps, quite redundant.

@Aziroshin Cool, thanks very much! I'll see if I can do it the simple way lol

@Jachdich Did you finish this?  I see there's a Slovakia scraper that you wrote.

Depends on your definition of finished - it works, but it could be improved

Improved in what way(s)?

Firstly, some of the hard coded info could be scraped, but I'm not sure if it's worth the trouble. Secondly, there doesn't seem to be addresses, only names (currently the address field is just set to the name field). I'm not sure how to go about fixing that

Okay.  Would you mind creating separate issues for those problems, with a little background on whatever trouble you ran into so that we can all track what's going on a bit better?

Sure, I think that would be a good idea

Firstly, some of the hard coded info could be scraped, but I'm not sure if it's worth the trouble. Secondly, there doesn't seem to be addresses, only names (currently the address field is just set to the name field). I'm not sure how to go about fixing that

I went over the Ukrainian addresses of the most interesting checkpoints in this issue #10 comment a little more, prying apart the address strings from the Ukrainian customs' website. I'm fairly confident in the results, except where stated otherwise. It seems to check out against google maps and a few other google searches.


Showcase tool features for GPU Jupyterlab interactive tool

Add Galaxy tool features (from Jupytool interactive tool) to GPU Jupyterlab interactive tool.
Can you look at it? ping @kxk302 Thanks

@anuprulez looks good! I'd just run the spell checker (if you haven't don already).


Incorporate the JSON-GLib library and build the daemon against it to produce HTTP responses in JSON.

Incorporating the JSON-GLib library and building the daemon against it to produce HTTP responses in JSON.
Producing an actual response in JSON for the HTTP client error 404 Not Found.
Bumping version number to 0.1.2.

She looks a bit serializable ! 👍 — Approved. 💙


Upgrade to 3Box.js with 3ID iFrame in 3Box Hub

@zachferland lmk what you want me to test and what the output of this work should be


Feature request:  Add support for variables

Not sure about the specifics, but at a high level, it would be nice to do something like:
aws> variable=$(ec2 describe-instances --query "Reservations[0].Instances[0].InstanceId" --output text)
aws> ec2 start-instances --instance-ids $variable

I think this would be helpful, maybe we could persist them across sessions.  SAWS has shortcuts:
# Saws will auto-complete the following --ec2-state auto-completions:
#   [pending | running | shutting-down | terminated | stopping | stopped]
# Usage:
#   ec2 ls --ec2-state
'ec2 ls --ec2-state' = 'ec2 describe-instances --filters "Name=instance-state-name,Values=%s"'

# Simple 'ls' shortcuts
'ec2 ls' = 'ec2 describe-instances'

Regarding implementation, the method above was just a first-pass--set some variables in a config file and sub them in.  I like how your proposal would allow variables to be set while aws-shell is running.

Yes i also met with this requirement, was going to make an issue about the same. It would be helpful +1


WeatherApp JS

Gives current weather based on location

PR accepted @ruvebenadie
Successfully merged to HacktoberFest_22 repo.
Need to Star this repo incase not done.
🚀🚀👍
Read the Readme.md  file of Java as well as Python.
Guideline how to add java and python file read it again
PR accepted @ruvebenadie
Need to Star this repo incase not done.
Just Update the required will merge to main
🚀🚀👍


feature(logger): added type & duration filters for logs

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.Aastha seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


Add updated diagram

@nikitamounier This good to merge?

Yep! Do you like the documentation style?

I just have one question – does the state publisher in the middleware have any actual use? Because flatmapping and then mapping it to return a refined action or simply returning a Just with a refined action seems to have the same result. Is it for code clarity?

The state publisher is to ensure that a long running network task or something like that has the most up to date copy of the state when it’s finished its call.

I'm not sure I fully understand, since we don't have actual access to the state itself in the middleware. I always pictured the middleware as two parallel streams (like in a marble diagram) – one of raw actions, and one with the state in which all we can do is call refined actions.
Do you think you could show me a quick example?

Whoops, ignore what I said! You can access the most recent state in the map! That's super useful, excuse my oversight. So shall we merge?

So would this be correct – it's a raw action for saving the app state (which if successful returns a refined action none which I made for when an inherently asynchronous action doesn't lead to any state changes):
static let middleware = Middleware<State, Action.Raw, Action.Refined> { state, action -> AnyPublisher<Action.Refined, Never> in
        switch action {
       case .saveState:
           return state.tryMap { appState in
               let encoder = JSONEncoder()
               let data = try encoder.encode(appState)

               FileManager.default.save(data: data, to: "appState.json", in: .applicationDirectory)

               return .none
           }
           .catch { error in
               return Just(.saveStateError(error))
           }
           .eraseToAnyPublisher()
    }
}

Annoying thing is that FileManager.default.save is a Future<URL, Error>, and I don't want to ignore any errors it returns. I tried using handleEvents(receiveCompletion:) on it, but that didn't work out since I'm not allowed to return anything in its closure.

Do you think that's better than just adding a .none case to the refined actions, which in the reducer just causes a break? I feel like making the Refined type be optional in the middleware would add unnecessary boilerplate to the Middleware declaration, making the most important part (aka which refined action is returned) more cluttered.

Also I'm fully finished with the Middleware documentation – so feel free to merge with either just the updates diagram or with the Middleware documentation too :)


Add type safety to spec equality matcher

The equality matcher eq currently only checks the contents (via == semantics). It does not take into account the actual data type unless the == implementation validates that explicitly.
An example that came up in https://github.com/crystal-lang/crystal/pull/13108#discussion_r1118684855 is that an empty array equals any empty array, regardless of the type.
In general, the semantics of == are often very lax regarding type strictness. This is a wider issue discussed in #10277. Here I'm only concerned about the special case of equality matching in specs. This use case should usually have higher demands for type safety to ensure exactness of the tested interface behaviour.
Of course, with specs there are also use cases where type strictness is less important and can be safely neglected for the sake of simplicity.
So I think there is a need for both, type safe equality, and a non-type safe equality.
Of course there is also the be_a expectation with a similar focus on type-safety. However, it's more repetitive and adds unnecessary clutter. When the equality expectation can already take care of checking the type, there's no need to duplicate the expectation for type checking.
I did a little test run on stdlib specs and it already helped discover a bug in Array#flatten (#13388). I'm sure we'll find more issues like this with a more strict type checking. There were only a couple of specs that needed modification to fit the type strict expectation.
My ideal API would be eq (i.e. the default) to ensure type safety. As a variation, eq! would skip type checking.
But that is impossible to introduce because the equality semantics of eq are already established. Making that more strict would break lots of specs.
So my proposal would be to add eq! as a variant with strict type checking. The major problem with that is that this stricter and safer variant should ideally be used as default, and opting-out for less type safety should require extra effort. Now it's the other way around.
Any other ideas?

It's possible that a large amount of headache in the short term may be outweighed by the safety benefits in the unbounded future term. Making the "default" eq as safe as possible seems worthwhile, if the cost is not unbearable; users who know they can accept reduced safety can call a "non-default" function.
Separately, I'm not sure the name eq! is explanatory. Perhaps something like eq/eq_without_type (or eq/eq_with_type, if eq implies type assertion).

Is there a convenient way to allow gradual opt-in of type assertion in eq? Perhaps a compile-time flag, or a macro that can be overridden per-file? Then we could preserve existing behavior for now, make the behavior opt-out later, and eventually (or maybe never) remove it completely. And the other function eq! or eq_without_type or eq_with_type could always offer the other behavior.

No, flags cannot be set from code. But a runtime class variable could work similarly to make the behaviour selectable. There's no need to know this at compile time.
I figure it could be possible to rig something up for per-file configuration, but that could easily get confusing. I'm generally a bit hesitant about allowing configuration. As long as it's for a clearly defined transitioning period, maybe it's okay.
But I think consistency is important or there will be uncertainty about what the code means.

I was trying to find a way like a magic comment to indicate that this file only opts in to different behavior, so existing code could be migrated one file at a time. private macro seemed useful, but I could not find a way to do it.

I think you could do that with a class method like Spec.type_safe_equality! that get's called on the top of a spec file.
That method would collect the caller locations in a list. The caller file can be optained via the pseudo constant __FILE__ as default parameter value (https://crystal-lang.org/reference/1.8/syntax_and_semantics/constants.html#pseudo-constants). And then #eq would check its caller against that list.
However, I don't think this is leading to a good solution.

Since eq comes from the top-level namespace via include Spec::Expectations, one way is to override eq in a file-private namespace:
module Spec::Expectations::Strict
  macro included
    private def eq(value)
      # strict expectation
    end
  end
end

then include the above module in only the spec files that want to opt in:
# spec/std/int_spec.cr
include Spec::Expectations::Strict

# spec/std/float_spec.cr
include Spec::Expectations::Strict

This will reveal a lot of type mismatches between number types, and commenting out either include disables the failures only in that file. Spec suites that want this globally can include the module inside an appropriate spec_helper.cr.


Terragrunt should detect missing module and provider download errors and automatically re-run init to fix them

Terraform has two types of frustrating errors:

You add a module or modify its version and then next time you run plan or apply, you get an error that you need to re-run get. If Terraform knows you need to do that, why doesn't it just do it for you?

You run init to download the code for providers and get a TLS handshake error or similar timeout. This happens especially often when using xxx-all commands, so many downloads are happening concurrently. Not sure if this is a bug in Terraform's download code or throttling on their servers, but I've had many xxx-all commands fail because of this.

Terragrunt should detect these errors and retry the previous command automatically.

And two more:
Error installing provider "aws": error fetching checksums: Get https://releases.hashicorp.com/terraform-provider-aws/0.1.4/terraform-provider-aws_0.1.4_SHA256SUMS: net/http: TLS handshake timeout.

Initializing provider plugins...
- Checking for available provider plugins on https://releases.hashicorp.com...

Error installing provider "template": error fetching checksums: Get https://releases.hashicorp.com/terraform-provider-template/1.0.0/terraform-provider-template_1.0.0_SHA256SUMS: net/http: TLS handshake timeout.

One more!
Failed to load backend:
Error configuring the backend "s3": RequestError: send request failed
caused by: Post https://sts.amazonaws.com/: net/http: TLS handshake timeout

And yet another one that comes up all the time (it's a known Terraform bug that has been ignored for months):
* module.high_memory_usage_alarms.aws_cloudwatch_metric_alarm.asg_high_memory_utilization: 1 error(s) occurred:

* aws_cloudwatch_metric_alarm.asg_high_memory_utilization: Creating metric alarm failed: ValidationError: A separate request to update this alarm is in progress.
	status code: 400, request id: 94309fbd-7e09-11e8-a5f8-1de9e697c6bf

Hi @brikis98, thank you for capturing all these errors!
With new releases of Terraform and new added-value services such as Terraform Registry a few new types of errors (or a whole class, rather) has been introduced. I am going capture some of them as follows:
Error: Module version requirements have changed

  on main.tf line 10, in module "vpc":
  10:   source  = "terraform-aws-modules/vpc/aws"

The version requirements have changed since this module was installed and the
installed version (2.47.0) is no longer acceptable. Run "terraform init" to
install all modules required by this configuration.

[terragrunt] 2020/09/10 11:09:42 Hit multiple errors:
exit status 1

Error: Could not satisfy plugin requirements

Plugin reinitialization required. Please run "terraform init".

Plugins are external binaries that Terraform uses to access and manipulate
resources. The configuration provided requires plugins which can't be located,
don't satisfy the version constraints, or are otherwise incompatible.

Terraform automatically discovers provider requirements from your
configuration, including providers used in child modules. To see the
requirements and constraints from each module, run "terraform providers".

Error: provider.aws: no suitable version installed
  version requirements: " < 4.0,3.5.0,>= 2.68"
  versions installed: "3.4.0"

[terragrunt] 2020/09/10 11:10:34 Hit multiple errors:
exit status 1

Error: Error accessing remote module registry

Failed to retrieve available versions for module "vpc" (main.tf:9) from
registry.terraform.io: Failed to request discovery document: Get
https://registry.terraform.io/.well-known/terraform.json: dial tcp
<IP_ADDRESS>:443: connect: connection refused.

Error: Error accessing remote module registry

Failed to retrieve available versions for module "vpc" (main.tf:9) from
registry.terraform.io: Failed to request discovery document: Get
https://registry.terraform.io/.well-known/terraform.json: dial tcp
<IP_ADDRESS>:443: connect: connection refused.

[terragrunt] 2020/09/10 11:15:40 Hit multiple errors:
exit status 1

Error: Error accessing remote module registry

Failed to retrieve available versions for module "vpc" (main.tf:9) from
registry.terraform.io: Failed to request discovery document: Get
https://registry.terraform.io/.well-known/terraform.json: remote error: tls:
internal error.

[terragrunt] 2020/09/10 11:18:36 Hit multiple errors:
exit status 1

Error: Error accessing remote module registry

Failed to retrieve available versions for module "vpc" (main.tf:9) from
registry.terraform.io: Discovery URL has a malformed Content-Type "".

[terragrunt] 2020/09/10 11:22:13 Hit multiple errors:
exit status 1

Work in progress: https://github.com/gruntwork-io/terragrunt/pull/1334

I think this is handled by auto retry now: https://terragrunt.gruntwork.io/docs/features/auto-retry/


Missing parts in documentation

Hi, thanks for the great tool.
I have a question:
The documentation says:

Markdown Extensions

Image Galleries
File Preview
Displaying Folder Contents
Video Player Integration
Audio Player Integration
Repository cross-links by alias

Document Meta Data

Author
Tags
Document Alias
Creation Date
Last Modified Date
Language
Geo Location

26.Short links
If you assign an alias to a document you can reach that document via short/direct link (e.g. http://repo.com/!an-alias). An overview of all available short links can be reached under
http://repo.com/!.
but I can not find out how to use these features, eg. defining an alias or set Document Meta Data. Is there any documentation about this?
Also in comparison of your homepage (hosted with allmark) could you explain a little bit more how to integrate tag clouds etc. and is there a way to create a startpage with links to other documents instead of showing them all together on the startpage?
Thanks in adavance.
Peter

from code:
Alias and tag should be write in the last of markdown file. As in the following:
title
Description
Content
——
date: 2018-03-23
tags:

tag1
tag2
alias:
alias1
alias2

Sent with GitHawk


Expose progress bar link click event. Move href check within this fun…

Expose the progress bar link click event, folks can write their own custom Link component and handle the event themselves if desired

instead of checking existence / properties of href attribute upon component instantiation, check it using this function in realtime.

Expose the progress bar link click event, folks can write their own custom Link component and handle the event themselves if desired

instead of checking existence / properties of href attribute upon component instantiation, check it using this function in realtime.

Could you update the README too with a short explanation? Thanks for your contribution!

Also, feel free to add yourself as a contributor to the package.json :-)

Good call! Added, with some basic examples. Hopefully it's clear

Merged and closed. Thank you! ;_)

I took a look at the latest on npm but the changes don't seem to be appearing. I am wondering if the new package may have skipped the build process or used a cached build?

I see that. I deleting everything and rebuilt. Tsup is kind of weird
sometimes. Or it's very possible I just forgot to run it. :D Published
as 1.2.1.
Jay
------ Original Message ------
From "Steven McCoy" @.>
To "designly1/nextjs13-progress" @.>
Cc "Jay Simons" @.>; "State change"
@.>
Date 1/2/2024 9:04:34 AM
Subject Re: [designly1/nextjs13-progress] Expose progress bar link click
event. Move href check within this fun… (PR #2)

I took a look at the latest on npm but the changes don't seem to be
appearing. I am wondering if the new package may have skipped the build
process or used a cached build?
—
Reply to this email directly, view it on GitHub
https://github.com/designly1/nextjs13-progress/pull/2#issuecomment-1874141136,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ALHCNZEXNRCPVJ3GM4QS6U3YMQOYFAVCNFSM6AAAAABBAAHIV2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQNZUGE2DCMJTGY.
You are receiving this because you modified the open/close
state.Message ID:
@.***>


Config changes to reflect the default branch from master to main. Please merge to complete the default branch renaming job.

Auto branch renaming content.

Docs Build status updates of commit 8740de0:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

:x:Error

Details

[Error: GitBranchDeletedOrForcePushed] Cannot sync git repo to specified commit because branch e38bd363-f111-4e01-a80a-687bfbec6983 has been deleted or has been force pushed

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Discrepancy in 2BGA code_k values when reproducing some results from paper by Lin et al via Hecke/Oscar.small_group

Describe the bug 🐞
The paper that introduced 2BGA codes contains a wealth of abelian and non-abelian groups. For the sake of simplicity, this issue only refers to abelian groups.  Lin et al. used GAP for these calculations and defining group structures in the Table 1. StructureDescription(SmallGroup(ℓ,#)) from GAP was used by them. The documentation for StructureDescription  from GAP
Spoiler: This is related to 'dataset' size of small_ group between Hecke or Oscar, as both methods (Hecke.small_group/Oscar.small_group), provide isomorphic groups as seen from output of describe(small_group(l, id)) but give different results for dimension (code_k).  The small groups in Oscar go much further. To reiterate, the small groups have different forms but isomorphic as seen from output of describe(small_group(l, id)). In the Spotlight: @thofma, Thank you very much for your time. Please briefly a sentence or two about this phenomenon that came up recently in a discussion :)
The following cases give the correct values of code_n, and code_k with this new method of using small_group with a multiplication table, which is used by the authors.  The following cases are correctly produced. Here, # is the ID from the multiplication table when we use small_group.
[[72, 8, 9]] with l=36, # = 2
julia> using QuantumClifford
julia> using QuantumClifford.ECC
julia> using Hecke: group_algebra, small_group, dim, gens; using Nemo: GF;
julia> a_shifts = [0, 28]; b_shifts = [0, 9, 18, 12, 29, 14]; l=36; id = 2;
# julia> describe(small_group(l, id))
# "C36" ✔
# Hecke.small_group and Oscar.small_group are isomorphic.
julia> GA = group_algebra(GF(2), small_group(l, id));
julia> a = sum(GA[n%dim(GA)+1] for n in a_shifts);
julia> b = sum(GA[n%dim(GA)+1] for n in b_shifts);
julia> c = two_block_group_algebra_codes(a, b);
julia> code_n(c), code_k(c)
(72, 8) ✔ Table 1 (Block 1 Verified)
# with Oscar.small_group
# julia> code_n(c), code_k(c)
# (72, 2)
# code_n ✔
# code_k ✘ Expected 8

[[54, 6, 9 ]] with l=27, # = 1
julia> using QuantumClifford
julia> using QuantumClifford.ECC
julia> using Hecke: group_algebra, small_group, dim, gens; using Nemo: GF;
julia> a_shifts = [0, 1, 3, 7]; b_shifts = [0, 1, 12, 19]; l=27; id = 1;
julia> GA = group_algebra(GF(2), small_group(l, id));
julia> a = sum(GA[n%dim(GA)+1] for n in a_shifts);
julia> b = sum(GA[n%dim(GA)+1] for n in b_shifts);
julia> c = two_block_group_algebra_codes(a, b);
julia> code_n(c), code_k(c)
(54, 6)  ✔ Table 1 (Block 3, Part 1 Verified)
# with Oscar.small_group
# julia> code_n(c), code_k(c)
# (54, 2)
# code_n ✔
# code_k ✘ Expected 6

These new methods are being introduced in https://github.com/QuantumSavory/QuantumClifford.jl/pull/390 as this functionality is not present for 2BGA. For more details about what small_group is, https://github.com/QuantumSavory/QuantumClifford.jl/pull/390#issuecomment-2411095431 and https://github.com/QuantumSavory/QuantumClifford.jl/pull/390#issuecomment-2411239628 can serve as useful starting point. Table 1 caption in the paper is the best place for information.
Expected behavior 👇
As seen from the MREs, code_n values are correctly calculated. But there is a small discrepancy in the code_k values.  The expectation is to have correct values of code_k to correctly reproduce the results from the paper.  To reiterate, Block 1 and Block 3 handles abelian groups only.
Minimal Reproducible Example ⚠
As seen from all these 'abelian' cases (Block 1 and Block 3) of Table 1, the code_n values match exactly. But the code_k values have some variation.
MRE 1
[[60, 6, 10 ]] with l=30, # = 4
julia> using QuantumClifford
julia> using QuantumClifford.ECC
julia> using Hecke: group_algebra, small_group, dim, gens; using Nemo: GF;
julia> a_shifts = [0, 10, 6, 13]; b_shifts = [0, 25, 16, 12]; l=30; id = 4;
julia> GA = group_algebra(GF(2), small_group(l, id));
julia> a = sum(GA[n%dim(GA)+1] for n in a_shifts);
julia> b = sum(GA[n%dim(GA)+1] for n in b_shifts);
julia> c = two_block_group_algebra_codes(a, b);
julia> code_n(c), code_k(c)
(60, 2)

code_n ✔
code_k ✘ Expected 6

# with Oscar.small_group
# julia> code_n(c), code_k(c)
# (60, 4)
# code_n ✔
# code_k ✘ Expected 6

MRE 2
[[70, 8, 10 ]] with l=35, # = 1
julia> using QuantumClifford
julia> using QuantumClifford.ECC
julia> using Hecke: group_algebra, small_group, dim, gens; using Nemo: GF;
julia> a_shifts = [0, 15, 16, 18]; b_shifts = [0, 1, 24, 27]; l=35; id = 1;
julia> GA = group_algebra(GF(2), small_group(l, id));
julia> a = sum(GA[n%dim(GA)+1] for n in a_shifts);
julia> b = sum(GA[n%dim(GA)+1] for n in b_shifts);
julia> c = two_block_group_algebra_codes(a, b);
julia> code_n(c), code_k(c)
(70, 2)

code_n  ✔
code_k ✘ Expected 8

# with Oscar.small_group
# julia> code_n(c), code_k(c)
# (70, 8)
# code_n ✔
# code_k ✔

MRE 3
[[72, 8, 10 ]] with l=36, # = 2
julia> using QuantumClifford
julia> using QuantumClifford.ECC
julia> using Hecke: group_algebra, small_group, dim, gens; using Nemo: GF;
julia> a_shifts = [0, 9, 28, 31]; b_shifts = [0, 1, 21, 34]; l=36; id = 2;
julia> GA = group_algebra(GF(2), small_group(l, id));
julia> a = sum(GA[n%dim(GA)+1] for n in a_shifts);
julia> b = sum(GA[n%dim(GA)+1] for n in b_shifts);
julia> c = two_block_group_algebra_codes(a, b);
julia> code_n(c), code_k(c)
(72, 4)

code_n  ✔
code_k ✘ Expected 8

# with Oscar.small_group
# julia> code_n(c), code_k(c)
# (72, 6)
# code_n ✔
# code_k ✘ Expected 8

MRE 4
[[72, 10, 9 ]] with l=36, # = 2
julia> using QuantumClifford
julia> using QuantumClifford.ECC
julia> using Hecke: group_algebra, small_group, dim, gens; using Nemo: GF;
julia> a_shifts = [0, 9, 28, 13]; b_shifts = [0, 1, 3, 22]; l=36; id = 2;
julia> GA = group_algebra(GF(2), small_group(l, id));
julia> a = sum(GA[n%dim(GA)+1] for n in a_shifts);
julia> b = sum(GA[n%dim(GA)+1] for n in b_shifts);
julia> c = two_block_group_algebra_codes(a, b);
julia> code_n(c), code_k(c)
(72, 6)

code_n  ✔
code_k ✘ Expected 10

# with Oscar.small_group
# julia> code_n(c), code_k(c)
# (72, 2)
# code_n ✔
# code_k ✘ Expected 10

Error & Stacktrace or other complete output produced by the MRE ⚠
The error is the discrepancy in the code_k values.  There is no stacktrace.
Environment (please complete the following information):
- Output of using Pkg; Pkg.status()
Project QuantumClifford v0.9.11
  [861a8166] Combinatorics v1.0.2
  [864edb3b] DataStructures v0.18.20
  [ffbed154] DocStringExtensions v0.9.3
  [86223c79] Graphs v1.12.0
  [3e5b6fbb] HostCPUFeatures v0.1.17
⌅ [2cd5bd5f] ILog2 v0.2.4
  [1914dd2f] MacroTools v0.5.13
  [2edaba10] Nemo v0.47.1
  [aea7be01] PrecompileTools v1.2.1
  [5717a53b] QuantumInterface v0.3.6
  [fdea26ae] SIMD v3.6.0
  [8e1ec7a9] SumTypes v0.5.8
  [b77e0a4c] InteractiveUtils
  [37e2e46d] LinearAlgebra
  [9a3f8284] Random
  [2f01184e] SparseArrays v1.10.0
  [10745b16] Statistics v1.10.0
Info Packages marked with ⌅ have new versions available but compatibility constraints restrict them from upgrading. To see why use `status --outdated`

- Output of using Pkg; Pkg.status(; mode = PKGMODE_MANIFEST)
julia> using Pkg; Pkg.status(; mode = PKGMODE_MANIFEST)

Project QuantumClifford v0.9.11
Status ...
  [c3fe647b] AbstractAlgebra v0.43.6
  [ec485272] ArnoldiMethod v0.4.0
  [62783981] BitTwiddlingConvenienceFunctions v0.1.6
  [861a8166] Combinatorics v1.0.2
  [f70d9fcc] CommonWorldInvalidations v1.0.0
  [34da2185] Compat v4.16.0
  [864edb3b] DataStructures v0.18.20
  [ffbed154] DocStringExtensions v0.9.3
  [86223c79] Graphs v1.12.0
  [3e5b6fbb] HostCPUFeatures v0.1.17
⌅ [2cd5bd5f] ILog2 v0.2.4
  [615f187c] IfElse v0.1.1
  [d25df0c9] Inflate v0.1.5
  [692b3bcd] JLLWrappers v1.6.1
  [1914dd2f] MacroTools v0.5.13
  [2edaba10] Nemo v0.47.1
  [bac558e1] OrderedCollections v1.6.3
  [aea7be01] PrecompileTools v1.2.1
  [21216c6a] Preferences v1.4.3
  [5717a53b] QuantumInterface v0.3.6
  [fb686558] RandomExtensions v0.4.4
  [fdea26ae] SIMD v3.6.0
  [699a6c99] SimpleTraits v0.9.4
  [aedffcd0] Static v1.1.1
  [90137ffa] StaticArrays v1.9.7
  [1e83bf80] StaticArraysCore v1.4.3
  [8e1ec7a9] SumTypes v0.5.8
  [e134572f] FLINT_jll v300.100.300+0
⌅ [656ef2d0] OpenBLAS32_jll v0.3.24+0
  [0dad84c5] ArgTools v1.1.1
  [56f22d72] Artifacts
  [2a0f44e3] Base64
  [ade2ca70] Dates
  [8ba89e20] Distributed
  [f43a241f] Downloads v1.6.0
  [7b1f6079] FileWatching
  [b77e0a4c] InteractiveUtils
  [b27032c2] LibCURL v0.6.4
  [76f85450] LibGit2
  [8f399da3] Libdl
  [37e2e46d] LinearAlgebra
  [56ddb016] Logging
  [d6f4376e] Markdown
  [a63ad114] Mmap
  [ca575930] NetworkOptions v1.2.0
  [44cfe95a] Pkg v1.10.0
  [de0858da] Printf
  [3fa0cd96] REPL
  [9a3f8284] Random
  [ea8e919c] SHA v0.7.0
  [9e88b42a] Serialization
  [1a1011a3] SharedArrays
  [6462fe0b] Sockets
  [2f01184e] SparseArrays v1.10.0
  [10745b16] Statistics v1.10.0
  [fa267f1f] TOML v1.0.3
  [a4e569a6] Tar v1.10.0
  [8dfed614] Test
  [cf7118a7] UUIDs
  [4ec0a83e] Unicode
  [e66e0078] CompilerSupportLibraries_jll v1.1.1+0
  [781609d7] GMP_jll v6.2.1+6
  [deac9b47] LibCURL_jll v8.4.0+0
  [e37daf67] LibGit2_jll v1.6.4+0
  [29816b5a] LibSSH2_jll v1.11.0+1
  [3a97d323] MPFR_jll v4.2.0+1
  [c8ffd9c3] MbedTLS_jll v2.28.2+1
  [14a3606d] MozillaCACerts_jll v2023.1.10
  [4536629a] OpenBLAS_jll v0.3.23+4
  [bea87d4a] SuiteSparse_jll v7.2.1+1
  [83775a58] Zlib_jll v1.2.13+1
  [8e850b90] libblastrampoline_jll v5.8.0+1
  [8e850ede] nghttp2_jll v1.52.0+1
  [3f19e933] p7zip_jll v17.4.0+2
Info Packages marked with ⌅ have new versions available but compatibility constraints restrict them from upgrading. To see why use `status --outdated -m`

- Output of versioninfo()
julia> versioninfo()
Julia Version 1.10.4
Commit 48d4fd48430 (2024-06-04 10:41 UTC)
Build Info:
  Official https://julialang.org/ release
Platform Info:
  OS: Linux (x86_64-linux-gnu)
  CPU: 4 × Intel(R) Core(TM) i5-7300HQ CPU @ 2.50GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-15.0.7 (ORCJIT, skylake)
Threads: 1 default, 0 interactive, 1 GC (on 4 virtual cores)

Can you explain where the a_shifts and b_shifts are coming from, or what is this supposed to be in reference to the paper? Lets stick to the first example
julia> using QuantumClifford
julia> using QuantumClifford.ECC
julia> using Hecke: group_algebra, small_group, dim, gens; using Nemo: GF;
julia> a_shifts = [0, 28]; b_shifts = [0, 9, 18, 12, 29, 14]; l=36; id = 2;

Are they coming from Table I?

Sorry for the late response.  I was taking a nap. I am going to explain it now.
Yup. The examples refer to the Block 1 and Block 3 of the Table 1. So in this example:

a_shifts = [0, 28]; b_shifts = [0, 9, 18, 12, 29, 14]; l=36; id = 2;

a and b are terms of the group algebra element that is constructed by  GA = group_algebra(GF(2), small_group(l, id));
where Lin and Pryadko use the GAP SmallGroup(36, 2) which corresponds to Hecke.small_group(36, 2) - both have same structure  C36.
This is the first example of the Table 1, Block 1  where a = 1+ r^28, and  b = 1 +  r^9 +  r^18 + r^12 +  r^29 + r^14.
I will get back to my PC, and give two examples of the first case.
A slight irrelevant detail: I have reproduced all the codes from Table 2 of this paper.

Method 1:
julia> using QuantumClifford
julia> using QuantumClifford.ECC
julia> using Hecke: group_algebra, small_group, dim, gens; using Nemo: GF;
julia> GA = group_algebra(GF(2), abelian_group(36));
julia> r = gens(GA)[1]; # element of group algebra, only 1 generator.
julia> A = reshape([1 + r^28], (1, 1));
julia> B = reshape([1 + r^9 + r^18 + r^12 + r^29 + r^14], (1, 1));
julia> c = LPCode(A,B);
julia> code_n(c), code_k(c)
(72, 8)

Method 2: This is similar to a_shifts and b_shifts as vector route:
julia> using QuantumClifford
julia> using QuantumClifford.ECC
julia> using Hecke: group_algebra, small_group, dim, gens; using Nemo: GF;
julia> code_n(generalized_bicycle_codes([0 , 28], [0 ,9, 18, 12, 29, 14], 36)), code_k(generalized_bicycle_codes([0 , 28], [0 ,9, 18, 12, 29, 14], 36))
(72, 8)

These two method provide the same results for length and dimension, (72, 8)
Also, under the hood of generalized_bicycle_codes, is:
function generalized_bicycle_codes(...)
julia> GA = group_algebra(GF(2), abelian_group(l));
julia> a = sum(GA[n%dim(GA)+1] for n in a_shifts);
julia> b = sum(GA[n%dim(GA)+1] for n in b_shifts);
julia> c = two_block_group_algebra_codes(a, b);

The small variation in code_k happens when small_group(36,2)) is used like in the first example:  GA = group_algebra(GF(2), Hecke/Oscar.small_group(36, 2)).

There is some misunderstanding. Using things like a_shifts to redo the computations in the paper are not the right approach. The construction in the paper relies on a very specific presentation of the group described in the respective column. Using any other presentation of the group or generators will yield different results. For example,
julia> G = Oscar.small_group(36, 2)
Pc group of order 36

julia> gens(G)
4-element Vector{PcGroupElem}:
 f1
 f2
 f3
 f4

julia> collect(G)
36-element Vector{PcGroupElem}:
[...]

shows that this specific presentation of cyclic group $C_{36}$ is given by 4 generators, so incompatible with the presentation $C_{36} \cong \langle r | r^{36} \rangle$ in the paper. It is the same for all the other groups. That you sometimes get the right results is pure coincidence. Just create the groups and group algebra elements as they are given in paper. Here is an example for the second group from Table I and the construction of $b$:
julia> F = free_group(["r", "s"]);

julia> r, s = gens(F);

julia> G, = quo(F, [s^4, r^9, s^(-1)*r*s*r]);

julia> describe(G)
"C9 : C4"

julia> small_group_identification(G)
(36, 1)

julia> F2G = group_algebra(GF(2), G);

julia> r, s = gens(G); # for less typing

julia> b_elts = [one(G), s, r^6, s^3 * r, s * r^7, s^3 * r^5];

julia> b = sum(F2G(x) for x in b_elts);

By the way, the presentation for this group is wrong in Table I. It must be $r^9$ instead of $r^6$.

This absolutely makes sense! Exactly, the presentation is very specific and it should not be ignored like what I was doing...  Yup, the second row has $r^6$ but the 10th row has $r^9$ for the same structure, seems like a typo from them.  But I will check each presentation just to be sure. Thank you for the heads-up!
I had given presentation consideration in https://github.com/QuantumSavory/QuantumClifford.jl/pull/382 but should not have overlooked it in later PRs... My bad.
Thank you so much!

This is resolved! All the cases mentioned here have been verified.
Thank you once again, Tommy, for your valuable insights! You truly shone in the spotlight.


Windows support

Extend rancher to manage Windows Host by using custom node.
Recommand environment
Windows Servrer, version 1803 or later semi-annual channel version (Core mode) host, version 1709 doesn't work as expected.
Package agent image

Run .\scripts\windows\entry.ps1 on a version 1803 host.
Run .\scripts\windows\release.ps1 -PushImageToLibrary <YOUR DOCKER HUB REPO> to push the new image, after login in Docker.

Package agent dependency images
Clone thxCode/kubernetes-windows-dockerfiles, then run .\hooks\build.ps1 -ForceBuild -PushAfterBuilt -PushImageToLibrary <YOUR DOCKER HUB REPO>, after login Docker.

@orangedeng

How I can try this? I tried to build it using build-agent-windows was not able to get agent.exe generated.

@olljanat , it's still WIP. For trying, using docker.io/maiwj/rancher:1b22cb9 as rancher/rancher and docker.io/maiwj/rancher-agent:1b22cb9 as rancher/rancher-agent. When the UI is ready, changing the ui-index of  Global - Settings to https://qingyang-poi.oss-cn-shenzhen.aliyuncs.com/windows/latest2/index.html.
Run the pasted script on Windows Server Version 1803, please. Maybe you can use this for testing:  ed2k://|file|en_windows_server_version_1803_x64_dvd_12063476.iso|3028504576|49372F013151AF40D7C51497D2E987FA|/

@thxCode thanks but can you also share link to agent.exe? I found two links from UI repos but looks that they are not valid anymore. Logic on UI looks to be quite simple so I should be able to generate command for run.ps1 manually.

LGTM. This should have little impact on our existing code base as most of the changes are only compiled in windows. @alena1108 do you want to do a second round of review?

Frontend PR: https://github.com/rancher/ui/pull/1945

@cjellick
Windows packaging flow
Product

Windows agent

rancher/rancher-agent:xxx-nanoserver-1803

Windows running images

rancher/hyperkube:xxx-nanoserver-1803
rancher/flannel-cni:xxx-nanoserver-1803
rancher/kubelet-pause:xxx-nanoserver-1803

Build Env

Requirement

Windows Server Version 1803
Reference: https://github.com/thxCode/kubernetes-windows-dockerfiles/blob/v0.0.1/README.md
ISO Support: ed2k://|file|en_windows_server_version_1803_x64_dvd_12063476.iso|3028504576|49372F013151AF40D7C51497D2E987FA|/ (only for testing)
Docker installed
Reference: https://docs.docker.com/install/windows/docker-ee/
Version Support: Find-Package -AllVersions -Name docker -ProviderName DockerMsftProvider

Cloud example

"Create an VM intansce" in GCP
At least "2vCPUs 8G"
"Boot disk" from "Windows Server version 1803 Datacenter Core for Containers"
"Create"
Login, using powershell to run Invoke-Expression ((New-Object System.Net.Webclient).DownloadString('https://raw.githubusercontent.com/thxCode/kubernetes-windows-dockerfiles/master/scripts/git-install.ps1')) to install Git

Build Product & Release

Windows agent

Clone: git clone https://github.com/thxCode/rancher.git -b windows_support
Package: cd .\rancher\; .\scripts\windows\entry.ps1
Login DockerHub, Relase: .\scripts\windows\release.ps1 -PushImageToLibrary <YOUR DOCKER HUB REPO>

Windows running images

Clone: git clone https://github.com/thxCode/kubernetes-windows-dockerfiles.git -b v0.0.1
Package: cd .\kubernetes-windows-dockerfiles\; .\hooks\build.ps1 -ForceBuild
Kubernetes version support can change the hyperkube field in VERSION file
Login DockerHub, Relase: .\hooks\build.ps1 -PushAfterBuilt -PushImageToLibrary <YOUR DOCKER HUB REPO>

Testing before merge

Rancher Server

Start up: sudo docker run -d --restart=unless-stopped -p 80:80 -p 443:443 maiwj/rancher:a962dd8b
Prepare UI: https://qingyang-poi.oss-cn-shenzhen.aliyuncs.com/windows/latest2/index.html

Linux Node

Prepare agent: sudo docker pull maiwj/rancher-agent:a962dd8b && sudo docker tag maiwj/rancher-agent:a962dd8b rancher/rancher-agent:a962dd8b

Windows Node

Prepare agent: docker pull maiwj/rancher-agent:a962dd8b-nanoserver-1803; docker tag maiwj/rancher-agent:a962dd8b-nan oserver-1803 rancher/rancher-agent:a962dd8b-nanoserver-1803
Prepare running images: Invoke-Expression ((New-Object System.Net.Webclient).DownloadString('https://raw.githubusercontent.com/thxCode/kubernetes-windows-dockerfiles/v0.0.1/scripts/image-test.ps1'))

Op
Login Rancher Server -> "Add Cluster" -> choose "CUSTOM" -> expand "Cluster Options" -> select "Windows Support (Experimental)" [-> select "Kubernetes Version"] -> "Next"
Linux -> check "etcd", "Control Plane", "Worker" -> paste command -> run in shell
Windows -> select "Windows" "Node Operating System" -> paste command -> run in CMD

LGTM

Test failed. Doesn't look like test failure is related to your changes.

Needs rebased because @ibuildthecloud HA PR touched the remotedialer as well

@cjellick , I have separated those windows part from remotedialer.


Network Aliases can be duplicated in service spec but cannot in compose yaml; and cannot be updated with different order

problems and steps to reproduce:

I can create service with duplicate aliases like
{Target: "qmx102g5pm9qyytv3dntkbgj3", Aliases: ["2048", "dao2048", "dao2048", "dao-2048"]}
In docker compose, duplicate aliases are not supported.

version: '3'
services:
  abc:
    image:nginx:latest
    ports:
      - 80
    networks:
      test:
        aliases:
        - abcd
        - abcd

the stack deploy log
root@dce177:~/nginx# docker stack deploy abc --compose-file docker-compose.yml
services.abc.networks.test.aliases array items must be unique

When I run deploy stack with compose, the network aliases are same as before and are only de-duplicated. If not, I will get error like ''.
{Target: "qmx102g5pm9qyytv3dntkbgj3", Aliases: ["2048", "dao2048", "dao-2048"]}
"rpc error: code = 2 desc = changing network in service is not supported"

When I test the update service API, the network aliases order must be as before. If not, I will get error like ''.
"rpc error: code = 2 desc = changing network in service is not supported"
{Target: "qmx102g5pm9qyytv3dntkbgj3", Aliases: ["2048", "dao2048", "dao-2048", "dao2048",]}

How to fix this? I'm not sure and below are my suggestions

current service update logic uses reflect.DeepEqual() and we may change it to compare each aliases lists.
we may use unique set instead of array[] for aliases.
just de-dup aliases list when creating or updating service and compare the ordered list with reflect.DeepEqual().

root@dce177:~# docker version
Client:
 Version:      1.13.1
 API version:  1.26
 Go version:   go1.7.5
 Git commit:   092cba3
 Built:        Wed Feb  8 06:50:14 2017
 OS/Arch:      linux/amd64

Server:
 Version:      1.13.1
 API version:  1.26 (minimum version 1.12)
 Go version:   go1.7.5
 Git commit:   092cba3
 Built:        Wed Feb  8 06:50:14 2017
 OS/Arch:      linux/amd64
 Experimental: true

Thanks.

/cc @vdemeester @dnephin

How were you able to create the service with duplicate aliases? You should get the error "services.abc.networks.test.aliases array items must be unique"

@pacoxu I think you created the service through docker remote API?
In that case, the compose behavior you described seems to be about right. Aliases should be unique and updating a network with different list of alias will return an error, as technically the network spec has been changed and updating network is not implemented yet.
The docker remote API for service creation does not check for uniqueness of the alias list. I think that is something that could be addressed.
For the order of the alias list, I think we could leave the order alone and require that the order be maintained when service is updated. Would like to hear opinions on this issue though.

@dnephin,  as @yongtang  thought, I use remote API and I am using docker 17.03.0-ce. I cannot find way to create service with aliases and never get the error. Do you mean to add a validation during service creating?

@yongtang As the CLI supports to deploy stack now and this would be a problem later and we need to figure out a way to solve this.


Nonlinear system GetGradient

Hi,
I'm working on a nonlinear system and write my own BlockNonlinearFormIntegrator. So in the GetGradient part, I can simply use block_nonlinear_form->GetGradient(u), which is a operator. But since my problem also have diffusion part which is linear. So the correct Jacobian should be diffusion_matrix + block_nonlinear_form->GetGradient(u). My question is how to implement this Jacobian, i.e, do the summation.
I tried with SparseMatrix *grad_R = dynamic_cast<SparseMatrix *>(&block_nonlinear_form-GetGradient(u)) and sparse matrix add, but it not work, it gave me the segment fault.
So I tried with ex19. In ex19,  I modified SparseMatrix *grad_H = dynamic_cast<SparseMatrix *>(&Hform-GetGradient(u)) and return *grad_H, it gave me the same error. So I thought it may not allowed to get the Matrix in the block nonlinear Jacobian? Since I also tried BlockMatrix and DenseMatrix.
So can you gave me some suggestion? For the block nonlinear form with bilinear form, how to return the Jacobian? Jacobian = Diffusion_matrix + block_nonlinear_form->GetGradient(u)
Best,
Ting

Hi Vladimir,
I exactly use the method in ex10. But in ex10, it is just a equation for nonlinear part. I also tried my Integrator with one equation and it works correct for me. But when I have the system equation, it wouldn't work like ex19.
You can try ex19 like ex10, it will give the segment fault.

I see. Are you sure the two SparseMatrices you're trying to add are of the same size?

Hi Valdimir,
Yes, I'm sure. I output the Matrix as the operator and output there size, the two matrix match each other.
Actually, I think the problem is that it not allowed for the BlockNonliearForm GetGradient to have the Matrix form? As I said before, in ex19, I use SparseMatrix *grad_H = dynamic_cast<SparseMatrix *>(&Hform-GetGradient(u)) and return *grad_H instead of return Hform->GetGradient(u), then it gave me the same error.

The BlockNonlinearForm::GetGradient returns a BlockOperator, which is not a SparseMatrix, see the implementation in class BlockNonlinearForm . So my guess is that your dynamic cast is failing.

So how can I implement my Jacobian?

You can probably add each SparseMatrix of the GetGradient's result. The result is Array2D<SparseMatrix *>.

In particular, BlockOperator::GetBlock() might be what you need.

Yes, exactly. I just tried and find it works.
Thank you so much for help.


Create lambda that accepts STAC catalog as input and publishes CNM to SNS topic

This is done, and Luca has tested it for L1B.
closing now: https://github.com/unity-sds/unity-data-services/commit/1d873d2ff5dc87ad55f2931086d5e6f38ff47402


Support for changing bit depth

Hi there,
I stream to my laptop which only supports 6bit color.
When using the default 8 bit depth colours look muted.
When in game this is less noticable but using the desktop is not a very good look.
I understand that higher color depths 10bit and 12 bit are in the works but was wondering if this can be customized in the future.
Thank you for your work!

Latest commit from @bud3699 includes this. 👍 Souce available now, release coming shortly.


The example for the adaptive card does not work on this page. What is the proper body payload of the REST POST to post that card?

[Enter feedback here]

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

ID: 0a4df548-56f2-4601-31d8-58a3237fd867
Version Independent ID: ec4ede13-b432-61bb-5de8-1ed88bf36e17
Content: Add rich card attachments to messages - Bot Service
Content Source: articles/rest-api/bot-framework-rest-connector-add-rich-cards.md
Service: bot-service
GitHub Login: @RobStand
Microsoft Alias: kamrani

The page is about REST API payloads - and the example card code is not yet a payload you can post to the API, it has to be included in a message attachment to be successfully posted against the API. That's why I think it should be listed as a portable payload on that page and not as a valid card JSON only.

If I modify the payload from the hero card section and paste the Adaptive Card JSON into it, it looks like this:
{
  "type": "message",
  "from": {
    "id": "12345678",
    "name": "sender's name"
  },
  "conversation": {
    "id": "abcd1234",
    "name": "conversation's name"
  },
  "recipient": {
    "id": "1234abcd",
    "name": "recipient's name"
  },
  "attachments": [
    {
      "contentType": "application/vnd.microsoft.card.adaptive",
      "content": {
        "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
        "type": "AdaptiveCard",
        "version": "1.0",
        "body": [
          {
            "type": "Container",
            "items": [
              {
                "type": "TextBlock",
                "text": "Publish Adaptive Card schema",
                "weight": "bolder",
                "size": "medium"
              },
              {
                "type": "ColumnSet",
                "columns": [
                  {
                    "type": "Column",
                    "width": "auto",
                    "items": [
                      {
                        "type": "Image",
                        "url": "https://pbs.twimg.com/profile_images/3647943215/d7f12830b3c17a5a9e4afcc370e3a37e_400x400.jpeg",
                        "size": "small",
                        "style": "person"
                      }
                    ]
                  },
                  {
                    "type": "Column",
                    "width": "stretch",
                    "items": [
                      {
                        "type": "TextBlock",
                        "text": "Matt Hidinger",
                        "weight": "bolder",
                        "wrap": true
                      },
                      {
                        "type": "TextBlock",
                        "spacing": "none",
                        "text": "Created {{DATE(2017-02-14T06:08:39Z, SHORT)}}",
                        "isSubtle": true,
                        "wrap": true
                      }
                    ]
                  }
                ]
              }
            ]
          },
          {
            "type": "Container",
            "items": [
              {
                "type": "TextBlock",
                "text": "Now that we have defined the main rules and features of the format, we need to produce a schema and publish it to GitHub. The schema will be the starting point of our reference documentation.",
                "wrap": true
              },
              {
                "type": "FactSet",
                "facts": [
                  {
                    "title": "Board:",
                    "value": "Adaptive Card"
                  },
                  {
                    "title": "List:",
                    "value": "Backlog"
                  },
                  {
                    "title": "Assigned to:",
                    "value": "Matt Hidinger"
                  },
                  {
                    "title": "Due date:",
                    "value": "Not set"
                  }
                ]
              }
            ]
          }
        ],
        "actions": [
          {
            "type": "Action.ShowCard",
            "title": "Comment",
            "card": {
              "type": "AdaptiveCard",
              "body": [
                {
                  "type": "Input.Text",
                  "id": "comment",
                  "isMultiline": true,
                  "placeholder": "Enter your comment"
                }
              ],
              "actions": [
                {
                  "type": "Action.Submit",
                  "title": "OK"
                }
              ]
            }
          },
          {
            "type": "Action.OpenUrl",
            "title": "View",
            "url": "https://adaptivecards.io"
          }
        ]
      }
    }
  ],
  "replyToId": "5d5cdc723"
}

Does this answer your question or are you saying you really want the doc to be modified?
@JonathanFingold - Do you think the doc should contain the full activity instead of just the card JSON?

My belief is that a page about REST API should point out valid API payloads on all examples, not only a few...
Thank you for caring!

My inclination is to make clear throughout this article that each example card JSON is meant to be added to an activity as an attachment. I think part of the problem is that this is only mentioned at the top of the article and easily missed.
I could situate each sample card JSON in a complete message activity payload, but then I'd need to repeat a bunch of placeholder content.

I agree. Maybe it would be helpful to start with demonstrating the pattern of attachment posting and later referring to it.

@BerndGewehr I made some changes to the article. These will go live the next time we push content to the live site.


the result of nuscenes

Is the result on nuscenes from this article?

This is a vision-centric BEV detector adapted to the roadside scenario. The updated version for the on-vehicle scenario will be left as our future work.


docker_27: 27.2.0 -> 27.3.0

Description of changes

Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

reopened #343186 here

Diff LGTM. Waiting for ofborg. Please squash both commits into one.

Please remove the merge commits

Very sorry, I'm not very familiar with git


An error occurred during the publish operation

** Please describe which feature you have a question about? **
AWS Amplify Console
** Provide additional details**
I'm trying to follow the tutorial to create a fullstack app with node/react/graphsql (https://docs.amplify.aws/start/getting-started/hosting/q/integration/react).  I get all the way to the very last step, (amplify publish) and I get an error:
√ Zipping artifacts completed.
× Deployment failed! Please report an issue on the Amplify Console GitHub issue tracker at https://github.com/aws-amplify/amplify-console/issues.
An error occurred during the publish operation
Any advice about where to look next is appreciated.

Would you be able to share your appId (It's part of the app ARN on the General Settings page) and region?

d2i4pheun49pcp
us-east-1
Note: I have been able to workaroud the problem by zipping the contents of the build folder,uploading to S3 and importing. 'drag and drop' failed similarly to "amplify publish".  While the workaround helps, I would love to be able to get it working as it should.

I had the same issue, and the resolution for me was to use a profile with administrator access in the Amplify CLI. I tried using a profile with this policy at first:
https://docs.amplify.aws/cli/usage/iam
So there must be some missing permission in that policy, but which particular one is absent is not obvious from the error message.

@campbellwarren are you still experiencing any issue? Does the proper profile/policy work for you as well?

Im having the same issue. runnning amplify publish fails and drag and drop in the amplify console also fails. Just updated to version 4.35 of the cli but still failing..

@gkpty are you in us-east-1? We are continuing to investigate increased API error rates in US-EAST-1 region.

@litwicki Yes, the app is in us-east-1

I am also facing the same issue. My region is also us-east-1.

The issue in US-EAST-1 is now resolved. However builds that were in progress may need to be restarted as a result. If you're not able to cancel/restart any build that was "stuck" please let us know here.

I never got this to work. I was able to work around it by uploading the
build to S3 and then importing from s3 to amplify.
On Thu, Nov 26, 2020, 4:02 PM Usama Tahir<EMAIL_ADDRESS>wrote:

I am also facing the same issue. My region is also us-east-1.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/aws-amplify/amplify-console/issues/1124#issuecomment-734476503,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AQJYQ7EKZU7GP4QN5Y4RSITSR266VANCNFSM4SKBRWGA
.

Having what could be the same problem on eu-west-2. I'm doing manual CI/CD via GitHub actions and get this error in my output:
Publish started for amplifyhosting command execution terminated with error An error occurred during the publish operation Error: Process completed with exit code 1.
At first I thought there was an issue with the Amplify CLI action I was using but it seems like there is actually a bug as I've run into the exact same running my own workflow.
I dropped using the front end CI/CD because I was getting freezes when running Cypress, had to recreate my entire app from scratch to go back to manual deployment and now I can't publish my site even when doing everything manually myself.
I'm using access/secret keys for a user that has AdministratorAccess, so it shouldn't be some strange policy based issue either.
Using 4.35.0 locally where it's working, 4.36.0 in my action.
This issue is a complete show stopper for me; I cannot automate my site.

@rossbishop really sorry to hear about your difficulties, this is not how things should be working. Can you share your appId here, or if you have anything else you can share with us to verify/reproduce the problem with please send to<EMAIL_ADDRESS>and we will do whatever we can to get you unblocked.

We have the same issue. Since day one "amplify publish" has not worked for us. Also, since we use 3rd party who create roles/policies for us; and is not willing to add IAM policies in the amplify service role. We get exact same error mentioned in the first comment.
We would like to know exactly what policies we need in the role to get this working. And if policy is not the issue what could be the cause for such failure. I wish AWS would give a better stack trace, right now it's such a black box and it's frustrating.

@rossbishop really sorry to hear about your difficulties, this is not how things should be working. Can you share your appId here, or if you have anything else you can share with us to verify/reproduce the problem with please send to<EMAIL_ADDRESS>and we will do whatever we can to get you unblocked.

My actual issue is detailed here - it was a defaults issue with build commands for projects created on Windows that were then being deployed on Linux in the cloud. See https://github.com/aws-amplify/amplify-cli/issues/5990.
Thanks.

I fixed this by adding the AdministratorAccess permission to my Amplify IAM user.

@stefvanderwel You are a legend, thank you so much.

@stefvanderwel You are a legend, thank you so much.

I upgrade my amplify and got a more verbose error message, try it and see what exactly is going wrong.
npm i -g @aws-amplify/cli

I upgrade my amplify and got a more verbose error message, try it and see what exactly is going wrong.
npm i -g @aws-amplify/cli

Hey everyone 👋 , thanks for your continued patience and apologies for the delayed response on the thread.
I performed a quick test and was able to successfully deploy a fullstack Amplify app by following the step by step instructions outlined in this documentation: https://docs.amplify.aws/start/getting-started/installation/q/integration/react/
Amplify CLI version used: 12.1.0
I am going to close this thread but please feel free to open a new GitHub issue if you are experiencing issues with Amplify Hosting. Thank you!


I want to enable aes128-sha in tlsv1, but disable aes128-sha in tlsv2. How should I configure it in nginx?

What do you mean by tlsv1 and tlsv2? If you mean tlsv1.0 and tlsv1.2 - it is not possible to enable/disable ciphersuites on per protocol version basis except for the tlsv1.3 version which has completely separate ciphersuites settings from the other tls versions.
All this assumes nginx uses OpenSSL.


Spike: Investigate opt in to error reporting

Story
As a wallet user
When I am using the browser extension for the first time
I want to be able to decide whether to opt in to automatic error reporting or not
So that I remain in full control of my privacy
Acceptance Criteria

[ ] I can see an explanation of what I am being asked to opt in/out to and why
[ ] I can click a link to read more details about Vega's privacy policy
[ ] I can opt in to report bugs and crashes
[ ] I can opt out of reporting bugs and crashes
[ ] If I have opted in and am using the wallet app, telemetry errors / analytics are recorded / reported in Sentry
[ ] If I have opted in and am using the wallet app, all keys are obscured and replaced with something appropriate in Sentry
[ ] If I have opted out and am using the wallet app, telemetry errors / analytics are NOT recorded / reported in Sentry

Tasks

[ ] Create more detailed sketch and define content
[ ] Review with stakeholders
[ ] Visual Design
[ ] Implement backend error reporting
[ ] Implement Sentry error reporting
[ ] QA Test
[ ] Release

Sketch
Notes
Tests written against desktop wallet A/Cs can be found here, in case useful to reuse / refer to 0001-WALL-003

Need to investigate what Sentry allows and if that works first. If it's capturing errors from the backend process does that give us what we need / does it do that?

Investigate which of these types of errors are captured by default by Sentry in the FE/BE:

Background errors e.g. when the app is starting up

These appear to be captured correctly

Errors the backend throws in response to a request intended e.g. wallet with name X already exists

Check

Unexpected errors thrown in the backend

Check

Errors from the frontend

Known to be covered by sentry


updated v2.19.0

Checklist

[X] Used a personal fork of the feedstock to propose changes
[X] Bumped the build number (if the version is unchanged)
[X] Reset the build number to 0 (if the version changed)
[X] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[X] Ensured the license file is being packaged.

@conda-forge-admin, please rerender

lol, the nub on my keyboard is worn down and my right hand was offset when I typed the commit message

@conda-forge-admin, please rerender


Fix for shutdown ordering issue

This is a potential fix for https://github.com/Themaister/parallel-rdp-standalone/issues/2
It appears that objects are currently being destructed in the incorrect order. The Renderer is shutdown first while the CommandRing is still using it.
I don't have a test case to reliably reproduce this, I'm only going from crash reporting, so I can't say with 100% certainty that this will fix it until I deploy it.

FYI, I verified that this addresses the shutdown crash issue.

Hi, no problem. You may want to disable pull requests for this repo in the future.

I don't think that is possible on Github. It's possible to disable Issues though.


Globber rewrite

This is an attempty to refactor and speed up the globber. it's faster and much easier to follow and debug. Next step is to identify corner cases and add proper tests for them.
This might contain bugs, but would appreciate if people would try it out to make sure we don't break any core functionality in Cake.
Benchmarks
Globber.Match(string pattern) and CleanDirectory(string pattern) benchmarks using the old and new globber on a directory root with 3,964 files and 1,238 folders, using the expression C:/Source/Git/patriksvensson/**/bin.

Old globber

Matching: 7.4157083 seconds
Cleaning: 7.7243717 seconds

New globber

Matching: 0.4628712 seconds
Cleaning: 0.7900062 seconds

Resolves #275

Merged.


Stop using an O(n^2) traversal

Qi bases commit iteration on git rev-list -n1 --before=X, causing a new revision walk for each X. This stings. Opt instead for a buffered read of git log --first-parent --pretty=%H\ %cd --date=unix as per this SO question.

Fixed in v0.2


discovery/kubernetes: Warn user in case of endpoint over-capacity

After the introduction of Kubernetes EndpointSlice as part of https://github.com/prometheus/prometheus/pull/6838, there was a need to warn the user in case overcapacity labels are present, as stated in https://github.com/prometheus/prometheus/issues/7572#issuecomment-689995810.
Could you please review this PR @roidelapluie?

Yes, I mean change the error to : Number of endpoints in one Endpoints object exceeds 1000 and has been truncated, please use "role: endpointslice" instead or something in the likes.


feat: add outputs status and command

Related Issues

#50

Proposed Changes:
Enhance the system by incorporating the capability to observe the status of control panel outputs (refer to the "home automation" page on the eConnect website) and manipulate them when configured for manual control without necessitating authentication.
Testing:
Extra Notes (optional):
Home automation page of eConnect website:

How is figured out in Home assistant:

Checklist

[X] Related issues and proposed changes are filled
[X] Tests are defining the correct and expected behavior
[X] Code is well-documented via docstrings

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

76 of 78 (97.44%)  changed or added relevant lines in 3 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.5%) to 94.708%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

custom_components/econnect_metronet/switch.py
42
44
95.45%

Totals

Change from base Build<PHONE_NUMBER>:
0.5%

Covered Lines:
579

Relevant Lines:
613

💛  - Coveralls


Anwendungsfälle

Welche Anwendungsfälle gibt es?

Bauer will wissen, wie gut sein Land bewässert ist.
Baumbewuchs in einer bestimmten Region.

Use cases Skylax

Land change detection

Skylax can be used to detect land changes, as e.g. deforestation or building of new structures. Therefore you need to load in satellite images of different date and compare them by the use of fading images' opacity for example. This function supports the mapping of:
*Land cover development
*Classification and change maps
*Environmental analysis
*Irrigated landscape mapping
*Carbon Storage and Avoidance
*Yield determination
*Soils and Fertility Analysis
*And other accurate assessment of geophysical parameters
2. Insurance Industry
Skylax can be used to detect and prove damages in the aftermath of natural phenomena. For example agriculture damages after flooding can be analyzed by calculating differences in vegetation indices of satellite images.


feat(OCPADVISOR-126): Workloads list table

OCPADVISOR-126
Added a bare table with some mocked data

How to test:

Make sure workloads feature flag is enabled in Unleash
Go to Openshift > Advisor and under Clusters you should see Workloads
Make sure the table renders

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


[NEW-FEATURE] I'd like to define pragmas on TYPE STRUCT

I am not able to add pragmas to TYPE STRUCT

@RauerJ it seems not possible to add pragmas on type declaration.

@PTKu Waiting for the outcome from Jürgen in https://github.com/orgs/simatic-ax/discussions/14 and will create demand depending on answer from devs.

Discussed in https://github.com/orgs/simatic-ax/discussions/14
Closing for now


Error: cannot re-use a name that is still in use for cert-manager

╷
│ Error: cannot re-use a name that is still in use
│
│   with module.cert-manager.helm_release.cert_manager[0],
│   on ../../modules/addons/cert-manager/main.tf line 22, in resource "helm_release" "cert_manager":
│   22: resource "helm_release" "cert_manager" {
│

addressed by https://github.com/smarunich/tetrate-service-bridge-sandbox/pull/106


Separate R* and *Pow gates

Feature: Separate R* and *Pow gates
Problem: Cirq has many gates that are based upon the EigenGate, so called Pow gates.  These have the nice property that they admit an interpretation in terms of powering these gates, i.e. one can define gate**exp.  Another way to specify gates is as exponentiations of Hamiltonians, i.e. exp(-iH) type constructions.  The first of these are the *Pow gates and later are the R* gates.  *Pow gates are not a standard way to construct gates in quantum computing, and this causes confusion.  Further this suffers from the problem that exponentiating is not fully defined with making choices about branch cuts (similar to the fact that the square root of four has two roots, plus or minus two).   Another issue is that the R* gates require symbolic resolution when serialized as a *Pow gate, causing slowness an unnecessary parameter resolution.  Currently we support R* gates by delegating to *Pow gates.  This feature would be to disentangle this and create a separate class of gates R* gates.  These would stand alone from *Pow gates.
Rough requirements:

Potentially decide to only support one of these two methods.
Create new R*gates, either directly or via  the gate construction set feature.
Provide standard Gate compilers between R* and *Pow gates
Use R* in entry level documentation

I'm not sure what's the advantage of defining (completely separate) R* gates given that we already support cirq.rx etc. For the points mentioned above, my thoughts are as follows:

*Pow gates are not a standard way to construct gates in quantum computing, and this causes confusion.

But we do have rx, ry, rz factories and corresponding 'Rx()' 'Ry()' 'Rz()' representation in circuit.

Further this suffers from the problem that exponentiating is not fully defined with making choices about branch cuts (similar to the fact that the square root of four has two roots, plus or minus two).

Assuming this means ry(np.pi/2)**(1/2) equals ry(np.pi / 4) and not -ry(np.pi/4), how would this problem go away if we define explicit R* gates? We would still have to make a decision for the branch cut right?

Another issue is that the R* gates require symbolic resolution when serialized as a *Pow gate, causing slowness an unnecessary parameter resolution

This slowness due to unnecessary parameter resolution also happens for other gates like S, T etc. Do we plan to have separate classes for all of them?
This representation issue is also related to the confusing QASM output bug, which can be fixed independently.
Also, separating the R* and *Pow gates would be a breaking change. Eg:
Now:
$> print(cirq.XPowGate(exponent = 1/2, global_shift = -0.5))
Rx(0.5π)

After separation:
$> print(cirq.XPowGate(exponent = 1/2, global_shift = -0.5))
XPowGate(exponent=0.5, global_shift=-0.5)

PR3920  tries to add separate explicit Rx, Ry, Rz gates by deriving from the corresponding *Pow gates to maintain backwards compatibility (eg: isinstance would still work) and improve usability (have explicit gates instead of function factories).  Is this enough?


DB Migration Issue - simialr to #108

NetBox version
v3.7.1
Plugin version
v0.12.1
I think I have stumbled into the same issue as #108 - not sure how to get round it as the workarounds detail in #108 are not possible.
Only last chance I think is to edit the DB directly. Thoughts?

I'm closing this as I've been unable to replicate and this is fairly old plugin version (and issue now).


Failed to start Papermerge inside Docker

In case you experience issues with docker image provided by linuxserver.io/papermerge, please open bug report in their repository.
Description
Followed the description in the documentation to get started for setup.

create a local docker-compose.yaml
create .env file with content from mentioned as starting point inside documentation

APP_IMAGE=ghcr.io/papermerge/papermerge
APP_TAG=latest
PAPERMERGE_JS_IMAGE=ghcr.io/papermerge/papermerge.js
PAPERMERGE_JS_TAG=latest

DB_USER=postgres
DB_NAME=postgres
DB_PASSWORD=postgres
DB_HOST=db
DB_PORT=5432

USE_HOSTNAME=papermerge.local

REDIS_HOST=redis
REDIS_PORT=6379

ES_HOSTS=es
ES_PORT=9200

SECRET_KEY=12345abcdxyz

SUPERUSER_USERNAME=admin
<EMAIL_ADDRESS>SUPERUSER_PASSWORD=admin

Start on pwsh

docker compose -f docker-compose.yaml --env-file .env up

login works as expected with default credentials (admin/admin)
try to add folder

Expected
No exception and application can be used
Actual
error in js - Uncaught (in promise) TypeError: Q.randomUUID is not a function

Info:

OS: Windows 10 Enterprise
Docker Desktop for windows v4.11.0 + WSL2
Browser Firefox/Edge/Chrome
Database PostgreSQL 14.4
Papermerge Version 2.1.0a37

Seeing exactly the same error here..
just installed using the documented portainer method https://docs.papermerge.io/Installation/portainer.html
Uncaught (in promise) TypeError: Q.randomUUID is not a function
    at ie.te [as _generate] (vendor-fe16d39c99c858dfbe7954f7b52e67f7.js:4727:47)
    at ie.createIdentifierForNewRecord (vendor-fe16d39c99c858dfbe7954f7b52e67f7.js:4734:340)
    at be._build (vendor-fe16d39c99c858dfbe7954f7b52e67f7.js:4804:12)
    at be.build (vendor-fe16d39c99c858dfbe7954f7b52e67f7.js:4801:84)
    at vendor-fe16d39c99c858dfbe7954f7b52e67f7.js:4963:18
    at U._run (vendor-fe16d39c99c858dfbe7954f7b52e67f7.js:3229:94)
    at U._join (vendor-fe16d39c99c858dfbe7954f7b52e67f7.js:3228:234)
    at U.join (vendor-fe16d39c99c858dfbe7954f7b52e67f7.js:3194:13)
    at vendor-fe16d39c99c858dfbe7954f7b52e67f7.js:4960:119
    at U._run (vendor-fe16d39c99c858dfbe7954f7b52e67f7.js:3229:94)
te @ vendor-fe16d39c99c858dfbe7954f7b52e67f7.js:4727
createIdentifierForNewRecord @ vendor-fe16d39c99c858dfbe7954f7b52e67f7.js:4734
_build @ vendor-fe16d39c99c858dfbe7954f7b52e67f7.js:4804
build @ vendor-fe16d39c99c858dfbe7954f7b52e67f7.js:4801
(anonymous) @ vendor-fe16d39c99c858dfbe7954f7b52e67f7.js:4963
_run @ vendor-fe16d39c99c858dfbe7954f7b52e67f7.js:3229
_join @ vendor-fe16d39c99c858dfbe7954f7b52e67f7.js:3228
join @ vendor-fe16d39c99c858dfbe7954f7b52e67f7.js:3194
(anonymous) @ vendor-fe16d39c99c858dfbe7954f7b52e67f7.js:4960
_run @ vendor-fe16d39c99c858dfbe7954f7b52e67f7.js:3229
_join @ vendor-fe16d39c99c858dfbe7954f7b52e67f7.js:3228
join @ vendor-fe16d39c99c858dfbe7954f7b52e67f7.js:3194
createRecord @ vendor-fe16d39c99c858dfbe7954f7b52e67f7.js:4960
onSubmit @ papermerge-096a5e9669979e53a4107446fd672eab.js:236

Debian GNU/Linux 11 (bullseye)
Docker version 20.10.5+dfsg1, build 55c4c88
Chrome/Edge/Firefox/Brave (latest versions) all return same error

Looks like a general issue i.e. does not depend on operating system

Same problem here with Alpine Linux 3.15, Docker Version 20.10.16 and any browser.
Backend container logs shows this:
93 static files copied to '/app/static'.
Operations to perform:
  Apply all migrations: auth, authtoken, contenttypes, core, dynamic_preferences, dynamic_preferences_users, knox, sessions, sites
Running migrations:
Traceback (most recent call last):
  File "/venv/lib/python3.9/site-packages/django/db/backends/utils.py", line 87, in _execute
    return self.cursor.execute(sql)
psycopg2.errors.UniqueViolation: duplicate key value violates unique constraint "pg_type_typname_nsp_index"
DETAIL:  Key (typname, typnamespace)=(core_user, 2200) already exists.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/app/manage.py", line 22, in <module>
    main()
  File "/app/manage.py", line 18, in main
    execute_from_command_line(sys.argv)
  File "/venv/lib/python3.9/site-packages/django/core/management/__init__.py", line 446, in execute_from_command_line
    utility.execute()
  File "/venv/lib/python3.9/site-packages/django/core/management/__init__.py", line 440, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/venv/lib/python3.9/site-packages/django/core/management/base.py", line 414, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/venv/lib/python3.9/site-packages/django/core/management/base.py", line 460, in execute
    output = self.handle(*args, **options)
  File "/venv/lib/python3.9/site-packages/django/core/management/base.py", line 98, in wrapped
    res = handle_func(*args, **kwargs)
  File "/venv/lib/python3.9/site-packages/django/core/management/commands/migrate.py", line 290, in handle
    post_migrate_state = executor.migrate(
  File "/venv/lib/python3.9/site-packages/django/db/migrations/executor.py", line 131, in migrate
    state = self._migrate_all_forwards(
  File "/venv/lib/python3.9/site-packages/django/db/migrations/executor.py", line 163, in _migrate_all_forwards
    state = self.apply_migration(
  File "/venv/lib/python3.9/site-packages/django/db/migrations/executor.py", line 248, in apply_migration
    state = migration.apply(state, schema_editor)
  File "/venv/lib/python3.9/site-packages/django/db/migrations/migration.py", line 131, in apply
    operation.database_forwards(
  File "/venv/lib/python3.9/site-packages/django/db/migrations/operations/models.py", line 93, in database_forwards
    schema_editor.create_model(model)
  File "/venv/lib/python3.9/site-packages/django/db/backends/base/schema.py", line 432, in create_model
    self.execute(sql, params or None)
  File "/venv/lib/python3.9/site-packages/django/db/backends/base/schema.py", line 192, in execute
    cursor.execute(sql, params)
  File "/venv/lib/python3.9/site-packages/django/db/backends/utils.py", line 67, in execute
    return self._execute_with_wrappers(
  File "/venv/lib/python3.9/site-packages/django/db/backends/utils.py", line 80, in _execute_with_wrappers
    return executor(sql, params, many, context)
  File "/venv/lib/python3.9/site-packages/django/db/backends/utils.py", line 89, in _execute
    return self.cursor.execute(sql, params)
  File "/venv/lib/python3.9/site-packages/django/db/utils.py", line 91, in __exit__
    raise dj_exc_value.with_traceback(traceback) from exc_value
  File "/venv/lib/python3.9/site-packages/django/db/backends/utils.py", line 87, in _execute
    return self.cursor.execute(sql)
django.db.utils.IntegrityError: duplicate key value violates unique constraint "pg_type_typname_nsp_index"
DETAIL:  Key (typname, typnamespace)=(core_user, 2200) already exists.

  Applying core.0001_initial...Creating superuser username=admin
WARNING 2022-08-15 19:34:49,374 base GET http://es:9200/ [status:N/A request:0.044s]
Traceback (most recent call last):
  File "/venv/lib/python3.9/site-packages/django/db/models/query.py", line 657, in get_or_create
    return self.get(**kwargs), False
  File "/venv/lib/python3.9/site-packages/django/db/models/query.py", line 496, in get
    raise self.model.DoesNotExist(
papermerge.core.models.folder.Folder.DoesNotExist: Folder matching query does not exist.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/venv/lib/python3.9/site-packages/urllib3/connection.py", line 174, in _new_conn
    conn = connection.create_connection(
  File "/venv/lib/python3.9/site-packages/urllib3/util/connection.py", line 95, in create_connection
    raise err
  File "/venv/lib/python3.9/site-packages/urllib3/util/connection.py", line 85, in create_connection
    sock.connect(sa)
ConnectionRefusedError: [Errno 111] Connection refused

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/venv/lib/python3.9/site-packages/elasticsearch/connection/http_urllib3.py", line 255, in perform_request
    response = self.pool.urlopen(
  File "/venv/lib/python3.9/site-packages/urllib3/connectionpool.py", line 787, in urlopen
    retries = retries.increment(
  File "/venv/lib/python3.9/site-packages/urllib3/util/retry.py", line 525, in increment
    raise six.reraise(type(error), error, _stacktrace)
  File "/venv/lib/python3.9/site-packages/urllib3/packages/six.py", line 770, in reraise
    raise value
  File "/venv/lib/python3.9/site-packages/urllib3/connectionpool.py", line 703, in urlopen
    httplib_response = self._make_request(
  File "/venv/lib/python3.9/site-packages/urllib3/connectionpool.py", line 398, in _make_request
    conn.request(method, url, **httplib_request_kw)
  File "/venv/lib/python3.9/site-packages/urllib3/connection.py", line 239, in request
    super(HTTPConnection, self).request(method, url, body=body, headers=headers)
  File "/usr/local/lib/python3.9/http/client.py", line 1285, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/local/lib/python3.9/http/client.py", line 1331, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/usr/local/lib/python3.9/http/client.py", line 1280, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/local/lib/python3.9/http/client.py", line 1040, in _send_output
    self.send(msg)
  File "/usr/local/lib/python3.9/http/client.py", line 980, in send
    self.connect()
  File "/venv/lib/python3.9/site-packages/urllib3/connection.py", line 205, in connect
    conn = self._new_conn()
  File "/venv/lib/python3.9/site-packages/urllib3/connection.py", line 186, in _new_conn
    raise NewConnectionError(
urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPConnection object at 0x7f52bfa654c0>: Failed to establish a new connection: [Errno 111] Connection refused
WARNING 2022-08-15 19:34:49,393 signals Elastic search connection error
WARNING 2022-08-15 19:34:49,521 base GET http://es:9200/ [status:N/A request:0.003s]
Traceback (most recent call last):
  File "/venv/lib/python3.9/site-packages/django/db/models/query.py", line 657, in get_or_create
    return self.get(**kwargs), False
  File "/venv/lib/python3.9/site-packages/django/db/models/query.py", line 496, in get
    raise self.model.DoesNotExist(
papermerge.core.models.folder.Folder.DoesNotExist: Folder matching query does not exist.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/venv/lib/python3.9/site-packages/urllib3/connection.py", line 174, in _new_conn
    conn = connection.create_connection(
  File "/venv/lib/python3.9/site-packages/urllib3/util/connection.py", line 95, in create_connection
    raise err
  File "/venv/lib/python3.9/site-packages/urllib3/util/connection.py", line 85, in create_connection
    sock.connect(sa)
ConnectionRefusedError: [Errno 111] Connection refused

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/venv/lib/python3.9/site-packages/elasticsearch/connection/http_urllib3.py", line 255, in perform_request
    response = self.pool.urlopen(
  File "/venv/lib/python3.9/site-packages/urllib3/connectionpool.py", line 787, in urlopen
    retries = retries.increment(
  File "/venv/lib/python3.9/site-packages/urllib3/util/retry.py", line 525, in increment
    raise six.reraise(type(error), error, _stacktrace)
  File "/venv/lib/python3.9/site-packages/urllib3/packages/six.py", line 770, in reraise
    raise value
  File "/venv/lib/python3.9/site-packages/urllib3/connectionpool.py", line 703, in urlopen
    httplib_response = self._make_request(
  File "/venv/lib/python3.9/site-packages/urllib3/connectionpool.py", line 398, in _make_request
    conn.request(method, url, **httplib_request_kw)
  File "/venv/lib/python3.9/site-packages/urllib3/connection.py", line 239, in request
    super(HTTPConnection, self).request(method, url, body=body, headers=headers)
  File "/usr/local/lib/python3.9/http/client.py", line 1285, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/local/lib/python3.9/http/client.py", line 1331, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/usr/local/lib/python3.9/http/client.py", line 1280, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/local/lib/python3.9/http/client.py", line 1040, in _send_output
    self.send(msg)
  File "/usr/local/lib/python3.9/http/client.py", line 980, in send
    self.connect()
  File "/venv/lib/python3.9/site-packages/urllib3/connection.py", line 205, in connect
    conn = self._new_conn()
  File "/venv/lib/python3.9/site-packages/urllib3/connection.py", line 186, in _new_conn
    raise NewConnectionError(
urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPConnection object at 0x7f52bfa65e20>: Failed to establish a new connection: [Errno 111] Connection refused
WARNING 2022-08-15 19:34:49,525 signals Elastic search connection error
Superuser created successfully.

Beside database errors there seem to be connection problems to elastic search. Although from within the container the http based connection seems to be functional:
# python -c "import urllib.request as r; print(r.urlopen('http://es:9200').read())"

b'{\n  "name" : "fe7e278e159c",\n  "cluster_name" : "docker-cluster",\n  "cluster_uuid" : "Kv8mj-4AR72HDyEpZfpUig",\n  "version" : {\n    "number" : "7.16.2",\n    "build_flavor" : "default",\n    "build_type" : "docker",\n    "build_hash" : "2b937c44140b6559905130a8650c64dbd0879cfb",\n    "build_date" : "2021-12-18T19:42:46.604893745Z",\n    "build_snapshot" : false,\n    "lucene_version" : "8.10.1",\n    "minimum_wire_compatibility_version" : "6.8.0",\n    "minimum_index_compatibility_version" : "6.0.0-beta1"\n  },\n  "tagline" : "You Know, for Search"\n}\n'

I was able to reproduce the problem. At least there were frontend errors.
After some investigation, I think the problem is with frontend part after all. At very least I was able to create folders using REST API.
Investigating...

Found it. It is a bug in ember/data:
https://github.com/emberjs/data/issues/8106
https://github.com/emberjs/data/issues/8097
https://github.com/WICG/uuid/issues/23

The fix is now part of 2.1.0a39 docker image.
@makaanneo, @4nx could you please check papermerge.js:2.1.0a39) docker image and confirm that indeed it fixes
the issue ?

@ciur I can confirm that this fixed the problem.


Roof Removal Plugin - add toggle for POH

It would be very nice to have a toggle for inside player owned houses.
Because you tend to move the cursor around a lot while deciding where you're teleporting it causes a bit of an annoyance. Would be even more useful for others homes to quickly identify the layout or room you're looking for.

Big support.  Love the functionality in the open world, but would love to see a toggle to set POH roofs to always off.

I think this is an excellent idea because my POH is one of the few places I always want the roofs hidded.

I think it's a great idea too, it's definitely a minor annoyance.
@Hydrox6 I see you removed the internal tag. I looked into this and I couldn't figure out how it could be done without access to the generateHouses() and setRoofRemovalMode() methods. Am I missing something obvious?


Support for Symfony 3.1

Coverage increased (+0.009%) to 87.945% when pulling a332a668bc38ec45340aa70457128af97e679719 on kubawerlos:master into 55017c677dc91f171189a6a1f46fbcb552557b7b on alecsammon:master.

Coverage increased (+0.009%) to 87.945% when pulling<PHONE_NUMBER>ac53a827ed20c032cdd07c15d34f66 on kubawerlos:master into 55017c677dc91f171189a6a1f46fbcb552557b7b on alecsammon:master.

This patch makes my #103 redundant.

@kubawerlos Please fix conflicts.

@pies what about removing composer.lock? It is library after all.

Coverage increased (+0.06%) to 89.198% when pulling 0822848ad0eb35da8e58d0d9390b6dbbd6d62e88 on kubawerlos:master into c57fcbcc7eb3199c3fd0f335bdf860266d543b2a on alecsammon:master.

Coverage increased (+0.06%) to 89.198% when pulling 0822848ad0eb35da8e58d0d9390b6dbbd6d62e88 on kubawerlos:master into c57fcbcc7eb3199c3fd0f335bdf860266d543b2a on alecsammon:master.

Coverage increased (+0.06%) to 89.198% when pulling 0822848ad0eb35da8e58d0d9390b6dbbd6d62e88 on kubawerlos:master into c57fcbcc7eb3199c3fd0f335bdf860266d543b2a on alecsammon:master.

@kubawerlos That's a great point, can you please delete it? :) Sorry about making you jump trough hoops.

@pies it's done.

@kubawerlos Thank you.


Fix alert message of onClickNode function in README

change tick to back-tick for template literal in alert message

Hey @LucienBouletRoblin nice catch, thanks for that


Update utils.py

v3.0.0 rapidfuzz removed the rapidfuzz.string_metric.levenshtein API. The replacement is rapidfuzz.distance.Levenshtein.

Please correct me if I'm wrong, but it looks like the two failing checks do not seem related to this PR.

Please correct me if I'm wrong, but it looks like the two failing checks do not seem related to this PR.

Correct i will merge it in the next minutes :)


There's no change log?

Am I dense, and missed the change log?  I had issues with heapster 1.3.0, decided to upgrade to 1.4.2 and the elasticsearch issue seems to have gone away.  I'd like to know why.

You might take a look here: https://github.com/kubernetes/heapster/releases
At the 1.4.0 notes, you can see they fixed some ElasticSearch stuff.

Thanks!
On Tue, Sep 12, 2017 at 11:13 AM, Jeroen Jacobs<EMAIL_ADDRESS>wrote:

You might take a look here: https://github.com/kubernetes/
heapster/releases
At the 1.4.0 notes, you can see they fixed some ElasticSearch stuff.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/kubernetes/heapster/issues/1802#issuecomment-328858381,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AEB7qCftDBzdoKhESnq7QYCM0hMHbrf7ks5shouGgaJpZM4PRcln
.