Get type of an arbitrary expression

This proposal adds the ability to get the type of an arbitrary expression via expr.type.
It would work as follows:
let x = 20;
let y: x.type = x; // C equivalent: typeof(x) y = x;

type X = x.type;

assert_eq_type!(X, i32); // taken from `static_assertions`

The type identifier is already reserved as a keyword and so this isn't a breaking change.
This is a proper RFC based off of https://github.com/rust-lang/rfcs/issues/2704.

I’m not a fan of this kind of type definition. Currently you can reason about the high-level structure of code purely by looking at function signatures and type definitions. But with this change the type of something can require reading the implementation to figure out. It breaks an abstraction boundary in a way the decreases readability.
I do sympathize with the motivation of using it in macros, though (it would massively clean up some macros).
Perhaps a more restricted alternative would be to syntactically expose inference variables:
let x: Vec<?T> = Vec::new(); // ?T is a named inference variable
let y: ?T = 0;

This has a few benefits:

Doesn’t allow expressions in types syntactically
Uses existing type inference machinery in the compiler. ?T already exists, but is currently an implementation detail.
Solves the use case, I think
IMHO is more readable

I would still want it to be explicitly bad style to use this anywhere except macros, though.

In principle you can always achieve this by introducing some nested function, right?
fn same_type<T>(x: T, y: Vec<T>) -> (T,Vec<T>) { (x, y) }

It even sounds possible to build these with a proc macro, although not sure how that interacts whit macro evaluation?

@mark-i-m

But with this change the type of something can require reading the implementation to figure out. It breaks an abstraction boundary in a way the decreases readability.

I wholeheartedly agree that this can lead to code that's very difficult to read and thus a headache to maintain.

Perhaps a more restricted alternative would be to syntactically expose inference variables:
let x: Vec<?T> = Vec::new(); // ?T is a named inference variable
let y: ?T = 0;

This has a few benefits:

Doesn’t allow expressions in types syntactically
Uses existing type inference machinery in the compiler. ?T already exists, but is currently an implementation detail. EDIT: to clarify, I think the existing machinery is sufficient; we wouldn’t need to build anything else.
Solves the use case, I think
IMHO is more readable

I like this approach for some of the reasons you listed.
How would I be able to make a type alias for type reuse in greater contexts?
Also, this approach would require evaluating an expression or doing something weird in a macro to work blindly over the type of an expression.
macro_rules! do_stuff {
    ($x:expr) => {
        let _: T? = $x;
        let y = <T?>::new(/* ... */);
        $x.do_stuff_with(y);
    }
}

Something important that an implementor of this feature would need to consider is macro hygiene with respect to inference types used within macros. If a T? is already used in the scope of do_stuff!'s call site, it should not conflict with this one. However, if there is a T? in use in the scope of do_stuff!'s declaration site, it should be assumed that they refer to the same type.

I would still want it to be explicitly bad style to use this anywhere except macros, though.

Would this be done within the compiler directly or as a clippy lint?

@burdges
I don't see how this feature is achievable with generics or a procedural macro. Generics erase all concrete type information that can then only be added with traits. Also, if you can't do this right now in a normal macro, how would this be achieved with a procedural macro? Both are simply forms of token substitution.

I think the macro invocation would look like
bind_types!('a,T,S; x: &'a, mut T, mut y: Vec<S>, z: (T,T,S));

which then create code like
fn do_bind_types_473<'a,T,S>(x: &'a mut T, y: Vec<S>, z: (T,T,S)) -> (&'a mut T, Vec<T>, (T,T,S)) { (x, y, z) }
let (x, mut y, z) = do_bind_types_473(x,y,z);

It merely makes the inference variable a type parameter of some nested function.

Also, this approach would require evaluating an expression or doing something weird in a macro to work blindly over the type of an expression.

True, but I don’t think this is more weird than using an expression in a type. Also, macros already do some weird/awkward things like passing the types in as meta-variables. I suppose this is a personal judgement.

How would I be able to make a type alias for type reuse in greater contexts?

I propose that one wouldn’t do that (at least for now). Would it still solve most of the use case to only be able to use this inside of a function body? It seems like normal generics can cover most of the other use cases, right?

Something important that an implementor of this feature would need to consider is macro hygiene with respect to inference types used within macros.

I imagine it would follow the dame rules as normal generics, right? Is there an additional challenge here?

Would this be done within the compiler directly or as a clippy lint?

Clippy is probably more appropriate, IMHO.

How would I be able to make a type alias for type reuse in greater contexts?

I propose that one wouldn’t do that (at least for now). Would it still solve most of the use case to only be able to use this inside of a function body? It seems like normal generics can cover most of the other use cases, right?

My understanding was that the general problem of "naming the unnameable" types is supposed to be solved by impl Trait extensions, especially the existential types proposed and accepted in https://github.com/rust-lang/rfcs/pull/2071. IIUC, much of this is also required to make "async methods in traits" a thing, so there's plenty of motivation for it to get done.

Personally, I don't think we can really evaluate the usefulness of a typeof-like feature until more of those impl Trait extensions get finalized. Every typeof-like proposal I've seen either introduces very non-obvious questions around how typeofs affect type inference (like this RFC), or introduces very non-obvious questions around the arcane type syntax one would want to pass to typeof (just like C, but unlike this RFC). It seems clear that any typeof feature (which is more than just sugar over already accepted impl Trait extensions and already well-understood tricks like @burdges's same_type) would likely introduce significant new complexity to the type system, and I think that requires clearer and stronger motivation than we currently have.
Unless I'm missing something huge, the motivation for the RFC seems really thin. There's no example of code that's impossible today yet possible with this feature, only examples of code that would be very slightly easier to write with this feature. If the goal is indeed to make already fairly straightforward code easier to write, we should be talking about sugars, not type system extensions. If we're actually talking about code that is painfully convoluted today, yet easy with this feature, then I like @mark-i-m's idea of exposing inference variables (it's "heavier" than a mere sugar, but it's definitely not a true type system extension either), but the RFC needs some examples that clearly show the alleged pain and gain.

Exposing inference variables would have the significant drawback of not working outside of a function – yet outside of a function is precisely where this feature would be most powerful, since within a function you can already take advantage of inference to achieve similar results in many cases.  For example, the <$x.type>::new example isn't possible today, but if you allow Default::default as an (arguably more principled) alternative, you can use a helper like:
fn default_of_same_type_as<T: Default>(_: &T) -> T { T::default() }

Personally, I've wished for typeof when trying to design a Rust equivalent to construct, a Python library for decoding/encoding binary formats.  My basic idea was that a macro would transform something like:
struct Foo {
	count: u32 = beu32, // big endian u32
	items: Vec<u32> = repeat(count, beu32),
}

to:
struct Foo {
    count: u32,
    items: Vec<u32>,
}
impl Decodable for Foo {
    fn decode(stream: &mut Stream) -> Foo {
        let count: u32 = beu32.decode(stream);
        let items: Vec<u32> = repeat(count, beu32).decode(stream);
        Foo { count, items }
    }
}

(Plus maybe an Encodable implementation as well, though there are some complexities there.  But anyway...)
Problem is, a lot of structs have many fields of simple types:
struct Bar {
    a: u32 = beu32,
    b: u32 = beu32,
    c: u32 = beu32,
    d: u16 = beu16,
    e: u32 = beu32,
    // ...
}

In this case, it can get annoying to have to effectively write each field's type twice.  I'd like to allow the user to omit the type and just write a = beu32.  But that would require the struct definition to be something like
struct Bar {
    a: <typeof(beu32) as Decodable>::Output,
    // etc...
}

Of course, an alternative in this case would be to have the user represent how to decode/encode the field by writing a type, like BEU32.  Then it would just be <BEU32 as Decodable>::Output.  But in the more complex example above, repeat(count, beu32) clearly needs to be an expression, because count isn't even a constant.  And I'd rather not need two different ways to represent the same thing.

I think much of this can be solved with existential_types link (RFC)[https://github.com/rust-lang/rfcs/blob/master/text/2071-impl-trait-existential-types.md], if it got extended a bit.

We've also had the proposal for an f::Output associated type for methods f.  If that existed, then you'd have type level expressions like X::<Y>::f::<Z>::Output, which should achieve the same results as this, but using only type level notation.  It's not clear what makes things easier in practice.

For the "other languages" section, you can add C++ decltype(<expr>), which is standard, unlike GCC's typeof extension for C.
For the purposes of decltype, and other unevaluated contexts, C++ also features std::declval<X>() which "creates" a variable of type X out of thin air. It is useful when provided with a callable foo if you wish to know what is the type of foo(std::declval<X>()) without having an instance of X on hand.

Syntax-wise, I would prefer a syntax which made it really clear from the beginning of the expression that it is unevaluated; if you really need to go the unevaluated way. It's jarring to discover a function call wasn't a call only at the end.

Just from syntax perspective: please don't put expressions where types can appear. Mixing these two in the syntax tends to backfire later (with things like turbofish and struct literal parsing difficulties). Prefixing of the expression with a keyword/sigil would disambiguate it.

It appears the named existential type RFC #2071 being accepted makes this RFC redundant.  If not, this RFC should explain the difference.
You can always write roughly:
existential type Foo<T>: SomeTrait;
fn my_expr<T>(..) {
    expr : Foo<T>;
}

but named existential type better supports the common cases where either (a) some type constraint appear outside expressions, or (b) the expression is actually evaluated.

@matthieu-m

Syntax-wise, I would prefer a syntax which made it really clear from the beginning of the expression that it is unevaluated; if you really need to go the unevaluated way. It's jarring to discover a function call wasn't a call only at the end.

You mean unevaluated "at runtime", right? Finding the type of an expression does often require constant evaluation, e.g.,
const fn add(x: usize, y: usize) -> usize { x + y }
pub type Foo = ([0_i32; {add(1, usize::max_value())}]).type;

does require evaluating add(1, usize::max_value()) at compile-time, evaluation can fail (in this case due to a panic! on overflow), etc.
Rust is not C++, but in C++ one often needs to be careful with decltype due to how a failed constant evaluation interacts with other parts of the language like SFINAE.

Syntax-wise, I would prefer a syntax which made it really clear from the beginning of the expression that it is unevaluated; if you really need to go the unevaluated way. It's jarring to discover a function call wasn't a call only at the end.

You mean unevaluated "at runtime", right? Finding the type of an expression does often require constant evaluation, e.g.,

Yes, exactly. I am not yet used to compile-time evaluation in Rust.

The existential type feature doesn’t make my use case redundant, because I would need to be able to fully access the type, rather than having allowed operations limited to some trait bound known a priori.

@comex that is why I said if existential types got extended a bit
@burges The difference is that this proposal gets you to concrete type, which you can use to call inherent associated functions. Not something you can do with existential types, they must always go through a trait.

@rust-lang/lang discussed this in today's "Backlog Bonanza" meeting. There was definite sympathy for the goals of this RFC -- a few of us were definitely missing the ability to name types, especially the "less nameable" types like those returned by impl Trait functions. However, overall we felt that the time was not ripe to pursue this. It's not a good fit for the 2020 roadmap priorities (basically: finishing up existing work, not adding new work) nor the lang team priorities we've enumerated. Moreover, we think it'd be good to pursue the existing impl Trait support towards conclusion first before pursuing the idea of typeof expressions.
@rfcbot fcp close


Data encrypted at rest?

My host just about has nostream installed and running and this morning I started wondering if nostream is compliant with GDPR, California's privacy law, etc.
npubs are literally personally identifiable information. Events absolutely have personally identifiable information. The users table - well, that's about users so that's all personally identifiable information. The invoices table is tied to people so that also contains personally identifiable information. At the end of the day social media databases are the poster children for databases with personally identifiable information. Everything related to a person (nym or real name) has to be encrypted.
The problem is, unlike MySQL / MariaDB, PostgreSQL doesn't seem to do "encryption at rest".
https://www.postgresql.org/docs/current/encryption-options.html
If I understand it correctly the options are:

Encrypting the entire drive - but that's not really "encrypted at rest" since any application with proper permissions can read anything on the drive. It only helps if the drive gets physically stolen (which isn't really a problem in modern data centers).
Particular columns can be encrypted but then the clients accessing those columns have to futz with keys when it accesses the data.

From what I'm seeing there's no equivalent of MySQL/MariaDB's encryption of tables/tablespaces.
SO… Are there any plans to support MySQL/MariaDB? I don't see how I (or anyone for that matter) can use nostream until it supports a database that can encrypt data at rest.
Sorry for being a bummer. But I've survived this long doing what I do because I fuss over details like this. (And my users trust me with truly sensitive information because I fuss over details like this).

Going a bit further I just had  "discussion" with ChatGPT about this where I asked "Does encrypting the drive partition satisfy GDPR and CCPA? Or is it unclear whether that satisfies the EU's GDPR and California's CCPA?" This was it's response…
_Encryption of the drive partition can be an effective security measure to protect data at rest and may satisfy the requirements of GDPR and CCPA, depending on the specific circumstances.
Under GDPR, organizations are required to implement appropriate technical and organizational measures to ensure the security of personal data. Encryption is specifically mentioned as a recommended security measure in the GDPR. However, the regulation does not prescribe specific encryption methods or key management practices, so it is up to the organization to determine whether their chosen encryption strategy is appropriate for their specific data processing activities.
Similarly, under CCPA, businesses are required to implement reasonable security measures to protect the personal information they collect and process. Again, encryption is specifically mentioned as a recommended security measure in the CCPA.
Whether encryption of the drive partition is sufficient to meet these requirements depends on a variety of factors, including the sensitivity of the data being processed, the likelihood and potential impact of a data breach, and the overall security posture of the organization. In general, encrypting the drive partition can be an effective security measure, but it may not be sufficient on its own to meet all of the requirements of GDPR and CCPA.
Therefore, it's important to perform a thorough risk assessment and implement a comprehensive security program that includes multiple layers of security controls, including encryption, access controls, monitoring, and incident response._
The issue is the sheer size of Nostr database and how many of the queries will be based on a user's npub - which is "personally identifiable". Even MySQL/MariaDB would need to decrypt the entire table (and hold it all in RAM) to work with the data if you encrypt the InnoDB table/tablespace. That won't scale very well either.
I guess I'm just trying to get comfortable with the privacy implications that all of this creates. For example, with MariaDB/InnoDB the backups are all encrypted (but it won't scale well because of the implications of encrypting the table). With PostgreSQL special work needs to be done to encrypt backups of the database. And encrypting the drive partition isn't as good as encrypting the table (though it's faster/more scalable).
So I guess this comes down to what's reasonable? And do relay owners who don't encrypt their backups realize the risk they're taking? Users absolutely don't understand the risk until there's a data breach.

