sample() and select() functions are missing

My use case is a graph, where all nodes are randomly created, and then I want to select a subset for each node to connect to when I create the actual graph.
However, there doesn't seem to be either a sample() or select() api with which to do this.

What would be the preferred signatures of sample() and select()?
So for simplicity let's assume that a Vec stands in for a true set.
Then perhaps a Strategy which generates a sub-Vec of the Vec could be useful?
A simple way to do this is: go through all elements of the list, flip a coin, if yes, add the element to the set, else leave it out. We can accomplish this by generating a Vec<bool> (of equal length to the nodeset Vec) which is then zipped with the nodeset Vec and then filter based on the value of the bool.
This may be sub-optimal, but it should work.

I think I would prefer #14 over this, since #14 is more general use case and can be used in any way that the user needs, including using any container they wish.
I think it would be a mistake to not use Rng under the hood for this. sample takes a specific number of samples, so probabilistically "flipping a coin" is not enough to guarantee how many you will get. Trying to select N values from M where every value in M has an equal chance of being selected is actually fairly non-trivial if I recall correctly.
A really simple case would be to shuffle the data and select the first N, but this will take O(M) time for N values (where N < M), so is certainly not ideal.

I'm looking at this more and questioning whether #14 is actually the way to go... once we open up that can of worms it may be difficult to walk it back.
Intead, I think the right way to go about it is for the container-strategies (i.e. HashMapStrategy, etc) to all implement a ContainerStrategy trait, this would have a method prop_sample(num: usize) and prop_select() on it.

Could you clarify what sample and select do exactly, possibly including signatures of these methods?
My comment was specific to your particular use case and not sample or select in general since I'm not sure what these entail.

@Centril lol literally just doing that :)

I don't think that description is sufficient, at least not for me to implement this independently - I'm still not sure what these operations actually do...
From what I understand, VecStrategy::prop_sample(num: usize) simply generates a vec where .len() == num. This is simply: proptest::collection::vec(strategy_for_elem, num .. num).
So what is .select()? does it select a subset of elements from a generated Vec ? A longer description would be instructive here.

what is strategy_for_elem in your case? Is that a filter?
select() just selects a single element, sample(num: USizeStrategy) selects a random number of them (but like you said, it selects exactly that number, so if you had a physical num (not a strategy) then it could be represented as num .. num).

the code is actually pretty basic, I might be able to actually implement this as a workaround.

Here strategy_for_elem is a strategy for generating one element of type requested type, so for example: proptest::collection::vec(proptest::num::u8::ANY,  100..100) is a strategy that generates a vector of exactly 100 elements of any u8.
If you want to randomize the number of elements too you can use prop_flat_map:
use proptest::num::{u16, u8};
use proptest::collection::vec;

// A strategy that generates (0 ..= std::u16::MAX) elements of u8:s.
let strategy = u16::ANY.prop_flat_map(|len| vec(u8::ANY,  len..len));

A smarter way to put this is (approximately):
use proptest::num::u8;
use proptest::collection::vec;
let strategy = vec(u8::ANY,  0 .. std::u16::MAX);

but that selects from all u8's, it doesn't select from a precreated list.
What I would like to do is something like:
use proptest::num::u8;
use proptest::collection::vec;

/// get a vector and a random sample of elements from that vector
let strategy = vec(u8::ANY,  1 .. std::u16::MAX)
    .prop_map(|v| (v, v.prop_sample(1 .. v.len()));

Now I know what you want =)
Doing this as a trait is probably reasonable.
Is the following valid?
([1, 2, 3, 4], [2, 1]) <-- note that the ordering has changed.

What are the semantics of (un)shrinking?
A proposal:

The ValueTree should be generated with an initial sub-Vec.
For simplify() the ValueTree should remove one tail element from the last-returned sub-Vec if it hasn't reached the minimum length. This removed element is added to another Vec stored in the ValueTree
For complicate(), the last removed element should be re-added.

The type is thus:
struct SubVecValueTree<T: Clone> {
    minimum: usize,
    current: Vec<T>,
    removed: Vec<T>,
}

A version on this is to alternate between removing the first / last element. It depends on if you want to bias towards the first element being the simplest, or if you want the middle element to be the simplest (in which case you alternate).
I think .select is unnecessary since we already have Union, so you can do:
Union::new_weighted(my_vec.into_iter().map(|elt| (1, Just(elt))))

Tho for performance a more specialized solution may be right.

Is the following valid?

yes, they can be out of order.

What are the semantics of (un)shrinking?

Since the returned vec is random anyway, I would do it this way:

simplify() removes a random element from current and adds it to the removed
complicate() takes a random element from removed and adds it to current.

Agree that sample is more important than select. Heck, you could even sample one element as a vector and then take it's 0th index.

Also, sorry I wasn't more clear. I'm still trying to wrap my head fully around this library. It is SO awesome though!

That's OK =)
The operations of ValueTree should be deterministic. Randomness comes from the generation of the ValueTree itself. The only way to be random inside the ValueTree is to clone the XorShiftRng which means that any mutation made to it inside the ValueTree is not persisted across new_value runs.
This bit is instructive: https://docs.rs/proptest/0.3.1/src/proptest/collection.rs.html#344-350
I guess you could modify TestRunner by adding a function ValueTree::yield_rng(self) -> Option<XorShiftRng> { None } whereby the ValueTree  may clone the TestRunner's XorShiftRng during construction and give back the modified version which the TestRunner may set to itself before the next new_value call. However, this mechanism does not compose well.
Given that the elements can be out of order, this is not a sub-list operation, but rather: sublist(shufle(vec), min..max) - this is natural for sets, since there is no real ordering - however, for Vec, I think this is a bit weird to allow the elements to be out of order. It might be useful to provide a shuffle operation for Vec which does not shrink - as a different operation. Then you can compose the operations.

I'm a bit confused -- are not ALL operations, even "random" ones deterministic if you use a seed?
If a non-random ordering is what you want that should be easy to implement -- just preserve the index and then sort by it -- but this will have quite a large impact on performance for large selections.
Since the shuffle isn't suitably random anyway, I agree that shuffle should be a separate operation anyway. I'm not sure if preserving order should be a major design choice or not. If that were desired I would call it sample_stable since it reminds me of stable-sorting.

Ok, I think I see -- you would have to clone the Rng in the VecStrategy in order to later use it... ya that isn't ideal, but I don't think it's TOO bad.
Your strategy isn't bad either -- I would say it's probably fine. You could even deterministically move the index from right to left or something, moving values back and forth as you go and keeping elements that caused the test to fail. Obviously this is slow, but it's fine to be slow while your shrinking right?

Also, I would make removed a queue. Imagine the following case:
[1,2,3,4,5] # fail
   # removed = [5]
[1,2,3,4]  # fail
    # removed = [5, 4]
[1,2,3]  # pass, add pop from take from queue
[1,2,3,5] # pass, move one index back
   # removed = [4]
[1,2,5] # pass, move one index back
   # removed = [4,3]
[1,5] # pass, move one index back
    # removed = [4,3,2]
[5]  # pass, swap with queue
[4] # fail, minimum case
    # removed = [3,2,5]

Backing away from the theory here for a moment to give my opinions on the original request:

select()

As @Centril mentioned above, this is already possible with the current API, it's just a bit of a mouthful. It'd be fairly easy to add a convenience for this and definitely worth it.

sample()

Also useful and not easily implemented from the user perspective.
As far as implementation goes, most of it could be done by reusing the logic we already have for BitSet.

Add a new strategy for BitSetLike types which does an n-choose-k algorithm to choose the initial bits. The current BitSetValueTree shrinks to all bits being zero; local filtering is sufficient to keep the set size to a minimum.

Selecting elements is done by prop_map()ing over the bitset strategy and choosing elements whose bit is set.

Add a convenience to put these pieces together.

Besides being less code, it also doesn't require constantly moving larger pieces of data around.

I guess the better idea is to just store the entire sub-vector and then store a slice to the vector as well in the style of owning_ref. Then you can modify the slice without any allocation in simplify() or complicate().

