Added man page and modify Changelog

I have created a man page for Debian, i think i can upload it can be used outside Debian too.

Nice timing, this spoils my Changelog modification. Should i close this pull-request and start another one with the right Changelog modification?

Sorry, I can't accept GPL licensed documentation in this project.
Also, I would prefer the manual page to be in the mdoc macro language.

Can i ask why not GPL? just curious. :)

Sure. I release all my software under BSD license, either 2-Clause or 3-Clause.

I know that, i eve write the Debian copyright file about it, but i can't
see why. Do you just want one license? or you don't like GPL for your
software?
That's what i am wondering :)
2015-10-31 13:22 GMT+01:00 Frederic Cambus<EMAIL_ADDRESS>
Sure. I release all my software under BSD license, either 2-Clause or
3-Clause.
—
Reply to this email directly or view it on GitHub
https://github.com/fcambus/ansiweather/pull/86#issuecomment-152731781.

--
Por limitaciones presupuestarias nos hemos visto obligados a apagar la luz
al final del túnel. Disculpen las molestias.

Basically both. While I do not mind using GPL licensed software or even contributing code to them, I don't find it an acceptable license for my own software.


cmd/go: error from 'go mod vendor' missing import stack for unmatched 'go:embed' pattern

What version of Go are you using (go version)?

$ go version
go version devel go1.18-73a4bbb0df Thu Nov 11 17:18:13 2021 +0000 linux/amd64

Does this issue reproduce with the latest release?
I tried 1.17 and it seems to have the same problem.
What operating system and processor architecture are you using (go env)?
amd64/linux
What did you do?
For this program:
https://play.golang.org/p/eXki7fZlkkc
if you download it and run "go mod vendor"
What did you expect to see?
Successful "go" cmd.
What did you see instead?
Got:
go mod vendor
go: downloading github.com/go-delve/delve v1.7.2
go: downloading golang.org/x/arch v0.0.0-20190927153633-4e8777c89be4
go: downloading github.com/sirupsen/logrus v1.6.0
go: downloading github.com/aquasecurity/libbpfgo v0.1.2-0.20210708203834-4928d36fafac
go: downloading golang.org/x/sys v0.0.0-20210514084401-e8d321eab015
go: downloading github.com/konsorten/go-windows-terminal-sequences v1.0.3
go mod vendor: pattern trace_probe/trace.o: no matching files found

Note the last error ("no matching files found"). Exit status is 1.

the file doesn't exist: https://github.com/go-delve/delve/tree/v1.7.2/pkg/proc/internal/ebpf/trace_probe
Note: delve appears to have switched ebpf libraries last week which should resolve the issue? https://github.com/go-delve/delve/pull/2771