I'd recommend not using Nostr at all. The protocol is pretty much public.

Responding to a governmental investigation with "The protocol is pretty much public" will basically confirm that you're violating GDPR and CCPA. The response needs to be "We carefully considered protecting the user's privacy and have put in as many controls to mitigate data breaches as we could." Doing everything you can is legally compliant. Ignoring privacy issues will get you in trouble.
I'll move forward with an encrypted drive partition and ensuring that all database backups are encrypted. As I think the issue through I think that's a reasonable level of protection given the downsides of the other alternatives. I'll also make it really clear as I try to onboard folks to Nostr that they need to pay attention to how relays they write to handle data privacy.

Responding to a governmental investigation with "The protocol is pretty much public" will basically confirm that you're violating GDPR and CCPA. The response needs to be "We carefully considered protecting the user's privacy and have put in as many controls to mitigate data breaches as we could." Doing everything you can is legally compliant. Ignoring privacy issues will get you in trouble.
I'll move forward with an encrypted drive partition and ensuring that all database backups are encrypted. As I think the issue through I think that's a reasonable level of protection given the downsides of the other alternatives. I'll also make it really clear as I try to onboard folks to Nostr that they need to pay attention to how relays they write to handle data privacy.

Please submit a PR with your changes to address those concerns for your specific jurisdiction. I'm neither in Europe nor in USA but you are welcome to contribute so you can run the software legally in your country.

About the only thing I'd suggest you do is warn people who are installing nostream that they may want to consult a lawyer to determine how to comply with data privacy laws such as those in the EU and the US (which, technically, everyone with users in those jurisdictions is subject to).
My approach of encrypting the drive and making sure all backups are encrypted is something my server admins can do. It doesn't require changes in the code. I started this issue because my default way of doing data protection wasn't an option with PostgreSQL. Sorry if I was kinda thinking aloud above. It took that process for me to figure out what to do.


merge package template from Kronos-Tools/npm-package-template

package.json

chore(devDependencies): update<EMAIL_ADDRESS>from template

Codecov Report

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

@@           Coverage Diff           @@
##           master     #210   +/-   ##
=======================================
  Coverage   98.05%   98.05%
=======================================
  Files           1        1
  Lines         103      103
=======================================
  Hits          101      101
  Misses          2        2

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 5fdd879...e12b889. Read the comment docs.


all: add GL client with health check

Codecov Report

Merging #79 into master will decrease coverage by 0.57%.
The diff coverage is 0%.

@@            Coverage Diff             @@
##           master      #79      +/-   ##
==========================================
- Coverage   46.81%   46.23%   -0.58%
==========================================
  Files          16       17       +1
  Lines        2087     2113      +26
==========================================
  Hits          977      977
- Misses        887      913      +26
  Partials      223      223


coveralls exclude run files

Pull Request Test Coverage Report for Build 221

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

Totals

Change from base Build 219:
0.0%

Covered Lines:
528

Relevant Lines:
750

💛  - Coveralls


Improving VarInfo Documentation

The documentation on VarInfo probably needs some work. If VarInfo data is meant to be accessed by users or developers who want to get information like the log PDF of the parameters up to a constant, VarInfo probably shouldn't be under compiler design. I never would have thought to look in there, since I was looking for a user-facing API that lets me access this kind of information, rather than details on how Turing code is compiled. The documentation on VarInfo also doesn't give much in the way of details, or any examples of how to use these objects. I'm trying to build Julia code that uses VarInfo objects to perform PSIS, but couldn't really find the information that I'd need to do that, namely:

Is there a way to get the log-likelihood of each observation? (Or, alternatively, the log-pdf leaving each observation out, but I expect that to be more complicated -- it's easier just to subtract out the log-likelihood.)
How do I get out the log-pdf of the parameters?
How do I extract a VarInfo object from a Turing model?

The other thing is that Turing's documentation is split between the documentation on Turing.ml and the documentation for each individual package, which made it hard to figure out where I could find information on this -- I wasn't sure whether the right documentation would be under MCMCChains or on Turing.ml for instance, since "Objects that hold information about models fit with Turing" is usually part of MCMCChains. I'd love it if the documentation for all of the Turing-related packages was collected in some place, and broken down into an easy-to-understand table of contents. For instance:

Samplers

Particle Samplers
Hamiltonian Samplers
...

Tutorials

...

(Worth noting: I got the answers to my questions on the Slack already, so there's not a need to answer in this thread. This is here because @yebai asked me to open an issue.)


test cases for sell form made

Description
Test cases for the sell form constraints were made, tests also check if added new ticket information is displayed on profile page.
Screenshot
None.
Type of change
No changes to code.

[x] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] My changes generate no new warnings
[x] New and existing tests pass locally with my changes

Please request review from all team members.

is there a test for R4.2? the one for checking for 60 characters?

Found it! Good job :)


Uses curly (smart) apostrophes throughout La Guerre II

In case this is how you want to handle apostrophes.

We're doing curly across the board for the whole site, unless there's a case otherwise, which I would be happy to hear.

Yeah, think that's fine for these purposes. Consistency is the main thing, I suppose.
Might be nice to write up a quick style guide for things like this?


problem at set up my Delta Pro

at adding my delta pro i have the problem no connection.
See the Log file below.
Any ideas for a solution?
THX
home-assistant_ecoflow_2024-01-06T19-54-14.841Z.log

https://github.com/vwt12eh8/hassio-ecoflow/issues/76


Modification of process.env.LOG_LEVEL breaks application

We use the LOG_LEVEL environment variable to configure log4js and pass it values like LOG_LEVEL=trace to enable logging at a specific level.
Currently the Splunk SDK just overwrites our custom levels, so inside the application this shows up:
console.log(process.env.LOG_LEVEL) // Outputs '1'

As LOG_LEVEL seems to be used by multiple application developers (Blog Post), the SDK should IMO either not change the value, or use some prefixed environment variable (SPLUNK_LOG_LEVEL, SPLUNK_SDK_LOG_LEVEL).

I landed here for the same reason. We have a set of logging infrastructure tools that read LOG_LEVEL and use a default value if the variable is undefined. Something kept defining the variable. It took us a while to realize that it's the Splunk driver setting up its own little logging system, consisting of a wrapper around console.log. (Nothing actually uses it except for the module's own unit tests.) During initialization if LOG_LEVEL is not set, it clobbers it with a value of "1" which gets misinterpreted by more serious logging stuff later.
It's pretty strange that a driver module (of all things) would just assume a variable called "LOG_LEVEL" is not being used anywhere else in a node application (of all things) and proceed to write to it instead of simply recording its absence in a local variable.  If you're going to abuse process.env as a global variable namespace for your module, at least write to environment variables beginning with "SPLUNK_" instead of begging for a name collision. Any node module that writes to process.env should mention it in the documentation.
OK, rant over. One workaround is to replace "require('splunk-sdk')" with a require of this module below:
const prior = process.env.LOG_LEVEL;
const raw = require('splunk-sdk');
// undo damage
if (prior === undefined) {
  delete process.env.LOG_LEVEL;
} else {
  process.env.LOG_LEVEL = prior;
}
module.exports = raw;

@KatSick Where do you see the connection to the reported bug?
For me this bug does not result in a crash or a TypeError, just unexpected, modified content in the process.env.LOG_LEVEL environment variable.