wait, I think I've confused myself... is this code even valid?
let strategy = vec(u8::ANY,  1 .. std::u16::MAX)
    .prop_map(|v| (v, v.prop_sample(1 .. v.len()));

v is a real vector is it not? Can you call prop_sample on a Vec?

hmm... based on my above realizations I'd say sample needs to be a function, not a method. So it would be used in this way:
let vec_strategy = vec(u8::ANY,  1 .. std::u16::MAX)
    .prop_map(|v| (Just(v), prop::sample(v, 1 .. v.len()));

We have to be able to create a strategy out of a real vector, so it works kind of like Just. Am I making any sense?

@AltSysrq  How do you feel about:

How do you feel about shuffle (with no shrinking)
having a trait for "sample" (I'm going to call it part_of henceforth)?
I think it might be nice to have since some things may be optimized for non-Vec, and they may also have different semantics wrt. ordering...
speaking of... should Vec::part_of preserve ordering of input Vec in the output Vec?
it might be nice to have a part_of_shuffle which acts like part_of but shuffles first.

So how about:
pub trait ContainerStrategy /* <-- bikeshed name */ {
    fn prop_part_of(self /* perhaps &self ? */)
        // in reality concrete types for now since impl trait is not stable.
        // use some associated type instead.
        -> impl Strategy<Value = impl ValueTree<Value = Self>>;
}

// Trait is separate because some types have no ordering, notably `HashSet`.
pub trait ShuffleStrategy /* <-- bikeshed */ {
    fn prop_shuffle(self)
        -> impl Strategy<Value = impl ValueTree<Value = Self>>;
}

@vitiral You have to prop_flat_map instead if you are returning a Strategy, so:
vec(u8::ANY,  1 .. std::u16::MAX)
    .prop_flat_map(|v| (Just(v), v.prop_part_of(1 .. v.len())));

The constructor would probably be something like VecStrategy::sample_from(collection, size) with a companion proptest::vec::sample_from free function. prop_flat_map would come in if the vector itself were produced by a strategy, so something like
let strategy = vec(u8::ANY, 1 .. std::u16::MAX)
    .prop_flat_map(|v| {
        // Appease the borrow checker
        let len = v.len();
        vec::sample_from(v, len)
    });

@AltSysrq that makes sense and is in-line with what I was saying. Do you think len should be either an integer-strategy OR a hard integer (I'm not sure if that is already the case, does usize implement IntStrategy?).
I can see a use case for wanting to sample a random number of elements (but within a certain range)... mainly that is my use case :)
Also, I assume v just needs to be a type implementing IntoIter right? It doesn't have to be a vector.

@Centril

Positively, it's just a matter of generating a RNG for the value so the shuffling is consistent. It might make sense to shrink to a non-shuffle.

I'm not sure what that trait would look like, especially since there's no existing trait for collections.

I think it should. The BitSet implementation I suggested does this and it makes the behaviour more deterministic. It also makes it a proper subsequence operation.

If we implement both building blocks, it's not much cost to add this too.

I don't care for the name part_of; it sounds more like slicing. It would be better to stick to an established name, either from a major library (thus sample) or a mathematical operation (e.g., subsequence or choose_k).

I guess that is easily composable
let vec_strategy = vec(u8::ANY,  1 .. std::u16::MAX)
    .prop_flat_map(|v| (1 .. v.len(), Just(v))
    .prop_flat_map(|(num, v)| (Just(v), prop::sample(v, num));

@vitiral

Do you think len should be either an integer-strategy OR a hard integer (I'm not sure if that is already the case, does usize implement IntStrategy?).

The current strategies for creating collections require the size to be a range, and this new API would be the same. Ideally we'd accept any range or a fixed integer, but I don't think all the functionality to support that is stable in std yet. Note that it's not actually an arbitrary strategy; because it knows the size range directly, it can avoid all the disadvantages that would come from using prop_flat_map.

Also, I assume v just needs to be a type implementing IntoIter right? It doesn't have to be a vector.

It would likely be possible to use just IntoIter, but in practise it'll need to run over that list many times to just select a (possibly tiny) subset, so it's probably best for both efficiency and simplicity to just buffer into a vector (though the API could certainly take an IntoIter anyway.)

@AltSysrq

How would shrinking to a non-shuffle work?

pub trait ContainerStrategy {
    type Output;
    fn prop_part_of(self, bounds: Range<usize>) -> Self::Output;
}

then we can have:
// More deref types when specialization lands, for example:  AsRef<[T]>.

impl<T: Clone> ContainerStrategy for Vec<T> {
    type Output = Vec<T>;
    fn prop_part_of(self) -> Self::Output { ... }
}

impl<T: Clone> ContainerStrategy for HashSet<T> {
    type Output = HashSet<T>;
    fn prop_part_of(self) -> Self::Output { ... }
}

3 + 4. great =)
5. Where's the name sample from?  subsequence sounds right for Vec´, but not for HashSet. choose_k` is probably too hard to find...?

@Centril
1. simplify() => current_value() just passes the original collection through unchanged; complicate() => current_value() goes back to doing the original shuffle.
2. I see, that looks good. Would probably make sense to put an equivalent of the current free functions there as well.
5. rand::sample(https://docs.rs/rand/0.3.18/rand/fn.sample.html). I get your point about subsequence; conversely, there's also "subset" or "combination" that works for HashSet/HashMap but not Vec. I think I'd definitely lean to sample at this point.

@AltSysrq

It would likely be possible to use just IntoIter, but in practise it'll need to run over that list many times to just select a (possibly tiny) subset

The implementation in rand has to run throught the list exactly once, so hopefully that performance would be possible here.
@AltSysrq I'm confused by the variable name bounds, are you selecting it defines a range of valid values? I'm not opposed to this, I actually think it would be perfect for my use case. I assume the "bounds" would be randomized as well then?
Also nitpick, you forgot to add them in your impls

@AltSysrq

Oh ;) I was envisaging different degrees of chaos you could simplify to ^.^ If not, then simplify() / complicate() are essentially just a mem::swap.  Should the ValueTree have its own independent XorShiftRng?

Agreed, free functions make sense.

Original Haskell QC calls the most similar operation subListOf , but that has the same problems as subsequence. I guess prop_sample is the least bad - The name part_of was conceived in trying to find the common denominator of subsequence and subset.

@vitiral I think you meant to highlight me at the end there?
In prop_sample(self, bounds: Range<usize>) -> Self::Output the argument bounds refers to the minimum amount of elements, and and the maximum amount of elements in Self::Output. If self.len() < bounds.high then self.len() is used. If self.len() < bounds.low you get a panic (or perhaps not? discuss...).

The implementation in rand has to run throught the list exactly once, so hopefully that performance would be possible here.

Yes. I was thinking about the case of a single, constant array where every test input would be derived from the same available selection, which feels like it might be a more common use-case.

the variable name bounds

Sorry, I meant that that's the bounds on the size of the output.

Should the ValueTree have its own independent XorShiftRng?

I don't think you have much of a choice since you won't have access to the one on TestRunner at that point. Presumably you'll want to start from the same seed (for a particular ValueTree) each time too.

@AltSysrq I was thinking that SuffleStrategy::new_value(...) shuffles the input and then yields:
pub struct ShuffleValueTree<T> {
    current: T,
    other: T,
    is_simple: bool,
}

impl<T: Clone> ValueTree for ShuffleValueTree<T> {
    type Value = T;
    fn current(&self) -> Self::Value { self.current.clone() }
    fn simplify(&mut self) -> bool {
        if !self.is_shuffled { return false; }
        mem::swap(&mut self.current, &mut self.other);
        self.is_shuffled = false;
        true
    }

    fn complicate(&mut self) -> bool {
        if self.is_shuffled { return false; }
        mem::swap(&mut self.current, &mut self.other);
        self.is_shuffled = true;
        true
    }
}

But perhaps this was not the idea at all?

Oh, that works too and is a lot simpler. :+1:

@AltSysrq Tho there might be degrees of shuffled:ness? (which this doesn't capture)

I had been thinking of something like
// Generics simplified for conciseness
struct ShuffleValueTree<V : ValueTree> {
    inner: V,
    rng: XorShiftRng,
    shuffle: bool,
}

impl<V : ValueTree> ValueTree for ShuffleValueTree<V> {
    type Value = V::Value;

    fn current(&self) -> V::Value {
        let mut collection = self.inner.current();
        if shuffle {
            // We start from the same RNG every time, so every call shuffles the same way
            self.rng.clone().shuffle(&mut collection);
        }
        collection
    }

    fn simplify(&mut self) -> bool {
        // TODO: If already simplified, call `inner.simplify()`
        let r = self.shuffle;
        self.shuffle = false;
        r
    }

    fn complicate(&mut self) -> bool {
        let r = self.shuffle;
        self.shuffle = true;
        !r
    }
}

so no "degrees of shuffledness".
Actually, now that I wrote that, I'm not sure the swap approach works, since current() yields an owned value, and it doesn't have an obvious way to continue simplifying the source ValueTree without having separate logic to then re-shuffle it.

@AltSysrq Well, there's a .clone() there, so it should work - but it T was a ValueTree::Value, not a ValueTree - but that's quite boring I guess. Your solution is more general 👍.
I'll investigate if "degrees of shuffledness" is a doable thing.

@AltSysrq For a "degrees of shuffledness" we could simply modify the Fisher-Yates algorithm like so:
extern crate rand;

use rand::{thread_rng, Rng};

fn shuffle<T, R: Rng>(rng: &mut R, values: &mut [T], degree: usize)
{
    if degree == 0 { return; }
    let len = values.len();
    // magic computation, come up with something better...
    let prob_to_swap = ((len - degree) as f64).sqrt().ceil() as usize;

    let mut i = len;
    while i >= 2 {
        // invariant: elements with index >= i have been locked in place.
        i -= 1;
        // 1 / prob_to_swap chance to swap.
        if rng.gen_range(0, prob_to_swap) == 0 {
            // lock element i in place.
            values.swap(i, rng.gen_range(0, i + 1));
        }
    }
}

fn main() {
    let mut rng = thread_rng();

    for degree in 0..20 {
        let mut vec = (0..20).collect::<Vec<u8>>();
        shuffle(&mut rng, &mut vec, degree);
        println!("{:?}", vec);
    }
}

@Centril That might be a bit too chaotic since it perturbs the RNG as it shrinks (both due to not calling gen_range() the same number of times before each element, and I assume gen_range() uses rejection sampling so changing the range would perturb it that way too).
Maybe something like this? (Not 100% confident of the shrinking logic)
// Generics simplified for conciseness
struct ShuffleValueTree<V : ValueTree> {
    inner: V,
    rng: XorShiftRng,
    // max_shuffle is the maximum distance any element will be perturbed in a
    // single step; as it is reduced to zero, the shuffle makes fewer and fewer
    // changes to the output.
    // Initialised to the size of the output.
    max_shuffle: usize,
    // The maximum value that `complicate()` can increase `max_shuffle` to.
    max_max_shuffle: usize,
    // The minimum value that `simplify()` can decrease `min_shuffle` to.
    // Starts at 0.
    min_max_shuffle: usize,
}

impl<V : ValueTree> ValueTree for ShuffleValueTree<V> {
    type Value = V::Value;

    fn current(&self) -> V::Value {
        let mut collection = self.inner.current();
        let mut rng = self.rng.clone();
        for i in 0..collection.size() - 1 {
            // By generating the index outside any conditional, we produce the
            // same sequence of candidate swaps regardless of `max_shuffle`.
            let other = rng.gen_range(i + 1, collection.size());
            if other - i < self.max_shuffle {
                collection.swap(i, other);
            }
        }
        collection
    }

    fn simplify(&mut self) -> bool {
        self.max_max_shuffle = self.max_shuffle;
        if self.max_shuffle > self.min_max_shuffle {
            self.max_shuffle -= 1;
            true
        } else {
            self.inner.simplify()
        }
    }

    fn complicate(&mut self) -> bool {
        if self.max_shuffle < self.max_max_shuffle {
            self.max_shuffle += 1;
            self.min_max_shuffle = self.max_shuffle;
            true
        } else {
            self.inner.complicate()
        }
    }
}

@AltSysrq That shrinking logic seems like a better idea with a better notion of chaos (locality / delta).
@vitiral bounds refers to (min/max) - an amount is not a Range<usize> - but what a parameter is named isn't that important. What is important is giving a clear documentation about the behaviors of the method. I think fail-fast behavior in response to what is clearly a programmer-error is appropriate - the standard library does use panics for that in certain places - it is even more appropriate for a testing lib.
To be clear, subsequence effectively would first randomize amount in [bounds.start, bounds.end] and then use sample with that.

Done initial work on subsequence - todo: tests and more CollectionStrategy impls. Work in #8 .

@AltSysrq So, looking at it again... is there a reason it isn't just:
    fn simplify(&mut self) -> bool {
        if self.max_shuffle > self.min_max_shuffle {
            self.max_shuffle -= 1;
            true
        } else {
            self.inner.simplify()
        }
    }

    fn complicate(&mut self) -> bool {
        if self.max_shuffle < self.max_max_shuffle {
            self.max_shuffle += 1;
            true
        } else {
            self.inner.complicate()
        }
    }

would this cause an infinite loop perhaps? so you are trying to ensure that it's only possible to complicate once once fully simplified?
The logic of .current() looks good.

@Centril

is there a reason it isn't just:

It needs to ensure that calls to complicate() after a simplify() don't increase the complexity beyond where it was immediately before the call to simplify().

@AltSysrq Right - then it looks good =) I guess you can add the shuffle feature?

@Centril is the shuffle feature necessary for this PR?

I have shuffle added to the 0.3.2-changes branch. In the process I discovered a bug in VecStrategy; I'm going to be adding some tests for that specific problem to all the non-trivial strategies, but that's the only thing left blocking the release of 0.3.2 at this point.

What is necessary or not is ofc entirely up to @AltSysrq =)

sample::select() and sample::subsequence() are added in 0.3.2, as well as the discussed prop_shuffle combinator.


Module metadata is not correctly written to/from the dependency cache

Adam reported this issue: https://github.com/gradle/gradle-native/issues/329, which is due to the Usage attribute not being correctly written to the cache. We have special handling for this attribute in the ModuleMetadataParser, but not in the ModuleMetadataSerializer.
Inspection shows that we have a similar problem with "dependencyConstraints": these are parsed correctly from module metadata, but not written to/from the cache.
Both of these cases mean that we'll be able to see different behaviour simply by running the same build twice: the second time around component attributes won't be set and the dependency constraints won't be applied. (And likely some other things we've missed).
We need to solve this problem in a systematic way that stops us making these problems in the future. Some options:

Update our test fixtures so that we always resolve twice, the second time from the cache
Change our production code so that instead of using the values parsed directly from the repository, we first write to the cache and then read the module metadata back out of it immediately.
Write the JSON file as-is to the cache, rather than a binary representation of it.

I prefer something that enforces this in the production code, rather than something relying on test infrastructure, but I'd be happy with any solution.

Note that test coverage must involve a remote repository, since we bypass the cache for local (file) repositories.

Note that test coverage must involve a remote (HTTP) repository. Caching is bypassed for local repositories.
That's how I didn't pick up gradle/gradle-native#329: the coverage involved resolving from a file repository, and I did the same in my manual testing. As soon as I changed AbstractIvyPublishIntegTest to resolve via an HTTP server, the test blows up on the assert here: https://github.com/gradle/gradle/blob/d9fb41dfff9b1dfe9b38cd92b348585269d6438e/subprojects/dependency-management/src/main/java/org/gradle/api/internal/artifacts/ivyservice/modulecache/ModuleMetadataSerializer.java#L146-L159

That's clearly not the first time we're beaten by this, and it's too easy to forget. One possible approach would be to add a test for module metadata serializer that simulates what happens in a lightweight manner:

have a list of sample pom/ivy/Gradle metadata files
parse them
use ModuleMetadataSerializer to serialize them
read back using ModuleMetadataSerializer
assert that the read version == the written version


opt/alt/loop with long describing text

At some early version , the opt/alt/loop and the describing text were putting into two lines, so a long describing text could be shown well.
But at the current version, the two were putting into a same line, and if the describing text is too long , it will be mixed with alt/opt/loop.
Is there any way to avoid this situation?
sequenceDiagram
A ->> B : abc
opt there is a very very long describing text
A ->> B : mixd
end

And also when node contains long text:
sequenceDiagram
Aaaaaaaaaaaaaaaaaaaaaaa ->> B : abc
opt
A ->> B : mixd
end


⚠ API - Lens has degraded performance

In 1249e5a, API - Lens ($LENS_API_URL) experienced degraded performance:

HTTP code: 502
Response time: 604 ms

Resolved: API - Lens performance has improved in 8ee6973 after 6 minutes.


Custom Map Load Issue

BakkesMod Version:  Latest
RocketPlugin Version:  Latest

Describe the bug
A clear and concise description of what the bug is.
Checkbox using Custom Maps won't load .upk maps when clicking host unless workshop maps is checked also.
To Reproduce
Steps to reproduce the behavior:

Checkbox Custom Maps
Select map name
click host
nothing happens unless workshop maps is selected

Expected behavior
A clear and concise description of what you expected to happen.
map should load.
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Add any other context about the problem here.

I can't seem to replicate this issue, could you upload your Documents\My Games\Rocket League\TAGame\Logs\Launch.log and AppData\Roaming\bakkesmod\bakkesmod\bakkesmod.log after you replicate it.
If you don't want to upload them here you can dm them on discord to Stanbroek#9174.

I can't seem to replicate this issue, could you upload your Documents\My Games\Rocket League\TAGame\Logs\Launch.log and AppData\Roaming\bakkesmod\bakkesmod\bakkesmod.log after you replicate it.
If you don't want to upload them here you can dm them on discord to Stanbroek#9174.

I think its the workshop textures... Installed rocket plugin on my sons computer today. Worked fine on mine (workshop textures in tagames/cooked...) his i put them in the mod folder and bam he was able to host.


Puni values does not actually go over 0/100

The calculation for black and abyss puny is wrong. It assumes punis can go below 0 and keep the value there, but they don't. So while the net sum might be 0, the floor function and order of feeding affect the puni.
source: https://gamefaqs.gamespot.com/boards/264905-atelier-ryza-ever-darkness-and-the-secret-hideout/80560176/976307110

fixed in 60ae900


Images with transparency are visually overlaping

When Magnifier image has transparent background (for example SVG) then both images are visible and overlapped when zoomed.
Hiding "main image" in MagnifierRenderer.js seems to be enough to fix this problem:
visibility: isActive ? "hidden" : "visible"

I'll add this in to the next update, after looking into your other issue.

I just posted version 1.3.2 with this fix.


Create Client Object with Service Account Authentication

I am trying to connect to the Google Directory Service to pull a list of users. I am getting errors when creating the Google Client Object wehn authenticating using a service account. Here are my steps and code:

Created a project on the Google API Console
Enabled Admin SDK under Library
Created credentials - Service account key with DWD enabled
Downloaded the JSON OAuth2 Service Account JSON file that contains the Public/Private key pair
Created credentials - OAuth2 Service account Client ID
Downloaded the JSON Service account Client ID JSON file
Obtained API access from G Suite Admin Console providing the Client ID for the service account created above
Added necessary scopes: https://www.googleapis.com/auth/admin.directory.user, https://www.googleapis.com/auth/admin.directory.group, https://www.googleapis.com/auth/admin.directory.orgunit

`putenv('GOOGLE_APPLICATION_CREDENTIALS='.$path_to_oauth2ServiceJson);
$client = new \Google_Client();
$client->setApplicationName ('Application Name');
$client->useApplicationDefaultCredentials();
$client->setScopes (['https://www.googleapis.com/auth/admin.directory.user', 'https://www.googleapis.com/auth/admin.directory.group', 'https://www.googleapis.com/auth/admin.directory.orgunit']);
$client->setAuthConfig($path_to_service_account_client_id_json);
$client->setSubject($google_service_email_address);
$service = new \Google_Service_Directory ($client);`
I get a 500 error with: Notice: Undefined index: client_secret and my service account client ID JSON does not contain a client_secret_id key.
Any assistance is greatly appreciated!

Sorry for the delay. Are you still experiencing this issue?


Access to Rule data

I was wondering if it was possible to access data from within the defined rules?
for example in en.yaml there is a section for abbreviated months "Jan, Feb, Mar...." is there a function to get that data for use within the application?
not having duplicate this information into messages within the application would be quite the time saver.
I couldn't find anything in the documentation about it, however am still new to the library.
Thanks in advance.

Hi @joeybloggs!
Currently there's not a way to get at that data.
There's a missing feature in the date/time formatting that allows a datetime to be arbitrarily formatted. Like so:
// signature
func (t *Translator) FormatDateTimeCustom(format string, datetime time.Time) (string, error) { ... }

// usage
str, err := t.FormatDateTimeCustom("MMMM", dt)
// produces (en): January

This hasn't been implemented yet, but it would be nice and would open up all of the date/time component translations for usage. If you feel so inclined to implement this (or some other way of accessing these strings), please make a pull request!

Hi @verkestk
I was thinking of how to expose the rules, or specific rule data and thought that it couldn't really hurt to expose all of the rule data instead of just portions by defining multiple functions.
I then thought what would be the best way to expose it, via a pointer would be the most efficient off of the Translator struct but could potentially cause issues if someone tries changing the values while doing some sort of multithreading; the alternate would be to define a function to return the dereferenced Rules avoiding the issue, but less efficient.
It would all depend on how you wanted to handle this is your library, so I did both and you should see 2 pull requests one with each approach taken.
P.S. I would still like to create some functions to expose the Day, Month data as a map[int]string so that golang's build in day and month constants could be used, but will have to wait and see how you would like to expose the rules.

@joeybloggs looking into merging #8, pending some testing on our side.
Thanks

Awesome!
Post merge would you be interested in some functions that would parse out
the dates into a map[int]string so that they could be used with go's native
day and month constants? Or would that be too out of scope for this library?
On Tue, 3 Mar 2015 7:23 pm James Maloney<EMAIL_ADDRESS>wrote:

@joeybloggs https://github.com/joeybloggs looking into merging #8
https://github.com/vube/i18n/pull/8, pending some testing on our side.
Thanks
—
Reply to this email directly or view it on GitHub
https://github.com/vube/i18n/issues/6#issuecomment-77072157.

any word on the progress? definitely not trying to sound pushy just curious as I have a project that can use this change and need to know if I will have to create my own month and day of week messages or will have direct access
thanks in advance!


ValueError: cannot reshape array of size 2097142 into shape (780299,7)

Hi,
Great work and thanks for releasing the Code.
There is an error below, Is it related to numpy? Thanks a lot.
''[07/12 10:37:08 S3DIS]: Successful Loading the ckpt from log/s3dis/s3dis-train-pointnext-l-ngpus1-seed8572-20220711-202106-MtuyFobTuHUC9ZWGpn9bng/checkpoint/s3dis-train-pointnext-l-ngpus1-seed8572-20220711-202106-MtuyFobTuHUC9ZWGpn9bng_ckpt_best.pth
[07/12 10:37:08 S3DIS]: ckpts @ 66 epoch( {'best_val': 67.55729675292969} )
0%|                                                   | 0/63 [00:00<?, ?it/s]examples/segmentation/main.py:395: DeprecationWarning: np.int is a deprecated alias for the builtin int. To silence this warning, use int by itself. Doing this will not modify any behavior and is safe. When replacing np.int, you may wish to use e.g. np.int64 or np.int32 to specify the precision. If you wish to review your current use, check the release note link for additional information.
Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations
label = torch.from_numpy(cdata[:, 6].astype(np.int).squeeze()).cuda(non_blocking=True)
6%|██▋                                        | 4/63 [02:00<36:23, 37.02s/it]
17%|███████▎                                  | 11/63 [11:03<42:01, 48.48s/it]
95%|████████████████████████████████████████  | 60/63 [57:40<02:53, 57.68s/it]
Traceback (most recent call last):
File "examples/segmentation/main.py", line 528, in
main(0, cfg)
File "examples/segmentation/main.py", line 208, in main
test_miou, test_macc, test_oa, test_ious, test_accs, _  = test_entire_room(model, cfg.dataset.common.test_area, cfg)
File "/home/olan/anaconda3/envs/openpoints/lib/python3.7/site-packages/torch/autograd/grad_mode.py", line 28, in decorate_context
return func(args, **kwargs)
File "examples/segmentation/main.py", line 392, in test_entire_room
cdata = np.load(data_path).astype(np.float32)  # xyz, rgb, label, N7
File "/home/olan/anaconda3/envs/openpoints/lib/python3.7/site-packages/numpy/lib/npyio.py", line 441, in load
pickle_kwargs=pickle_kwargs)
File "/home/olan/anaconda3/envs/openpoints/lib/python3.7/site-packages/numpy/lib/format.py", line 783, in read_array
array.shape = shape
ValueError: cannot reshape array of size 2097142 into shape (780299,7)

could you please share the command
of course, the command is bash script/main_segmentation.sh cfgs/s3dis/pointnext-l.yaml

could you please share the command
of course, the command is bash script/main_segmentation.sh cfgs/s3dis/pointnext-l.yaml
This problem is due to the fact that you are using multi-gpus training, which is automatically performed on the test set after the training is completed.
test cannot use multiple gpus.
you should see https://github.com/guochengqian/PointNeXt/blob/master/cfgs/s3dis/README.md.


Updated some md

Please ensure your pull request adheres to the following guidelines:

[ ] make sure to link the related issues in this description
[ ] when merging / squashing, make sure the fixed issue references are visible in the commits, for easy compilation of release notes

Related Issues
Thanks for contributing!

this is generated documentation.


Adding tag ms.custom: contperfq1

For Content perf improvement https://dev.azure.com/mseng/TechnicalContent/_workitems/edit/1748466

@JasonWHowell : Thanks for your contribution! The author(s) have been notified to review your proposed change.


Next Build Register Link position

Description
On the event page the following items on mobile are too far right.

Register
RSVP
Apply
More Details

They should be in line with the icons above
Screenshot
https://drive.google.com/file/d/1VfRWpJ83cKBa4NI70T1BmU7pRufhRePY/view?usp=sharing
Acceptance Criteria

[ ] Items are adjusted to match production

Needs refinement. @mreed101 Add images


Update README-zh.md

I've updated the Chinese readme, thanks for developing this tool!

@ATFmxyl , very thanks!


Add Rails 5.2 test

Tweaked test implementation to use saved_change_to_attribute? method on Rails 5.1+.
Note: Travis tests fails with Rails 4.0. That is not related to this PR. (related: #27)

please merge this

Merging and will remove 4.0 tests.

MErging and will remove 4.0 coverage.


Hide folder arrows option

Hello. Just started using this extension and I really lke the simplicity. Can we get an option to hide folder arrows?

 I've published a new version of the extension that includes an additional icon theme without the explorer arrows, if you update to v1.1.1 you should be able to switch:

That was quick. Doing it right now. Thanks a lot, man.


Update translations from transifex

Drops our local-only fabric for invoke, extend common/tasks.py
Adds some more commands to update doc translation pieces
Fixes a context issue in application template
Rebuild docs locale from scratch
Drops docs/locale/en, it doesn't seem used
Translations are already update on Transifex

warning: inexact rename detection was skipped due to too many files.
warning: you may want to set your diff.renameLimit variable to at least 708 and retry the command.

Lots of noise here, the main pieces of interest would be:

docs/.tx/config
tasks.py
fabfile.py

Oh, also, note: this requires a patched sphinx-intl to run. settings is a reserved slug and transifex blows up when using it. We don't even have sphinx-intl as a dependency ATM. I can point to my fork for now.

Just going to merge this. No one has had time to review, and it's mostly just PR noise as all the files are generated.


Can't display the Custom model element

Hi,
Everything works well on my iPhone except that I can't display the custom element model here :
 <ARKit.Model
       pos={{ x: -0.2, y: 0, z: 0, frame: 'local' }}
       model={{file: 'art.scnassets/ship.scn', scale: 0.01}}/>

I added the file to my XCode project by creating a new AR project in XCode and copied the art.sncassets folder to my React Native Project :

I think everything is setted correctly but the ship won't show :/
Does someone have an idea why ?
Thanks for your work !

same here. NSURL *url = [[NSBundle mainBundle] URLForResource:property[@"file"] withExtension:nil]; returns nil in my case, so its a problem with the ios framework itself.
How do i bundle scene assets correctly?

Do you have the same folder architecture and code as I do ?

@DavoCg yes, try rebuilding the app. Try also to manually add the files to "art.scnassets" by right-click, add Files...
I also managed to load dae-files from a server (with textures), if anyone is interested:
(this is just a lazy example and has the issue that the first time you open a model, it won't show, because it still gets downloaded. I need to use proper lifecycle-functions to fix that)
import RNFetchBlob from 'react-native-fetch-blob'
import { unzip } from 'react-native-zip-archive'

const ModelWithDownload = ({ pos, modelId }) => {
  const modelUrl = `https://path/to/file/modelId=${modelId}`
  const path = `${RNFetchBlob.fs.dirs.CacheDir}/models/${modelId}/`
  console.log('downloading', modelUrl)
  RNFetchBlob.config({
    fileCache: true,
  })
    // path: `${path}file.zip` })
    .fetch('GET', modelUrl)
    .progress((received, total) => { console.log('progress', received, total, received / total) })
    .then((res) => { // the temp file path
      console.log('The file saved to ', res.path())
      unzip(res.path(), path).then(
        (unzipPath) => {
          console.log(`unzip completed at ${unzipPath}`)
        },
      ).catch(e => console.log('error', e))
    })
  const file = `${path}product-optimized.scnassets/model.dae`
  console.log('file', file)
  return (
    <ARKit.Model
      pos={pos}
      model={{
        scale: 1,
        file,
      }}
    />
  )
}

make sure your zip-files are prepared using this guide: https://the-nerd.be/2014/11/07/dynamically-load-collada-files-in-scenekit-at-runtime/
I also needed to adjust react-native-arkit a bit (i will release that with a PR soon):
// replace this line here:
 // NSURL *url = [[NSBundle mainBundle] URLForResource:property[@"file"] withExtension:nil];
// with this
    NSURL *url =  [NSURL fileURLWithPath: property[@"file"]];

we might check if the file path is absolute and use fileURLWithPath in this case.

Thanks for your code sample that's what I want to do !
I'll try to add files manually and I'll let you know ;)
If you want reviews for your PR I can help !

@DavoCg i created a new assets catalog and renamed the extension to scnassets.

Thanks @macrozone I finally manage to display custom model just by renaming the extension as you told me !
I'll try today to upload some zipped .dae samples for eveyone to use them to try the new feature you are implementing

@DavoCg is this resolved now?


Support to validate different / multiple conformance objectives.

Issue description / feature objectives
Fedramp (as an example) have defined expected values / conformance within the OSCAL schema (see here:https://github.com/GSA/fedramp-automation/blob/master/documents/FedRAMP_OSCAL_Registry.xlsx)
It would be a good feature if validation could be extended with a conformance format of some type.
Completion Criteria

Will add more details - a placeholder for now.

Based on discussion with Anca this is a need. The question is what language with which we express constraints. This looks promising https://github.com/amer-ali/jsontron - much like schematron would look like for xml.

This issue is on validate an acceptable design only. I've tagged it for Sprint 2 with Shaila and Jeff both on this. I think this may be more work than we think.

@jeffdmgit Here is the jsontron tutorial as discussed: https://amer-ali.github.io/jsontron/Jsontron-tutorial-v1.pdf

Related issues open in usnistgov/metaschema

Tracker Issue for Metaschema work: https://github.com/usnistgov/OSCAL/issues/633
Integrating XSLT-M4 Metaschema into OSCAL repo: https://github.com/usnistgov/OSCAL/issues/721

Summary (need-to-be-verified)
Extra metadata constraint validation is done on XML using schematron.
To validate extra metadata constraint on JSON, first the JSON is converted to equivalent XML and then schematron is applied on that.

Data validation using jsontron https://github.com/amer-ali/jsontron - Example

Goal: All properties MUST be of ns (namespace) "IBM"

Sample JSON to validate
sample-OSCAL-assessment-result-observation.json

{
  "sample_ar_observation":{
    "uuid":"",
    "title":"CIS CentOS Linux 7 Benchmark 2.2.0:<IP_ADDRESS>, <IP_ADDRESS>, Sep 11, 2020 at 5:12 PM AEST",
    "description":"IBM S&CC scan, CIS CentOS Linux 7 Benchmark 2.2.0:<IP_ADDRESS>, <IP_ADDRESS>, 2020-09-11T17:12:00+1000",
    "properties":[
        {
            "ns": "IBM",
            "class": "id",
            "name": "scan",
            "value": "SGA Centos validation - Sep 11, 2020 at 5_12 PM AEST"
        },
        {
            "ns": "IBM",
            "class": "id",
            "name": "profile-name",
            "value": "CIS CentOS Linux 7 Benchmark 2.2.0"
        },
        {
            "ns": "IBM",
            "class": "id",
            "name": "rule",
            "value": "<IP_ADDRESS>"
        }
    ],
    "annotations": [
    ],
    "observation-methods":[
        "TEST-AUTOMATED"
    ],
    "subject-references": [
        {
            "uuid-ref":"(may not apply unless part of a complete OSCAL SAR/SSP -- but note that OSCAL *requires* this)",
            "type":"component",
            "title":"<IP_ADDRESS>",
            "props":[
                {
                    "ns": "IBM",
                    "class": "id",
                    "name": "IT-resource",
                    "value": "<IP_ADDRESS>"
                },
                {
                    "ns": "IBM",
                    "class": "id",
                    "name": "control-target",
                    "value": "centos"
                }
            ]
        }
    ],
    "evidence-group": [
        {
            "href":"",
            "description":"S&CC scan result",
            "properties":[
                {
                    "ns": "IBM",
                    "class": "info",
                    "name": "actual-value",
                    "value": "[{\"name\":\"cramfs\", \"status\":\"disabled\", \"value\":\" install /bin/true \"}]"
                },
                {
                    "ns": "IBM",
                    "class": "info",
                    "name": "expected-value",
                    "value": "Mounting of cramfs filesystems should be disabled"
                },
                {
                    "ns": "IBM",
                    "class": "result",
                    "name": "result",
                    "value": "PASS"
                },
                {
                    "ns": "IBM",
                    "class": "info",
                    "name": "detail",
                    "value": "Mounting of cramfs filesystems is disabled"
                }
            ]
        }
    ]
}
}

Sample rule to be used by jsontron
rule-OSCAL-assessment-result-observation.json

{
  "schema": {
    "id": "OSCAL AR Observation Rules",
    "title": "Schematron Semantic Validation",
    "schemaVersion": "V1",
    "queryBinding": "jsonpath",
    "pattern": [
      {
        "id": "observation_properties",
        "title": "OSCAL AR Observation Properties",
        "abstract": false,
        "rule": [
          {
            "id": "ns_ibm",
            "abstract": false,
            "context": "$.sample_ar_observation.properties.*",
            "assert": [
              {
                "id": "assertid1",
                "test": "jp.query(contextNode, '$..ns') == 'IBM'",
                "message": "Assert 1: All observation properties MUST be of ns (namespace) IBM"
              }
            ]
          }
        ]
      }
    ]
  }
}

Command
node $JSONValidator -i sample-OSCAL-assessment-result-observation.json -r rule-OSCAL-assessment-result-observation.json -d

Output

Starting Semantic Validation ......... Parsing Pattern: observation_properties 1 Pattern(s) Requested. 1 Pattern(s) Processed. 0 Pattern(s)  Ignored.  Total Errors Found: 0 Total Warnings Found: 1 Total Validations: 3 Total Failed Assertions: 0 Full Validation Report :  Report {   errors: [],   warnings: [     {       schInstance: [Object [global]],       schema: [Object],       attribute: 'Phase',       message: 'Parsing Warning. No phase found ',       detail: "This schema doesn't have any phase defined . All Patterns will be processed."     }   ],   validations: [     {       schRule: [Object],       ruleContext: [Array],       assertionid: 'assertid1',       assertionTest: "jp.query(contextNode, '$..ns') == 'IBM'",       message: 'successful',       assertionValid: true     },     {       schRule: [Object],       ruleContext: [Array],       assertionid: 'assertid1',       assertionTest: "jp.query(contextNode, '$..ns') == 'IBM'",       message: 'successful',       assertionValid: true     },     {       schRule: [Object],       ruleContext: [Array],       assertionid: 'assertid1',       assertionTest: "jp.query(contextNode, '$..ns') == 'IBM'",       message: 'successful',       assertionValid: true     }   ],   finalValidationReport: [],   valid: true }

Approaches:
Integrate external tool like jsontron - No - lots of dependancy
Develop min validator by ourselves like jsontron - lots of parsing
Define as factory style class - build - python abstract class interface - passes object - preferred

Attachched image based on latest discussion.

There can be different types of conformance validators for different parties like ibm, fedramp, etc. as well as a default cross structural conformance validator.
The expected order of operation: basic oscal schema validation, cross id (uuid) uniqueness validation, default cross structural conformance validator, selected conformance validator (ibm, fedramp, etc.)
The overlay of validators on top of basic socal schema validator can be optional.
Validation can happen both Inter document and intra document.

From validation perspective, the expected scenario is:

Input: one or more oscal object
Output: pass / fail
Log: the reason behind the output

To be discussed:

How do we mention which validator we want to use if there are many?
What will be the interface to specify the constraints?

@butler54 @jeffdmgit Here is the response from the OSCAL team on the issue of Validating extra-schema constraints over JSON: https://github.com/usnistgov/OSCAL/issues/726

@vikas-agarwal76 - based on the exchange protocol requirements we should revisit this as an issue.


[highfive] new port

HighFive C++11 wrapper for libhdf5. Header-only port

@veggiesaurus,
Thanks for having already signed the Contribution License Agreement. Your agreement was validated by Microsoft. We will now review your pull request.
Thanks,
Microsoft Pull Request Bot

Thanks!


list/get commits and get comments

See https://github.com/nodejs/Release/issues/262#issuecomment-336851842

2.1.0


docker-compose.override.yml file contains images that are not available public

Describe the bug
docker-compose.override.yml example contains:

sitecore-horizon-integration-${TOPOLOGY}-cm:${VERSION}
sitecore-horizon-integration-${TOPOLOGY}-mssql:${VERSION}

As there is no code that can build these images in this repository or any description, where to get these images, I expect that they should be available in the official Sitecore images repository on scr.sitecore.com:
https://raw.githubusercontent.com/Sitecore/docker-images/master/tags/sitecore-tags.md
But these images are absent there.
To Reproduce
Steps to reproduce the behavior:

Edit your docker-compose.override.yml using examples provided in this repo
Run docker-compose up -d
See error scr.sitecore.com/sxp/sitecore-horizon-integration-xm1-mssql:10.1.0-ltsc2019 not found

Expected behavior
docker-compose should be able to download images and start containers based on that images.

OS: Windows 10 1909

Anyone ever going to fix this?  Cannot install horizon at all without a working image available.
ERROR: for cm  pull access denied for sitecore-horizon-integration-xp0-cm, repository does not exist or may require 'docker login': denied: requested access to the resource is denied
HRZ_HOST=sitecore.horizon
VERSION=10.2-ltsc2019
TOPOLOGY=xp0


Identity proofs check for EU nationality is incorrect

Bug Description
The function isEuCountrySet does not correctly check if the set of countries equals the set of EU members. A list containing a repetition of a single EU member country will also resolve to true when it shouldn't.
Steps to Reproduce
Use the proof explorer (https://web3id-proof-explorer.testnet.concordium.com/) to generate a set proof where the set is
DK,DK,DK,DK,DK,DK,DK,DK,DK,DK,DK,DK,DK,DK,DK,DK,DK,DK,DK,DK,DK,DK,DK,DK,DK,DK,DK

Expected Result
The UI should display this as proving that the nationality is in the exact list provided, and thereby not triggering any special EU membership UI.
Actual Result
The UI will display this as proving that the nationality is in the EU.
Versions

Software Version: 1.4.2

Verified in 1.5.0.


Add Support for pkg.go.dev

Let's add proper support for Go!
https://pkg.go.dev/github.com/gin-gonic/gin
From: https://github.com/sonatype-nexus-community/nexus-iq-chrome-extension/issues/130
Examples to ensure work:

[x] https://pkg.go.dev/golang.org/x/text
[x]<EMAIL_ADDRESS>[x]<EMAIL_ADDRESS>[x] https://pkg.go.dev/go.etcd.io/etcd/client/v3
[x]<EMAIL_ADDRESS>[x] https://pkg.go.dev/gopkg.in/ini.v1
[x]<EMAIL_ADDRESS>
Examples that shouldn't work:

[x]<EMAIL_ADDRESS>(because of +incompatible)

:tada: This issue has been resolved in version 2.21.0 :tada:
The release is available on:

Chrome Web Store
v2.21.0
GitHub release

Your semantic-release bot :package::rocket:


chore: fix lint.yaml.tftpl

correct bug introduced when we switched from hard coded Makefile to find

applied


Game "Locks up" almost immediately after data is loaded and game is ready to play

While attempting to play on sourga.me.   I can hit Escape to release the mouse. The browser itself is still responding, just no response in-game.
 Maybe I tried to play in the middle of an update/new deployment?

Could have also been on my version of Chromium 100 as it is still doing it, but it was previously untested.
Chromium 98 had the same as well but now working

Chromium 100 now working. Could have been a caching issue.

I have seen this before; it's really random. Honestly I need to take a good look at the whole game startup flow; it's pretty clear that there are a lot of things that can cause deviations from the happy path. Emscripten's code seems to be pretty brittle in these situations; I will likely have to reimplement a lot of the startup logic.


[Secret NFTs] SGX pallet health status before minting secret

Is your feature request related to a problem? Please describe.
Checker: Can I mint a Secret? => at least 1 cluster full on-chain + /health check request on all enclaves of the cluster.
Describe the solution you'd like
Returns a boolean if the NFT can be minted ?
Isolate the function as it's not needed to do it each time (in case of batch it needs to do it just one).
Describe alternatives you've considered

Additional context
No response

Resolved in #141


False positive in atsdr.cdc.gov

https://oadoi.org/10.1001/jama.1886.04250010026007 redirects to https://www.atsdr.cdc.gov/ToxProfiles/tp42-c8.pdf which is some 2002 bibliography, nothing resembling the original "article" https://jamanetwork.com/journals/jama/article-abstract/423969

A similar example: https://oadoi.org/10.1056/nejm187511250932211 goes to https://www.atsdr.cdc.gov/ToxProfiles/tp42-c8.pdf (oh, the same file!) which is just a bibliography.


go buld -ldflags -X does not work if a package path endswith "/"

What version of Go are you using (go version)?
go version go1.10 linux/amd64
Does this issue reproduce with the latest release?
yes
What operating system and processor architecture are you using (go env)?
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
What did you do?
create a very simple pakcage, try to append version number during compile time
src/dummy/main.go
package main

import "fmt"

var (
	version = "NONE"
)

func main() {
	fmt.Printf("Version is %s\n", version)
}

What did you expect to see?
since below command will run without any error:
go build -o bin/dummy -ldflags "-X main.version=1" dummy/ <- with /
it shall produce the same binary as by:
go build -o bin/dummy -ldflags "-X main.version=1" dummy  <- without /
What did you see instead?
The "with /" case, version is not set by -ldflags "-X main.version=1"

This appears to be the same issue as reported in #24456.

Duplicate of #24456


SIGNUPS_ENABLED -> ACCOUNT_SIGNUPS_ENABLED in docs

w/ some unintended linting as a "bonus" 🤷 I can revert those if you want me to.

The linting is fine, don't worry. Thanks for the catch. I'm shocked that this went unnoticed for so long, though. I guess this is a good example of how everything is designed to fail safe (i.e., disabled signups).


Add dragStateProperty to DragListener and SimpleDragHandler

In the process of adding sound to simulations, I have run into a number of cases where the code needed to know how the user was interacting with a slider in order to determine how and when to play a sound.  In these cases, the startDrag and endDrag methods of the drag handler were modified to set local state variables that kept track of the type of dragging.  An issue was logged about this in https://github.com/phetsims/ohms-law/issues/152, and that issue includes a code example of how this was done.
Since this is likely to come up for any sort of dragging, it would be helpful to have some sort of state indication that is inherent to the drag handler itself.  I recently added code to a class called MassControl in Gravity Force Labs that set a state variable via the drag handlers.  It looked like this (code not related to this issue was omitted):
      startDrag: event => {
        if ( event.type === 'enter' || event.type === 'move' || event.type === 'down' ) {
          this.sliderDragStateProperty.set( SliderDragState.DRAGGING_VIA_POINTER );
        }
        else if ( event.type === 'keydown' ) {
          this.sliderDragStateProperty.set( SliderDragState.DRAGGING_VIA_KEYBOARD );
        }
      },
      endDrag: () => {
        this.sliderDragStateProperty.set( SliderDragState.NOT_DRAGGING );
      },

This turned out to be very useful and seemed fairly general.  Shall we add this to the drag handlers themselves?
Assigning to @jonathanolson for his input, since these are Scenery input handlers, and marking for dev meeting for more general review.  I'm happy to do the implementation if approved.

This looks really nice to me, I agree this is useful.  There are two other event types that we currently listen for with sliders which are input and change which come from iOS VoiceOver or a switch device. We will want to include those as another value in SliderDragState.
I wonder if this is more general than dragging, we may want this information when using buttons or other things. So should this kind of thing be in PressListener instead of DragListener?

This sounds great to add in. What are all desired states?

As discussed in dev-meeting on 12/05/19:
@zepumph  mentioned the scenery event as detailed above may work (instead using event.isAlly()). Additionally using sceneryPointer may help determine if the event comes from the PDOM or another source.  This may work for Sonification, but there are other general inputs that can benefit from this event recognition (keyboard, touch or pointer).
@jbphet will make an attempt at using event.isAlly()

I suggested using startEventProperty.value  = event so we have the entire event API at our disposal.  Then in the end event, we could set startEventProperty.value = null.

@jbphet , https://github.com/phetsims/sun/issues/536 is very similar to this issue. I would love to discuss before either of us go further on these.

In order to have the code as @jbphet had it above in DragListener, KeyboardDragListener would have to be integrated into it. This would complicate this issue a fair bit, but I feel like it may be good work to do.
It is hard to know that these always correspond to the same Node across the project, though they likely overlap mostly. I want to mark this for discussion with @jessegreenberg tomorrow to see how it may look to add KeyboardDragListener logic into DragListener.

I am hesitant to add KeyboardDragListener into DragListener and I think most usages of DragListener would not want KeyboardDragListener functionality. Since it is so difficult to describe arbitrary 2D motion, we generally try to use alternatives first like AccessibleSlider for 1D motion, or even a limited set of positions for an object.

After discussing with @jessegreenberg today, we thought through potential general solution to know whether events come from the PDOM or not. Note that we already have SceneryEvent.prototype.isFromPDOM(), and that has the capability to check for any event passed into a listener callback. We thought about potentially having a trait for Node that just has inputFromPDOMProperty or something. The implementation of which would listen to all scenery events and set the Property based on the most recent event. This implementation though does really make sense for most interactions. Take activating a button. While there are keydown/keyup or down/up events that accompany that, the "activation" is really only a single moment that comes from an event. Same with a checkbox. I couldn't really figure out how the mixin would be used outside of the dragging case.
That lead us to discuss the specific Ohms Law case with @jbphet. It is explained more in https://github.com/phetsims/ohms-law/issues/152, but briefly the Property mentioned above will likely go away when using a newer pattern for sound where we listen to user interaction (from the events) instead of the to the model.
From this I think we are ready to close this issue, and not implement anything for scenery listeners.
Closing


Playground example does not react to NPM install - no dependencies in package.json

examples/playground does not install because the packages.json does not have any dependencies

This is intentional.  All the dependencies are inside of the root directory for Mortar itself.
However, this could definitely be documented better. I'll work on that. Thanks


Params are not being passed through via forwardTo('db')

When using forwardTo('db') to pass a db query through to the graphql-yoga server, the params available on the db side aren't made available on the yoga side.
For example, from Query.ts:
import { forwardTo } from 'prisma-binding'

export const Query = {
  grades: forwardTo('db'),
...
}

The following query will work fine in the Playground when using the db (Prisma Cloud), but not when using our graphql-yoga endpoint:
query {
    grades(orderBy: number_ASC) {
      games {
        id
      }
      longname
      number
      shortname
      url
    }
  }

Error message received:
{
  "errors": [
    {
      "message": "Unknown argument \"orderBy\" on field \"grades\" of type \"Query\".",
      "locations": [
        {
          "line": 2,
          "column": 12
        }
      ]
    }
  ]
}

Here's a video screen cap of it in action: https://streamable.com/017m6
Expected behavior: Params are passed directly through to the db's graphql server.

Can you share the definition for the grades query in your application server's schema.graphql?

From schema.graphql:
# import Game, GameCreateInput, Grade from "./generated/prisma.graphql"
type Query {
  grades: [Grade]
  ...
}

Ah, that's probably the explanation. Please try this instead:
# import Game, GameCreateInput, Grade, GradeOrderByInput, GradeWhereInput from "./generated/prisma.graphql"
type Query {
  grades(where: GradeWhereInput, orderBy: GradeOrderByInput): [Grade]
  ...
}

Note that if you want to add more inputs like skip or first, you need to add them to this query declaration in a similar fashion.
I expect this problem to be resolved with this adjustment, let me know if that's not the case 🙂

Yes, that was it, works as expected now. Feel free to close this issue.

Great!

I'm having the same issue. Does this mean that I have to manually declare the all those imports for each resolver I'm forwarding? Feels like the kind of boilerplate I'm trying to avoid by using forwardTo('db') in the first place unless i'm mis-understanding?

@lionstone , I had the same problem, but I found a solution. You can actually import queries from prisma.graphql like this:
# import Query.posts from "./generated/prisma.graphql"
Then in your resolver you just do posts: forwardTo('db')
This exposes the posts query from prisma to the world, without having to write schema twice.

s


add --vintage toggle

We need a different set of reconcilers running on vintage and CAPI clusters.
So we'll have a CLI flag to select which mode we want when running the logging-operator.

@TheoBrigitte what prevents us from adding this argument in the deployment if this is a vintage installation?


[UI] Subutai Successfully Updated message keeps coming on after updating Subutai.

After updating Subutai this message ^^ keeps coming on every 3-5 seconds, to make it gone users will need to logout and login back, but this cant be a solution, we need to fix this, so users wont have any kinda uncomfortable situations like this.

Tested, the issue is fixed, closing the ticket.


Upgrade from gpt-4-turbo to gpt-4o

From my testing it's just better - better quality, handles images better, half the price.

I gave it this image:

With this prompt:
Detailed description of this image, in iambic pentameter

And got this back:

Upon this lawn beneath the sky so blue,
Stands building white with domes of hefty size.
Its columns firm and strong within their view,
They rise, a marble reach into the skies.
A pathway paved, and sidewalks smooth and broad,
Conducts the people scattered all around.
In leisure pace, they walk upon the sod,
Or sit and rest upon the grassy ground.
Three domes it has, they tower o'er the rest,
With rooftop high they point towards the stars.
A monument nearby the scene does bless,
Cylindric shape, a sight that none it mars.
Beneath sunlight, with shadows sharp and clear,
The Griffith’s dome stands tall and grandly here.


Publish 1.0

After a code review I will publish 1.0

It would be nice to simplify the svg (looks like sketch adds extra attributes and transforms), and then make them into components instead of dangerouslySetInnerHTML.
Is there a particular reason to preventDefault on the click?
TIL: element.click()

Without the preventDefault the "With a  wrapper tag" demo does not work. The checkbox ends up being double-clicked and doesn't effectively change state.

@thetalecrafter, it's using proper SVG components now: https://github.com/instructure-react/react-toggle/commit/12d5a10c7e64976d9e5eab3fede3f6f00e22f67a

Upon click, I could perhaps check the ancestor elements for a <label>, and then choose not to manually click/focus if found.

I love the svg components. If the checkbox were styled instead to be transparently covering the entire toggle, you wouldn't need handleClick at all, because any click would be hitting the checkbox. There would be no need for a simulated click(), and no need to cancel the original event.
That would mean that consumer are more tied to the provided css, but I'm not that worried about that.


Update to v1.4.1

Version bump. Merging immediately.

docker-library PR: https://github.com/docker-library/official-images/pull/523


Reading Croton data set for qlat input

Closed by #90 -- capability provided to read any generic input from a WRF-Hydro simulation. Tested succesfully with Florence, Pocono, Replace-and-Route domains.


Unhandled Promise Rejection

Sentry Issue: KAP-ATG

macOS version:    Monterey (12)
Kap version:      3.5.1
Unhandled Promise Rejection

Error: Command was killed with SIGTRAP: /Applications/Kap.app/Contents/Resources/app.asar.unpacked/node_modules/mac-screen-capture-permissions/screen-capture-permissions
    at makeError (/Applications/Kap.app/Contents/Resources/app.asar/node_modules/mac-screen-capture-permissions/node_modules/execa/lib/error.js:59:11)
    at Function.module.exports.sync (/Applications/Kap.app/Contents/Resources/app.asar/node_modules/mac-screen-capture-permissions/node_modules/execa/index.js:187:17)
    at exports.hasScreenCapturePermission (/Applications/Kap.app/Contents/Resources/app.asar/node_modules/mac-screen-capture-permissions/index.js:27:25)
    at Object.ensureScreenCapturePermissions (/Applications/Kap.app/Contents/Resources/app.asar/dist-js/common/system-permissions.js:64:23)
    at Object.openCropperWindow [as open] (/Applications/Kap.app/Contents/Resources/app.asar/dist-js/windows/cropper.js:81:31)
    at Object.openCropperWindow (/Applications/Kap.app/Contents/Resources/app.asar/dist-js/tray.js:18:129)

MacBook Pro (14-inch, 2021)
Apple M1 Max
macOS - 12.0.1 (21A559)
Menu bar app loads. Preferences and all native system windows work. Clicking primary action in menu bar immediately crashes

This one is hitting me as soon as I open the app, before I see any menu bar item, preferences, etc. I have a 2022 16" M1 Max MacBook Pro.

same here.
Is these a fix for it?

I'm experiencing this issue as well, also seeing it on an Apple M1 MacBook Pro. This device does not have Rosetta 2 installed. It is working on a different M1 machine that is using Rosetta, so I wonder if that may have something to do with it.

Also hitting this 😭

Still a problem today from January.
I will look into this next week if no resolution yet by then.

still experiencing this. had to reset my computer and therefore redownload kap and now I can't open it. getting error below.
Unhandled Promise Rejection
Error: Command failed: /Applications/Kap.app/Contents/Resources/app.asar.unpacked/node_modules/mac-screen-capture-permissions/screen-capture-permissions
spawnSync /Applications/Kap.app/Contents/Resources/app.asar.unpacked/node_modules/mac-screen-capture-permissions/screen-capture-permissions Unknown system error -86
    at Function.module.exports.sync (/Applications/Kap.app/Contents/Resources/app.asar/node_modules/mac-screen-capture-permissions/node_modules/execa/index.js:168:25)
    at exports.hasScreenCapturePermission (/Applications/Kap.app/Contents/Resources/app.asar/node_modules/mac-screen-capture-permissions/index.js:27:25)
    at ensureScreenCapturePermissions (/Applications/Kap.app/Contents/Resources/app.asar/dist-js/common/system-permissions.js:64:23)
    at Object.openCropperWindow [as open] (/Applications/Kap.app/Contents/Resources/app.asar/dist-js/windows/cropper.js:81:66)
    at Object.openCropperWindow (/Applications/Kap.app/Contents/Resources/app.asar/dist-js/tray.js:26:129)

Included a screenshot of the version of my macbook

I just provided a fix for this.
see this https://github.com/wulkano/Kap/issues/1231


add info about PA-PK-AS-REQ (16)

https://github.com/MicrosoftDocs/windows-itpro-docs/issues/5583

@JohanFreelancer9 - kindly do the copy editor review for this PR. Thanks.

#sign-off

@Dansimp - PR has been copy edited and is ready for final review. This is based on issue #5583
Thank you.
cc: @kenwith


initialValue for FormBuilderChipsInput

Hi, i have a list of object, how can i set it as initialValue for FormBuilderChipsInput?

The initial value of FormBuilderChipsInput should be a List of the Objects expected as input.

does the initial value have to be the same instance as List of the objects in input?
i tried to insert list of object from api as initial value, but it seems FormBuilderChipsInput doesnt see it as their own list

Yes. The same object type expected as the output should be used as initial value.


Add detect-cve-2020-8557.md Chinese file

Add detect-cve-2020-8557.md Chinese file
Signed-off-by: tianying<EMAIL_ADDRESS>

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: cytianying
To complete the pull request process, please assign jasondellaluce after the PR has been reviewed.
You can assign the PR to them by writing /assign @jasondellaluce in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Configuration in OASIS landing page

right now I am personalizing the landing page of our OASIS by editing the source code, see for example
https://github.com/nomad-coe/nomad/compare/develop...mdforti:nomad:nomad-icams
which produces the landing page in the screenshot,

Would it be possible to do this in a config file instead of having to edit the source code? The last option requires to re build docker images every time which might be avoided .
I will appreciate if you consider this.
Thanks in advance.

 We will consider this for the landing page of the new UI.


Add single instance app property

Added MARATHON_SINGLE_INSTANCE_APP - which prevents users from scaling this beyond one instance. It was also necessary to add an upgradeStrategy.
Tested and working - right now the error message isn't too intuitive but will be improved with future Marathon versions:

@sunil can you file a marathon ticket for that informative error message?
On Fri, May 6, 2016 at 4:45 PM, Roger Ignazio<EMAIL_ADDRESS>wrote:

Merged #442 https://github.com/mesosphere/universe/pull/442.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub
https://github.com/mesosphere/universe/pull/442#event-653133885

@jdef - I raised it with the Marathon UI team and they have a related ticket already :)


Nuxt renamed useMeta to useHead and somehow this clashes

Nuxt renamed useMeta to useHead and somehow this clashes.
const useMeta: typeof import('../../node_modules/nuxt3/dist/head/runtime')['useMeta'] // deprecated
...
const useHead: typeof import('lodash-es')['head']

Temp fix
For now i added exclude: ['head'],
which results in
  const useHead: typeof import('../../node_modules/nuxt3/dist/head/runtime')['useHead']
  const useMeta: typeof import('../../node_modules/nuxt3/dist/head/runtime')['useMeta']

Added a comment in the breaking changes section

added head to exclude list by default as it is same as first. U can also alias first back to head when using different prefix.


Display warning when removing a column without DeprecatedColumns

Whitehall runs on multiple servers. When we're removing a column with remove_column, the database migration is run after the new code is deployed and Rails has restarted. This will result in exceptions being raised when ActiveRecord tries to load the just-removed column. We solve this by using a mixin (DeprecatedColumns) that prevents Rails from using the removed column.
However, this is a manual process not known to all developers, so we still get burned sometimes (https://github.com/alphagov/whitehall/pull/2309 was the one that bit us last).
This commit monkey patches ActiveRecord::ConnectionAdapters::SchemaStatements to provide the developer with a warning whenever a "unprotected" migration is run.

Trello: https://trello.com/c/y1FByxVB.
I'm not 100% sure of the approach taken here. The monkey patching doesn't feel very clean, and I don't know ActiveRecord enough to be super confident that this works in all situations. However, I think that this is better than nothing. Thoughts anyone?
@rboulton @alext

I like this idea a lot, it doesn't just apply to Whitehall either. Instead of using alias_method_chain, could prepend be used? We're on modern Ruby in Whitehall

As discussed on Slack, I've experimented with using prepend but couldn't get it working. I say we revisit that later when prepend is a little better understood.

I've updated this PR to address feedback from @heathd via @rboulton. The tests now only test the column_deprecation_status method so that we don't have to rely on the AboutPage model existing and don't have to rescue the MySQL errors.
This PR can be reviewed again.

I like this a lot. Was there a reason to go with a WARNING instead of raising an error and aborting?

@jamiecobbett That would be possible, but I'm not sure how old migrations might behave. Maybe we could do that after this has been used in production for a while?

I guess if it raised an error then you might get in a situation where you couldn't roll back.


MAX-10493 Add hover color for trigger icon

Added focus color for trigger icon.

test again

@cla-bot check

@evanjd How can I check the failed reason for The Travis CI build failed?

@benjaminliugang Click the Details link for the build log. The build failure isn't from your changes so you don't need to worry about fixing anything.
I'm working on the broken tests now, will merge the fixed tests into your branch ASAP.

Already find the error log, it seems the failed tests are not caused by change.
https://travis-ci.org/predixdesignsystem/px-product-switcher/builds/465288484?utm_source=github_status&utm_medium=notification

Tests fixed on master, merging.

@evanjd , Thanks!


Feature request: timeout

Would be nice with a timeout flag that could be used mainly for the auto-complete feature when the namenode is slow at responding. Tab completion isn't very useful if it takes more than say a second to get the completion, but currently the user has to cancel the completion with a ctrl-C sequence in that case which aborts the current command altogether.
What do you think?

This would surely be a great feature!


Case convention for the standard library

Right now the code in stdlib/ contains a mishmash of styles, with UpperCamelCase and snake_case most predominant. We should decide on a common case convention for:

local variables
constants
free functions
type parameters
generic placeholders (~`T)
structs
struct members
scopes
scope blocks
exported vs module-local versions of each of the above

I don't have a concrete proposal yet, but here are some miscellaneous thoughts on the topic:

As of now, reserved keywords are almost entirely single-word lowercase. If we use UpperCamel it's very clear what is a keyword and what is user-defined.
The scopes in core.ic are all lowercase to mimic C-like languages (for, if, while, etc.) On the other hand, the scopes in file.ic are upper-cased (With and Lines) because they're not mimicking anything in particular.
The foreign functions defined in stdlib/c/ are generally named identically to their foreign counterpart (atoi, double, isdigit, etc.)

Finally: whatever convention we decide to follow for stdlib code is very likely to become the convention for all Icarus code. We should do our best to make it readable, convenient to use, and easy to remember.

As of now, reserved keywords are almost entirely single-word lowercase. If we use UpperCamel it's very clear what is a keyword and what is user-defined.
I think we should consider this a non-concern. Builtins do not need to prime syntactic real estate. Zig prefixes them with @. C++ prefixes them with underscores. I don't think ours will be as hidden as they are in C++, but nevertheless, they should take a backseat to library code.

Naming conventions, some common, some I just made up for this post, so we have a language with which to talk about these options.

snake_case
camelCase
PascalCase
hyphen-case
SHOUTING_CASE
double_under_case
_pre_snake_case
post_snake_case_

Thoughts:

There's value in post snake case for struct fields, giving them some visual separation from the object of which they are a field.
public symbols that are intended to be used outside the current module should be the simplest because they are interacted with the most. To me the simplest are snake, camel, and pascal.
we should not have separation between functions and values as is done in the Google C++ style guide, because the distinction is hazy with functors and callable objects.
Deviating from the spellings for, if, and while provide no value and have very high cost to the learning curve. This makes me think scopes should generally be snake or camel case.
Types are values so we should not distinguish spelling.
constants are meaningfully different from variables and could be a useful distinction. Note that types and functions are often constants but not always.
like scopes, there is value in keeping foreign functions matching the spelling in other languages. If we're mostly pulling from C this means snake case. But I also thing it makes more sense to carve these out as exceptional if need be rather than have them dictate the conventions globally.
perhaps it's just familiarity, but simple getters/setters shouldn't need capitalization.

One category that I forgot about in my initial list: module names. We currently use snake_case for modules, but this runs the risk of name clashes (especially for constructions like c ::= import "c/stdio.ic"). I know that technically modules are just values like everything else, but a syntactic distinction may be useful.

I suspect it will be rare for the standard library to export modules, so the naming convention here shouldn't matter too much. That being said, I'd like to aim for the standard library to be readable just like "normal code" and so it's possible that whatever conventions we choose will be copied.
In my mind the bigger concern is that modules will be spelled frequently and should therefore be unobtrusive. If we make them annoying to spell (e.g., something horrible like RoLlErCoAsTeRcAsE, users will opt for embedding the module with -- ::= import "xyz". This isn't as horrible as using namespace in C++, but it still probably produces a worse reading experience in most cases.


Hand Object

I'd make it an "item 3D" and an "item 2D" node, then let the developer place it where it is needed. (dropped item, held item, displayed item etc)

I created a hand object port issue #28 and another to create a 2D example #27.


How are Vectors (defined in td_api.tl) getting encoded to json?

As defined in td_api.tl, Vectors take an anonymous/unnamed parameter with the type nat and a list of anonymous parameters with the type t. My guess is that Vectors are simply encoded as JSON lists but I'm not 100% sure since that implies the implicit nat never gets used.

Vector is encoded as JSON Array. This is described in JSON interface documenation there: https://core.telegram.org/tdlib/docs/td__json__client_8h.html.

oof how could I miss that. sorry for the inconvenience


Flash error with ESP32-C3 via USB_SERIAL_JTAG: Timeout

esptool.js v0.1-dev
Serial port WebSerial VendorID 0x303a ProductID 0x1001
Connecting....
Detecting chip type... ESP32-C3
Chip is ESP32-C3 (revision 3)
Features: Wi-Fi
Crystal is 40MHz
MAC: 84:f7:03:a0:ee:ec
Uploading stub...
Running stub...
Error: Timeout
Compressed 2209028 bytes to 1330626...

Screenshot from Chrome Console

@balloob fyi

When using Tasmota WebInstaller which uses esp-web-flasher under the hood flashing does work.

Maybe the C3 stub is incorrect and so gets stuck once written to RAM https://github.com/espressif/esptool-js/blob/main/targets/esp32c3.js

Having the same issue with ESP32-C3.

same issue

Related? https://github.com/espressif/esptool-js/pull/54

@brianignacio5  Can you implement in your PR?

This should be now fixed by #54, thanks @liux-pro!

I thought I tested the final merge commit on both C3 with USB_SERIAL_JTAG and CP2102, but looks like I didn't.
Updating the stub binary seems to solve the issue. I'll do more checks with different boards and open a PR.

@liux-pro may I ask you to try https://github.com/espressif/esptool-js/pull/65 and see if that fixes the issue on your end? I've only updated the stub binary for ESP32-C3 there.

@liux-pro may I ask you to try #65 and see if that fixes the issue on your end? I've only updated the stub binary for ESP32-C3 there.

Fully functional !

Confirmed working. Good for release when debugging Infos are removed.

#65 has been merged, hopefully this is fixed for good!


Examples missing

Would be nice if there was examples of usage, e.g. standalone or part of aspi.net webpi

I think Nancy.Rdf makes a good example of how json-ld.net can be implemented.

Thanks. I'd also look at JsonLD.Entities

It's great that this library is on nuget and github. But without some guidance or examples, how will people actually use this instead of looking for another library that have examples?

Any and all doc PRs for this would be greatly appreciated :smile:

As a start, it would be helpful to have a general hint about what things one can expect to do with this library. I know from another thread here that it's not for serializing POCOs to JSON-LD. So of the approximately infinity other things I can do with a computer program, which ones will this library help with? My understanding is that it was created to help with NuGet returning JSON-LD data, so obviously it must be of some help in generating JSON-LD, but how?
The problem with JsonLD.Entities and Nancy.Rdf, while I'm sure they are excellent libraries, is that at the moment almost all of my work around learning JSON-LD is being done in .Net Core on OS X, so the fact that they depend on paket and Fody (for starters -- both also have several other dependencies that are not supported on Core) makes that route a non-starter for me.
Something as simple as "given the following JSON-LD, to read it and access the data..." and "to produce JSON-LD in the following format..." would be helpful. Since I'm going to have to learn this anyway, I'm happy to produce a doc PR, but I know just enough about JSON-LD to be dangerous so I'm going to need somebody to get me pointed in the right direction first.

@colin-young json-ld.net also doesn't work on Core, does it?

According to Introducing .Net Standard, Core implements .Net Standard 1.6, and according to NuGet, json-ld.net is supported on .Net Standard 1.3, so it should work. I know I've compiled with a reference to json-ld.net, but I'm not 100% sure I've run it thought. I will confirm this evening that I can run the unit tests on OS X.

@tpluscode json-ld.net supports netstandard1.3
https://github.com/NuGet/json-ld.net/blob/353e89eafdba1bee481925ee710d2407a24c641a/src/json-ld.net/project.json#L32

OK, but how are we supposed to use this library with no examples? Why wouldn't you write a quick example after all the effort you've gone to? Don't you want people to use this software? You're listed on https://json-ld.org/, but with no examples there's no point wasting time on this.

I notice there aren't any Job objects, for example, in the code. Do we have to make our own objects? How do we use this library???  Why write an entire library and then not one even sentence on how to use it? So weird. I'm using MXTires.Microdata instead.

What's the point of publishing a library if it has no docs or examples? It doesn't take long relative to writing the library. Would be good to have a quick example.

What's the point of publishing a library if it has no docs or examples? It doesn't take long relative to writing the library. Would be good to have a quick example.

I take responsibility of enabling @stalebot. Having issues open since 2016 doesn't help anyone. This repository is maintained on a volunteer, private basis by the community.
I'm not a JSON-LD expert, so I can't assist with solving this issue. But I've got experience with maintaining open source repositories, which is why I agreed to help maintain this one. If you have ideas on how to maintain it better, then please come forward and help out. Pull requests are welcome.

I take responsibility of enabling @stalebot. Having issues open since 2016 doesn't help anyone. This repository is maintained on a volunteer, private basis by the community.
I'm not a JSON-LD expert, so I can't assist with solving this issue. But I've got experience with maintaining open source repositories, which is why I agreed to help maintain this one. If you have ideas on how to maintain it better, then please come forward and help out. Pull requests are welcome.

This issue is about documentation on how to use the library, not the code itself , surely that's a basic thing to add in for you, otherwise how can you maintain it yourself, as you would not know how to use it ?

otherwise how can you maintain it yourself, as you would not know how to use it ?

There's more to maintaining an open source repository than to write the code that resides within it. Are the following uses of json-ld.net helpful? If so, I can look into adding something like it the documentation.
https://github.com/wikibus/JsonLD.Entities/blob/master/src/JsonLD.Entities/EntitySerializer.cs#L89-L106
https://github.com/wikibus/JsonLD.Entities/blob/master/src/JsonLD.Entities/EntitySerializer.cs#L124-L139

I'll put a bit of work into this. As a minimal starting point we could port and flesh out the examples from https://github.com/digitalbazaar/jsonld.js/blob/master/README.md

Somewhat related for those who are interested - which versions of .NET should we support (in both code and documentation)? Contribute to the discussion in #59 . Part of https://github.com/linked-data-dotnet/json-ld.net/milestone/1 due by August 1st.

Also added https://github.com/linked-data-dotnet/json-ld.net-Demo which contains samples for inclusion in the README of this repo


Add DAO Engagement - Proposal Vote Counts (/analytics/vote)

PR-Codex overview
The focus of this PR is to implement a route for fetching proposal vote counts from a database using Prisma and Next.js server-side APIs.
Detailed summary

Added route for fetching proposal vote counts
Implemented Prisma query to retrieve vote counts
Integrated authentication for API user
Utilized caching for vote count retrieval
Handled error responses for server-side errors

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

This PR is the one I think they are going to show it layed out by time.

Sample payload
{
    "result": [
        {
            "proposal_id": "1",
            "votes": "5"
        },
        {
            "proposal_id": "2",
            "votes": "5"
        },
        {
            "proposal_id": "4",
            "votes": "5"
        },
        {
            "proposal_id": "8",
            "votes": "10"
        },
        {
            "proposal_id": "9",
            "votes": "220"
        },
        {
            "proposal_id": "10",
            "votes": "380"
        },
        {
            "proposal_id": "11",
            "votes": "9825"
        },
        {
            "proposal_id": "13",
            "votes": "5655"
        },
        {
            "proposal_id": "14",
            "votes": "1555"
        },
        {
            "proposal_id": "16",
            "votes": "4315"
        },
        {
            "proposal_id": "17",
            "votes": "4355"
        },
        {
            "proposal_id": "18",
            "votes": "3470"
        },
        {
            "proposal_id": "19",
            "votes": "2305"
        },
        {
            "proposal_id": "20",
            "votes": "3315"
        },
        {
            "proposal_id": "22",
            "votes": "6240"
        },
        {
            "proposal_id": "23",
            "votes": "4725"
        },
        {
            "proposal_id": "24",
            "votes": "12305"
        },
        {
            "proposal_id": "25",
            "votes": "29180"
        },
        {
            "proposal_id": "28",
            "votes": "7345"
        },
        {
            "proposal_id": "29",
            "votes": "9105"
        },
        {
            "proposal_id": "30",
            "votes": "6230"
        },
        {
            "proposal_id": "31",
            "votes": "8430"
        },
        {
            "proposal_id": "32",
            "votes": "14095"
        },
        {
            "proposal_id": "33",
            "votes": "1925"
        },
        {
            "proposal_id": "34",
            "votes": "975"
        },
        {
            "proposal_id": "36",
            "votes": "865"
        },
        {
            "proposal_id": "37",
            "votes": "395"
        },
        {
            "proposal_id": "38",
            "votes": "285"
        },
        {
            "proposal_id": "39",
            "votes": "265"
        },
        {
            "proposal_id": "40",
            "votes": "5125"
        },
        {
            "proposal_id": "41",
            "votes": "2650"
        },
        {
            "proposal_id": "42",
            "votes": "8180"
        },
        {
            "proposal_id": "43",
            "votes": "1835"
        },
        {
            "proposal_id": "45",
            "votes": "2005"
        },
        {
            "proposal_id": "46",
            "votes": "400"
        },
        {
            "proposal_id": "47",
            "votes": "3400"
        },
        {
            "proposal_id": "49",
            "votes": "5335"
        },
        {
            "proposal_id": "50",
            "votes": "7080"
        },
        {
            "proposal_id": "51",
            "votes": "15085"
        },
        {
            "proposal_id": "52",
            "votes": "12225"
        },
        {
            "proposal_id": "54",
            "votes": "4160"
        },
        {
            "proposal_id": "55",
            "votes": "5275"
        },
        {
            "proposal_id": "56",
            "votes": "7365"
        },
        {
            "proposal_id": "57",
            "votes": "955"
        },
        {
            "proposal_id": "58",
            "votes": "1650"
        },
        {
            "proposal_id": "59",
            "votes": "1310"
        },
        {
            "proposal_id": "60",
            "votes": "21475"
        },
        {
            "proposal_id": "61",
            "votes": "5315"
        },
        {
            "proposal_id": "62",
            "votes": "835"
        },
        {
            "proposal_id": "63",
            "votes": "3205"
        },
        {
            "proposal_id": "64",
            "votes": "920"
        },
        {
            "proposal_id": "65",
            "votes": "34"
        }
    ]
}