We should still have a clearer diagnostic in this case, though: no matching files found doesn't explain why we were trying to match that pattern in the first place.
(I'm guessing maybe it's from a //go:embed directive, but in that case we really ought to display the import stack up to the file containing the unmatched directive.)

Indeed, here is the unmatched //go:embed:
https://github.com/go-delve/delve/blob/2adb72d05373c119b76ed6b4b7a631d8268b0134/pkg/proc/internal/ebpf/helpers.go#L24-L25

OK, that makes more sense now. Especially given that Delve has a top-level makefile ( as opposed to being pure "go build").
Agree that a stack trace or more info would be nice.

@fviernau, starting with Go 1.19, in theory you could use json output with a list of fields (per #29666), and if you don't request the EmbedFiles, TestEmbedFiles, or XTestEmbedFiles fields then go list shouldn't try to glob them.
I don't think we've implemented the logic to suppress those fields yet, but feel free to send a change for Go 1.20. (You can use https://go.dev/cl/392495 as a model.)

Thanks @bcmills, this was very helpful!
I've finally found the time to turn it into a pull request, see https://github.com/golang/go/pull/58522.


emergency=fire_hydrant preset needs improvement

I recently stumbled upon a lot of fire hydrants which are tagged with fire_hydrant:type=pond. According to https://wiki.openstreetmap.org/wiki/Tag:emergency%3Dfire_hydrant pond does not exist. Most probably the people mean:
emergency=fire_hydrant
fire_hydrant:type=pipe
fire_hydrant:pressure=suction
water_source=pond

Please rework the preset according to the approved tagging scheme.

Thank you,
The presets for "emergency = fire_hydrant" are now the same as the iD presets.


Snapshot should preserve the property CLR type when value conversion is used

If the value converted changes the CLR type and no explicit column type has been set then the snapshot should store the column type specified in the mapping as the mapping for the new clr type might be different.
See https://github.com/PomeloFoundation/Pomelo.EntityFrameworkCore.MySql/issues/580

Rather than setting the column type explicitly, which is very provider-specific, we should preserve the property CLR type even when there is a conversion without hints.


LS: fix panic in lsp_helper and move its logic to LsSemanticGroup

Code in semantic/semantic_extension.rs is the same as in previous semantic.rs besides trait name change LsSemanticGroup -> LsSemanticGroupExtension. Code in semantic/mod.rs is code from lsp_helper.rs + some code from trait definition crates/cairo-lang-semantic/src/db.rs wrapped into new salsa query group

This change is

Closing in favour of split PRs


Question: Searching for free subnet

I'm looking for an IPAM solution that would manage a /8 network and allow us to programmatically request an unassigned /20 or /24. Is this something that NIPAP can do? I saw from the docs that there's the ability to search for a pool or prefix but I'm not sure if you can search for a free/unassigned prefix or pool. Is this doable?

Yes, that is possible. What you usually do is not to "search for a free prefix" but rather "ask for a prefix of size X", which internally is handled by first finding free prefixes and then allocating the first one. If you really would like to find free prefixes then you can call the find_free_prefix() via the API.
If you are using python and the pynipap lib it would be something like (not tested):
# add our big network
big_network = Prefix()
big_network.prefix = "<IP_ADDRESS>/8"
big_network.description = "My big network"
big_network.type = "reservation"
big_network.save()

# look for the 10 next available /24s and print to screen
for p in Prefix.find_free(vrf = None, args = {'from-prefix': '<IP_ADDRESS>/8', 'prefix_length': 24, 'count': 10 }):
    print "Free prefix:", p

# allocate first available /24 from <IP_ADDRESS>/8
new_prefix = Prefix()
new_prefix.description = "My new network"
new_prefix.type = "assignment"
# the save will communicate with the backend and ask for the next available /24
new_prefix.save({ 'from-prefix': '<IP_ADDRESS>/8', 'prefix_length': 24 })
# we can now read the assigned prefix from the new_prefix object
print "We got prefix:", new_prefix.prefix

also see the boilerplate.py for doing initial stuff like setting up the API connection.

I think I've answered your question so I am going to go ahead and close this issue. Feel free to re-open or open a new issue if you have further issues. Also, there's #NIPAP on the Freenode IRC network where you can also ask questions with a bit more interactive responses :)

Thanks @plajjan the above works great. Took me a while to get it setup and working but it does and just what I needed. Really appreciate your help on this!

@alanwill did you see boilerplate.py ? It'll help you get the structure right of your program.. or show an example of how it can be done at least :)

@plajjan I already have it working but where is boilerplate.py (don't see it in the repo)

https://github.com/SpriteLink/NIPAP/blob/master/utilities/boilerplate.py


DeriveIntoActiveModel doesn't work with Enums

I have created the following entity model:

use super::sea_orm_active_enums::*;
use sea_orm::entity::prelude::*;
use serde::{Deserialize, Serialize};
use validator::Validate;

#[derive(Clone, Debug, PartialEq, DeriveEntityModel, Eq, Serialize, Deserialize)]
#[sea_orm(table_name = "user")]
pub struct Model {
    #[sea_orm(primary_key)]
    pub id: i64,
    #[sea_orm(unique)]
    pub email: String,
    #[sea_orm(column_type = "Text")]
    pub password: String,
    pub role: Role,
    pub first_name: String,
    pub last_name: String,
    pub date_of_birth: Date,
    pub image_url: Option<String>,
    pub created_at: Option<DateTime>,
    pub updated_at: Option<DateTime>,
    pub created_from: Option<i64>,
    pub updated_from: Option<i64>,
}

#[derive(Copy, Clone, Debug, EnumIter, DeriveRelation)]
pub enum Relation {}

impl ActiveModelBehavior for ActiveModel {}

#[derive(Deserialize, Debug, Validate, DeriveIntoActiveModel)]
pub struct UpdateUser {
    #[validate(email)]
    email: String,
    #[validate(length(max = 50))]
    first_name: String,
    #[validate(length(max = 50))]
    last_name: String,
    date_of_birth: Date,
    role: Role,
}

with the following enum definition for Role:
use sea_orm::{entity::prelude::*};
use serde::{Deserialize, Serialize};

#[derive(Debug, Clone, PartialEq, Eq, EnumIter, DeriveActiveEnum, Serialize, Deserialize)]
#[sea_orm(rs_type = "String", db_type = "Enum", enum_name = "role")]
pub enum Role {
    #[sea_orm(string_value = "Admin")]
    Admin,
    #[sea_orm(string_value = "User")]
    User,
}

The Problem is that I'm getting the error:  the trait bound sea_orm_active_enums::Role: IntoActiveValue<_> is not satisfied with my UpdateUser struct.
The trait bound should be satisfied already. If I write a User with the whole Model to the DB everything works fine. So there's something missing in the DeriveIntoActiveModel implementation with enums.
I'm using sea-orm 12.6.

Maybe this is because the enum doesn't implement IntoActiveValue?
Is there any easier way to implement IntoActiveValue for generated enums instead of doing it manually?


Add visual indicators that the system is processing requests.

Add visual indicators that the system is processing requests. These are commonly referred to as “throbbers” or “spinning wheels.”

@KellyeDC Rough Estimation 8-16 hours: The spinner is already there, but we just need specific places to add, because it will take longer to search and add


Distributed Systems pt 3

Read: https://docs.google.com/document/d/1WoOTLTdtDqnL3fv3YVfI32kfySHqh7y1UfLizBJ3LXY/edit#heading=h.ep7stp2jwevq

Name 5 functions of load balancers
Load balancing, ensuring load is distributed to available backends
Service Discovery
Health checking (active/passive)
Sticky sessions (makeing sure requests form clients receive the corresponding response from backend)
Observability

Why might you use a Layer 7 loadbalancer instead of a Layer 4?
L7 load balancers contain much more information about requests than L4, which allows for a more fine tuned load balancing.

When might you use a Layer 4 loadbalancer?
When you need a much simpler TCP/UDP load balancing, that doesn't require forwarding of connections based on their content.

Give a reason to use a sidecar proxy architecture rather than a middle proxy
Middle proxy can be a single point of failure even if it is distributed, also they make it hard to understand where the problem lies if there's a problem in the system.

Why would you use Direct Server Return?
Load balancing can be quite expensive if every response from the server goes through a load balancer when travelling to the client. To eliminate this overhead, DSR sends response directly to the client.

What is a Service Mesh? What are the advantages and disadvantages of a service mesh?
Service mesh is having infrastructure layer in your app so that services do not communicate directly with each but via sidecar proxy. Each service has it's own sidecar proxy and this allows for a more control over what kind of requests can be made.
It also simplifies services, as this logic doesn't need to be coded into the application.

What is a VIP? What is Anycast?
VIP - virtual IP addresses
Anycast - routing methodology where single IP is shared by multiple devices and when a request comes through it is typically send to the closest server, or to the one that requires least amount of hops.


Diverged fork

Hey, fyi I've taken my copy of the kernel off in a very different direction and diverged dramatically from you.
https://gitlab.com/alelec/jupyter_micropython_remote
If you're interested, I've replaced your device connection library with pyboard.py from micropython itself and a virtual filesystem layer originally based on mprepl (https://github.com/micropython/micropython/pull/3034) but extended a fair bit since (this needs micropython master features newer than the current 1.9.4 release).
I've also extended the kernel to include the full ipython kernel and exposed functionality to run some cells %local in this environment, using the rich display output system this gives and allowing widgets to be used to control remote functions via an injected remote()global function.

I'm looking forward to taking a look when I get home from my holidays in a
couple of weeks time!
You'll have easily seen from my code the limitations of my knowledge of the
jupyter and micropython systems.  Hopefully all my notebooks can be used
as-is and I can get on with what I was trying to do before I had to write
this.
Julian.
Julian.
On Fri, 24 Aug 2018 at 12:58, Andrew Leech<EMAIL_ADDRESS>wrote:

Hey, fyi I've taken my copy of the kernel off in a very different
direction and diverged dramatically from you.
https://gitlab.com/alelec/jupyter_micropython_remote
If you're interested, I've replaced your device connection library with
pyboard.py from micropython itself and a virtual filesystem layer
originally based on mprepl (micropython/micropython#3034
https://github.com/micropython/micropython/pull/3034) but extended a
fair bit since (this needs micropython master features newer than the
current 1.9.4 release).
I've also extended the kernel to include the full ipython kernel and
exposed functionality to run some cells %local in this environment, using
the rich display output system this gives and allowing widgets to be used
to control remote functions via an injected remote()global function.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/goatchurchprime/jupyter_micropython_kernel/issues/32,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AApVhuZlt9MlTGqFjnx3luuFWCIDhArUks5uT-p9gaJpZM4WLOiT
.

Don't sell yourself short, you've done a fantastic job! I've been lucky enough to use this with my day job recently so has time to rework.
There are definitely and syntax changes (all forms of connecting are now just % connect) and I haven't reimplemented all the original functions. There are a good bunch of new issues I'm sure, webrepl has issues, etc. Please do let me know any issues you run into!


Add irssi

Irssi is an excellent terminal based client. It complements linux mentality and includes perl plugin support, some of which use tmux or fancy linuxisms to make more featureful.

+1

Added!


V3 Replays

Chain heads will always be counted as a miss in score saber replays/ score saber lets you view v3 replays in the results screen in the first place.

Replays for v3 maps being recorded at all right now is a bug, this will be automatically fixed once we have proper v3 replays (which are in development right now)


Keep content-type for multipart parameters Fixes gh-1581

Proposed fix for gh-1581.
The non-file multipart parameters were handled in the same way as normal request parameters. But in doing so the optional content-type information was lost.

Current coverage is 74.13% (diff: 88.23%)

Merging #1613 into master will increase coverage by 0.01%

@@             master      #1613   diff @@
==========================================
  Files           193        193
  Lines          6008       6020    +12
  Methods           0          0
  Messages          0          0
  Branches        904        909     +5
==========================================
+ Hits           4453       4463    +10
  Misses         1229       1229
- Partials        326        328     +2

Powered by Codecov. Last update 8029deb...8d251c5

Dont these changes conflict with #1614? Why not just make one PR for both?

@ryanjbaxter you are right. I was trying to solve the issue reported by @eloipoch. It seems like we both came up with a similar solution at the same time :)
The main difference is I did not want to refactor much in this PR (I prefer separating refactor and  bugfixes in separate commits), whereas the solution proposed in #1614 includes refactoring the code in a "RequestContentDataExtractor".
Up to you to pick a solution, I'll close this PR if you wanna go with the other one.

Can we hash out the right solution in the issue?  Maybe you and @eloipoch can elaborate on the pros and cons of each there

@ryanjbaxter I do not think there is a right solution. You should consider if this is a good moment to introduce the refactor or not (I do not have any problem doing another PR only with the refactor).
In the case you decide go with this PR we can cherry pick the commit of test done in my PR if it is considered good enough

If this is only needed in our next major release than I am fine with the refactor.

It's ok for me

What is the roadmap for the next major release ? I will need this for a production app in a few weeks.
I will gladly add the tests cases from the other PR in this one, and help with the refactoring for the next major version.

Just added the test from pr #1614 (without the tests refactoring).

@magat see spring-cloud-release/milestones. This would fall in the Dalston release train.

@magat I think we should go with #1614 for Dalston.  Can we close this PR?

Yes of course !
Le 17 janv. 2017 3:33 PM, "Ryan Baxter"<EMAIL_ADDRESS>a écrit :
@magat https://github.com/magat I think we should go with #1614
https://github.com/spring-cloud/spring-cloud-netflix/pull/1614 for
Dalston. Can we close this PR?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/spring-cloud/spring-cloud-netflix/pull/1613#issuecomment-273182260,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACy_QDTkEv8OKGjdfIggMUUp_Ogqsf6Xks5rTNEfgaJpZM4LhkRf
.


Undefined values get escaped as "undefined"

The source of the issue seems to be: https://github.com/component/escape-html/blob/master/index.js#L34
Could this be changed to first check if the input is undefined and then turn it into a string? I am asking because I would like to automatically escape properties in an object without worrying whether they are undefined or not.

Hi @DanaIv yea, there are certainly many different ways people may want to handle undefined, null, {}, or many other things. Since this module was only designed to take a string, we decided that it should act like other base JavaScript built-ins that take strings: call ToStirng internal on the incoming variable. This turns undefined to "undefined", for example.
You can see this same behavior in most all of the JavaScript built-ins, for example RegExp.prototype.test: console.log(/undefined/.test(undefined)) prints true since it turned that into the string "undefined".
It's impossible to really understand who is relying on our behavior here, so any change would be a major, but without any real desire save for this single issue, we'll likely be forcing many, many people to change their code.
I would recommend just putting the check prior to calling this function. If you put the check prior, you can even skip calling this function all together, saving some performance of stack allocation, for example.
I hope that helps!


Prototype #2: Dashboard Library

After completing #48 (Prototype number 1), we'll rearrange some of the elements and make some new ones to make a second prototype, focusing on the 'Library' view that includes a dashboard quick-view of each of the library analyses.
This one will likely require a bit more playing with our actual available data to come up with some useful analyses, as we'll be testing the home page method (i.e. the library) as much as we're testing the individual graphs contained therein. We will make this prototype second; while the prototype team is working on Prototype 1, some people can start working with the data to generate options for the sample analyses we should include in the library.

Closing this issue - we'll make a new one based on our interviews


Issue 370

If you put a # before the issue number, e.g. #370, GitHub will make a link automatically so that the issue is closed when I merge the code.

Thanks for doing this!


Fix duration values in e2e tests

E.g. Eventually accepts time.Duration but we have constructs like Eventually(..., 60*5, 3) where delays happen to be expressed in nanosecond. This should look like Eventually(..., 60 * 5 * time.Second, 3 * time.Second). Also we need to check for other places where this may happen.

The docstring for Eventually function says
//Both intervals can either be specified as time.Duration, parsable duration strings or as floats/integers.  In the
//last case they are interpreted as seconds.

which means that 60*5 is interpreted in seconds since it is integer
Here is where it get parsed: https://github.com/onsi/gomega/blob/master/gomega_dsl.go#L321

Ok so I got confused by this passage at https://onsi.github.io/gomega/

These can be passed in as time.Durations, string representations of a time.Duration (e.g. "2s") or float64 values (in which case they are interpreted as seconds).

Apparently this was true in some earlier version of Gomega. Sorry.


Incorrect Hsv -> LinSrgb conversion on arm architecture (Raspberry Pi 1)

This may require more instructions on how to reproduce, but here is the main issue:
fn main() {
    let hsv = palette::Hsv::new(palette::RgbHue::<f32>::from_degrees(284.0), 1.0, 0.5);
    println!("HSV: {:?}", hsv);
    let rgb: palette::rgb::LinSrgb = hsv.into();
    println!("RGB: {:?}", rgb);
}

prints the following:
HSV: Hsv { hue: RgbHue(284.0), saturation: 1.0, value: 0.5, space: PhantomData }
RGB: Rgb { red: 0.5, green: -0.0000036358833, blue: 0.0, standard: PhantomData }

Note the negative value for the green component.
This is using the arm-unknown-linux-gnueabi target architecture. I will provide a more self-contained script to reproduce, but if anyone has any ideas on why this would be happening, feel free to comment. Thanks!

This is due to the Into/From implementation ignoring color space bounds currently, so these conversion are all unclamped which means that converting from a bigger garmut to a smaller one will result in invalid colors. If you are using the current github version you can make use of the ConvertFrom/ConvertInto traits, on the crates.io releases you will have to use the clamp_self method to fix the incorrect values for now.

Yes, that's part lack of clamping and part floating point error, i think, but thanks for reporting! Clamping will be the default in the next release, and I have started working on a new set of conversion traits that should work better with that default.
I'm closing it as a duplicate of #41, but feel free to open it again if you think it's not just float inaccuracy. You can, for example, try with f64 to see what happens with more precision.

Thanks both, that is helpful! I am trying to get to the bottom of it but something even more mysterious is happening now:
fn print_color() {
    let hsv = palette::Hsv::new(palette::RgbHue::<f32>::from_degrees(284.0), 1.0, 0.5);
    println!("HSV: {:?}", hsv);
    let mut rgb: palette::rgb::LinSrgb = hsv.into();
    rgb.clamp_self();
    println!("RGB: {:?}", rgb);
}

fn main() {
    print_color();
    print_color();
}

prints the following:
HSV: Hsv { hue: RgbHue(284.0), saturation: 1.0, value: 0.5, space: PhantomData }
RGB: Rgb { red: 0.5, green: 0.0, blue: 0.0, standard: PhantomData }
HSV: Hsv { hue: RgbHue(284.0), saturation: 1.0, value: 0.5, space: PhantomData }
RGB: Rgb { red: 0.5, green: NaN, blue: 0.0, standard: PhantomData }

Note I am calling the same exact function twice, but the results are different, and there is no shared state between them. What is going on here?

The implementation of clamp is
fn clamp<T: PartialOrd>(v: T, min: T, max: T) -> T {
    if v < min {
        min
    } else if v > max {
        max
    } else {
        v
    }
}

for each component, so unless there wasn't a NaN in there before, there shouldn't be a NaN after. Can you reproduce it with a print of the raw RGB value, before clamping, as well? If the HSV -> RGB conversion produces NaN, there may be an error or edge case in the conversion code.

ah, found this which may be potentially relevant, will try building gcc from sources so that I can then use the *hf version to see if it helps: https://github.com/rust-lang/rust/issues/38570#issuecomment-268988110

Alright, keep us posted in case it could be an issue in both ends.

After a long investigation, and not finding anything related to how to properly cross compile Rust programs for Raspberry Pi 1 with FP support, I have written my own guide (in form of a Docker file: https://github.com/tiziano88/rust-raspberry-pi/blob/master/Dockerfile), and using that target for my program solved my issues; it seems that indeed the non-hf target has some bugs that caused the inconsistencies I was seeing, though I did not manage to get to the bottom of that.

Let's hope that was it, then. :slightly_smiling_face: I can imagine the soft float implementation being slightly different, but I still don't understand why you would get different results from the same function call. Maybe it got optimized in some weird way...


My First Blogpost

This is a blogpost!!!

Correct. And here is my comment on this blog post.
I don't know what all that go code is in this repo but the issue page is sure neat.


Selecting an @Username chat message in chat history closes popup

Describe the bug
Unable to select an @Username in the chat history(User card) to display the @'d users chat history.
To reproduce

Left click a username in chat who has used a targetted @ in a message.
In the chat history pop up left click the @username

Aniticpated outcome: Chat history of the @'d user.
Actual outcome: chat history popup closes.
Chatterino version
Chatterino Nightly 2.2.3-beta2 (commit e48937e0a, )
Operating system
Windows 10
Additional information
Functionality appears to work on older 2.2.2 builds.

Duplicate of #2297


use swarm-manifest content type, instead of dag-pb by default for Swarm

Swarm Multicodes were added at https://github.com/multiformats/multicodec/pull/120 therefore I think we should amend this library as well.
Currently there are two types within Swarm - manifests and feeds. I didn't want to change the API from fromSwarm, to fromSwarmManifest, so as a start I suggest just updating the default content type from dag-pb to swarm-manifest.
cc @justelad

Seems to depend on https://github.com/multiformats/js-multicodec/pull/40

Hi @nonsense @justelad  ! I'm not sure to understand the difference between swarm-ns, swarm-manifest, swarm-feed. If the guys of ENS (here) are ok to use this at the standard for the manager I will be happy to merge your PR 😁

please see here : https://github.com/ensdomains/ens-app/issues/113#issuecomment-481196088

@pldespaigne I don't understand the linked comment and I posted a reply at https://github.com/ensdomains/ens-app/issues/113#issuecomment-481200792
You seem to be discussing namespaces, where this PR is about content types. content types on Swarm and IPFS as of now are different.

Ok thanks for the reply 😁 as I said above I wasn't understanding the difference. I'm ok to merge now, just waiting a bit for the guys of ENS to react, just to be sure everyone is on the same track.
Any way thanks for the feedback & contributions !

@pldespaigne no problem, I also find all the codec, namespaces, etc. confusing, specially since the information is scattered around at different locations.
I still think that this PR is relevant and should be merged, because there is no such thing as dag-pb content type in Swarm :)

it's merged 😀

thank you @pldespaigne !

@nonsense I cannot publish the merge to npm because it seems like js-multicodec has not update their npm package, then cids will need to update their version of js-multicodec and republish their package to npm, then I will be able to do npm update multicodec cids and publish to npm :/

@nonsense content-hash 2.3.1 has been released to npm 🎉


Revert security helmet buff

Partially reverts Goob-Station/Goob-Station#573
the helmet is on par with the fucking raid suit, (buffing the raid suit to compensate would just make raid suit users even tankier when they dont need to be, 65% resistances for about 30-40 TC by the way) and dont forget to check out that comment

and helmets generally aren't supposed to be better than hardsuit helmets in the first place (the raid suit and SWAT helmets dont count because the raid suit is purchasable by nukies and the SWAT helmet is currently unobtainable)

the following is no longer true to the nature of the PR anymore, i originally wanted to de-buff the armor vest values too, but penguin forced me to keep them
the armor also didnt need a buff since more specialized armors are available (riot suits and bulletproof vests). and an extra 3% pierce gives me pain because it doesnt follow the 5% convention
:cl: JoeHammad

Tweak: Un-buffed security helmet armor values, it is no longer on par with the RAID SUIT HELMET

Summary by CodeRabbit

New Features

Enhanced damage resistance for helmets, improving protection against Blunt, Slash, Piercing, and Heat damage.
Increased armor resistance coefficients for Outer Clothing, boosting effectiveness against Blunt, Slash, and Piercing damage.

coderabbit, the higher the coefficient, the lower the damage resistance will be

nerf the SWAT helmet 5% as well probably

okay

done

staying awake until 1:00AM consistently is definitely NOT healthy for me

will give some time for other people to give their feedback before merging


Figma Mockup/ Site map

Create Figma Mockup/ Site map for the web app

Current mockups ↑

Single Event Page - Portrait ↑


Day1 ex1

Thanks-- perfect!  But please put your folder under the 'exercises' directory so we can keep a consistent organization.  Change this (use git mv to move the folder) and then push this branch back and then I'll merge it.


Allow custom Gateway API class and controller names

Custom values can be set through pilot environment variables.

revamp of https://github.com/istio/istio/pull/41884

@GregHanson done added RN

@jwendell: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

unit-tests_istio
38c866e2608c810bd175b72f4ce7ec7baa735de5
link
true
/test unit-tests

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

/retest

@linsun that's right. Main purpose is to allow OpenShift users to create their gateways referencing a branded-name gateway class name instead of mentioning Istio. This allows vendors to switch implementations without forcing users to change their gateway api resources (e.g. gateway). It also helps to "hide" the controller that is implementing the gateway api crds.
Regarding the usage of env vars to accomplish this goal... This is the quickest and simplest way to achieve it. Do you have suggestions?

First I understand this is not resolving the same issue as https://github.com/istio/istio/issues/47967.

I am thinking if you just allow users to set a different gateway class name, and all the rest work is done unchanged by istio. I doubt there is very rare need.  It is similar to supporting another api group rather than networking.istio.io .   I cannot the meaning to istio users.

PR needs rebase.

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

Hi @jwendell thanks, yep, makes sense. I think starting as env var is okay but we'd like to see you have a longer term plan in place, perhaps in meshConfig? What you are doing is similar to what @ilrudie is proposing for #47967 in meshConfig except it is not for waypoint, which @hzxuzhonghu tried to point out earlier also.

Re @hzxuzhonghu's comment. IIUC what this enables is setting up a managed mesh where a user specifies "I want a brand-x gateway" but they get an otherwise totally normal Istio gateway. Is this part of a multi-stage plan and I missed some context?

Re @hzxuzhonghu's comment. IIUC what this enables is setting up a managed mesh where a user specifies "I want a brand-x gateway" but they get an otherwise totally normal Istio gateway. Is this part of a multi-stage plan and I missed some context?

Right that is the scenario to my understanding: user can deploy brand-x gateway seamlessly without needing to change Istio gateway resources.  @jwendell do you forsee no change to gateway resources at all including the class name?

Because the way the code is currently structured, using meshConfig will result in a non-trivial patch set. I'm investigating this. Meanwhile, using env variables is non-intrusive...
I'm also working on something related to this that we are internally calling "gateway controller mode" which would allow an istiod instance to implement the gateway api CRD globally in the cluster without interfering with other istiod's. In order to that, we'd also need the ability to use a different class and controller names, as this PR allows.

Right that is the scenario to my understanding: user can deploy brand-x gateway seamlessly without needing to change Istio gateway resources. @jwendell do you forsee no change to gateway resources at all including the class name?

I think it's the opposite.  Also brand-x might be the wrong way to put it. It sort of implies just putting a coat of paint on Istio but that's not a totally fair framing.
And possible use case seems to be something like:

scope1 has scope1 gatewayclass and it's own istiod which is configured as the cluster wide controller for the scope1 gatewayclass. Produces a normal istio GW based on that class.
scope has scope2 gatewayclass and it's own istiod which is configured as the cluster wide controller for the scope1 gatewayclass. Produces a normal istio GW based on that class.

And normal here really means it's like a fully istio-compatible thing. For this PR it would be totally bog-standard but presumably you could sub in other images or something and have your "distroless" and "wolfi" offerings built off different bases (just to toss out a pretty random differentiator between the gateways)

A longer-term goal of this is supporting multiple instances of Istio in a single cluster, with potentially different aspects being handled by different instances - like in this case, one istiod just to handle Gateway API.
Our immediate concern is that we'll want to be able to run an istiod that only reconciles Gateway API resources, transparently for the user, ie they don't need to care about the underlying technology. Also, if they already have Istio installed (or are planning to do so later), there are no conflicts.

@jwendell: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

integ-basic-arm64_istio
38c866e2608c810bd175b72f4ce7ec7baa735de5
link
true
/test integ-basic-arm64

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

@jwendell: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

integ-basic-arm64_istio
38c866e2608c810bd175b72f4ce7ec7baa735de5
link
true
/test integ-basic-arm64

integ-ambient_istio
38c866e2608c810bd175b72f4ce7ec7baa735de5
link
true
/test integ-ambient

integ-pilot_istio
38c866e2608c810bd175b72f4ce7ec7baa735de5
link
true
/test integ-pilot

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

@jwendell: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

integ-basic-arm64_istio
38c866e2608c810bd175b72f4ce7ec7baa735de5
link
true
/test integ-basic-arm64

integ-ambient_istio
38c866e2608c810bd175b72f4ce7ec7baa735de5
link
true
/test integ-ambient

integ-pilot_istio
38c866e2608c810bd175b72f4ce7ec7baa735de5
link
true
/test integ-pilot

integ-pilot-istiodremote-mc_istio
38c866e2608c810bd175b72f4ce7ec7baa735de5
link
true
/test integ-pilot-istiodremote-mc

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

@jwendell: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

integ-basic-arm64_istio
38c866e2608c810bd175b72f4ce7ec7baa735de5
link
true
/test integ-basic-arm64

integ-ambient_istio
38c866e2608c810bd175b72f4ce7ec7baa735de5
link
true
/test integ-ambient

integ-pilot_istio
38c866e2608c810bd175b72f4ce7ec7baa735de5
link
true
/test integ-pilot

integ-pilot-istiodremote-mc_istio
38c866e2608c810bd175b72f4ce7ec7baa735de5
link
true
/test integ-pilot-istiodremote-mc

analyze-tests_istio
38c866e2608c810bd175b72f4ce7ec7baa735de5
link
true
/test analyze-tests

unit-tests-arm64_istio
38c866e2608c810bd175b72f4ce7ec7baa735de5
link
true
/test unit-tests-arm64

release-notes_istio
38c866e2608c810bd175b72f4ce7ec7baa735de5
link
true
/test release-notes

integ-ds_istio
38c866e2608c810bd175b72f4ce7ec7baa735de5
link
true
/test integ-ds

integ-cni_istio
38c866e2608c810bd175b72f4ce7ec7baa735de5
link
true
/test integ-cni

integ-telemetry-discovery_istio
38c866e2608c810bd175b72f4ce7ec7baa735de5
link
true
/test integ-telemetry-discovery

integ-telemetry_istio
38c866e2608c810bd175b72f4ce7ec7baa735de5
link
true
/test integ-telemetry

integ-helm_istio
38c866e2608c810bd175b72f4ce7ec7baa735de5
link
true
/test integ-helm

lint_istio
38c866e2608c810bd175b72f4ce7ec7baa735de5
link
true
/test lint

gencheck_istio
38c866e2608c810bd175b72f4ce7ec7baa735de5
link
true
/test gencheck

integ-operator-controller_istio
38c866e2608c810bd175b72f4ce7ec7baa735de5
link
true
/test integ-operator-controller

integ-security_istio
38c866e2608c810bd175b72f4ce7ec7baa735de5
link
true
/test integ-security

integ-ipv6_istio
38c866e2608c810bd175b72f4ce7ec7baa735de5
link
true
/test integ-ipv6

integ-pilot-istiodremote_istio
38c866e2608c810bd175b72f4ce7ec7baa735de5
link
true
/test integ-pilot-istiodremote

integ-distroless_istio
38c866e2608c810bd175b72f4ce7ec7baa735de5
link
true
/test integ-distroless

integ-pilot-multicluster_istio
38c866e2608c810bd175b72f4ce7ec7baa735de5
link
true
/test integ-pilot-multicluster

integ-security-istiodremote_istio
38c866e2608c810bd175b72f4ce7ec7baa735de5
link
true
/test integ-security-istiodremote

integ-telemetry-mc_istio
38c866e2608c810bd175b72f4ce7ec7baa735de5
link
true
/test integ-telemetry-mc

integ-telemetry-istiodremote_istio
38c866e2608c810bd175b72f4ce7ec7baa735de5
link
true
/test integ-telemetry-istiodremote

integ-security-multicluster_istio
38c866e2608c810bd175b72f4ce7ec7baa735de5
link
true
/test integ-security-multicluster

release-test_istio
38c866e2608c810bd175b72f4ce7ec7baa735de5
link
true
/test release-test

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

@jwendell: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

integ-basic-arm64_istio
38c866e2608c810bd175b72f4ce7ec7baa735de5
link
true
/test integ-basic-arm64

integ-ambient_istio
38c866e2608c810bd175b72f4ce7ec7baa735de5
link
true
/test integ-ambient

integ-pilot_istio
38c866e2608c810bd175b72f4ce7ec7baa735de5
link
true
/test integ-pilot

integ-pilot-istiodremote-mc_istio
38c866e2608c810bd175b72f4ce7ec7baa735de5
link
true
/test integ-pilot-istiodremote-mc

analyze-tests_istio
38c866e2608c810bd175b72f4ce7ec7baa735de5
link
true
/test analyze-tests

unit-tests-arm64_istio
38c866e2608c810bd175b72f4ce7ec7baa735de5
link
true
/test unit-tests-arm64

release-notes_istio
38c866e2608c810bd175b72f4ce7ec7baa735de5
link
true
/test release-notes

integ-ds_istio
38c866e2608c810bd175b72f4ce7ec7baa735de5
link
true
/test integ-ds

integ-cni_istio
38c866e2608c810bd175b72f4ce7ec7baa735de5
link
true
/test integ-cni

integ-telemetry-discovery_istio
38c866e2608c810bd175b72f4ce7ec7baa735de5
link
true
/test integ-telemetry-discovery

integ-telemetry_istio
38c866e2608c810bd175b72f4ce7ec7baa735de5
link
true
/test integ-telemetry

integ-helm_istio
38c866e2608c810bd175b72f4ce7ec7baa735de5
link
true
/test integ-helm

lint_istio
38c866e2608c810bd175b72f4ce7ec7baa735de5
link
true
/test lint

gencheck_istio
38c866e2608c810bd175b72f4ce7ec7baa735de5
link
true
/test gencheck

integ-operator-controller_istio
38c866e2608c810bd175b72f4ce7ec7baa735de5
link
true
/test integ-operator-controller

integ-security_istio
38c866e2608c810bd175b72f4ce7ec7baa735de5
link
true
/test integ-security

integ-ipv6_istio
38c866e2608c810bd175b72f4ce7ec7baa735de5
link
true
/test integ-ipv6

integ-pilot-istiodremote_istio
38c866e2608c810bd175b72f4ce7ec7baa735de5
link
true
/test integ-pilot-istiodremote

integ-distroless_istio
38c866e2608c810bd175b72f4ce7ec7baa735de5
link
true
/test integ-distroless

integ-pilot-multicluster_istio
38c866e2608c810bd175b72f4ce7ec7baa735de5
link
true
/test integ-pilot-multicluster

integ-security-istiodremote_istio
38c866e2608c810bd175b72f4ce7ec7baa735de5
link
true
/test integ-security-istiodremote

integ-telemetry-mc_istio
38c866e2608c810bd175b72f4ce7ec7baa735de5
link
true
/test integ-telemetry-mc

integ-telemetry-istiodremote_istio
38c866e2608c810bd175b72f4ce7ec7baa735de5
link
true
/test integ-telemetry-istiodremote

integ-security-multicluster_istio
38c866e2608c810bd175b72f4ce7ec7baa735de5
link
true
/test integ-security-multicluster

release-test_istio
38c866e2608c810bd175b72f4ce7ec7baa735de5
link
true
/test release-test

unit-tests_istio
38c866e2608c810bd175b72f4ce7ec7baa735de5
link
true
/test unit-tests

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

@jwendell: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

integ-basic-arm64_istio
38c866e2608c810bd175b72f4ce7ec7baa735de5
link
true
/test integ-basic-arm64

integ-ambient_istio
38c866e2608c810bd175b72f4ce7ec7baa735de5
link
true
/test integ-ambient

integ-pilot_istio
38c866e2608c810bd175b72f4ce7ec7baa735de5
link
true
/test integ-pilot

integ-pilot-istiodremote-mc_istio
38c866e2608c810bd175b72f4ce7ec7baa735de5
link
true
/test integ-pilot-istiodremote-mc

integ-ds_istio
38c866e2608c810bd175b72f4ce7ec7baa735de5
link
true
/test integ-ds

integ-cni_istio
38c866e2608c810bd175b72f4ce7ec7baa735de5
link
true
/test integ-cni

integ-telemetry-discovery_istio
38c866e2608c810bd175b72f4ce7ec7baa735de5
link
true
/test integ-telemetry-discovery

integ-telemetry_istio
38c866e2608c810bd175b72f4ce7ec7baa735de5
link
true
/test integ-telemetry

integ-helm_istio
38c866e2608c810bd175b72f4ce7ec7baa735de5
link
true
/test integ-helm

integ-operator-controller_istio
38c866e2608c810bd175b72f4ce7ec7baa735de5
link
true
/test integ-operator-controller

integ-security_istio
38c866e2608c810bd175b72f4ce7ec7baa735de5
link
true
/test integ-security

integ-ipv6_istio
38c866e2608c810bd175b72f4ce7ec7baa735de5
link
true
/test integ-ipv6

integ-pilot-istiodremote_istio
38c866e2608c810bd175b72f4ce7ec7baa735de5
link
true
/test integ-pilot-istiodremote

integ-distroless_istio
38c866e2608c810bd175b72f4ce7ec7baa735de5
link
true
/test integ-distroless

integ-pilot-multicluster_istio
38c866e2608c810bd175b72f4ce7ec7baa735de5
link
true
/test integ-pilot-multicluster

integ-security-istiodremote_istio
38c866e2608c810bd175b72f4ce7ec7baa735de5
link
true
/test integ-security-istiodremote

integ-telemetry-mc_istio
38c866e2608c810bd175b72f4ce7ec7baa735de5
link
true
/test integ-telemetry-mc

integ-telemetry-istiodremote_istio
38c866e2608c810bd175b72f4ce7ec7baa735de5
link
true
/test integ-telemetry-istiodremote

integ-security-multicluster_istio
38c866e2608c810bd175b72f4ce7ec7baa735de5
link
true
/test integ-security-multicluster

release-test_istio
38c866e2608c810bd175b72f4ce7ec7baa735de5
link
true
/test release-test

lint_istio
d06630e3b129fc489bc9a1cdf69edc42defc1242
link
true
/test lint

gencheck_istio
d06630e3b129fc489bc9a1cdf69edc42defc1242
link
true
/test gencheck

unit-tests-arm64_istio
d06630e3b129fc489bc9a1cdf69edc42defc1242
link
true
/test unit-tests-arm64

unit-tests_istio
d06630e3b129fc489bc9a1cdf69edc42defc1242
link
true
/test unit-tests

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

@jwendell: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

lint_istio
d06630e3b129fc489bc9a1cdf69edc42defc1242
link
true
/test lint

gencheck_istio
d06630e3b129fc489bc9a1cdf69edc42defc1242
link
true
/test gencheck

unit-tests-arm64_istio
d06630e3b129fc489bc9a1cdf69edc42defc1242
link
true
/test unit-tests-arm64

unit-tests_istio
d06630e3b129fc489bc9a1cdf69edc42defc1242
link
true
/test unit-tests

integ-security-multicluster_istio
d06630e3b129fc489bc9a1cdf69edc42defc1242
link
true
/test integ-security-multicluster

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


fix: spa compatible dev server + Text(En/De)coder

Changes

https server changed to microserver

microserver supports SPA out-of-the-box and setups mime type for wasm correctly
I've set dev port to 8000 so we don't have to update guides and it's more standard
Port is also configurable with env variables

Added text-polyfill.min.js into all index.html so examples should work now even in Edge

I've added it into new folder public (same as favicons)

Added flag private to task serve in Makefile.toml

P.S. Dev server is accessible from other devices - so you can open something like <IP_ADDRESS>:8000/completed from phone

Great stuff


⚠ Bofrost.es has degraded performance

In ed30ecf, Bofrost.es (https://www.bofrost.es) experienced degraded performance:

HTTP code: 200
Response time: 1974 ms

Resolved: Bofrost.es performance has improved in b82bdfb after 6 minutes.


Question about run_make_list.sh

My recently downloaded ABC Dataset is formed in the following manner:

100 chunks in total: 0000-0099
each chunk contains 10000 models: 00000000-00009999, model folders are under chunk folder
each model folder may or may not contain annotation files

Thus, for .yml file of chunk 0000, it's like:
0000_feat/00009982/00009982_8fd881580c344a9583659586_features_016.yml
0000_feat/00009986/00009986_ba508426162c40128d0c7a2a_features_000.yml
0000_feat/00009987/00009987_ba508426162c40128d0c7a2a_features_001.yml
0000_feat/00009988/00009988_ba508426162c40128d0c7a2a_features_002.yml
0000_feat/00009989/00009989_ba508426162c40128d0c7a2a_features_003.yml
0000_feat/00009993/00009993_0dc78076fcce4a67864e71d4_features_000.yml
0000_feat/00009994/00009994_ea83e2f413614058bcfa17e1_features_000.yml
0000_feat/00009996/00009996_6980d41656c4406383dc8b46_features_001.yml
0000_feat/00009998/00009998_6980d41656c4406383dc8b46_features_003.yml
0000_feat/00009999/00009999_003df34c1a7b4dc2bd43c5f4_features_000.yml

In line 19 of run_make_list.sh: cp $dir_feat/${line1}/*.yml ${line1}
It seems to me that run_make_list.sh cannot handle this correctly. The code seems to assume that all annotation files are located directly under the chunk folder, e.g. 0000_feat/xxx_features_xxx.yml.
So my question: Was the ABC Dataset updated since the creation of this code, or did I misunderstood something? If the dataset organization is changed, what else do I need to change besides the run_make_list.sh?

Hello, I have encountered the same problem in my research, I would like to ask you how you solved it and I would like your help.


Behavior of is_manifold_point

As suggested here: https://github.com/JuliaNLSolvers/Manifolds.jl/pull/18#discussion_r297415302 we should have two different functions: one for testing whether a point belongs to a manifold that returns true or false and the other one that throws an error when the point does not belong to the manifold. The first one can be generically implemented using the second one, with a try block. I'm not sure though how to name these functions.

Maybe something like is_manifold_point for the function that returns a Bool and check_manifold_point for the function that uses it.

For me, both also have a slightly different goal: while is_manifold_point should just (maybe even with goal performance) return true or false, the other (maybe also validate_manifold_point?) should provide a long error message that tries to return, _why_ it is not a point, for example for an Sphere point because its in the wrong space (Rn+2 instead of Rn+1) or its not unit... So it might only be an idea for a default fallback to do the _is_ case with a try catch. I would not recommend to do the other way around (use _is_ to do _check_/_validate_), since just  ´false would not provide any information.
Since it should throw then an error anyways (and there is a "non-erroring version“) I would also not care about performance for the check/validate/whatevernamewefind_.

I think this is resolved with ManifoldsBase.jl in version 0.2.0 and can hence be closed?

Technically merging #46 will solve it in this repository but yes, it's almost done.


NixOS services: When to have a package option

Issue description
It has become somewhat of a pattern to add a package option to NixOS service modules for selecting a package to use for the service. Doing a quick count, of the ~600 service modules in nixpkgs about 120 of them have a package option. For comparison, the total amount of options in nixpkgs is about 7000. Every new NixOS option increases evaluation time for all NixOS system evaluations, whether you use it or not. Adding an option just because other services do it doesn't sound sensible. I'd rather add this option only once a need for it arises.
This is an issue to track opinions about this.
Alternative
In general, all packages can already be overridden via overlays. To override the package foo with foo2:
{
  nixpkgs.overlays = [(self: super: {
    foo = self.foo2;
  })];
}

The need for such an option
The 3 uses I see for a package option are:

There are alternate packages you would want to use and being able to use different packages is an integral part of the module. Having an option makes this possibility discoverable. postgresql is such an example (postgresql_9_3, ..., postgresql_11).
Using an overlay for it would require a lot of rebuilds, because overlays not only change the package the service uses, but all the other parts of the system as well. curl would be such an example.
Using an overlay for it would change some other part of the system you don't want to change. E.g. 2 services that need the same package but different versions of it. An overlay couldn't change just one of them.

Related
For reference, I used this to find these:
while true; do firefox $(git blame $(fzf) | rg '([^ ]+) .*package = mkOption' -or 'https://github.com/NixOS/nixpkgs/commit/$1'); done

Related discussions

@domenkozar @Phreedom and @offlinehacker discussing such an option: https://github.com/NixOS/nixpkgs/pull/1099#issuecomment-26735837
@joachifm being agains this option and @yegortimoshenko being for it: https://github.com/NixOS/nixpkgs/pull/48289#issuecomment-432277496
@Infinisil being against this option and @Ekleog being for it: https://github.com/NixOS/nixpkgs/pull/49228#discussion_r228766338
@Infinisil being against this option: https://github.com/NixOS/nixpkgs/pull/48036#discussion_r228851466
@fmthoma being against this option and @ericsagnes being for it: https://github.com/NixOS/nixpkgs/pull/20385#issuecomment-260564134
@Profpatsch questioning @nckx adding the option: https://github.com/NixOS/nixpkgs/commit/24048fa226f3#r13375587
@joachifm questioning @rnhmjoj adding the option: https://github.com/NixOS/nixpkgs/pull/15228#discussion_r62103727 followup.. https://github.com/NixOS/nixpkgs/pull/18398
@joachifm questioning @makefu adding the option: https://github.com/NixOS/nixpkgs/pull/19176#discussion_r81480381

Justified addings of the option

Because there are multiple asterisk versions now: https://github.com/NixOS/nixpkgs/pull/22358
Because there are multiple btsync versions now: https://github.com/NixOS/nixpkgs/pull/7215
Because there are multiple datadog versions now: https://github.com/NixOS/nixpkgs/pull/40399
Because there are multiple foundationdb versions: https://github.com/NixOS/nixpkgs/commit/5a24d99fa628
Because there are multiple gitlab-runner versions now: https://github.com/NixOS/nixpkgs/pull/24254
Because there are multiple apacheHttpd versions: https://github.com/NixOS/nixpkgs/commit/52c97adaba852a612d801332ce84c503680ff497
Because there are multiple quassel versions: https://github.com/NixOS/nixpkgs/pull/20159
Because there are multiple radicale versions now: https://github.com/NixOS/nixpkgs/pull/27826
Because there are multiple riak versions now: https://github.com/NixOS/nixpkgs/pull/7827
Because there are multiple samba versions: https://github.com/NixOS/nixpkgs/commit/8ec82fcb18cb
Because there are alternate sick... versions: https://github.com/NixOS/nixpkgs/pull/46607
Because there are multiple softether versions now: https://github.com/NixOS/nixpkgs/pull/29781
Because there are multiple syncthing versions now: https://github.com/NixOS/nixpkgs/pull/11329
Because there are multiple upower versions now: https://github.com/NixOS/nixpkgs/commit/df95a8cc2f92
Because there are multiple varnish versions now: https://github.com/NixOS/nixpkgs/pull/37412
Because there are multiple bspwd versions: https://github.com/NixOS/nixpkgs/pull/20384

Commits/PRs that add the option without justification
Mostly these are probably just people not knowing they can use overlays to do it. I'm pinging all of you in the hopes that you see that overlays could have been used instead or to potentially find other reasons to introduce such an option.

@shlevy https://github.com/NixOS/nixpkgs/commit/5ee75e236c0c
@zimbatm https://github.com/NixOS/nixpkgs/pull/30614
@sheenobu https://github.com/NixOS/nixpkgs/pull/21877
@fpletz https://github.com/NixOS/nixpkgs/commit/ed979124cad7
@edef1c https://github.com/NixOS/nixpkgs/pull/12223
@mbbx6spp https://github.com/NixOS/nixpkgs/pull/9880
@pacien https://github.com/NixOS/nixpkgs/pull/46741
@copumpkin https://github.com/NixOS/nixpkgs/commit/ced27b2966ec
@nckx https://github.com/NixOS/nixpkgs/commit/fa3d7ea77ba1
@etu https://github.com/NixOS/nixpkgs/pull/40565
@pstn https://github.com/NixOS/nixpkgs/pull/39681
@offlinehacker https://github.com/NixOS/nixpkgs/commit/1cdb6cfb0095
@earldouglas https://github.com/NixOS/nixpkgs/commit/aae32e15af60
@offlinehacker https://github.com/NixOS/nixpkgs/commit/988ed87e70e8
@aespinosa https://github.com/NixOS/nixpkgs/pull/41909
@Ekleog https://github.com/NixOS/nixpkgs/pull/42153
@thoughtpolice https://github.com/NixOS/nixpkgs/commit/59acfd4f16ea
@dotlambda https://github.com/NixOS/nixpkgs/pull/34974
@offlinehacker https://github.com/NixOS/nixpkgs/commit/4947bacd52c7
@Profpatsch https://github.com/NixOS/nixpkgs/pull/22636
@lsix https://github.com/NixOS/nixpkgs/pull/11870
@rickynils https://github.com/NixOS/nixpkgs/commit/8fc777ffd6bb
@bjornfor https://github.com/NixOS/nixpkgs/commit/a44de69d06e3
@LnL7 https://github.com/NixOS/nixpkgs/pull/44848
@lethalman https://github.com/NixOS/nixpkgs/commit/614162ee6c4e
@dezgeg https://github.com/NixOS/nixpkgs/commit/69b4f427b67f
@roblabla https://github.com/NixOS/nixpkgs/pull/18152
@markus1189 https://github.com/NixOS/nixpkgs/pull/34655

I'd be happy to discuss this once we see how much impact do these 600 options have on evaluation time :)

My vote is to put it in for all services that have a relevant notion of packages backing them. The main reason for this is that it's not always clear which packages are being used by a service (e.g., we have services.httpd which uses pkgs.apacheHttpd; yes the module lives in services/apache-httpd but in general nothing requires them to line up) so unless someone pokes at the nixpkgs source code, they don't necessarily know which module to override and there's no real feedback to figure out which was overridden other than hoping to see the .service unit get rebuilt if you got it right.
The reasons you give in favor of the field also factor into my preference. I'm already frustrated at how "singleton"-flavored our services all are, so forcing all of them to go through a single registry of versions seems annoying.

@copumpkin That's a good point, I haven't thought of this.
Eventually I hope that we can have a generic service module creator function that contains stuff like enable, user, group, package, extraArgs, configFile, etc. (with some configurability)

I favor the idea of using overlays here. You should be able to accomplish the same thing as the package option with a simple overlay of pkgs. This works without the extra code of implementing and documenting extra options.

Because there are multiple upower versions now: df95a8c

Not anymore https://github.com/NixOS/nixpkgs/commit/2a2cb8354ecfada313dcdb36154000c7f7f74964#diff-0bcefda72ac48cd4aa6372226ec3f6a7

A bit more general question: so enable-guarding still pays the cost for the options inside the module? Can this problem be fixed globally? Maybe via some kind of conditional require-management, I am not sure.

@7c6f434c See also https://github.com/NixOS/rfcs/pull/22

The package option isn't only useful for overrides or even using a different channel. Having to override the default attribute means there's no choice to do this in a contained way anymore. Even when using overlays I always do this instead.
{
  services.foo.package = pkgs.namespace.foo;
  nixpkgs.overlays = [(self: super: {
     namespace.foo = super.foo.override { withBar = true; };
  })];
}

To me, the problem is mechanically adding options "just because" we can. Sure, there are cases where it makes sense to expose the underlying package but I simply do not understand the desire to clutter interfaces with what should be an implementation detail unless absolutely necessary. My view is that fewer options is better and no options is best (regardless of eval time).

@joachifm I guess a nontrivial subset of Nixpkgs/NixOS developers have experience that unchangeable defaults end up in a state not fitting our needs. This leads to the ideal of having a lot of knobs that can be ignored if everything acceptable, but provide an escape hatch if something exotic/complicated is desired. Then it turns out there are evaluation time issues…
I might be wrong, as I don't use NixOS proper anymore, and I use only a reasonably small subset of NixOS module code. (A few unchangeable defaults ended p annoying me too much).

Essentially echoing @7c6f434c with some details:
The overlay system provides a single global overlay. There is no way to say that you want one service to use an overridden version and for another you don't, which is actually something I use currently.
There are workarounds for that too, but your proposed solution is inferior.
AFAIK, I need to fork the module in order to modify it to my needs in that case. Having a package option means I need to fork less often, which is what most people probably want.
P.S. Kind of curious as to what @7c6f434c is using.

@7c6f434c that's fair, but I take it you don't think we should add options willy nilly without any regard for whether they make sense? All I really ask is for some justification. It doesn't have to make sense for everybody, but it has to make sense (realistically) for somebody.
I see several general claims that overriding a specific package only for a specific module is useful but few concrete examples. For it to be a general policy I'd hope we could agree that it has to make sense more often than not.
Am I alone in thinking that there are real costs associated with greater variability implied by adding options beyond eval time?

@joachifm About overlays — maybe in general, given discussions like #43266 not everyone fully trusts overlays for all use cases. And we usually ship a single client+server package and people might want to override the two parts independently.
You are not alone in thinking there is a cost — different people get different levels of annoyance from having to deal with an interface with many optional knobs, and also from not having access to obvious knobs. I guess we never had a Nix* survery to know the local shape of the distribution (there is a weird enough selection criterion that I don't expect general population studies of option paralysis, cost of choice etc. to apply)
Of course, reminding people about disabledModules to replace a single module (like in https://github.com/NixOS/nixpkgs/issues/46464 discussion) is useful.
@coretemp I guess explicitly saying what service you are talking about might help to discuss specifics.
Re: P.S. — feel free to email me or open an issue about lack of documentation against my lang-os repo or something; by the way, there you can find an example of grabbing things out of a separate NixOS import — maybe this can be combined with overriding Nixpkgs in a reimport of NixOS for some intents.

@7c6f434c For $CENSORED_REASONS I was vague on this topic. It was a fair question. Perhaps I can answer the question in a fairly long time.

@Ekleog

* Before, `9.47s user 0.68s system 133% cpu 7.599 total`

* After, `9.11s user 0.56s system 135% cpu 7.118 total`

This is interesting, but for the results to be useful you'd really need to take some steps to exclude other factors from influencing the benchmark (e.g. by running each case many times over and looking at the distribution of results). 0.48s is a lot more of a change than I would expect for only 19 less options; it seems likely the difference has more to do with other things happening on the system during the tests.

Some thoughts:

A package option is the only visible thing blocking #48036 and #48289 from being merged, which is odd given this issue doesn't appear to have reached any kind of consensus.
While it is true you can use overlays to override service packages, this becomes more problematic if you are sharing a nixpkgs build between several machines (e.g. because you're using nixops or morph) and only want to override the package on one of them (example issue using morph). This is an issue that could be fixed with nixpkgs changes, but is not at this point.
The stated concerns are evaluation time, and "option bloat in general". Is impact on evaluation time significant? Is "option bloat" an issue for non-performance reasons? Will the answers to those questions still be true if/when either nix-flakes, or configurations as a language feature, are implemented?

I propose to close this issue and go toward adding package attribute to all the modules that are backed by a single package.
Without a proper benchmark it's not worth talking about hypothetical performance improvements. NixOS evaluation is highly sensitive to the disk cache and needs to be repeated many times.
On the other hand, having a consistent interface is useful on many levels. Like @copumpkin said, the user can rely on the option being there and not have to dig into the nixos source. Not everybody has write access to nixpkgs to add the package option "when needed".

I think the ideal way to solve this would be to add a generic nixos.services.* option (or tasks.* or jobs.* or whatever), defined somewhat like this:
{
  options.nixos.services = mkOption {
    type = types.attrsOf (types.submodule {
      options = {
        package = mkOption {
          type = types.package;
        };

        user = mkOption {
          type = types.str;
        };

        systemd = mkOption {
          type = /* ... */;
          description = "systemd.services.* link";
        };
      };
    });
  };
}