Hi all, we are re-engaging with the SDK and coming back to this issue. Let me propose a change along the suggest lines of using SPLUNK_LOG_LEVEL as suggested and please provide feedback if you are still following along:
In order to support this as a non-breaking change I'd propose changing these lines from:
    // Normalize the value of the environment variable $LOG_LEVEL to
    // an integer (look up named levels like "ERROR" in levels above),
    // and default to "ERROR" if there is no value or an invalid value
    // set.
    var setLevel = function(level) {
        if (utils.isString(level) && levels.hasOwnProperty(level)) {
            process.env.LOG_LEVEL = levels[level];
        }
        else if (!isNaN(parseInt(level, 10)) &&
                   utils.keyOf(parseInt(level, 10), levels)) {
            process.env.LOG_LEVEL = level;
        }
        else {
            process.env.LOG_LEVEL = levels["ERROR"];
        }
    };

    if (process.env.LOG_LEVEL) {
        setLevel(process.env.LOG_LEVEL);
    }
    else {
        process.env.LOG_LEVEL = levels["ERROR"];
    }

to:
    // Normalize the value of the environment variable $SPLUNK_LOG_LEVEL to
    // an integer (look up named levels like "ERROR" in levels above),
    // and default to "ERROR" if there is no value or an invalid value
    // set.
    var setLevel = function(level) {
        if (utils.isString(level) && levels.hasOwnProperty(level)) {
            process.env.SPLUNK_LOG_LEVEL = levels[level];
        }
        else if (!isNaN(parseInt(level, 10)) &&
                   utils.keyOf(parseInt(level, 10), levels)) {
            process.env.SPLUNK_LOG_LEVEL = level;
        }
        else {
            process.env.SPLUNK_LOG_LEVEL = levels["ERROR"];
        }
    };

    if (process.env.SPLUNK_LOG_LEVEL) {
        setLevel(process.env.SPLUNK_LOG_LEVEL);
    }
    else if (process.env.LOG_LEVEL) { // still read from LOG_LEVEL for backwards compatibility
        setLevel(process.env.LOG_LEVEL);
    }
    else {
        process.env.SPLUNK_LOG_LEVEL = levels["ERROR"];
    }

Does this approach address your concerns? The only tweak here is to not break existing users that may be setting LOG_LEVEL intentionally with the expectation that the SDK will read from there. We also need to call this out explicitly in the README.md when we take this work up.

Closing this issue as there is no further response. We can reconsider the above suggested change if there is interest in this issue again.


Fix user input dispute

fix https://github.com/AugurProject/augur/issues/3948
also fixed issue where user inputted stake was getting applied to every outcome progress bar.

NaN is fixed by recent commit @phoebemirman


Common App Question Review