This is then like a layer on top of systemd.services which defines all the additional options NixOS services ought to have, like package, user, group, maybe even dataDir, config and/or configFile.
In this new abstraction layer we could define all these options without having to clutter all service definitions with duplicate definitions.
This would then be customizable like this:
{ pkgs, ... }: {
  services.foo.service.package = pkgs.foo_1;
  services.foo.someFooSpecificOption = 10;
  services.foo.service.systemd.preStart = "echo hi";
}

Where services.foo.service is a link to the corresponding nixos.services.foo option set.

I guess we can close this, most people seem to be for always having a package option. Previously I was against this, but I've since changed my opinion and think that it might very well be alright to always have it, even if it's not immediately useful.


fix: allow a module to contains multiple package.json

closes #32

Codecov Report

Merging #33 into master will increase coverage by 0.02%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master      #33      +/-   ##
==========================================
+ Coverage   98.55%   98.57%   +0.02%
==========================================
  Files           2        2
  Lines          69       70       +1
==========================================
+ Hits           68       69       +1
  Misses          1        1

Impacted Files
Coverage Δ

src/index.js
98.48% <100%> (+0.02%)
:arrow_up:

Continue to review full report at Codecov.

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


Using qdstat/qdmanage with plain SASL auth doesn't work

When using the qdstat tool to query the dispatch router like this
qdstat -a --sasl-username=user --sasl-password=pw --sasl-mechanisms=PLAIN -b amqps://<IP_ADDRESS>:30071
I get the error
LinkDetached: sender 720d2bf2-e2f1-44f5-aa63-19aaaefffa13-$management to $management closed due to: Condition('amqp:unauthorized-access', 'link disallowed by local policy')
So far that is expected as the user isn't in any "send/recv_[*]" Keycloak groups.
But after having assigned Keycloak groups send_%24management and recv_%24management (ie. send/recv_$management) to the user, there still is the error
LinkDetached: receiver ab1c4941-1d8e-4b6a-901d-7f2dcb3c1955-a9ee7336-0a32-4877-90b8-2cc0aba75067 from None closed due to: Condition('amqp:unauthorized-access', 'link disallowed by local policy')
Also assigning the groups send_%2A and recv_%2A (for send/recv_*) doesn't help.

This seems to be fixed now.


How to disable recursion with q?

The q program in the example has a -rd option to ask for recursion but it is enabled by default. How to disable it?
  -rd
        set RD flag in query (default true)

There is a RD each time;
% ./q  @::1 SOA internautique.fr
;; opcode: QUERY, status: NOERROR, id: 12804
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 3, ADDITIONAL: 0

;; QUESTION SECTION:
;internautique.fr.      IN       SOA

;; ANSWER SECTION:
internautique.fr.       3114    IN      SOA     ns3.bortzmeyer.org. hostmaster.bortzmeyer.org.<PHONE_NUMBER> 7200 3600<PHONE_NUMBER>

;; AUTHORITY SECTION:
internautique.fr.       85914   IN      NS      ns3.bortzmeyer.org.
internautique.fr.       85914   IN      NS      ns1.bortzmeyer.org.
internautique.fr.       85914   IN      NS      ns2.bortzmeyer.org.

;; query time: 185 µs, server: [::1]:53(udp), size: 273 bytes

% ./q -rd @::1 SOA internautique.fr
;; opcode: QUERY, status: NOERROR, id: 61230
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 3, ADDITIONAL: 0

;; QUESTION SECTION:
;internautique.fr.      IN       SOA

;; ANSWER SECTION:
internautique.fr.       3112    IN      SOA     ns3.bortzmeyer.org. hostmaster.bortzmeyer.org.<PHONE_NUMBER> 7200 3600<PHONE_NUMBER>