Review the [common app questions] (https://docs.google.com/document/d/1Bgf2BTHohJRUrJ-JFvrjgrEbDW40usuh7zKzwze2h2U/edit#heading=h.z2we68wtdnff) and confirm that the question types are supported and identify any technical barriers to putting them in doorway.

I think there will only need to be one backend change for these questions as they currently stand. I have added a comment to the doc, but it is that we would need to add a new field to the applications table to handle the separation of vouchers into two questions. That should be an easy change. We would just need to decide on how we handle that in core or if that is just a change we make in Doorway

@sarahlazarich I moved this ticket to QA, let me know if you are looking for any other information


Support iterating backwards through BitFlags

I wanted to iterate all flags in reverse, but I get this error:
Flags::all().iter().rev()
                    ^^^ the trait `std::iter::DoubleEndedIterator` is not implemented for `impl std::iter::Iterator`

Internal constants don't have an issue with it:
use enumflags2::_internal::RawBitFlags;
Flags::FLAG_LIST.iter().rev()

I'm somewhat confused as to why you need this. In principle, BitFlags is an unordered container – there is no difference between make_bitflags!(Foo::{A | B}) and make_bitflags!(Foo::{B | A}), and their iterators will return the elements in the same order.
Moreover, the order in which the flags get returned isn't that well-defined. Apart from the current order of "as they are declared", there's also the option of using bit-twiddling instructions to return them "lowest bit first". I would rather avoid explicitly making this choice a part of the public API...
So, could you tell me a bit more about why you want this?

Oh you're right, I shouldn't have been relying on the enum order. If I were to change the order the enum was declared it would break my code.
So the fact it's not supported is a good thing! I just wanted syntax sugar to avoid writing .collect() at the time 😁
I'm serialising/unserialising a bitmask to another weird format (ternary) one bit at a time; it's not related to the actual use of BitFlags and should indeed really be done with bit-twiddling—it's outside the scope of this crate.
This retrieves the flags in bit order, it's just not as concise:
let mut flags = Flags::all().iter().collect::<Vec<_>>();
flags.sort_unstable_by_key(|&flag| Flags::from_flag(flag).bits());

dbg!(flags.iter().collect::<Vec<_>>());
dbg!(flags.iter().rev().collect::<Vec<_>>());


My alvr app won't open

Whenever I open the alvr desktop app it doesn't do anything

are you using stable version?

no

Same for me. It worked perfectly for about a week for me eventhough I had to take a hotfixed v5 apk.
ALVR.exe also lost its icon and went to windows default. If I fastly open ALVR.exe like 5 times a msgbox says something like "ALVR is already running"


SilentSignInCallBack throws error

We have integrated oidc.client library into our mvc4 application. Accesstokenexpiring event is firing and signinSilentCallback() is called, but user object is empty and it gives below error.  Thanks..!!
Client configuration used:

Code in Silent.cshtml page

Error in browser console

Network details from browser:

Error in Oidc.Client.js

@brockallen Please provide you inputs on this.

I don't have any. I can't tell what line of code is triggering the error.

@brockallen Any pointers at least for me to start debugging this or is there any other way we could hook up silent renewal of token ?

Closing. If you still have issues, feel free to reopen.


how could i do  relation filtering

how to  define relation filter ?

You can define a custom filter and perform your relationship filters.


CA1710: additional_required_suffixes configurability

Summary
Update doc for rule CA1710 to mention already existing configurability behavior.

Tagging @mavasani

Preview link (internal)


Question on reproduce the work

Excuse me, I 've trained Resnet101 on CIFAR10 with your Mxnet code, But I barely got zero lambda_block, is this normal?
Here is my lambda_block, almost all lamda is bigger than 1,
[-1.22, -1.32, 1.35, -1.31, -8.30, -1.59, 1.63, -1.42, 1.19, 1.37, ... 1.77, 1.78, 1.81, 1.72, 1.14, -0.09, 0.77]
BTW, I trained network for 100 epoch without changing gamma, learning rate & other config, but my environment is mxnet 1.5.0, cuda9.0, ubuntu16.04

@Pokemon-Huang
Sorry for the late reply.
Hi, it seems that the APGNAG doesn't work correctly because of the different mxnet version. In the latest mxnet, the solver will call update_multi_precision instead of update.
Add the following codes in https://github.com/TuSimple/sparse-structure-selection/blob/master/core/optimizer.py may solve this problem:
def update_multi_precision(self, index, weight, grad, state):
    return self.update(index, weight, grad, state)

thank u,  it solved my problem perfectly.


PHP7.2: session_start(): Failed to read session data: user

Under PHP7.2 running off the top of develop, the following line generates an error:
https://github.com/exodus4d/pathfinder/blob/23758f235cff287f18933b47475547e7ccaf93a0/app/main/controller/controller.php#L412
[18-Mar-2018 21:56:48 UTC] [app/main/controller/controller.php:412] Base->exists()```

Interesting, I don´t have the problem on my local development environment (PHP 7.2). Do you have some more information how to reproduce, and/or the full error log entry (stacktrace)?

I can't find a trend personally:
[20-Mar-2018 08:15:46 UTC] HTTP 403 (POST /api/user/logout) [20-Mar-2018 08:15:46 UTC] [app/lib/db/sql/session.php:77] Base->error() [20-Mar-2018 08:15:46 UTC] [app/main/controller/controller.php:457] Base->get() [20-Mar-2018 08:15:46 UTC] [app/main/controller/api/user.php:208] Controller\Controller->logoutCharacter() [20-Mar-2018 08:15:46 UTC] [index.php:23] Base->run() [20-Mar-2018 08:15:46 UTC] session_set_save_handler(): Cannot change save handler when session is active [20-Mar-2018 08:15:46 UTC] [app/lib/db/sql/session.php:202] session_set_save_handler() [20-Mar-2018 08:15:46 UTC] [app/main/controller/controller.php:140] DB\SQL\Session->__construct() [20-Mar-2018 08:15:46 UTC] [app/main/controller/controller.php:73] Controller\Controller->initSession() [20-Mar-2018 08:15:46 UTC] [app/lib/db/sql/session.php:77] Base->error() [20-Mar-2018 08:15:46 UTC] [app/main/controller/controller.php:457] Base->get() [20-Mar-2018 08:15:46 UTC] [app/main/controller/api/user.php:208] Controller\Controller->logoutCharacter() [20-Mar-2018 08:15:46 UTC] [index.php:23] Base->run() [20-Mar-2018 08:15:46 UTC] session_start(): Failed to read session data: user (path: /var/lib/php/sessions) [20-Mar-2018 08:15:46 UTC] [app/main/controller/controller.php:457] Base->get() [20-Mar-2018 08:15:46 UTC] [app/main/controller/api/user.php:208] Controller\Controller->logoutCharacter() [20-Mar-2018 08:15:46 UTC] [index.php:23] Base->run()

So I think this is happening with the nginx environment configuration; I noticed error.log was spitting out pathfinder/pathfinder/pathfinder DB connection errors. Fixed environment.ini and I'm no longer getting errors.

Nope -- still happening.

Any additional info ? New install, upgraded from 7.1 , it was working , etc .

Happened on the upgrade to 1.3.1 to 1.3.3, no other system changes etc.

So I've tracked this down to a specific instance: it only happens when you re-visit Pathfinder after being away for some time (i.e., your session has expired). Is there something keyed off a cookie or something that could cause it to read a session variable that has expired?

@exodus4d FYI, I think this is fixed in upstream F3. You might need an update:
https://github.com/bcosca/fatfree-core/commit/4f50cd0aa0c8de46968258f90d4d280c355c7029 (ref: https://groups.google.com/forum/#!topic/f3-framework/WfCJpW479Vw).

@atkinsj This fix is already included into the pathfinder repo a while ago. But good point with the SQL Sessions. I have set up Redis as Session handler for all my instances maybe therefore I never ran into that issue... ? Could you fixed the problem on your installation?

Unfortunately this is with the Redis cache.

@atkinsj Yould you compair your php.ini setting for Sessions with those from my installation?

I got some feedback from the F3 devs. They fixed something in https://github.com/bcosca/fatfree-core/issues/238#issuecomment-378516436 Ill check if this fix is relevant for your problem and/or if it is already part of Pathfinder a new F3 release will be stashed "over the weekend".

Any update on this ? Thinking about upgrade of PHP to 7.2 .

@dkrotil I can´t see any PHP 7.2 related issues with the sessions :( I have my production, develop, and local dev environment on 7.2 for 2 month now, and cant see any problems :(

When mysql Sessions are used (pconfig.ini -> SESSION_CACHE =   mysql) I got the error @atkinsj  mentioned. Unfortunately  I was unable to reproduce, but from the logs I saw I made some changes. Feel free to replace those lines and let me know if this helps 38ceb92 :
File: app/main/controller/controller.php
[22-Jun-2018 13:33:33 UTC] PDOStatement::execute(): SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '271683000370650e53eaebb466051ba7' for key 'PRIMARY'
[22-Jun-2018 13:33:33 UTC] [G:/webpages/pathfinder/app/lib/base.php:2219] Base->error()
[22-Jun-2018 13:33:33 UTC] [G:/webpages/pathfinder/app/lib/db/sql.php:226] PDOStatement->execute()
[22-Jun-2018 13:33:33 UTC] [G:/webpages/pathfinder/app/lib/db/sql/mapper.php:439] DB\SQL->exec()
[22-Jun-2018 13:33:33 UTC] [G:/webpages/pathfinder/app/lib/db/cursor.php:245] DB\SQL\Mapper->insert()
[22-Jun-2018 13:33:33 UTC] [G:/webpages/pathfinder/app/lib/db/sql/session.php:95] DB\Cursor->save()
[22-Jun-2018 13:33:33 UTC] [G:/webpages/pathfinder/app/lib/base.php:2091] session_commit()
[22-Jun-2018 13:33:33 UTC] PHP Warning:  session_set_save_handler(): Cannot change save handler when session is active in G:\webpages\pathfinder\app\lib\db\sql\session.php on line 202
[22-Jun-2018 13:33:33 UTC] PHP Stack trace:
[22-Jun-2018 13:33:33 UTC] PHP   1. Base->unload() G:\webpages\pathfinder\app\lib\base.php:0
[22-Jun-2018 13:33:33 UTC] PHP   2. session_commit() G:\webpages\pathfinder\app\lib\base.php:2091
[22-Jun-2018 13:33:33 UTC] PHP   3. DB\SQL\Session->write() G:\webpages\pathfinder\app\lib\base.php:2091
[22-Jun-2018 13:33:33 UTC] PHP   4. DB\SQL\Session->save() G:\webpages\pathfinder\app\lib\db\sql\session.php:95
[22-Jun-2018 13:33:33 UTC] PHP   5. DB\SQL\Session->insert() G:\webpages\pathfinder\app\lib\db\cursor.php:245
[22-Jun-2018 13:33:33 UTC] PHP   6. DB\SQL->exec() G:\webpages\pathfinder\app\lib\db\sql\mapper.php:439
[22-Jun-2018 13:33:33 UTC] PHP   7. PDOStatement->execute() G:\webpages\pathfinder\app\lib\db\sql.php:226
[22-Jun-2018 13:33:33 UTC] PHP   8. Base->{closure:G:\webpages\pathfinder\app\lib\base.php:2217-2220}() G:\webpages\pathfinder\app\lib\db\sql.php:226
[22-Jun-2018 13:33:33 UTC] PHP   9. Base->error() G:\webpages\pathfinder\app\lib\base.php:2219
[22-Jun-2018 13:33:33 UTC] PHP  10. Base->call() G:\webpages\pathfinder\app\lib\base.php:1270
[22-Jun-2018 13:33:33 UTC] PHP  11. Controller\Controller->beforeroute() G:\webpages\pathfinder\app\lib\base.php:1831
[22-Jun-2018 13:33:33 UTC] PHP  12. Controller\Controller->initSession() G:\webpages\pathfinder\app\main\controller\controller.php:74
[22-Jun-2018 13:33:33 UTC] PHP  13. DB\SQL\Session->__construct() G:\webpages\pathfinder\app\main\controller\controller.php:141
[22-Jun-2018 13:33:33 UTC] PHP  14. session_set_save_handler() G:\webpages\pathfinder\app\lib\db\sql\session.php:202
[22-Jun-2018 13:33:33 UTC] PDOStatement: Duplicate entry '271683000370650e53eaebb466051ba7' for key 'PRIMARY'
[22-Jun-2018 13:33:33 UTC] [G:/webpages/pathfinder/app/lib/base.php:2219] Base->error()
[22-Jun-2018 13:33:33 UTC] [G:/webpages/pathfinder/app/lib/db/sql.php:235] user_error()
[22-Jun-2018 13:33:33 UTC] [G:/webpages/pathfinder/app/lib/db/sql/mapper.php:439] DB\SQL->exec()
[22-Jun-2018 13:33:33 UTC] [G:/webpages/pathfinder/app/lib/db/cursor.php:245] DB\SQL\Mapper->insert()
[22-Jun-2018 13:33:33 UTC] [G:/webpages/pathfinder/app/lib/db/sql/session.php:95] DB\Cursor->save()
[22-Jun-2018 13:33:33 UTC] [G:/webpages/pathfinder/app/lib/base.php:2091] session_commit()

:heavy_check_mark: Issue resolved
This issue was resolved by the commit(s) and/or the comments above.
It will be auto-closed with the upcoming release ( merge into master branch). Please check the attached Milestone information.
Many thanks to all participants/contributors for the helpful comments! :+1:
:information_source: Please reopen/comment this, if you have problems/questions about it.

Auto-generated response


Redirect default URL to custom domain

I want that if someone goes to snape.now.sh he gets redirected to snape.in. How can I do that ?

I think you can just run a server on snape.now.sh and redirect requests ?

Correct! That above would be the solution.


build(make): makefile improvements

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 100.00%. Comparing base (39b77ad) to head (f7069f5).

Additional details and impacted files
@@            Coverage Diff            @@
##              main       #14   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            2         2
  Lines          168       168
=========================================
  Hits           168       168

Flag
Coverage Δ

optional
100.00% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

coverage: 100.0%. remained the same
when pulling f7069f5f460b72ce3597b65b09e4b6b23866d6a1 on feature/makefile-2
into 39b77ad63ecbbee7d24dc31dc582bd639354dee1 on main.


[BUG] Field vs expression issue with SortBy view stage

If a SortBy stage contains an expression, its display text should show {...}, and clicking into the field should open the JSON editor.
(Just like what happens if you click into the filter expression in the FilterDetections stage in the App in the example below)
import fiftyone as fo
import fiftyone.zoo as foz
from fiftyone import ViewField as F

dataset = foz.load_zoo_dataset("coco-2017", split="validation")

person_view = (
    dataset
    .filter_detections("ground_truth", F("label") == "person")
    .sort_by(F("ground_truth.detections").length(), reverse=True)
)

# Show the view in the App
session = fo.launch_app(view=person_view)

I think this is the same as #639 - in the case you gave, I see {...} in a newly-created stage until I click in and out of it.

Close but probably not quite the same because SortBy has some additional logic for handling "field" vs "expression" type values differently


Fix left over from copy paste

Description
Fix left over from copy paste
Type of change

Documentation update

Testing steps
Checklist

[ ] make before_commit passes
[ ] updated documentation wherever necessary
[ ] added or modified tests if necessary
[ ] updated schemas and validators in insights-data-schemas in case of input/output change

We're currently processing your upload.  This comment will be updated when the results are available.


Disallowed typing in linalg.vector_norm

Spec:
ord: int | float | ~typing.Literal[inf, -inf] = 2
Stubs:
ord: Union[int, float, Literal[inf, -inf]] = 2
Literals docs

The following are provisionally disallowed for simplicity. We can consider allowing them in the future.

Floats: e.g. Literal[3.14]. Representing Literals of infinity or NaN in a clean way is tricky; real-world APIs are unlikely to vary their behavior based on a float parameter.

A relevant issue: https://github.com/python/typing/issues/1160

I don't know if anything can be done, and this was probably done deliberately, but useful to have an issue nonetheless.

Yes, this is a known issue. There are some instances where the Python typing rules disallow certain things and we've opted to keep the annotations accurate in those cases. Implementations may need to adjust them until the upstream typing rules can be fixed.

float('inf') and float('-inf') are both assignable to the float type, so why not just use ord: int | float?

That probably make sense for vector_norm, which actually accepts any float value (other than nan) https://data-apis.org/array-api/latest/extensions/generated/array_api.linalg.vector_norm.html#vector-norm
For matrix_norm, it says float, but it actually only supports integers and inf and -inf. A more accurate type description would be int | Literal[inf, -inf, 'fro', 'nuc'] https://data-apis.org/array-api/latest/extensions/generated/array_api.linalg.matrix_norm.html#matrix-norm
In any case, it probably is better to just loosen the typing here so that it can work with typing machinery. The actual set of allowed inputs is not representable by Python's typing rules, but it is spelled out in the standard text.

FYI, enum values are allowed in typing.Literal


Add abi & code  sequence number to chain plugin

Change Description

This PR changes the returned result structures of the following chain plugin functions to also include sequential number of abi & code:
get_abi
get_code
get_code_hash
get_raw_abi
get_raw_code_and_abi
PR was inspired by #3050.
API Changes

[ ] API Changes

@b1bart  If we want these changes, wouldn't we want to add a new interface (or version /v2) so that  API nodes that are deployed with this would still be able to work with code that is written to the older API? (i.e. we don't want every existing application out there that has dependencies on get_abi and get_code to have to upgrade to be able to work with this release)


Switch Bar Chart to Time Series chart

@devapeai /code make sure to include the same data!

@DevApeAI /code make sure to include the same data!


Missing softmax after Linear layer

Hi,
Thanks for the amazing work.
When training with the code, I got large numbers of output values in CoarseTransformer for coarse_logits. According to the transformer architecture in the original paper, it's a softmax after linear. However, the softmax is missing here. This results in large values of the output logits: https://github.com/lucidrains/audiolm-pytorch/blob/1a888d2f462384baf5dc8b4782f39a40f59593b7/audiolm_pytorch/audiolm_pytorch.py#L924
This unnormalized logits will effectively disable the gumbel_sample() since the function adds the normalized noise to the logits.
https://github.com/lucidrains/audiolm-pytorch/blob/1a888d2f462384baf5dc8b4782f39a40f59593b7/audiolm_pytorch/audiolm_pytorch.py#L1655
Is the softmax layer missing here?

@biendltb no i don't think so.
gumbel acts on the raw logits afaik


[bn] Update OWNERS_ALIASES

joining the sig-docs-bn reviewer team.
/cc @a-mccarthy

/lgtm

@Imtiaz1234 @mitul3737 @rajibmitra If you are around, please also review this PR for adding @asem-hamid as a review/approver for the Bengali localization 🚀

@asem-hamid  kindly refer to @sftim . Only he can approve this one.

@sftim  Please approve this PR .

@asem-hamid kindly refer to @sftim . Only he can approve this one.

I don't think that's right.

I am one of the people who can approve this. However, let's check something. @asem-hamid are you joining as a reviewer or an approver? (there's a difference)

@sftim both

@sftim both


fix: make link relative

I used this template and it took me 35 minutes to understand that following the example is a dead end when trying to use the base option. Links need to be relative.
Description

Closes no current issue but is related to #1407
What does this PR change? Makes a link in the base example relative to not mislead any other people
Did you change something visual? Nope

Hello! Thank you for opening your first PR to Starlight! ✨
Here’s what will happen next:

Our GitHub bots will run to check your changes.
If they spot any issues you will see some error messages on this PR.
Don’t hesitate to ask any questions if you’re not sure what these mean!

In a few minutes, you’ll be able to see a preview of your changes on Netlify 🤩

One or more of our maintainers will take a look and may ask you to make changes.
We try to be responsive, but don’t worry if this takes a few days.

Thanks for the PR @micartey and sorry to hear this wasn’t a clear experience.
We intentionally make links absolute as in general it is much less confusing than ensuring relative links work well with all the different build output formats and hosting options out there. However, when using base, you do need to author links to also include base, so in your base the link would be something like /base/guides/example.
Maybe there’s somewhere we can make this clearer in the docs?

Hey @delucis
Maybe I did understand the documentation wrong.
I thought that using the base option doesn't require me to change all the links to manually set the base as a prefix?
This is also not very logical as the base option is being added as a prefix with base/ before each link.
Having relative links is therefore only logical.
I do not understand what you mean with:

intentionally make links absolute as in general it is much less confusing

Relative links are not confusion at all 🤔
In my case, it was more confusing to understand that I somewhere had absolute links and therefore my website didn't work.

ensuring relative links work well with all the different build output formats and hosting options out

This is an interesting statement as you use relative links in e.g. astro.config.mjs
Why is it there a good choice.
https://github.com/withastro/starlight/blob/976038306a3bc3ef7bde8867341b28859cb11ba2/examples/basics/astro.config.mjs#L15-L18
I would suggest sticking to one, but not using both.
And in case you want to use absolute links (which I highly advise against), to at least show a warning or error when using the base option. But the statement that I need to author links to include the base is clearly wrong - Not if you use relative links`

Relative links depend on the URL format of the current page. For example let’s say you have the following link:
Guides

If this link is on https://example.com/product, then this link points to https://example.com/guides.
If this link is on https://example.com/product/, then this link points to https://example.com/product/guides.
This can be a big source of confusion for people, especially if their server supports serving both /product AND /product/ (not so uncommon). People often end up using trailing slashes inconsistently and don’t understand why their relative links only work correctly some of the time.

you use relative links in e.g. astro.config.mjs

That is not a link, but the slug of a file in the src/content/docs/ directory.

I thought that using the base option doesn't require me to change all the links to manually set the base as a prefix?

base configures this prefix for some things:

assets like JS, CSS, etc.
links Starlight is responsible for like the sidebar

But unfortunately we can’t safely do it for other manually authored links because we can’t know if a user wants to link to something with base or without. Imagine you have a Starlight deployed at example.com/docs using base: 'docs', but want to link to your landing page at example.com with /. If we transformed a link to / to be /docs, we would prevent anyone doing that.
So in general you’ll need to author links as you want them.


Minor: Wording in examples/catalog.json

This line: https://github.com/radiantearth/stac-spec/blob/master/examples/catalog.json#L35
Says "title": "Collection with no items (standalone)" but the link is to collectionless-item.json which is an Item without a collection (Not a "collection with no items"). This seems maybe copy-paste error?
Hope I didn't get that wrong - can also make a PR - thank you for all your work!

Yes, indeed. The title should probably be something like "Item without collection" or so. A PR would be appreciated.

Has been solved in the meantime (dev branch).


cleanDestinationDir does not remove rss and sitemap files

RSS files (index.xml) and sitemap files (sitemap.xml) are not removed when using this option. The documentation states "removes files from destination not found in static directories". Neither of those file types are static, so either the documentation should be amended or the option should remove them.
Steps to repro:

Build a site
Confirm public/ directory is populated
Add something to the site that will cause it to fail to build
Build site with --cleanDestinationDir
Notice public/ contains rss and sitemap files

Hugo 0.123.3

I'm not sure I understand this.
By default, unless you disable the rss and sitemap page kinds in your site configuration, Hugo generates these files every time you build your site.
If you disable those page kinds in your site configuration, then manually create one in the public directory, if will be removed when you run hugo --cleanDestinationDir.
For anyone else stumbling across this, note that the --cleanDestinationDir flag doesn't do anything unless you have a static directly in the root of your project (even an empty directory is sufficient).

Ah, it's a misunderstanding on my part. I saw the files and thought they weren't being removed. But they are being removed and subsequently replaced with new versions. It makes sense that individual files are output as they are built, so a failed build is not "all or nothing" and you'll end up with whatever output was compiled before the error.


Moving: Millie.millie to Millie.millie.Legacy (version 5.30.2)

Millie is sunsetting Legacy version.
Moving

#183221
#183222
#183223

Moved

#183206
#183207
#183208

New

#183225

Microsoft Reviewers: Open in CodeFlow

#183206


Fix imports

Fix minor import issue from #3771

@oneonestar there are alluxio.shaded. in other classes too.
Maybe we can have a checkstyle rule too?

@oneonestar there are alluxio.shaded. in other classes too.
Maybe we can have a checkstyle rule too?

Yeah - though of that too. I think we have some rules which perform checks like this already. Are they checkstyle based or is it some other mechanism?

Sorry, wrong advice. We have https://github.com/airlift/airbase/blob/master/airbase-policy/src/main/resources/checkstyle/airbase-checks.xml
but it's not suitable for Presto-specific rules.
it would be good have Presto-specific rules too, but let's leave this as a follow-up to this PR.
@oneonestar can you please update other classes too?

https://github.com/prestosql/presto/blob/67368f6a033176b37c6264912751a00c04b51707/presto-hive/src/test/java/io/prestosql/plugin/hive/metastore/alluxio/TestingAlluxioMetastoreObjects.java#L29
https://github.com/prestosql/presto/blob/cbf0d04b766d7a90c69e8dd7bc18a48779441749/presto-hive/src/test/java/io/prestosql/plugin/hive/metastore/alluxio/TestProtoUtils.java#L17
https://github.com/prestosql/presto/blob/67368f6a033176b37c6264912751a00c04b51707/presto-hive/src/main/java/io/prestosql/plugin/hive/metastore/alluxio/ProtoUtils.java#L30
I found 3 usages in the code, but they are all related to Alluxio:
alluxio.grpc.table.Layout::setLayoutData() takes alluxio.shaded.client.com.google.protobuf.ByteString.
alluxio.table.ProtoUtils.toHiveLayout() throws alluxio.shaded.client.com.google.protobuf.InvalidProtocolBufferException.
I don't think we can fix these unless the Alluxio lib stop using shaded protobuf.

alluxio.table.ProtoUtils.toHiveLayout() throws alluxio.shaded.client.com.google.protobuf.InvalidProtocolBufferException.

@apc999 can this be fixed?

Merged, thanks!


Emby

Description of the change
Added Emby helm chart based on existing Plex helm chart
Benefits
Allows home k8s users to deploy Emby
Possible drawbacks
I'm not thrilled with the way I added xmlstarlet to the embyserver container on init, this should be part of the image or if a custom image is undesirable then maybe it should just be replaced with some simple echo commands...

@acjohnson was there a reason you choose not to use our common library? Have you seen the jellyfin chart which uses it?

Also worth noting, that with Jellyfin and Plex, we needed to implement a podSecurityContext in-order for hardware acceleration to work. See this https://github.com/k8s-at-home/charts/pull/684

I'll have to take a closer look, I think what made me avoid the common library is the bad links in the README.md files in the various chart repos,  I guess I wasn't sure what was going on with it
https://github.com/k8s-at-home/charts/blame/master/charts/plex-media-server/README.md#L79
https://github.com/k8s-at-home/charts/blame/master/charts/plex-media-server/README.md#L99
https://github.com/k8s-at-home/charts/blame/master/charts/jellyfin/README.md#L75
https://github.com/k8s-at-home/charts/blame/master/charts/jellyfin/README.md#L93
The do not use messages might have scared me off as well :smiley:
https://github.com/k8s-at-home/charts/blame/master/charts/plex-media-server/README.md#L71

The common library is nothing to be too afraid of, in most cases it simplifies a lot of config.

Awesome, sorry for the dumb question but where do I find the common library?

See the bottom of this doc: https://docs.k8s-at-home.com/our-helm-charts/common-library/
But might we worth to look over the other pages there :)