;; AUTHORITY SECTION:
internautique.fr.       85912   IN      NS      ns3.bortzmeyer.org.
internautique.fr.       85912   IN      NS      ns1.bortzmeyer.org.
internautique.fr.       85912   IN      NS      ns2.bortzmeyer.org.

;; query time: 146 µs, server: [::1]:53(udp), size: 273 bytes

A possible patch could be as simple as (but may disconcert people used to dig being recursive by default):
diff --git a/q/q.go b/q/q.go
index 11f4051..dd2e155 100644
--- a/q/q.go
+++ b/q/q.go
@@ -45,7 +45,7 @@ func main() {
        aa := flag.Bool("aa", false, "set AA flag in query")
        ad := flag.Bool("ad", false, "set AD flag in query")
        cd := flag.Bool("cd", false, "set CD flag in query")
-       rd := flag.Bool("rd", true, "set RD flag in query")
+       rd := flag.Bool("rd", false, "set RD flag in query")
        fallback := flag.Bool("fallback", false, "fallback to 4096 bytes bufsize and after that TCP")
        tcp := flag.Bool("tcp", false, "TCP mode, multiple queries are asked over the same connection")

        nsid := flag.Bool("nsid", false, "set edns nsid option")

"You must use the -flag=false form to turn off a boolean flag."
See https://godoc.org/flag
[ Quoting<EMAIL_ADDRESS>in "Re: [miekg/exdns] How to disable re..." ]

A possible patch could be as simple as (but may disconcert people used to dig being recursive by default):
diff --git a/q/q.go b/q/q.go
index 11f4051..dd2e155 100644
--- a/q/q.go
+++ b/q/q.go
@@ -45,7 +45,7 @@ func main() {
       aa := flag.Bool("aa", false, "set AA flag in query")
       ad := flag.Bool("ad", false, "set AD flag in query")
       cd := flag.Bool("cd", false, "set CD flag in query")
-       rd := flag.Bool("rd", true, "set RD flag in query")
+       rd := flag.Bool("rd", false, "set RD flag in query")
       fallback := flag.Bool("fallback", false, "fallback to 4096 bytes bufsize and after that TCP")
       tcp := flag.Bool("tcp", false, "TCP mode, multiple queries are asked over the same connection")

       nsid := flag.Bool("nsid", false, "set edns nsid option")

You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/miekg/exdns/issues/2#issuecomment-218771003
/Miek

--
Miek Gieben


python310Packages.micloud: 0.5 -> 0.6

Description of changes
https://github.com/Squachen/micloud/releases/tag/v_0.6

Things done

Built on platform(s)

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

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

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

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 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
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

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

5 packages built:

home-assistant-component-tests.xiaomi_miio
python310Packages.micloud
python310Packages.python-miio
python39Packages.micloud
python39Packages.python-miio


Matrix3 memeory issue

In the math library of MiniEngine project, please pay attention to Matrix3.
The comment says: " Represents a 3x3 matrix while occuping a 4x4 memory footprint." However, the alignment settings is "__declspec(align(16))" and data members are declared as "Vector3 m_mat[3]".
I think the memory footprint is 3x4 rather than 4x4. If it is true, the implicit convertion from "Matrix3" to "XMMATRIX" is pretty dangerous. The extra 16 bytes memory is fetched from other address. So, why the code is runnable? Dive into the code, only read operation is performed. The extra memory will no be modified.
If what I think is true, this is a tricky but dangerous operation. Hope for reply, thanks.

You are right.  There is something off about this code.  The untrue comment ("4x4 memory footprint") coupled with the cast to XMMATRIX suggests to me that once upon a time this class was identical to Matrix4 but ignored the 3rd row and 3rd column.  I don't think the class is bad, but the comment needs to be fixed, and I will see if any code actually depends on a cast to XMMATRIX.  Keep in mind that the cast does not return a reference, so it would be copying invalid memory but not making it writeable.

Can't reading invalid memory turn into an access violation or other bad stuff (e.g. triggering guard pages) when it happens to be close to the boundary of a mapped address space segment? Certainly sounds like bad practice and not something people should copy from the examples without being aware of all the lurking dangers.

The worst that could happen is a page fault, but in the very unlikely event that the Matrix3 is right at the end of a virtual memory page, the undefined fourth vector probably won't be read anyway.  The reason for the cast from Matrix3 to XMMATRIX is because DirectXMath doesn't have other matrix types.  So functions for rotating a normal, for instance, still use the 4x4 matrix but only look at the relevant 3x3 part.  You can guarantee that you don't read invalid memory by replacing the cast method with this:
INLINE operator XMMATRIX() const { return XMMATRIX(m_mat[0], m_mat[1], m_mat[2], XMVectorZero()); }
When I make my next commit, I'll include this change.  Thank you.

As the author of DirectXMath, I'll note that in theory you really want that last row to be [0 0 0 1] instead of [0 0 0 0]. You could use the built-in vector constant g_XMIentityR3.
A safer solution might also be to do the following:
INLINE operator XMMATRIX() const { return XMLoadFloat3x3(reinterpret_cast<const XMFLOAT3X3*>(this)); }

Yes, I think that we should make things clear. Fetch data from extra memory space is really a bad practice, though it may be more efficient. Code is ok due to the copy of the converted value. Definitely, both solutions are workable which are provided by @stanard and @walbourn .

The intention of the cast from Matrix3 to XMMATRIX is to interoperate with the Matrix3-style functions in DirectXMath.  These functions don't load the fourth row (and ignore the fourth column).  The Matrix3 class deliberately leaves the fourth element of each vector undefined, knowing that they should not be touched or trusted.  Both of these are intended to produce fast-but-unsafe code.  It is up to the user to be aware of the restrictions. To get a safe upgrade to Matrix4 with zeros in all undefined entries and a one in the [3][3] position, you can use the Matrix4::Matrix4(Matrix3) constructor.  So the safest canonical way to convert a Matrix3 to an XMMATRIX would be:
INLINE operator XMMATRIX() const { return (XMMATRIX)Matrix4(*this); }
But if you want that, you can simply cast your Matrix3 to Matrix4 and get an implicit cast to XMMATRIX.  This code was also written before MSVC had support for explicit cast declarations which requires you to force a cast to XMMATRIX and is safer in that this makes it a deliberate choice rather than an accident.  I will see if I can make this cast explicit to reduce debugging headaches.


Added Word Frequency Highlighting Feature

This would be my first major contribution to a project that I didn't start. I've learned a lot. If you have any suggestions, let me know. You're welcome to make any changes to the repository, I've opened it for edits in case you want something different before merging.
Edit: adding tags to all contributors: @ckhordiasma @Teh-Bobo @jahatfi @SnekCode

Hi @james-craven , thank you very much for the pull request. I'm going to need some time to review.

@james-craven did you get a chance to review my PR on your repo? (In hindsight I should have just merged your PR and then made changes on my end)


mac run project issue

im just currently looking at mac build with kha, using the jamiltron web series on wokring with kha. currently i have redone upto the point where you put in keyboard movement and move the ship.
but was just testing it, and it just pops up with a black screen. cant even use the hotkeys for quitting applications either. but there are no errors i can see in the console either. very strange
this screenshot is after a few seconds of it running from within xcode

Yes, that's strange. What hardware and OS?

As an fyi I should note that the project works perfectly for me with the same OS and graphics, but I have a core i7.

hmmmm. that is really weird. it should not be a problem. but a weird thing

Were you able to get the ship rendering before you added in the keyboard input code?

in the html launch yes. but not in c++

Could you post a link to a gist/haste/paste/whatever with the relevant sources and I'll take a look when I get a chance?

here it is
http://pastebin.com/Q1pfpx6H

Thanks, I'll take a look when I get home from work.

One thing that initially sticks out to me is that you're creating two instances of your GameState in main. Secondly I tried to throw this into a project to run but its missing the tool.Control class.

So what I would do is change your main to be the following:
package;

import kha.System;

class Main {
    public static function main() {
        System.init("HIRVIO", 1280, 960, function() {
            var game = new GameState();
            System.notifyOnRender(game.render);
        });
    }
}

hey man
many thanks. i thought i took away the need to use control. but here it is. its just the same as your one you had done the tutorials on ;)
package tool;

import kha.Key;

class Control {
	public var left:Bool;
	public var right:Bool;
	public var up:Bool;
	public var down:Bool;

	public function new() {}

	public function onKeyDown(key:Key) {
		switch (key) {
			case LEFT:
			  left = true;
			case RIGHT:
			  right = true;
			case UP:
			  up = true;
			case DOWN:
			  down = true;
			default:
		}
	}

	public function onKeyUp(key:Key) {
		switch (key) {
			case LEFT:
			  left = false;
			case RIGHT:
			  right = false;
			case UP:
			  up = false;
			case DOWN:
			  down = false;
			default:
		}
	}
}

Does adjusting Main.hx fix the issue for you?

just tried it. and yes, it does.
many thanks ;)


Download Progress bar doesn't complete

UprootRaw_Dict:
Transform ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3/3 04:35
Download ━━━━━━━━━━━━━━━━━━━━━━━━━━╸━━━━━━━━━━━━━ 2/3 --:--
Files: {'UprootRaw_Dict': ['/tmp/servicex_ketan/f08acc52-1349-4cbf-a0ef-eeae1a5b6120/_633b06c650bbf757424de759df234ac794825e2b_000001.pool.root.1', '/tmp/servicex_ketan/f08acc52-1349-4cbf-a0ef-eeae1a5b6120/_37ac74b36a2cd562f5d3ba56ed1dd1e7487a04e4_000002.pool.root.1']}

Ideally both should complete at the end.
instance: af
on testing-2
it works as expected

Not facing this issue with testing1,2,3 instances!


Can't display errors on Error List window even if it has error when running Mypy

VS Version: 28704.105.d16.0stg
Python Tool Version: 16.0.19058.2
Repro step:

Create a python application
Install mypy package
Type below code to import these 2 modules that do not exist
import test_hello
import hello
Right-click on project->Python->Run Mypy
Check Error List

Except result:
Error message should appear on Error List window
Actual result:
Cannot display error on Error List even if it has error

It looks like it's because you have selected "Current Document" in the error list. If I do that I get the same results as you. If I select "Current Project" then they appear.
Also, FYI to anyone that works on this, it looks like "Warn when imported module cannot be found" option was disabled. If it wasn't, you'd see the squiggles and warnings from PTVS (in addition to the errors from mypy).