Welp I thought I understood helm chart writing until I learned there is such a thing as library-charts :sweat_smile:
not sure when I'll get to it, I suspect it will be a significant rewrite of this chart and might require changes to the common library chart as well.

Welp I thought I understood helm chart writing until I learned there is such a thing as library-charts :sweat_smile:
not sure when I'll get to it, I suspect it will be a significant rewrite of this chart and might require changes to the common library chart as well.

You could easily create it like the plex-media-server chart without much extra configuration.


Fix renaming TabContainer children not updating tab names when outside the tree

Renaming a child when it's not inside the tree doesn't trigger the renamed signal, making TabContainer need to update them manually once it enters it. Gotta love corner cases!

Thanks!


Learn How to Implement Queues in Laravel 8

Article checklist
ATTENTION: In your PR - add the ISSUE (topic form) # that this PR corresponds to. You can do this by also adding a comment that states "This fixes #(enter your Idea Content Form #)" to link and close your Idea Content (issue) when the PR is merged.
NOTE: (Please ensure that you have only one open issue + linked pull request at a time. This will ensure that we complete the article in a timely manner from inception to publishing.)
If you have not already please go over our Resources Page for more tips and tricks on how to improve our overall technical writing.
Preliminary Checks - Formatting and Structure

[x] Does your article follow any of the suggested structure formats? - see example formats
[x] Is your article properly formatted in Markdown? - see Github Markdown guide
[x] Have you used the correct folder and file structure? - see Contribution Guidelines
[x] Is your article over 750 words? - Tool: Wordcounter.net
[x] Have you used our preferred heading structure? - H3 (###) and up
[x] Does your article provide enough value and detail about your topic? - Articles should be clear, accurate, and fully explained.
[x] Can your article be understood by beginners? - Assume the audience is smart but has no prior exposure to the common terminology in your article.
[x] Have you included a hero image that is 600x400 pixels and have the copyright to use it? - Tools: Pixlr Image Editor for resizing and Unsplash for Creative Commons images
[x] In your PR - add a comment that states "This fixes #(enter your Idea Content Form #)" to link and close your Idea Content (issue) when the PR is merged.

Grammar & plagiarism checks

[x] Have you spellchecked and grammar checked your article? - Tools: Write&Improve - ProWritingAid -  Grammarly
[x] Please place your article through a 3rd party plagiarism checker? We suggest using Quetext, this tool is free and has a daily limit. We typically accept articles with 10% or less.
[x] Have you checked your article for readability? - Tool: Hemmingway
[x] Have you added sources for quotes and images that aren't yours?

Technical checks

[x] Are your code snippets properly formatted for syntax highlighting - see Syntax guide

Contribution guidelines
For first-time contributors and for more details, see Contributing Guidelines
this fixes #2558

@bhanjibrilliant
Good afternoon and thank you for submitting your article for publishing. It has been entered into our queue and should be reviewed (and published pending any changes) as soon as a peer reviewer is finished with the ones in the queue before it.  🚀

@bhanjibrilliant Hi. Could you explain your code snippets rather than just pasting them in. Thanks

Closed by mistake

Hi @WanjaMIKE , are you reviewing this article? add the labels??
cc @hectorkambow

Hi @WanjaMIKE , are you reviewing this article? add the labels??
cc @hectorkambow

Not yet. But maybe later. I realized that you did not explain the code snippets

@bhanjibrilliant did you add more explanation?

Hi @WanjaMIKE , could you be specific on the changes you need,, I've gone thro' the whole article again and again,,,all my codes are explained...or which one in specific is not explained? or you mean I should be wordy?

plagiarism check done


fix(channels): refresh channels after LN payments

Description:
Refresh channels after incoming and outgoing LN payments.
Motivation and Context:
Fix #1825
How Has This Been Tested?
Manually
Types of changes:
Enhancement
Checklist:

[x] My code follows the code style of this project.
[x] I have reviewed and updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes where needed.
[ ] All new and existing tests passed.
[x] My commits have been squashed into a concise set of changes.

Coverage decreased (-0.005%) to 21.318% when pulling b1465f99cfe9ef2f60db86e93f3cd81a504b8463 on mrfelton:fix/channel-balance-update-realtime into 06df15c9ed86e11a2ff6ec2aab7579ce930540be on LN-Zap:next.


Keep listener running in GUI mode, Improved TCP handling

GUI:

until now it was not able to keep the listener running when using the GUI mode which leads to a full TC queue
the frontend has been adapted in a way that the mode is changed to listener mode as soon as the sending of a command sequence is finished

TCP client:

when keeping the socket active while the OBSW acting as the TCP server has been stopped, relaunching the OBSW could result in the TCP error indicating the IP address is already in use
the change in the TCP Com IF ensures that the client detects the shutdown of the server and also closes its socket
this prevents the OBSW from running in the "address in use" error

Wait command in command_sender_and_receiver:

a wait command was executed only when placed at the last position in the command queue
wait commands are now also considered when inserted between two telecommands

Codecov Report

Merging #78 (57ddd8a) into main (2354f5d) will decrease coverage by 0.18%.
The diff coverage is 3.22%.

@@            Coverage Diff             @@
##             main      #78      +/-   ##
==========================================
- Coverage   40.30%   40.12%   -0.19%
==========================================
  Files          57       57
  Lines        3627     3646      +19
==========================================
+ Hits         1462     1463       +1
- Misses       2165     2183      +18

Flag
Coverage Δ

unittests
40.12% <3.22%> (-0.19%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

src/tmtccmd/core/backend.py
29.25% <ø> (+0.30%)
:arrow_up:

.../tmtccmd/sendreceive/sequential_sender_receiver.py
19.23% <0.00%> (-0.31%)
:arrow_down:

src/tmtccmd/com_if/tcpip_tcp_com_if.py
27.48% <3.44%> (-3.77%)
:arrow_down:

:mega: Codecov can now indicate which changes are the most critical in Pull Requests. Learn more


0.62 - Passing list of files and directories on command line fails

Starting with 0.62, entering a list of files or directories often results in zero files inspected.  We are using OS 10.14.2.

Expected behavior
The command:
rubocop app
in versions below 0.62 has resulted in rubocop reporting that it inspected all the files in the app directory.
Actual behavior
Rubocop reports that it did not inspect any files.
`~/sites/saurus/saurus rubocop app/models
Inspecting 0 files
0 files inspected, no offenses detected
`
Steps to reproduce the problem
Adding /** causes the command to work:
'
~/sites/saurus/saurus rubocop app/models/**
Inspecting 76 files
............................................................................
76 files inspected, no offenses detected
`
Adding the /** does not work for a single directory:
`~/sites/saurus/saurus rubocop app/**
Inspecting 0 files
0 files inspected, no offenses detected
`
RuboCop version
~/sites/saurus/saurus rubocop -V
0.62.0 (using Parser <IP_ADDRESS>, running on ruby 2.5.3 x86_64-darwin18)

To inspect just the files in a directory, this works:
`~/sites/saurus/saurus rubocop app//
Inspecting 192 files
................................................................................................................................................................................................
192 files inspected, no offenses detected`

The command that works is
rubocop app//

Git is taking out the asterisks.  The command I am using is

rubocop app/asteriskasterisk/asteriskasterisk


implement "Back" button for re-recording

moving backwards was proving too difficult so we bypassed it


Binding for Vue.js

Hi,
As suggested in https://github.com/apollostack/apollo-client/issues/63 I'd like to suggest a binding for Vue.js. I'd also be very much interested in helping, where I can. Not a very good JS programmer, but I could help with docs and such, where needed.
Scott

Or, could this already be a way to get to a Vue GraphQL "speaking" system?
https://github.com/yang-wei/vue-redux
As in, use the Redux binding here and just have Apollo fill in the blank?
Scott

Or can apollo client be used with Vuex? https://github.com/vuejs/vuex
Scott

Hey sorry I didn't respond yet, was visiting my parents last weekend!
All of the view integrations are community projects, I'm working only on the core. Perhaps you can look into the Angular and React integrations as a place to start?
There are two main approaches:

The React integration uses the Redux store and readFromStore directly: https://github.com/apollostack/react-apollo/blob/071c75c588699e632ac2d56d53db7277d04a8dfb/src/connect.tsx#L211
The Angular integration uses the observable returned from watchQuery

I think the second is much easier and will result in less code, so is probably a good place to start.
If you want, we can host the integration here, in which case it would be helpful for me to see a design first: https://github.com/apollostack/vue-apollo
If you prefer, you can also do it as a personal project.
Either way, I don't think this requires any changes to the core client yet!

I am, unfortunately, way too inexperienced to do such a project on my own. Though, I am always up for challenges. I'll see, if I can put anything workable together. Maybe in a week or two. :smile:
I noticed both libraries are written in Typescript. Is that any kind of prerequisite?
Scott

Nope! I just wanted to use TypeScript. You can use whatever you want.

I am starting to dig into the documentation, and I get the feeling, apollo-client and Vuex share a lot of common functionality ground. So, I'm thinking I can only take ideas from Vuex to implement vue-apollo.
I hope you don't mind me thinking out loud here. It's like throwing bologna on the wall. Some slices might stick. LOL! I feel like these kids to be honest. https://www.youtube.com/watch?v=MQI70h36Psg
:smile:
Scott

Couldn't you just use this? https://github.com/vuejs/vue-rx
Once we implement: #149 which will let you integrate with RxJS
After this, it would look like (modified code sample from that repo):
var Vue = require('vue')
var Rx = require('rx')
var VueRx = require('vue-rx')
var ApolloClient = require('apollo-client')

var client = new ApolloClient();

// tada!
Vue.use(VueRx, Rx)

// now you can bind to Rx observables directly in `data`
new Vue({
  el: '#app',
  data: {
   queryResult: client.watchQuery({
    query: `...`
   })
  }
})

I guess it depends on whether you are using VueX already.

Not using anything currently. So, I am really flexible on the (best) solution.
I have other concerns, which I am not sure the redux route will help with. For instance, I am looking for Relay like container functionality, when it comes to query aggregation in Vue components. I'd like to be able to add containers/fragments to the components themselves and have them bundled up for proper querying accordingly.
https://facebook.github.io/relay/docs/guides-containers.html#containers-are-higher-order-components
I was about to start a different issue to ask about this. So, we can continue that thread of thinking there. :smile:
Scott

I'd like to be able to add containers/fragments to the components themselves and have them bundled up for proper querying accordingly.

This is something that the core client will have per #148 so it doesn't need to be built into the view integration; or if it is it will be a very thin wrapper.

Ah....very good! Looks like I'll have to wait a bit on some things.
Do you see any issues with the binding through Redux and the query fragment aggregation working together?
Scott

Nope! I think the fragment aggregation is not actually a lot of new work, but it's just a bit tricky to get right. Is that blocking you from using this? What's the project?

The project is an admittedly huge one and just my dream and hobby. www.skooppa.com I've been looking for the right technologies for 3 years now and they are just starting to come together.
Nothing is blocking really. It is all totally experimental currently. I have no real code basis yet to be honest. Just a bunch of ideas and a fair direction, like wanting GraphQL to be the core API. Oh, and PHP for the back-end along with a graph database.
BTW, I found another binding for Vue and Redux, which looks a bit more promising.
https://github.com/revue/revue
Scott

In the meantime, I've learned that redux isn't really the best choice as a store system to work with Vue. It is going to be better to try and bind apollo-client to Vuex, Vue's own Flux system, directly.
Scott

looks like this may be what you're looking for https://github.com/Akryum/meteor-vue-component/tree/master/packages/vue-apollo

Thanks @ejfrancis. However, it would need to work with Vuex to be feasible for our project.
Scott

There's a great Vue integration now: https://github.com/Akryum/vue-apollo
For VueX, probably better to open a separate issue.


Font loaded multiple times

I found through the browser developer tool that the same font was loaded three times, and when I customized a larger font, the first loading was very slow.

I found through the browser developer tool that the same font was loaded three times

We are currently working on optimising this!

when I customized a larger font, the first loading was very slow.

It seems your customisation made the font huge 61 kB -> 2.2 MB

Thank you for your reply.
Yes, because I am using handwritten Chinese font, it is inevitably very large. If it can be optimized to load only once, I think this is acceptable.
Of course, if the official can provide Chinese fonts, this is the best choice! I have to use a custom font now because using the default font makes the image look very incongruous.
Thank you again

Closing as fonts are now loaded just once thanks to #8012.
Currently in progress for adding built-in Chinese fonts.


incompatible with Python 3.11 (?)

I can' get it to work in my environment. Even starting pytago without any arg leads to:
Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "C:\Program Files\Python311\Scripts\pytago.exe\__main__.py", line 4, in <module>
  File "C:\Program Files\Python311\Lib\site-packages\pytago\__init__.py", line 1, in <module>
    from pytago.core import *
  File "C:\Program Files\Python311\Lib\site-packages\pytago\core.py", line 24, in <module>
    import astroid
  File "C:\Program Files\Python311\Lib\site-packages\astroid\__init__.py", line 53, in <module>
    from astroid import inference, raw_building
  File "C:\Program Files\Python311\Lib\site-packages\astroid\inference.py", line 33, in <module>
    import wrapt
  File "C:\Program Files\Python311\Lib\site-packages\wrapt\__init__.py", line 10, in <module>
    from .decorators import (adapter_factory, AdapterFactory, decorator,
  File "C:\Program Files\Python311\Lib\site-packages\wrapt\decorators.py", line 34, in <module>
    from inspect import ismethod, isclass, formatargspec
ImportError: cannot import name 'formatargspec' from 'inspect' (C:\Program Files\Python311\Lib\inspect.py)

(and the program aborts; similair Traceback if you try to import pytago).
The python docu for 3.10.11 on inspect.formatargspec() notes:
Deprecated since version 3.5: Use signature() and Signature Object, which provide a better introspecting API for callables.

where the 3.11 docu on inspect does not mention formatargspec().
My environment is:

Windows 10, 64bit
Python 3.11.3 (64bit)
pytago 0.0.12

Hi,
I had the same error too.
I hope that could be solved before next Python release
Regards

Hi
Any news ?

Hi,
I fixed it, it's because wrapt isnt the latest version, after installing pytago just do  python -m pip install wrapt --force-reinstall to force latest wrapt to install


"Explain" button just runs the query, without showing query plan

Issue Type: Bug
When writing a query, pressing the "Explain" button has the same effect as pressing "Run". That is, it returns full results and has no tabs for "Query Plan" or "Top Operations". This happens even on simple queries (for example, the default "Select top 1000" query for a given table).
Azure Data Studio version: azuredatastudio 1.19.0 (4095037f2578c23033867e611e82c13de114ca5a, 2020-06-11T22:06:05.429Z)
OS version: Windows_NT x64 10.0.18363

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-8665U CPU @ 1.90GHz (8 x 2112)

GPU Status
2d_canvas: enabledflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onoop_rasterization: disabled_offprotected_video_decode: enabledrasterization: enabledskia_renderer: disabled_off_okvideo_decode: enabledviz_display_compositor: enabled_onviz_hit_test_surface_layer: disabled_off_okwebgl: enabledwebgl2: enabled

Load (avg)
undefined

Memory (System)
47.72GB (34.89GB free)

Process Argv

Screen Reader
no

VM
0%

Extensions (1)

Extension
Author (truncated)
Version

azdata-sanddance
msr
1.3.9

@jialinding I wasn't able to repro with basic testing.  Is there any additional information you could provide to help isolate the problem? e.g., which version of SQL Server running against, extensions installed, etc.?
Here's what I'm seeing with SELECT 1000 against SQL Server 2019.

@kburtram I have no extensions downloaded, and I am connecting to an Azure Synapse SQL pool instance. I just downloaded and re-installed the newest version of Data Studio and the problem is slightly different now: the first time I press the "Explain" button, it works as expected and there is a "Query Plan" tab. But if I press "Explain" again, it just runs the query. If I disconnect from the SQL pool and re-connect, then the button works again. Here is a gif of what happens:

Unfortunately query plan doesn't currently work with DW connections.  This is being tracked with issue https://github.com/microsoft/azuredatastudio/issues/2273.


UnicodeDecodeError: 'utf-8' codec can't decode byte 0xcf in position 0: invalid continuation byte

Hello @lbolla!
First, thanks for the great tool.
I've tried to run this script to edit a kubernetes secret, but I've got the error message:
  File "./kube-secret-editor.py", line 88, in <module>
    main()
  File "./kube-secret-editor.py", line 84, in main
    edit(fname)
  File "./kube-secret-editor.py", line 63, in edit
    secret = yaml.load(fid, Loader=NoDatesSafeLoader)
  File "/Users/sasha/Library/Python/3.7/lib/python/site-packages/yaml/__init__.py", line 112, in load
    loader = Loader(stream)
  File "/Users/sasha/Library/Python/3.7/lib/python/site-packages/yaml/loader.py", line 34, in __init__
    Reader.__init__(self, stream)
  File "/Users/sasha/Library/Python/3.7/lib/python/site-packages/yaml/reader.py", line 85, in __init__
    self.determine_encoding()
  File "/Users/sasha/Library/Python/3.7/lib/python/site-packages/yaml/reader.py", line 124, in determine_encoding
    self.update_raw()
  File "/Users/sasha/Library/Python/3.7/lib/python/site-packages/yaml/reader.py", line 178, in update_raw
    data = self.stream.read(size)
  File "/usr/local/Cellar/python/3.7.4_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/codecs.py", line 322, in decode
    (result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xcf in position 0: invalid continuation byte```

I would appreciate any advice about how to fix this problem.

Have a good day!

It looks like yaml.load can't decode your secret. Can you paste a minimal example to reproduce the error?

Yes, of course.
I've created a simple secret app-sa.yaml for testing purpose:
kind: Secret
metadata:
  name: app-sa-test
  namespace: default
stringData:
  app-sa-key.json: |-
    {
        "type": "service_account",
        "project_id": "test-api-206612",
        "private_key_id": "fb49b9cb272ed815d6d8fa2fa15fe69ef3faba3c",
        "private_key": "-----BEGIN PRIVATE KEY-----\nMgEAAoIBAQDeuSWmaMwajxp9\nehCEl1vZltzmOu0fv1ZXT2yK6+sg3MwPDogaJwYnrQ4HNG1\n-----END PRIVATE KEY-----\n",
        "client_email"<EMAIL_ADDRESS>        "client_id": "2893478708975-43",
        "auth_uri": "https://accounts.test.com/o/oauth2/auth",
        "token_uri": "https://accounts.test.com/o/oauth2/token",
        "auth_provider_x509_cert_url": "https://www.test.com/oauth2/v1/certs",
        "client_x509_cert_url": "https://www.test.com/robot/v1/metadata/x509/app-sa%40qs-api-206612.iam.gserviceaccount.com"
    }
type: Opaque

Got the same error for this secret.
I use Python 3.7.4 on MacOS 10.14.6
Maybe you need some more information about my env?

I can't reproduce the error. It seems like an encoding problem. In particular 0xcf is the character "Ï". Did you create the secret from a file?


Doesn't work / what am I doing wrong?

[browse@ashryn ~]$ while true; do date; sleep 1; done | nc stream.ht 1337
Thu Sep 10 08:17:46 PM EDT 2020
streamhut: streaming to https://stream.ht/ecjobt
Thu Sep 10 08:17:47 PM EDT 2020
Thu Sep 10 08:17:48 PM EDT 2020
Thu Sep 10 08:17:49 PM EDT 2020
Thu Sep 10 08:17:50 PM EDT 2020
Thu Sep 10 08:17:51 PM EDT 2020
Thu Sep 10 08:17:52 PM EDT 2020
Thu Sep 10 08:17:53 PM EDT 2020
Thu Sep 10 08:17:54 PM EDT 2020
^C
[browse@ashryn ~]$

but https://streamhut.io/s/ecjobt still shows
To get started, run in your terminal:

exec &> >(nc stream.ht 1337);echo \#ecjobt

I hope I am just doing something wrong, though -- :facepalm:?

Sorry about that. The live site wasn't updated with the latest code. Should be fixed now.


Test PR from external contributor

*** DO NOT MERGE ***
I'm a Customer Support Specialist at Travis CI and I'm testing this out based on a support request sent by @benvinegar.
*** DO NOT MERGE ***

This change is

Thanks @cotsog


wrapping of value of md-radio-button

How to wrap md-radio-button value ? Is there an option available ? I tried some css tricks but it seems to be not working for md-radio-button
Bug, feature request, or proposal:
What is the expected behavior?
{{data}}
label {
word-wrap: break-word;
width: 200px;md-radio-button
}
What is the current behavior?
What are the steps to reproduce?
Providing a Plunker (or similar) is the best way to get the team to see your issue.
Plunker template: http://plnkr.co/edit/o077B6uEiiIgkC0S06dd
What is the use-case or motivation for changing an existing behavior?
Which versions of Angular, Material, OS, browsers are affected?
Is there anything else we should know?

@codejith
That because .md-radio-label has white-space: nowrap;
Using the following should allow words to wrap but you will need to add other styles to .md-radio-label-content for the text to align correctly on wrapping content.
.md-radio-label {
    white-space: normal;
}

We think that not wrapping is the most sensible default behavior; you should be able to override the css as @joejordanbrown mentioned.

I dont understand why wrapping is default behaviour. If the text is long enough, it goes out of screen! Moreover, it is not the default behaviour in md-checkbox.

Hi same here... I don't get why it should be... Good there is the workaround anyways :)

You can alter the wrap behaviour using:
.mat-radio-label>.mat-radio-label-content {
    white-space: normal;
}

but this will break the check appearance, which will need to be fixed.

@aworton That didn't work. Tried many combinations. The only thing that even selected the label was '.mat-radio-button'. I did open a new issue #6671  . Using plunk - http://plnkr.co/edit/PS09vZVKMQxIMLd72mSS?p=preview

I have the same issue with checkbox not wrapping.
Tried modifying the css classes but nothing worked. What worked for me after inspirations from the replies to #6671. I believed could work for radio button too.
 <md-checkbox >
      <span class="checkbox-text-wrap">
          Create an organisation (upon completion, your progress will be 50%)
      </span>
 </md-checkbox>

CSS:
.checkbox-text-wrap {
  white-space: normal;
}

I think you should use ::ng-deep
https://angular.io/guide/component-styles#special-selectors

Use the /deep/ shadow-piercing descendant combinator to force a style down through the child component tree into all the child component views. The /deep/ combinator works to any depth of nested components, and it applies to both the view children and content children of the component.


Update retention.md

We cant edit release retention from the settings UI

@juliakm

Can you review this PR?
IMPORTANT: When this content is ready to merge, you must add #sign-off in a comment or the approval may get overlooked.

#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

Thanks @AlexandraRamirezMS!
#sign-off


test,freebsd: fix flaky poll tests

On FreeBSD close() can return ECONNRESET if the socket was shutdown
by the peer before all pending data was delivered.
Last seen on: https://ci.nodejs.org/job/libuv-test-commit-freebsd/727/nodes=freebsd11-x64/console
not ok 170 - poll_unidirectional
# exit code 134
# Output from process `poll_unidirectional`:
# Assertion failed in test/test-poll.c on line 137: r == 0

Sorry. This is not correct. I'll update the PR in a moment

Update. It should be good I think.
CI: https://ci.nodejs.org/view/libuv/job/libuv-test-commit/761/

Landed in https://github.com/libuv/libuv/commit/9051126b56c3dd8241f3bc6068c934fdee16deca. Thanks!


Proposal: Adding benchmark to the repository

According to the topic, it said that em-midori is faster than rails, rails-api and sinatra, even faster than express.js, for now em-midori is under early development, faster than production-ready frameworks is reasonable, so I propose adding benchmark you showed in the topic to the repository that we can easily observe the performance changing with the framework's developing and research the best scenario.
You can check an example from thin

I've started to write benchmarks, should be able to use in days.

Init a new project for benchmark.


[BUG] Install version via ansible-galaxy fails

Describe the bug

Versions from ansible galaxy and the GitHub Release Page do not match.
Version v2.3.13-a1.0.1 is missing
Also specifying version 2.3.13-1.0.0 ends up with the missing download url as the tag is named differently.

{
  'id': 170631,
  'url': '',
  'related': {},
  'summary_fields': {},
  'created': '2021-11-20T22:27:31.374114Z',
  'modified': '2021-11-20T22:27:31.374145Z',
  'name': 'v2.3.13-1.0.0',
  'version': '2.3.13-1.0.0',
  'commit_date': '2021-11-20T17:24:32-05:00',
  'commit_sha': 'd936a987c2ec80a0dde01fb35b34628107ed8cab',
  'download_url': 'https://github.com/ebbba-org/ansible-role-bigbluebutton/archive/v2.3.13-1.0.0.tar.gz',
  'active': None
}

To Reproduce
ansible-galaxy install -f ebbba.bigbluebutton,v2.3.13-a1.0.1
ansible-galaxy install -f ebbba.bigbluebutton,v2.3.13-a1.0.0
ansible-galaxy install -f ebbba.bigbluebutton,v2.3.13-1.0.0

Expected behavior
Role is installed successfully (like when specifying the URL).
The preferred way of installing should be stated in the README I guess.
ansible-galaxy install -f \
    https://github.com/ebbba-org/ansible-role-bigbluebutton/archive/refs/tags/v2.3.13-a1.0.1.tar.gz

Logs
Starting galaxy role install process
- downloading role 'bigbluebutton', owned by ebbba
[WARNING]: - ebbba.bigbluebutton was NOT installed successfully: - the specified version (v2.3.13-a1.0.1) of ebbba.bigbluebutton was not found in the list of available versions ([{'id': 153076, 'url': '', 'related': {}, 'summary_fields': {}, 'created': '2021-05-04T18:54:45.872471Z',
'modified': '2021-05-04T18:54:45.872517Z', 'name': 'v2.2.36-a1.0.0', 'version': '2.2.36-a1.0.0', 'commit_date': '2021-05-01T14:18:17-04:00', 'commit_sha': 'f2ebbbe76cf64fd9dafbd7ae4185a45668f79943', 'download_url': 'https://github.com/ebbba-org/ansible-role-
bigbluebutton/archive/v2.2.36-a1.0.0.tar.gz', 'active': None}, {'id': 153077, 'url': '', 'related': {}, 'summary_fields': {}, 'created': '2021-05-04T18:54:46.155518Z', 'modified': '2021-05-04T18:54:46.155546Z', 'name': 'v2.3.0-a1.0.0', 'version': '2.3.0-a1.0.0', 'commit_date':
'2021-05-04T14:38:44-04:00', 'commit_sha': '83471e86d6ddf982cd7929fe71cdbbac87b8b8ad', 'download_url': 'https://github.com/ebbba-org/ansible-role-bigbluebutton/archive/v2.3.0-a1.0.0.tar.gz', 'active': None}, {'id': 153668, 'url': '', 'related': {}, 'summary_fields': {}, 'created':
'2021-05-13T13:29:25.967483Z', 'modified': '2021-05-13T13:29:25.967520Z', 'name': 'v2.3.1-a1.1.0', 'version': '2.3.1-a1.1.0', 'commit_date': '2021-05-13T08:55:24-04:00', 'commit_sha': '7900bc196a028e2f899b47d7a0461573e439f58b', 'download_url': 'https://github.com/ebbba-org/ansible-
role-bigbluebutton/archive/v2.3.1-a1.1.0.tar.gz', 'active': None}, {'id': 157463, 'url': '', 'related': {}, 'summary_fields': {}, 'created': '2021-06-28T20:01:15.966118Z', 'modified': '2021-06-28T20:01:15.966159Z', 'name': 'v2.3.4-a1.1.1', 'version': '2.3.4-a1.1.1', 'commit_date':
'2021-06-28T15:07:06-04:00', 'commit_sha': '9e84909ecb89f3d237152f49d02af13d32748f5e', 'download_url': 'https://github.com/ebbba-org/ansible-role-bigbluebutton/archive/v2.3.4-a1.1.1.tar.gz', 'active': None}, {'id': 170630, 'url': '', 'related': {}, 'summary_fields': {}, 'created':
'2021-11-20T22:27:31.138603Z', 'modified': '2021-11-20T22:27:31.138629Z', 'name': '0.0.1', 'version': '0.0.1', 'commit_date': '2021-11-20T16:22:16-05:00', 'commit_sha': 'c26e8ff91677070e1f452fc08322f93f204ef565', 'download_url': 'https://github.com/ebbba-org/ansible-role-
bigbluebutton/archive/0.0.1.tar.gz', 'active': None}, {'id': 170631, 'url': '', 'related': {}, 'summary_fields': {}, 'created': '2021-11-20T22:27:31.374114Z', 'modified': '2021-11-20T22:27:31.374145Z', 'name': 'v2.3.13-1.0.0', 'version': '2.3.13-1.0.0', 'commit_date':
'2021-11-20T17:24:32-05:00', 'commit_sha': 'd936a987c2ec80a0dde01fb35b34628107ed8cab', 'download_url': 'https://github.com/ebbba-org/ansible-role-bigbluebutton/archive/v2.3.13-1.0.0.tar.gz', 'active': None}, {'id': 170632, 'url': '', 'related': {}, 'summary_fields': {}, 'created':
'2021-11-20T22:27:31.562173Z', 'modified': '2021-11-20T22:27:31.562199Z', 'name': '0.0.2', 'version': '0.0.2', 'commit_date': '2021-11-20T16:22:16-05:00', 'commit_sha': 'c26e8ff91677070e1f452fc08322f93f204ef565', 'download_url': 'https://github.com/ebbba-org/ansible-role-
bigbluebutton/archive/0.0.2.tar.gz', 'active': None}]).

Starting galaxy role install process
- downloading role 'bigbluebutton', owned by ebbba
- downloading role from https://github.com/ebbba-org/ansible-role-bigbluebutton/archive/v2.3.13-1.0.0.tar.gz
 [ERROR]: failed to download the file: HTTP Error 404: Not Found
[WARNING]: - ebbba.bigbluebutton was NOT installed successfully.

Ansible version
ansible [core 2.12.0]
  config file = /etc/ansible/ansible.cfg
  configured module search path = ['/home/edjopato/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python3.9/site-packages/ansible
  ansible collection location = /home/edjopato/.ansible/collections:/usr/share/ansible/collections
  executable location = /usr/bin/ansible
  python version = 3.9.9 (main, Nov 20 2021, 21:30:06) [GCC 11.1.0]
  jinja version = 3.0.3
  libyaml = True

Hmmm
ansible-galaxy [core 2.12.0]
  config file = /etc/ansible/ansible.cfg
  configured module search path = ['/home/eha/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python3.9/site-packages/ansible
  ansible collection location = /home/eha/.ansible/collections:/usr/share/ansible/collections
  executable location = /usr/bin/ansible-galaxy
  python version = 3.9.9 (main, Nov 20 2021, 21:30:06) [GCC 11.1.0]
  jinja version = 3.0.3
  libyaml = True
Using /etc/ansible/ansible.cfg as config file
Initial connection to galaxy_server: https://galaxy.ansible.com
Opened /home/eha/.ansible/galaxy_token
Calling Galaxy at https://galaxy.ansible.com/api/
Found API version 'v1, v2' with Galaxy server default (https://galaxy.ansible.com/api/)
Starting galaxy role install process
Processing role ebbba.bigbluebutton
- downloading role 'bigbluebutton', owned by ebbba
Calling Galaxy at https://galaxy.ansible.com/api/v1/roles/?owner__username=ebbba&name=bigbluebutton
Calling Galaxy at https://galaxy.ansible.com/api/v1/roles/54697/versions/?page_size=50
- downloading role from https://github.com/ebbba-org/ansible-role-bigbluebutton/archive/v2.3.13-a1.0.1.tar.gz
- extracting ebbba.bigbluebutton to /home/eha/.ansible/roles/ebbba.bigbluebutton
- ebbba.bigbluebutton (v2.3.13-a1.0.1) was installed successfully

Whatever happened, version a1.0.1 is now also listed on ansible-galaxy: https://galaxy.ansible.com/ebbba/bigbluebutton
Its also available from the commandline now:
{
  'id': 172079,
  'url': '',
  'related': {},
  'summary_fields': {},
  'created': '2021-12-06T20:26:50.065165Z',
  'modified': '2021-12-06T20:26:50.065194Z',
  'name': 'v2.3.13-a1.0.1',
  'version': '2.3.13-a1.0.1',
  'commit_date': '2021-11-22T06:35:57-05:00',
  'commit_sha': 'd703a50e14b02d98cc6815bded40005bd6257aee',
  'download_url': 'https://github.com/ebbba-org/ansible-role-bigbluebutton/archive/v2.3.13-a1.0.1.tar.gz',
  'active': None
}

whatever you did on 20:26:50 UTC: it worked. Thanks!

Magic :)
I told ansible-galaxy the re-import the github repo, that fixed it.


Play jongo with sbt 2.12.2

Does Jongo with sbt 2.12.2? Adding the following as dependency in build.sbt does not work
val appDependencies = Seq(
"uk.co.panaxiom" %% "play-jongo" % "2.0.0-jongo1.3"
)
But if I change the version to 2.11, it works

AFAIK it doesn't: It's compiled for 2.11. See #67 #66 #62 for ongoing work upgrading to 2.12 and Play 2.6.x.

@greenled But the README clearly mentions that Play 2.6.x is supported? Am I missing something?

Yeap, you are :). Sorry, I wasn't clear. The README is on the master branch, which is some commits ahead of the latest release. Play 2.6 should ship on next release. On the meantime you can build the module, publish it locally, and test it.

@greenled thanks for the clarification. When is the next release planned? Any tentative date?

@kavuri No idea, I'm not a core developer. @magro @alexanderjarvis when is the next release planned?

@magro @alexanderjarvis I am eagerly waiting for the next release to support Play 2.6.6. When is it planned?
If there is a snapshot version, how can I point my application to it?
Thanks

@magro @alexanderjarvis any clue on this?

Sorry for the delay! I just released play-jongo 2.1.0-jongo1.3 which is now built with scala 2.12.
Thanks for you contributions and patience! ;-)


Create einsteinpy.bodies module

🐞 Problem
We have to define explicitly about the bodies. It would be nice to have a class for that as well.
🎯 Goal

💡 Possible solutions
Add mass for attractor bodies and r,v for other.

📋  Steps to solve the problem

Comment below about what you've started working on.
Add, commit, push your changes
Submit a pull request and add this in comments - Addresses #<put issue number here>
Ask for a review in comments section of pull request
Celebrate your contribution to this project 🎉

hey, I would like to work on this.
I don't clearly understand the issue
Can you elaborate a bit?

I have understood the problem. Can you assign the task to me @shreyasbapat ?
Thanks

I can't assign this task to @rtanmay ! Sorry for that! Both of you try. The first pull request to get green ticks on every check will be merged. :)


[US] Books: migrate collections

Migrate collection related data

Perhaps it's worth looking at https://github.com/inveniosoftware/invenio-migrator/blob/master/invenio_migrator/legacy/records.py#L110


Celery is now a regular (non-dev) requirement

Also cleanup unnecessary (and broken) task import error handler. This is a relic of a lost, magical time we'll never see again.
@benghaziboy as discussed (and updated DJES requirements to avoid breaking tests)
@MichaelButkovic join the celery party

:tada: LGTM

:+1:


Enhancements of Timeline and notifications

Some information can be retrieved from timeline or various events:

people starting following you
comments on followed posts
friends events (following, posting, liking)
friends playing (and the game result - if so selected)
This information can then be reused to generate notifications and/or enhance the timeline

implemented an extra notification for when there are new items on your timeline in V2.0.48

Closing this for now.


Investigate EFK Stack

Issue by kubernetes-jenkins
Wednesday Jul 19, 2017 at 18:44 GMT
Originally opened as https://git.removed/kubernetes-attic/garden-operator/issues/34

Please check out the EFK Stack (Elasticsearch + fluentd + Kibana; see various blogs, e.g. https://logz.io/blog/kubernetes-log-analysis). Is it what we should use? If so, how can it be integrated into the seed & shoot cluster approach. Please report results here.
:information_source: Migrated from Jira issue KUBE-98

Merged with https://github.com/gardener/gardener/issues/3.