ST46607 - Dialog fixed, Boss edit

Employee dialog fixed

Change form board style to FixedDialog

This dialog is used for editing existing boss

Boss edit

Button added, now you can edit boss

Listbox for employees added

Prepared for implementation of show employees of selected boss

More info in commit.

I created patch for fixing your requirements. I added logic for add employee to boss like a bonus to patch


Docker command updated

Docker does not allow Uppercase letters, throws this error
docker: invalid reference format: repository name must be lowercase.

Ho! Thank you was a mistake :)


Please reconsider adding categories

Thanks for this promising extension.
If I may, it would really be great to have categories (or grouping) at least.
I'm still using extensions-manager because the categories feature is awesome. It seems broken however: new categories can't be created unless imported via a configuration file.
It would be great if you could take some time to reconsider adding a categories feature.

Duplicate of https://github.com/hankxdev/one-click-extensions-manager/issues/27


feat: generalise LieModule.independent_genWeightSpace to any family of compatible endomorphisms

Also create new file to group together results about simultaneous (generalised) eigenspaces.

bors d+

bors merge


Responsiveness issues

Hi there, I have two issues related to responsiveness:

the first one is that it cannot be placed in "wrapper" container which has slightly smaller width than a browser window, could it be maybe possible to specify width as property?
the second one is that in up to date version it seems like the sidebar content doesn't fit well. There should be 3 categories on each row, instead there are two and weirdly aligned. Also as you can see the columns picking in layout section overflows. I've tried in latest chromium and safari, implemented in clean create-react-app installation using React 17.0.2

Code looks simple:
import React from "react";
import { BlockManager, BasicType, AdvancedType } from "easy-email-core";
import { EmailEditor, EmailEditorProvider } from "easy-email-editor";
import { ExtensionProps, StandardLayout } from "easy-email-extensions";

import "easy-email-editor/lib/style.css";
import "easy-email-extensions/lib/style.css";
import<EMAIL_ADDRESS>
const categories: ExtensionProps["categories"] = [
  {
    label: "Content",
    active: true,
    blocks: [
      { type: AdvancedType.TEXT },
      {
        type: AdvancedType.IMAGE,
        payload: { attributes: { padding: "0px 0px 0px 0px" } },
      },
      { type: AdvancedType.BUTTON },
      { type: AdvancedType.SOCIAL },
      { type: AdvancedType.DIVIDER },
      { type: AdvancedType.SPACER },
      { type: AdvancedType.HERO },
      { type: AdvancedType.WRAPPER },
      { type: AdvancedType.SECTION },
    ],
  },
  {
    label: "Layout",
    active: true,
    displayType: "column",
    blocks: [
      {
        title: "2 columns",
        payload: [
          ["50%", "50%"],
          ["33%", "67%"],
          ["67%", "33%"],
          ["25%", "75%"],
          ["75%", "25%"],
        ],
      },
      {
        title: "3 columns",
        payload: [
          ["33.33%", "33.34%", "33.33%"],
          ["25%", "25%", "50%"],
          ["25%", "50%", "25%"],
          ["50%", "25%", "25%"],
        ],
      },
      {
        title: "4 columns",
        payload: [["25%", "25%", "25%", "25%"]],
      },
    ],
  },
];

const initialValues = {
  content: BlockManager.getBlockByType(BasicType.PAGE)!.create({}),
};

export default function Email() {
  return (
    <EmailEditorProvider
      data={initialValues}
      height={"calc(100vh - 145px)"}
      autoComplete
      dashed={false}
    >
      {({ values }) => (
        // @ts-ignore
        <StandardLayout compact={false} showSourceCode categories={categories}>
          <EmailEditor />
        </StandardLayout>
      )}
    </EmailEditorProvider>
  );
}

Unrelated issue: maybe it would be good to consider some css modules for implementation as it breaks my app layout if it's not integrated into clean create-react-app installation - there can be classnames collisions (there is in my case).

The second issue is caused by missing box-sizing: border-box properties, for example here:
._blockItem_1ajtj_6 ._blockItemContainer_1ajtj_16 {
    width: 96px;
    height: 96px;
    padding: 10px;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    box-sizing: border-box;
}

but also to elements for columns layout

Thanks for your feedback,.
For the first point, it was caused by setting 100vw, we will fix it in the next version.
For the second point, unfortunately, non-shadow dom is easy to cause style override, and there is no particularly good way.

@m-Ryan thanks for the first thing, will appreciate the fix!
re second: so there's no way that css styles would be applied to some wrapper like .email-editor-wrapper and wouldn't override global stylesheet? 🤔 I anyway had to do it, wrapped the editor into another div and apply .email-editor-wrapper * { box-sizing: border-box; }
Rn. also arco does some resets to html/body which breaks layout of my app a bit.

I have removed the 100vw limit, please update to the latest version.

yarn add easy-email-core@latest easy-email-editor@latest easy-email-extensions@latest

Most UI libraries will have problems with style overrides, but we need a lot of UI components, so we still need to use . Not a good idea for css reset unless it's all custom UI components.
If you have a good idea, please feel free to tell me.


Type propagation (IDA Pro does this automatically)

Version and Platform (required):

Binary Ninja Version: 4.1.5261-dev, 859dedd4
OS: macos
OS Version: 14.4
CPU Architecture: arm64

Internal binary major dine favor.
Note that series and mount_pos_type have default types here
00066f48  int64_t DjiCoreParamConfig_Get(int64_t* arg1)

00066f58      int32_t series
00066f58      DjiAccessAdapter_GetAircraftSeries(series: &series)
00066f78      int32_t mount_pos_type
00066f78      DjiAccessAdapter_GetMountPositionType(mount_pos_type: &mount_pos_type)
00066f94      int32_t var_4_1 = 0

even though DjiAccessAdapter_GetAircraftSeries
000cf930  int64_t DjiAccessAdapter_GetAircraftSeries(enum E_DjiAircraftSeries* series)

000cf948      *series = AIRCRAFT_SERIES
000cf954      return 0

and DjiAccessAdapter_GetMountPositionType
000cf908  int64_t DjiAccessAdapter_GetMountPositionType(enum E_DjiMountPositionType* mount_pos_type)

000cf920      *mount_pos_type = MOUNT_POS_TYPE
000cf92c      return 0

are properly typed.
IDA Pro goes ahead and does the right thing, typing series as enum E_DjiAircraftSeries.
Why doesn't BN? It seems to stumble on the types being uint32_t enums.

Thanks for the report this is a known issue: https://github.com/Vector35/binaryninja-api/issues/773


map not rendering in firefox

map has error loading in firefox. Need to fix this while maintaining functionality in Chrome/Opera.
Here is message from console:
"""
Loading failed for the

New map. No more Firefox issues.


🐞 - When choosing Background: None, it switches back to Bottom

Which @codeimage/* package(s) are the source of the bug?
Don't known / other
Please provide a screenshot or a video to a minimal reproduction of the bug
No response
Description
You can't select Background: None. It automatically switches back to Background: Bottom

Which browsers have you used?

[X] Chrome
[X] Firefox
[X] Safari
[ ] Edge

Which operating systems have you used?

[X] macOS
[ ] Windows
[ ] Linux
[ ] iOS
[ ] Android

Hi @Gw3i, thanks to reaching me.
this is definitely a bug caused of this portion of code I think
https://github.com/riccardoperra/codeimage/blob/d3c3293837a87cd9238382f056a83b82908276c6/apps/codeimage/src/components/PropertyEditor/WindowStyleForm.tsx#L157
The ?? check should be removed since “None” options is valuated with null.
In case you can open a PR, otherwise I will resolve it soon (probably today or tomorrow)
thanks again 😬

Deployed the fix with 1.0.7 release 😄 thanks for submitting the issue


appimage-run: $OWD variable not set

Describe the bug
When running an AppImage binary with appimage-run, the $OWD environment variable is not populated.
OWD is one of the environment variables that are usually populated by the AppImage runtime. Several AppImages expect it to be set to work correctly. OWD contains the path to working directory at the time the AppImage is called
https://docs.appimage.org/packaging-guide/environment-variables.html
Steps To Reproduce
Steps to reproduce the behavior:

NixOS 22.05
Install appimage-run
appimage-run owdtest.AppImage
Result: line 5: OWD: unbound variable

owdtest is attached, it has to be gunzip'ed:
owdtest.AppImage.gz
Expected behavior
ls is executed for the current working directory, no unbound variable error.
Notify maintainers
@symphorien
@prusnak
Metadata
 - system: `"x86_64-linux"`
 - host os: `Linux 5.15.79, NixOS, 22.05 (Quokka), 22.05.4338.695b3515251`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.8.1`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`

so it's just a question of adding export OWD=$(readlink -f .) inside appimage-run? If so, would you mind opening a PR?

Maybe? I must admit I'm completely new to Nix.
I just want to publish an AppImage that runs on as many distros as possible. NixOS was one of the distros I tested it with. So I installed NixOS today and during testing I saw this issue. So I thought it would be helpful to report this issue.
I don't have a development environment set up for NixOS and would have to read up how to build it, while I would prefer to test my AppImage on some more platforms instead.