Moving content breaks perimeter

Hi,
First of all, thanks for the lib. It's simple but smart!
However, one of my concerns is that when the content is moving, it actually breaks the perimeter since this.bounds is not updated. (I've checked the ongoing PRs and they dont seem to address this problem)
The resize window event is a first step but is not enough.
I originally thought about adding the componentDidUpdate lifecycle method but if the updated content is not in the component itself it won't solve the issue (see updated demo in my fork https://github.com/JulienPradet/react-perimeter).
One way, though, to address this problem would be to update bounding shapes using a requestIdleCallback (in order to avoid freezing important stuff going on) and debouncing it (since the mouse's movements fire a lot of events) directly. This would be doable in the provider that will land in @jnsdls 's PR. This solution allows people not to think about updating their shapes and keeps the API simple. However it might lead to performance issues since there would be ton of updates.
If people want a more manual way to update those, the automatic update could be disabled and the update method could be exposed in the context in order for them to call it in their own component lifecycles.
If what I'm talking about is not in the scope of the lib, feel free to ignore it.
Additionnally, if what I'm saying is not clear enough I could land a POC if you're interested in it.
👋
Edit: Oh, and thinking about it, the perimeter could check the hover event on the registered DOM node too! This way, even if the perimeter is broken, the preload would still launches on hover which is still nice to have. :slightly_smiling_face:

Thanks for the issue @JulienPradet! You bring up a great point, current react-perimeter has no way of knowing if an element is moved outside a resize event. I think the majority of users are likely to use this with ~mostly static elements like navigation links or call to action buttons, but I'd still love to support this case.

One way, though, to address this problem would be to update bounding shapes using a requestIdleCallback (in order to avoid freezing important stuff going on) and debouncing it (since the mouse's movements fire a lot of events) directly. This would be doable in the provider that will land in @jnsdls 's PR. This solution allows people not to think about updating their shapes and keeps the API simple. However it might lead to performance issues since there would be ton of updates.

As far as I know, requestIdleCallback isn't the best place to do DOM work (reference). We could use a requestAnimationFrame loop, but we'd need to determine the element's position in the page which will force layout calculations and doing that frequently will hurt performance.

Thanks for the issue @JulienPradet! You bring up a great point, current react-perimeter has no way of knowing if an element is moved outside a resize event. I think the majority of users are likely to use this with ~mostly static elements like navigation links or call to action buttons, but I'd still love to support this case.

One way, though, to address this problem would be to update bounding shapes using a requestIdleCallback (in order to avoid freezing important stuff going on) and debouncing it (since the mouse's movements fire a lot of events) directly. This would be doable in the provider that will land in @jnsdls 's PR. This solution allows people not to think about updating their shapes and keeps the API simple. However it might lead to performance issues since there would be ton of updates.

As far as I know, requestIdleCallback isn't the best place to do DOM work (reference). We could use a requestAnimationFrame loop, but we'd need to determine the element's position in the page which will force layout calculations and doing that frequently will hurt performance.

If people want a more manual way to update those, the automatic update could be disabled and the update method could be exposed in the context in order for them to call it in their own component lifecycles.

I like the idea of letting users decide when the bounds should be recalculated, but that still seems difficult if some change in a separate part of the render tree is affecting the element's position. It could be difficult and tedious if you have a handful of perimeters drawn on the screen and you have to manually consider all cases where the layout changes.
That's a tough problem, I'm not totally sure what the best approach is yet!

Edit: Oh, and thinking about it, the perimeter could check the hover event on the registered DOM node too! This way, even if the perimeter is broken, the preload would still launches on hover which is still nice to have. 🙂

Great idea!

As far as I know, requestIdleCallback isn't the best place to do DOM work (reference). We could use a requestAnimationFrame loop, but we'd need to determine the element's position in the page which will force layout calculations and doing that frequently will potentially hurt performance.

Actually, the reason why I talked about requestIdleCallback was because the things handled by react-perimeter is background stuff. If it's slow to update, it is no big deal, since that's just a few optimizations for future navigation and not for current view. We're not actually manipulating the DOM, we're just retrieving its positions.
However, if we use requestAnimationFrame, the risk is that we would do updates while an actual animation is occuring somewhere else. If so, it means we will seriously injure the animation's snappyness. Indeed, since the coordinates are calculated using getBoundingClientRect (and it would be the same with any other method that retrieves the DOM's position), there would be layout thrashing which is like the worst enemy of animators :stuck_out_tongue: .

I like the idea of letting users decide when the bounds should be recalculated, but that still seems difficult if some change in a separate part of the render tree is affecting the element's position. It could be difficult and tedious if you have a handful of perimeters drawn on the screen and you have to manually consider all cases where the layout changes.

Yup, that's the curse of manual checking. I'll first try to land a PR with the automatic update thing mentioned above, if that's fine for you. Maybe things will be clearer in my head by then.
Finally, about the onHover thing, I'll land a seperate PR for it.

Here are two timelines demonstrating the difference between requestAnimationFrame and requestIdleCallback. The red overlay indicates when the mouse is moving (identified by the additional JS performing in the 'main' timeline). I've done these with two straight mouse moves. However the result is more or less the same with a continuous and circular mouse move. I just happen to have more random drops in my timeline.
without debounce
requestAnimationFrame:

requestIdleCallback:

with a 100ms debounce
requestAnimationFrame : (the drop at 2000ms is just a random one I guess)

requestIdleCallback:

Demo code can be found here https://github.com/JulienPradet/react-perimeter/blob/master/src/index.js#L116

@aweary Thanks for this awesome lib, and thank you @JulienPradet for trying to fix this issue.
I wanted to use react-perimeterfor an infinite scroll page, but this issue is a blocker, because the perimeter is not moved to bottom of the page.
Would be great to hear any update on this. Thanks again :v:

Hi @YasserKaddour,
I haven't gone any farther since I didn't know if my suggested solution would be merged (for lib size + lib goals reasons). Plus, there are two solutions that I can think of and didn't know which one to implement since having both might be useful.

I managed to make it work by re-rendering the perimeter after each payload. But it would be great if this was supported out of the box.
Julien, merci pour la contribution.

I'm really hesitant to implement a solution that involves constantly redrawing the boundaries (even if it's debounced). Ideally, there would be a way for the application to tell Perimeter that it needs to redraw its boundaries. Re-rendering implicitly does this, but that's not cheap.
We could:

Provide a prop that lets you opt-in to some automatic redraw strategy
Provide a prop like redrawInterval that lets users decide how frequently to redraw the boundaries (if at all).
Export some imperative redraw utility that can be called explicitly to redraw some set of boundaries.

import { Perimeter, redraw } from 'react-perimeter'
// Render a Perimeter with a name attribute
<Periemeter name="card" />
// Somewhere else, call redraw with the name
redraw("card");
// Or even call it without a name to redraw all perimeter instances
redraw();

Something else 🤷♂


Clearly communicate merge policy in README and CLA

Hi,
my impression is that you're merging PRs submitted to this public repo to your private repo [1] first with no indication of the time you plan to either accept the PR to the public repo as well or to (re-)introduce the changes from the private repo to the public repo.
Please clarify in your CLA and README that:

PRs submitted to this repo will be merged to a private repo first
PRs merged to the private repo will be introduced to the public repo within a given period

Those clarifications will help contributors to understand how PRs will be processed by OPCF. More importantly it will clearly communicate that accepted PRs will certainly land in this public repo within a given timeframe. It may also reduce the number of bug reports against this repo, which are already fixed in the private repo but did not reach this public repo downstream yet.
In case I misunderstood or missed anything, please let me know.
Kind regards
[1] https://github.com/OPCF-Members/UA-ModelCompiler

@opcfoundation-org sorry for pinging you on this issue after 3 months of no activity. I am sure you're swamped with other tasks. Can you give me a rough, non-binding opinion on this issue so that we can get an idea of OPC Foundation's position on this question?
For example: Do you agree and will change the CLA? Do you agree but won't change the CLA for ? Do you disagree with the input provided?

Yes your understanding is correct. I need to update the README.

Updated readme:

This repository is not updated directly. All changes are first made in a member-only version that can be found here.
The version in the member-only repository includes content that is only available to OPC Foundation members such as draft versions of the specifications. When a new version of the OPC UA specification is released, the member-only content is removed and copied to the public reposotory.
In many cases, updates to the UA-ModelCompiler will require updates to UA-.NETStandard codebase. This means a complete release of the UA-ModelCompiler will need to wait for a update to UA-.NETStandard NuGet packages. The member only version links to a member only fork of UA-.NETStandard allows the changes to be viewed before they are merged with the public baseline.
The public repository is updated as frequently as the OPC UA Specification (once every 3-5 months). When a release starts, all issues reported on the public repository will be reviewed and, if appropricate, incorporated into the member-only codebase. This includes any pull requests.

Thank you very much for considering and fixing this issue. It adds much needed clarification in a highly visible place.
I'd like to suggest the following improvement

This includes any pull requests.

to

This includes any pull requests to this public repository, which are subject to the OPC Foundation Contributor License Agreement (CLA).


Make stats_test.IncHistogram skip values far from boundaries

Fixes https://github.com/grpc/grpc/issues/13155.
(basically for large buckets, it skips some middle values and only checks one by one when close to bucket boundary - see analysis in #13155).

I tried running the test locally and it's running much faster with the change.

CC @dgquintas

****************************************************************

libgrpc.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]

****************************************************************

libgrpc++.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]

[trickle] No significant performance differences

Corrupt JSON data (indicates timeout or crash):
    bm_fullstack_unary_ping_pong.BM_UnaryPingPong_InProcessCHTTP2_NoOpMutator_NoOpMutator__16777216_16777216.counters.old: 1

[microbenchmarks] No significant performance differences

Known failures:
https://github.com/grpc/grpc/issues/13122
https://github.com/grpc/grpc/issues/13379


[Task]: Disable failing selenium tests for now

What needs to happen?
Some test are failing because of a pop-up dialog, until we have support to handle this dialog disable the tests
Issue Priority
Priority: 3
Issue Component
Component: Integration Testing

.take-issue


Can't reproduce your metrics accuracy

I did run this code, but got Bleu4 :0.362  CiderD:1.155, which is much lower than yours 0.36944, 1.184. Have i missed something?

I just set do_aoa=1 on line 153(AoAModel), and run the script. Are there other hyper params should be set?

Did you get these scores after making this change?
You should keep the code as it is. do_aoa is set to 0 because there is an AoA layer after the attention.

I have tried both, but it got little difference.

Maybe it's because of the difference in vocabulary.
The default value of word_count_threshold in scripts/prepro_labels.py is 5, and it results in a smaller vocabulary.
Set word_count_threshold to 4, and you will a vocabulary of size 10369.
Please inform me if you still can't reproduce the results.

Did you use the evaluation script to get the results, i.e. using beam search and on the test split?

Which word_count_threshold did you use in your experiment to get the best result? 4?
In my experiment, I use beam size=2 in test split.

It's 4 in our experiments.

Thanks a lot, I will have a try!

It doesn't work to enlarge vocabulary! One more thing to say, to accelerate training, My batch_size is 200 or 400, but I think it's not the real reason. Any other suggestions?

Batch size does influence the accuracy.
You have to tune other hyper params as well if you enlarge batch size, such as lr schedule, dropout rate, training epochs and etc.

@husthuaan Do you think the vocabulary size matters? Even if the vocavulary increases (more weights in the output layer), if the weights for the OOV words won't really get updated in the backward pass, so it does not affect i believe?

@fawazsammani I don't think it matters too much, but I am not sure.

It doesn't work to enlarge vocabulary! One more thing to say, to accelerate training, My batch_size is 200 or 400, but I think it's not the real reason. Any other suggestions?

I meet the same problem with you. Have you found the reasons?


[Bug] Double clicking on the system tray icon doesn't bring the window to focus

OS:
Windows 10
Issue Descriptions:
If you double click the system tray icon the Music Player window should be focused. As it is now, double clicking does nothing.
Steps to Reproduce:

Leave Music Player open, but not focused.
Double click the system tray icon.

Minimize to tray is disabled in the settings.
If Minimize to tray is enabled, double clicking works.

Looks like it should be easy to fix with win.show(). I'll see if I can't commit this up in a few.
https://github.com/MarshallOfSound/Google-Play-Music-Desktop-Player-UNOFFICIAL-/blob/master/src/main/features/core/tray.js#L93-L112


[BUG] cuboid neg. chamfer / rounding works only on TOP / BOT

Example:  (only some of all combinations ;-)
include <BOSL2/std.scad>

n = -2;

ydistribute(25) {
    xdistribute(15) {
        cuboid(size = [10, 10, 10], chamfer = n, edges = [TOP] );
        cuboid(size = [10, 10, 10], chamfer = n, edges = [BOT] );
        cuboid(size = [10, 10, 10], chamfer = n, edges = [FRONT] );
        cuboid(size = [10, 10, 10], chamfer = n, edges = [BACK] );
        cuboid(size = [10, 10, 10], chamfer = n, edges = [LEFT] );
        cuboid(size = [10, 10, 10], chamfer = n, edges = [RIGHT] );
    }
    xdistribute(15) {
        cuboid(size = [10, 10, 10], chamfer = n, edges = [TOP + LEFT] );
        cuboid(size = [10, 10, 10], chamfer = n, edges = [BOT + LEFT] );
        cuboid(size = [10, 10, 10], chamfer = n, edges = [TOP + RIGHT] );
        cuboid(size = [10, 10, 10], chamfer = n, edges = [BOT + RIGHT] );
        cuboid(size = [10, 10, 10], chamfer = n, edges = [FRONT + LEFT] );
        cuboid(size = [10, 10, 10], chamfer = n, edges = [BACK + LEFT] );
        cuboid(size = [10, 10, 10], chamfer = n, edges = [FRONT + LEFT] );
        cuboid(size = [10, 10, 10], chamfer = n, edges = [FRONT + RIGHT] );
    }
}

If n is positive, everthing works as expected.

What is the intended functionality? Inform the user that negative is not allowed or convert to the absolute value and accept the negative chamfer?

Negative chamfer are described in the documentation --> https://github.com/revarbat/BOSL2/wiki/shapes.scad#cuboid
The examples uses TOP / BOT negative chamfers only. I've expected it works on the other sides also like it does on positive chamfer's.

I never used this functionality. Thanks for the documentation link.

The intended use of negative chamfers is to use with difference() to chamfer holes in another object.
There is insufficient data in the edges= argument to specify which face of each edge to chamfer towards, so I just enabled TOP/BOTTOM. It could be viable, though, to allow "face-only" edges= values, where all edges for those faces is negatively chamfered.
So, it's currently working as intended, but it can be improved. Or at the least the documentation could use improvement.

I think it would be nice to be able to do edges=FRONT or edges=[LEFT,RIGHT], if it's not too painful.  Can you support any non-confusing set of edges?  Like reject if three edges meet and accept otherwise?

I was looking at the code above, and found the results rather confusing.
For example, the first cuboid has the TOP FRONT and TOP BACK chamfered.
Since it has edges = [TOP] specified, should it not have all four edges on the top chamfered.
Most of the rest of them baffle me as well, especially the last two in the front row and the last 4 in the back row.

Your results are not the same as mine.  The edges = [TOP] case has four chamfers.  I think everything looks as expected if you remember that you can only chamfer top and bottom edges, so any attempt to chamfer other edges is just ignored.   The last four in the back row don't specify any top edges, so there are no chamfers.
I notice that when you specify things like edges=FRONT that the chamfers are too long, like maybe it thinks it's going to chamfer all four edges.   That's definitely a bug.

Interesting. Perhaps I need to download the latest BOSL2 again.
Not sure what you mean about edges = FRONT  making chamfers too long. They look fine to me, except that I would have thought it would have 4 chamfers on the front FRONT-TOP, -BOTTOM, -LEFT, -RIGHT.

Wow, big-time bugs there.   They are almost all wrong, some of them very weirdly wrong.

This bug manifests in RC3 but not in 2019.05.

The current behavior is that for n>0 you can chamfer any set of edges you want to.  For n<0 you can only chamfer top or bottom edges.  This is because it's not clear how to have 3 chamfers meet at a corner.  My proposal is that any combination of negative chamfers (or roundings) should be permitted as long as 3 don't meet at a corner, otherwise assert an error.

Getting more and more confused here.
In the docs for cuboid, I see an example:
cuboid([30,40,50], chamfer=5, edges=[TOP+FRONT,TOP+RIGHT,FRONT+RIGHT], $fn=24);
The picture showing what that does, shows chamfers on (what I consider to be) all thr right places. But when I run in ot RC3, I get this:

Above is how the test looks with n>0 in 2019.05.   Like I said, it's badly broken in the RC.

Negative chamfers look the same in both versions.  Above is what I get.  I object to the single edge chamfers extending past the edges of the cube.   And of course we observe that the four vertical edges never get chamfered, no matter what you specify.

At some point Revar needs to switch over to running the examples in the RC and then we'll have to look through all the examples and probably find a lot more cases where things are broken.  The RC passes the regression tests, but they only test functions, and not all of them yet.

Ahh. OK. I no longer have 2019.05
But I wonder, why can't three chamfers meet at a corner?
I mean, if all sides are chamfered, we have 8 places where three chamfers meet.

Three negative chamfers can't meet at a corner because...which way do they all point.   Actually now that I think about it, a single negative chamfer in isolation is ambiguous about which way to point it.

Oh, right. This is the first time I realized that we don't seem to be able to put negative chamfers on the top, with the slopes rising at 45 degrees upward (if that makes any sense).

Seems like it's complicated to decide which way to point the chamfers.  What if somebody requests negative chamfers and sets edges="Z".  What should happen?  It's totally ambiguous.

Right.  Do you think that's limiting?  How could the cuboid interface support controlling the direction of chamfers?

I don't know if it's even useful, but perhaps something like
edges = [TOP], direction = [UP]
edges = [RIGHT], direction = [FRONT]
?

Or even
edges = [TOP_right]
edges = [RIGHT+front]
?

I think we should stick to the convention that predefined vars are all caps.  At least for normal variables.  (Probably not functions.)
Is the direction suggestion that entries in the lists are matched piece by piece, so edges=[TOP,BOTTOM], direction=[UP,DOWN] would produce the standard result?

Actually would direction=UP cause the edges to point up, extending the side faces?  (Not what currently happens?)  And if so, what direction to the "normal" chamfers point?  It seems kind of like they are "out".
Another idea would be to define canonical chamfer directions as is already done, where the left and right chamfers point out to the left and right respectively,  You'd have to rotate the cube if you wanted upward pointing chamfers.  And some cases might be impossible....

We have an interface for edges(), and one for corners().  Perhaps we need a faces() interface that cuboid can use for negative chamfers with a faces=[TOP,FRONT] sort of arg.

I'm thinking something like:
    cuboid(100, chamfer=-15, faces=[TOP,FRONT], except_edges=TOP+FRONT);

Regarding the weird chamfering in RC3, I'm wondering if this is related to the tweaks to boolean ops handling of empty children.

Verified bug in OpenSCAD RC3.  Filed issue openscad/openscad#3547
Minimal code to reproduce:
hull() {
  translate([-4,-1,1]) cube(2, center=true);
  translate([3,0,0]) {
    intersection() {
      rotate([90,0,0]) {
        linear_extrude(height=4, center=true) {
          circle(r=2, $fn=4);
        }
      }
      translate([0,0,0]) {
        translate([0,0,0]) {
          mirror([0,0,1]) {
            translate([0,0,0]) {
              linear_extrude(height=4, center=true, convexity=2, $fn=4) {
                circle(r=2, $fn=4);
              }
            }
          }
        }
      }
    }
  }
}

Weird that the result is OS dependent.

I'm thinking something like:
    cuboid(100, chamfer=-15, faces=[TOP,FRONT], except_edges=TOP+FRONT);

So what does this do?  Does it "extend" the top face and the front face?  How would you specify the other way of applying negative chamfers to the top face?  Would you need something like faces=[LEFT,RIGHT,FRONT,BACK] except_edges=[BOTTOM,"X"] ?  That seems sort of awkward.
Maybe I don't understand.   I am also not sure of the advantage of introducing the new faces keyword.  Would faces and edges be used together somehow?
I was imagining maybe a scheme where you specify edges and a default direction is chosen that maintains consistency across corners, and then combine that with a flip keyword that flips edges (and all the connected ones to maintain consistency).   Seems kind of complicated, though.

Rounded prism can do the reverse form of rounding.  But only on the top and bottom.
rounded_prism(square(10), height=10, joint_top=[2,-2], joint_bot=0, joint_sides=[0,0,0,0]);

I fixed the negative chamfer/rounding overhangs issue in commit a683fa9ead6ca5017e472456123bea50cf50b23a

I fixed the negative chamfer/rounding overhangs issue in commit a683fa9ead6ca5017e472456123bea50cf50b23a

The bad triangular chamfers issue is a bug in OpenSCAD and is being addressed by PR openscad/openscad#3568

The bad triangular chamfers issue is a bug in OpenSCAD and is being addressed by PR openscad/openscad#3568

The interface issue for how to specify non-TOP/BOTTOM negative chamfers/roundings is all that remains to be addressed.

The interface issue for how to specify non-TOP/BOTTOM negative chamfers/roundings is all that remains to be addressed.

What are your thoughts on the ideas proposed thus far for specifying non TOP/BOTTOM negative chamfers.

What are your thoughts on the ideas proposed thus far for specifying non TOP/BOTTOM negative chamfers.

The current TOP/BOTTOM edges for negative chamfers design has the benefits of being easy to understand and consistent, as long as it's documented clearly.
If I want FRONT/BACK negative chamfers, it's trivial to use orient=BACK.  For LEFT/RIGHT, orient=RIGHT.
If, for some weird reason, I want FRONT and TOP negative chamfers, I can do it with a second cuboid.
The interface solutions to this all seem more confusing than just rotating or having a second cuboid.
I think, perhaps that it SHOULD assert an error if you try to do a negative chamber of the Z aligned edges. (Unless edges=EDGES_ALL)

The current TOP/BOTTOM edges for negative chamfers design has the benefits of being easy to understand and consistent, as long as it's documented clearly.
If I want FRONT/BACK negative chamfers, it's trivial to use orient=BACK.  For LEFT/RIGHT, orient=RIGHT.
If, for some weird reason, I want FRONT and TOP negative chamfers, I can do it with a second cuboid.
The interface solutions to this all seem more confusing than just rotating or having a second cuboid.
I think, perhaps that it SHOULD assert an error if you try to do a negative chamber of the Z aligned edges. (Unless edges=EDGES_ALL)

Ok.  What about reversed negative chamfers?

Ok.  What about reversed negative chamfers?

Is this resolved?   What still needs to be done?

Is this resolved?   What still needs to be done?

Still need to add asserts against using Z aligned edges with negative chamfers/roundings.

Hull bug fixed in RC5.

Hull bug fixed in RC5.


Director::forceSSL(); from _config.php results infinite redirections SS 4 Beta 1

This happens when the \SilverStripe\Control\Director::forceSSL(); with mysite/_config.php file.
The main reason behind is that static::currentRequest($request); returns null.
However calling it via a Controller::init function works.

Fix at https://github.com/silverstripe/silverstripe-framework/issues/7215

Closed with https://github.com/silverstripe/silverstripe-framework/pull/7215


automatic disk scrubbing

need to add automatic disk scrubing to the Gen2 systems. requires a new IO requestor that based on user setting will scrub the entire disks every 1, 2, 4. ... etc weeks. Using a low priority 24/7 IO requestor to cleanup and ECC problems similar to how ZFS autoscrubing works.

added regression for ecc rebuild. need to add a throttle timer for the stream_ecc scrubber

throttling updated
https://github.com/fmadio/fmadio20/commit/d46cb890bd3192b9f5f076b33dc06915117e723d
need work out the appropriate gui / watchdog approach

supported in magpacks closing


Per image tokens with a larger dataset.

I'm curious about trying per-image token training with my dataset however the per_img_token_list in personalized.py is only 22 entries long, which appears to be posing an issue in that there aren't enough of those tokens to assign to samples in my set.
I have considered manually supplementing the list by hand which would be an incredibly tedious but perhaps doable task on account of the fact that the set I'm wanting to train with only has 912 samples, but other datasets I was interested in experimenting with have past half a million samples for which a manual approach simply wouldn't suffice. Is there any possibility of generating unique multi-character tokens on the fly when starting training to an extent varying depending on dataset size?

From the paper it says the best results are with up to 5 images... so having large dataset wont make it better, im trying now to train separately head, armor and other parts of the body of my subject and then merge those togheter to one pt file.
Page 21
https://arxiv.org/pdf/2208.01618.pdf

You're quite right to highlight the paper concluded that ~5 image samples yielded the best results in terms of providing a middle ground between an embedding not overly optimised to the point it can't easily be edited/influenced by prompts and well.. looking good.
But at the same time they don't believe they experimented with datasets to the scale as those which I've got on hand (which is quite fair as that would be outside the scope of their project) and I very much feel the inclination to experiment to find out just how working with larger sets plays out.
I've trained for a night or so in a standard fashion on my dataset and found the results to be lacklustre (which is no surprise given the training time required would after all be proportional to set size) however I've not yet had chance to experiment with per-image tokens and I think there's a great potential to the concept when dealing with incredibly large varied datasets in that indeed the whole point of having a set this size is that I want it to learn the common concept across deliberately varied dataset samples rather than the specifics of any one.
In this particular case I've built up a dataset of a specific line of Star Wars action figure boxes, acquired mainly from ebay listings with tremendous variety in background, camera focal length, lighting, angle, and so on. My hope is that I can train an embedding to the point it accurately represents the general concept of one of these boxes by taking on elements in common across all samples in the dataset and not getting hung up on details that vary from sample to sample. The description of per-image tokens presents it as an idea that could go hand in hand with this particular goal, so even if it's unlikely to work I'm very eager to try it.

You're quite right to highlight the paper concluded that ~5 image samples yielded the best results in terms of providing a middle ground between an embedding not overly optimised to the point it can't easily be edited/influenced by prompts and well.. looking good.
But at the same time they don't believe they experimented with datasets to the scale as those which I've got on hand (which is quite fair as that would be outside the scope of their project) and I very much feel the inclination to experiment to find out just how working with larger sets plays out.
I've trained for a night or so in a standard fashion on my dataset and found the results to be lacklustre (which is no surprise given the training time required would after all be proportional to set size) however I've not yet had chance to experiment with per-image tokens and I think there's a great potential to the concept when dealing with incredibly large varied datasets in that indeed the whole point of having a set this size is that I want it to learn the common concept across deliberately varied dataset samples rather than the specifics of any one.
In this particular case I've built up a dataset of a specific line of Star Wars action figure boxes, acquired mainly from ebay listings with tremendous variety in background, camera focal length, lighting, angle, and so on. My hope is that I can train an embedding to the point it accurately represents the general concept of one of these boxes by taking on elements in common across all samples in the dataset and not getting hung up on details that vary from sample to sample. The description of per-image tokens presents it as an idea that could go hand in hand with this particular goal, so even if it's unlikely to work I'm very eager to try it.

i've tred training on a dataset of 18000 images for 16 hours and it came out fine but that was for a style, not sue if it would work for subjects,
if you cant to finetune text conditional I recommend looking into this repo https://github.com/pesser/stable-diffusion
I have not tried it but it seems to be the repo being used to train the models

Please post update on your experiments with training on your sw figures , this is all pretty new so it would be good to know how it went for you, i trained just head  on 5 images and had yaml with init words - heman,head,haircut  as these 3 i want to address the most but  idont think it did much better than the whole images with pretty vague init word "he-man" with 25 pics  of the body and some close ups.
And in the end stablediff results are so fluid its hard to retain identity of a subject , i think inversion is pretty different from actual training , it injects maybe like 30-40 % of new data and the rest  60% is  mixed with what model already was trained on
New objects that are unique might look more imporessive after training cause of their uniqueness but still will be derivative versions of original images , im not even sure if you can get 80-90% identity with inversion of this type.

training the identity of a subject is better with just 3-5 full body images i think tbh
art styles need a lot more images and iterations so the ai starts focusing on art style more, if u want a specific character i think its best u use only a couple images and not too many iterations, try 5000-7000.
this is all pretty new, i'm sure someone will post a clear guide in a not too far future
i trained for 110k iterations but again, that's only to randomize the artstyle

ok ill try maybe with robocop cause hes pretty bad in SD despite a lot of his pics being in dataset

10k iterations, results are pretty bad.
Imo the code is not really meant to train identity, but a pretty vague representation of a subjectIf it has one colours and pretty rndom pattern thats fine, but it ifs a complex subject like  a human being, it just doesnt work and wont learn your face.
Id love do be proven wrong but from my about 40k iterations i kinda know what i can expect.
Works fine on stuff that can be kinda already made with vanilla weights and no embeddings by just using precise prompting but a new face in a dataset - unlikely..


doesn't works with Sveltekit

i've written example code in Sveltekit
``

1

2

i received error message "Function called outside component initialization"

@luxmeroz
Thanks for reporting the issue.
I added a svelte field.
<EMAIL_ADDRESS>Can you test it?

I'm also experiencing the issue. I installed the beta version you mentioned and got this error:
window is not defined ReferenceError: window is not defined     at __proto.destroy (/Users/pieterseegers/Documents/Websites/Avatary/avatary/node_modules/@egjs/conveyer/dist/conveyer.cjs.js:686:5)     at Object.destroy (/Users/pieterseegers/Documents/Websites/Avatary/avatary/node_modules/@egjs/conveyer/dist/conveyer.cjs.js:819:14)     at Object.destroy (/Users/pieterseegers/Documents/Websites/Avatary/avatary/node_modules/@cfcs/core/dist/cfcs.cjs.js:487:70)     at eval (/node_modules/@egjs/svelte-conveyer/dist/conveyer.esm.js:120:17)     at run (/node_modules/svelte/internal/index.mjs:18:12)     at Array.forEach (<anonymous>)     at run_all (/node_modules/svelte/internal/index.mjs:24:9)     at Object.render (/node_modules/svelte/internal/index.mjs:1885:13)     at render_response (file:///Users/pieterseegers/Documents/Websites/Avatary/avatary/node_modules/@sveltejs/kit/src/runtime/server/page/render.js:105:27)     at process.processTicksAndRejections (node:internal/process/task_queues:95:5)

I'm also experiencing the issue. I installed the beta version you mentioned and got this error:
window is not defined ReferenceError: window is not defined     at __proto.destroy (/Users/pieterseegers/Documents/Websites/Avatary/avatary/node_modules/@egjs/conveyer/dist/conveyer.cjs.js:686:5)     at Object.destroy (/Users/pieterseegers/Documents/Websites/Avatary/avatary/node_modules/@egjs/conveyer/dist/conveyer.cjs.js:819:14)     at Object.destroy (/Users/pieterseegers/Documents/Websites/Avatary/avatary/node_modules/@cfcs/core/dist/cfcs.cjs.js:487:70)     at eval (/node_modules/@egjs/svelte-conveyer/dist/conveyer.esm.js:120:17)     at run (/node_modules/svelte/internal/index.mjs:18:12)     at Array.forEach (<anonymous>)     at run_all (/node_modules/svelte/internal/index.mjs:24:9)     at Object.render (/node_modules/svelte/internal/index.mjs:1885:13)     at render_response (file:///Users/pieterseegers/Documents/Websites/Avatary/avatary/node_modules/@sveltejs/kit/src/runtime/server/page/render.js:105:27)     at process.processTicksAndRejections (node:internal/process/task_queues:95:5)

@Pieter0313 @luxmeroz
Test<EMAIL_ADDRESS>version
Thank you :)

@daybrush Got the following error:
document is not defined ReferenceError: document is not defined     at __proto.init (/Users/pieterseegers/Documents/Websites/Avatary/avatary/node_modules/@egjs/conveyer/dist/conveyer.cjs.js:577:7)     at new Conveyer (/Users/pieterseegers/Documents/Websites/Avatary/avatary/node_modules/@egjs/conveyer/dist/conveyer.cjs.js:282:13)     at +page.svelte:7:15     at Object.$$render (/node_modules/svelte/internal/index.mjs:1876:22)     at Object.default (root.svelte:41:38)     at eval (/src/routes/+layout.svelte:28:67)     at Object.$$render (/node_modules/svelte/internal/index.mjs:1876:22)     at root.svelte:40:37     at $$render (/node_modules/svelte/internal/index.mjs:1876:22)     at Object.render (/node_modules/svelte/internal/index.mjs:1884:26)

@daybrush it fixed the error, thanks! But it still doesn't work properly for me, I can't horizontally drag a scrollable element..
https://user-images.githubusercontent.com/52565351/209520238-1ccdbcd2-d5f6-4e66-bb3b-c4ac66a613aa.mov

@Pieter0313 @luxmeroz
Test<EMAIL_ADDRESS>version
Thank you :)
https://codesandbox.io/s/jolly-artem-h56p5g?file=/App.svelte

Thank you so much! It works now :)

@daybrush
thank you
finally it works fine!
have a nice day!

@luxmeroz @Pieter0313
Updated to version 1.4.7. Nothing has changed from the beta 5 version.
Thank you :)

@Pieter0313
yes. Declare multiple conveyors.
const { ref: ref1 } = useConveyer();
const { ref: ref2 } = useConveyer();
const { ref: ref3 } = useConveyer();

Hi again, I'm getting the following error:
`file:///Users/pieterseegers/Documents/Websites/Avatary/avatary/.svelte-kit/output/server/entries/pages/_page.svelte.js:6
import { adaptReactive, camelize } from "@cfcs/core";
^^^^^^^^^^^^^
SyntaxError: Named export 'adaptReactive' not found. The requested module '@cfcs/core' is a CommonJS module, which may not support all module.exports as named exports.
CommonJS modules can always be imported via the default export, for example using:
import pkg from '@cfcs/core';
const { adaptReactive, camelize } = pkg;
at ModuleJob._instantiate (node:internal/modules/esm/module_job:124:21)
at async ModuleJob.run (node:internal/modules/esm/module_job:190:5)

file:///Users/pieterseegers/Documents/Websites/Avatary/avatary/node_modules/@sveltejs/kit/src/core/prerender/prerender.js:36
throw new Error(format(details));
^
Error: 500 /
at file:///Users/pieterseegers/Documents/Websites/Avatary/avatary/node_modules/@sveltejs/kit/src/core/prerender/prerender.js:36:11
at save (file:///Users/pieterseegers/Documents/Websites/Avatary/avatary/node_modules/@sveltejs/kit/src/core/prerender/prerender.js:349:4)
at visit (file:///Users/pieterseegers/Documents/Websites/Avatary/avatary/node_modules/@sveltejs/kit/src/core/prerender/prerender.js:199:3)`
Do you know if this is because of egjs-conveyer? I think it does but I'm not sure

@Pieter0313
Changed the CommonJS version of @cfcs/core to exports.
Test 1.4.8-beta.0 version.

Hey @daybrush, I'm back with another question:
I want to use svelte-lazy to only show my element when it's in the viewport, but with my current implementation of svelte-conveyer, I'm getting the error as the element i want to lazy-load is a conveyer and the ref is being initialized when the component is loaded. Because the element is not loaded yet, the ref is also not used yet which returns the following error:
Unhandled Promise Rejection: TypeError: param is not an Object. (evaluating '"value" in param')
This is a simplified version of my code:

<Lazy>

</Lazy>

@Pieter0313
use autoInit option
const { ref: ref1, init: init1 } = useConveyer({ autoInit: false });
const { ref: ref2, init: init2 } = useConveyer({ autoInit: false });
const { ref: ref3,  init: init3 } = useConveyer({ autoInit: false });
const { ref: ref4, init: init4 } = useConveyer({ autoInit: false });

// after call
init1();
init2();

There is an option called autoInit.
Option to block init from onMounted and you can directly call init method.

hi, i get this error in sveltekit :
ReferenceError: Element is not defined
at __proto.init (D:\aromez\node_modules@egjs\conveyer\dist\conveyer.cjs.js:578:38)
at obj. (D:\aromez\node_modules@cfcs\core\dist\cfcs.cjs.js:611:28)
at eval (/src/lib/partials/Slider.svelte:12:2)
at Object.$$render (/node_modules/svelte/internal/index.mjs:1999:22)
at eval (/src/routes/+page.svelte:25:90)
at Object.$$render (/node_modules/svelte/internal/index.mjs:1999:22)
at Object.default (/.svelte-kit/generated/root.svelte:74:138)
at eval (/src/routes/+layout.svelte:19:36)
at Object.$$render (/node_modules/svelte/internal/index.mjs:1999:22)
at eval (/.svelte-kit/generated/root.svelte:63:129)

	{#each products as product, index (product) }

	{/each}

    <button
	on:click={() => { scrollIntoView("start", {align: "end", duration: 500, excludeStand: true}); }} class="next p-2 rounded-full text-fuchsia-600 font-semibold shadow-lg hover:ring-2 ring-lilac-600">
      <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="w-6 h-6">
        <path stroke-linecap="round" stroke-linejoin="round" d="M3 8.688c0-.864.933-1.405 1.683-.977l7.108 4.062a1.125 1.125 0 010 1.953l-7.108 4.062A1.125 1.125 0 013 16.81V8.688zM12.75 8.688c0-.864.933-1.405 1.683-.977l7.108 4.062a1.125 1.125 0 010 1.953l-7.108 4.062a1.125 1.125 0 01-1.683-.977V8.688z" />
      </svg>
    </button>

i try to find whats the problem, but i don't really understand. thanks for help

hi, i get this error in sveltekit :
ReferenceError: Element is not defined at __proto.init (D:\aromez\node_modules@egjs\conveyer\dist\conveyer.cjs.js:578:38) at obj. (D:\aromez\node_modules@cfcs\core\dist\cfcs.cjs.js:611:28) at eval (/src/lib/partials/Slider.svelte:12:2) at Object.$$render (/node_modules/svelte/internal/index.mjs:1999:22) at eval (/src/routes/+page.svelte:25:90) at Object.$$render (/node_modules/svelte/internal/index.mjs:1999:22) at Object.default (/.svelte-kit/generated/root.svelte:74:138) at eval (/src/routes/+layout.svelte:19:36) at Object.$$render (/node_modules/svelte/internal/index.mjs:1999:22) at eval (/.svelte-kit/generated/root.svelte:63:129)

	{#each products as product, index (product) }

	{/each}

    <button
	on:click={() => { scrollIntoView("start", {align: "end", duration: 500, excludeStand: true}); }} class="next p-2 rounded-full text-fuchsia-600 font-semibold shadow-lg hover:ring-2 ring-lilac-600">
      <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="w-6 h-6">
        <path stroke-linecap="round" stroke-linejoin="round" d="M3 8.688c0-.864.933-1.405 1.683-.977l7.108 4.062a1.125 1.125 0 010 1.953l-7.108 4.062A1.125 1.125 0 013 16.81V8.688zM12.75 8.688c0-.864.933-1.405 1.683-.977l7.108 4.062a1.125 1.125 0 010 1.953l-7.108 4.062a1.125 1.125 0 01-1.683-.977V8.688z" />
      </svg>
    </button>

i try to find whats the problem, but i don't really understand. thanks for help

maybe i'm just dumb, i add the init1() in the onMount but still i'm struggling to implement it, can someone please help me out? thanks

@fanboykun
init can be used when the DOM exists.
If you use it like that, there will be a problem with the "Element" check in the SSR.
CodeSandbox, StackBlitz If you give me an example, I'll check the performance problem.

@daybrush thanks for the reply
here is the CodeSandbox
maybe i'm just doing something wrong that affected page performace.
i'm gladly appriciate any guide or help, thanks

the implementation component placed in src/lib/partials/Slider.svelte


Add Arcsine Distribution

https://en.wikipedia.org/wiki/Arcsine_distribution

Putting this on hold since the standard Arcsine distribution is a special case of the Beta distribution. Once the Beta distribution is in place, we may not need this at all (or could perhaps include a convenience function to create it).


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

Auto branch renaming content.

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

File
Status
Preview URL
Details

:x:Error

Details

[Error-GitBranchDeletedOrForcePushed] Cannot sync git repo to specified commit because branch 9972ee36-b653-4c02-80eb-6c682b1e2341 has been deleted or has been force pushed

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


Syntax highlight on README

Is it OK to send this PR against gh-pages?

Sure, but note that these changes will not affect website itself as there is no syntax highlighting included at the moment.


Update passes to use offload_copy based on root module

Needed to run multi-targeted program where "main" isn't the only root module. There could be many root modules other than main.

one root module and sub-modules that go to specific targets.
One root module is the "main" module.  This main root module would run on the "Ref" target initially and it would call different target-specific root modules at the top level.
But those root modules can further have nesting.  So it is possible that GPU module would call into CPU module. In this case GPU root module would have CPU root module nested inside it.  Execution flow would GPU-->CPU-->GPU in this case.

each module would have its own offload copies right?

Yes each root module would have its own parameters and offload copies.

I could see MIGX optimizing the second GPU offloads if we can reuse those from the first GPU section.

Currently, I don't think MIGX is optimizing it but we can try to do it optimization later. Right now idea is that each target root module is compiled as separate self-containing programs. So each target root module would have its own parameters and return values.

On the other hand, if offload_copy is off we would have output parameters for both the GPU sections?

Yes if offload_copy is off that it would have output parameters, but it can't work without offload-copies for now for multi-targets. We don't have a mechanism to put parameters into GPU and copy back the final result from the host. Also for the multi-targets where execution is switching between GPU/CPU/FPGA, it may not make sense to not have offload-copy, compiler would have to inject necessary copies to switch between targets.


[Question] Removing checks for the fixed header

We have a client that is sending the wrong connect fixed header and vernemq is correctly not allowing that connection. Unfortunately we cannot change that client. I wanted to know where in the code can I disable that check and then recompile and install vernemq.

Hi @ermalguni hm... that's quite a challenge.
I think it's not just a matter of disabling a check. Parser side, the functions are here: https://github.com/vernemq/vernemq/blob/master/apps/vmq_commons/src/vmq_parser.erl#L54
But honestly, I'm not even sure about any downstream issues that could arise after one starts to change the parser at byte level.
Anyone, feel free to chime in with ideas on that.

@ioolkos is right - you'd have to modify the parser code - which may or may not be trivial. If this is a single client it might be easier to write a very simply proxy which rewrites the header to something correct and that client the connects to the proxy.

@ioolkos @larshesel
i was hired by @ermalguni to fix problem and modify VerneMQ.
So i found there is type mistake for resulted parameters which caused crash.
Function parse from any parser (depends from version of protocol) can return this result:
{{ error, Reason }, Rest} when is_binary(Rest)
so it cause problem in case clause.
I made fix of this. Just 2 lines since this code:
https://github.com/loguntsov/vernemq/blob/291019c1e6ab63d34fa70b3a817a7a73219e9518/apps/vmq_server/src/vmq_mqtt_pre_init.erl#L56
Pls pull it into upstream. Thank you.

Hi
Could you please create a PR and also provide a test case or test data (the connect packet which causes the problem) so we can understand this better?

If I understand your change correctly, then this handles an error case so it doesn't crash, right? Does this also handle the original problem?

Crash was fixed, but problem was fixed by another code. These 2 lines what i mentioned above fixes crash when it can't recognize variable.
Just see this line: https://github.com/vernemq/vernemq/blob/5d5a16737e39b321180c4361c8510e291d99565f/apps/vmq_commons/src/vmq_parser.erl#L69
parse function creates tuple with result and rest of binary.
The result can be mqtt_frame or some error. This result returned by variable function. So the full result will be like this:
{{ error, Reason}, Rest }, but there was no case clause for this result there: https://github.com/loguntsov/vernemq/blob/291019c1e6ab63d34fa70b3a817a7a73219e9518/apps/vmq_server/src/vmq_mqtt_pre_init.erl#L48
so i just added this.
Other things are not related to bug for VerneMQ, but related of bad connection packet from device.

Make sense - please create a PR with the change. Thanks!


invoke update fails with state value is not 0|1

Please verify that this bug has NOT been raised before.

[X] I checked and didn't find a similar issue

Describe the bug*
I think this is the same error as described in https://github.com/inventree/InvenTree/issues/3618 and supposedly fixed in https://github.com/inventree/InvenTree/pull/4148.
Steps to Reproduce
Not sure how to reproduce. I assume invoke update being killed at exactly the moment it tries to write to maintenance_mode.txt.
It seems pretty obvious why this race condition can happen:
set_maintenance_mode calls file_write:
https://github.com/fabiocaccamo/django-maintenance-mode/blob/main/maintenance_mode/io.py#L15
which in turn calls futils.write_file which is just your standard open + write:
https://github.com/fabiocaccamo/python-fsutil/blob/b1920f22c290f8f7b2e98d22f91d052b7d1dd2c7/fsutil/__init__.py#L1317-L1332a
i.e. not atomic.
Solution: An atomic write function should be used in django-maintenance-mode.
Expected behaviour
No race condition.
Deployment Method

[X] Docker
[ ] Bare metal

Version Information
Docker image @latest as of time of writing.
Please verify if you can reproduce this bug on the demo site.

[ ] I can reproduce this bug on the demo site.

Relevant log output
Traceback (most recent call last):
  File "/home/inventree/InvenTree/manage.py", line 23, in <module>
    execute_from_command_line(sys.argv)
  File "/usr/local/lib/python3.10/site-packages/django/core/management/__init__.py", line 419, in execute_from_command_line
    utility.execute()
  File "/usr/local/lib/python3.10/site-packages/django/core/management/__init__.py", line 395, in execute
    django.setup()
  File "/usr/local/lib/python3.10/site-packages/django/__init__.py", line 24, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "/usr/local/lib/python3.10/site-packages/django/apps/registry.py", line 122, in populate
    app_config.ready()
  File "/home/inventree/InvenTree/plugin/apps.py", line 46, in ready
    registry.reload_plugins(full_reload=True, force_reload=True, collect=True)
  File "/home/inventree/InvenTree/plugin/registry.py", line 265, in reload_plugins
    with maintenance_mode_on():
  File "/usr/local/lib/python3.10/site-packages/maintenance_mode/core.py", line 74, in __enter__
    self.old_value = get_maintenance_mode()
  File "/usr/local/lib/python3.10/site-packages/maintenance_mode/core.py", line 40, in get_maintenance_mode
    return backend.get_value()
  File "/usr/local/lib/python3.10/site-packages/maintenance_mode/backends.py", line 70, in get_value
    return self.from_str_to_bool_value(statefile.read())
  File "/usr/local/lib/python3.10/site-packages/maintenance_mode/backends.py", line 26, in from_str_to_bool_value
    raise ValueError("state value is not 0|1")
ValueError: state value is not 0|1

@reitermarkus thanks for raising the issue. Can you determine what the actual file contents are?

No file contents, maintenance_mode.txt was empty.

@reitermarkus looks like your PR has made it into a new release:
https://github.com/fabiocaccamo/django-maintenance-mode/releases/tag/0.21.0
I'll update to the latest version


Pinned task bug ?

Hi.
I wrote some simple test code for pinned task. After it runs a few seconds, it hit the assert:
Assertion failed: pTailPlus1->pNext, file E:\Source\enkiTS-master\src\LockLessMultiReadPipe.h, line 275

Here is my code:
TaskScheduler g_TS;

std::atomic_uint32_t foo = 0;

struct PinnedTaskHelloWorld : IPinnedTask
{
    PinnedTaskHelloWorld()
        : IPinnedTask(1) // set pinned thread to 1
    {}
    virtual void Execute()
    {
        printf("This will run on the thread 1, %d\n", foo++);
    }
};

PinnedTaskHelloWorld task[100];

int main(int argc, const char * argv[])
{
    g_TS.Initialize(2);

	while (true)
	{
		for (int i = 0; i < 100; ++i)
		{
			g_TS.AddPinnedTask(&task[i]);

			if (i == 50)
			{
				g_TS.WaitforAll();
			}
		}
	}

    return 0;
}

Did I got something wrong ? I'm on VS2019 x64 build.
Thanks.

This could indeed be a bug.
I'll be away from my PC today, but I think the issue here might be that the line:
                    if( !pHead.compare_exchange_weak( pTailPlus1, &tail ) )

Should be:
                    if( !pHead.compare_exchange_strong( pTailPlus1, &tail ) )

I should be able to get to my PC on Sunday and check this out.

I'm afraid it's not. I change it to compare_exchange_strong, and still got the issue.

Oh well! Thanks for the report and I'll check it out when I get to my PC tomorrow.

Ok, Thank you.

This was indeed a bug, and it should now be fixed - please close if this works for you, otherwise I'll close shortly.

Yeah, it works. Thank you.
And there is another issue( can't compile on vs2015) in the new code, I will open another issue .

Glad this works, many thanks for finding this issue.


When focus on the "Shape marking pen thickness" textbox,press BackSpace or delete key,it should not delete shape.

Describe the bug
When focus on the "Shape marking pen thickness" textbox,press BackSpace or delete key,it should not delete shape.
To Reproduce

Click shape menu,add a shape.
Click set "Shape marking pen thickness" textbox,press BackSpace key.
The shape will be delete.(NG)

Expected behavior
When focus on the "Shape marking pen thickness" textbox,press BackSpace or delete key,it should not delete shape.

The bug has been fixed in the repository I forked, and I will submit a PR afterwards.

@Edric-Li
Thank you for the bug report.
What does "Shape marking pen thickness" mean?


ui: react: Add runtime and build info page

[ ] I added CHANGELOG entry for this change.
[x] Change is not relevant to the end-user.

Changes

Implement API endpoints /status/runtimeinfo and /api/buildinfo
Enable the Runtime & Build Information page in react UI

Verification
Tested locally using both production and development build.
Screenshot

how is this not a user-facing change?
Oh I thought the new UI is still in beta :sweat_smile: But yeah, maybe we should add an entry in CHANGELOG for this.


Problems with computed property must be of type 'string', 'number', 'symbol', or 'any'.

I'm having problems with the restriction:

A computed property name must be of type 'string', 'number', 'symbol', or 'any'.

And the following function:
const selectWhere = <T, W extends keyof T, S extends keyof T>(where: W, select: S) =>
    (entities: T[], value: T[W]) =>
        entities.filter(e => e[where] === value)
                .map(e => ({
                    [select]: e[select] // Error
                }));

The functioin shoud allow me to filter an awway by a property and select some attributes:
interface User {
    surname: string;
    age: number;
}

const selectSurnameWhereAge = selectWhere<User, "age", "surname">("age", "surname");

const users = [
    { surname: "Smith", age: 28 },
    { surname: "Johnson", age: 28 },
    { surname: "Williams", age: 14 }
];

let result = selectSurnameWhereAge(users, 28);

result[0].surname; // "Smith"
result[0].age; // Error
result[1].surname; // "Johnson"
result[2].age; // Error

I have a work around but it is very verbose:
const selectWhere = <T, W extends keyof T, S extends keyof T>(where: W, select: S) =>
    (entities: T[], value: T[W]) =>
        entities.filter(e => e[where] === value)
                .map(e => {
                    let obj = {};
                    Object.keys(e).forEach((k) => {
                        if (k === select) {
                            obj[k] = e[k];
                        }
                    })
                    return obj as Pick<T, S>;
                });

Reproduce it at the Playground.

Duplicate of #14473 ?

How about just:
const selectWhere = <T, W extends keyof T, S extends keyof T>(where: W, select: S) =>
    (entities: T[], value: T[W]) => entities
        .filter(e => e[where] === value)
        .map(e => (<Pick<T, S>>{ [<string>select]: e[select]}));

Thanks for helping out, I just tried with:
const selectWhere = <T, W extends keyof T, S extends keyof T>(where: W, select: S) =>
    (entities: T[], value: T[W]) => entities
        .filter(e => e[where] === value)
        .map(e => (<Pick<T, S>>{ [<string>select]: e[select]})); // Error

But I got the following error in the playground:

Type '{ [x: string]: T[S]; }' cannot be converted to type 'Pick<T, S>'.

I reported it because I really think that it would be awesome if in the future my sample works without the need for casting.
const selectWhere = <T, W extends keyof T, S extends keyof T>(where: W, select: S) =>
    (entities: T[], value: T[W]) =>
        entities.filter(e => e[where] === value)
                .map(e => ({
                    [select]: e[select] // Error
                }));

Feel free to close the issue if you believe that it is a duplicate of #14473 unfortunately I don't know enough about the internals of the type system to be sure about it being a duplicate...

Automatically closing this issue for housekeeping purposes. The issue labels indicate that it is unactionable at the moment or has already been addressed.


Cloud-based Environment and Task handling

Once we have centralized storage parameters for cloud credentials we can then do the following

[ ] environment entities can have hardware information that pertains to specific cloud instances which can then be recreated with the correct cloud credentials
[ ] tasks can be run with the environments that can be run in a cloud environment
[ ] an interactive tunnel into cloud environments to run tasks or one-off task runs on cloud servers
[ ] further enhancement allows serverless environments as well

Will most likely need issue #129 to be completed first. Most notably, a centralized store for cloud credentials is needed

goal is to create remote storage with centralized remote credentials. remote running of tasks etc can be done by the user via remote storage.


Cloudnative pg server side

This PR is a follow up on https://github.com/canonical/microk8s-community-addons/pull/232

The new version must be 1.23.3 now :) it was released yesterday

Thanks @sxd! I'll make sure to adjust that


Integration Test - Release - 2018/07/24 06:29:29

Auto create for integration test. AnotherAuthorUpdatedArticleFlow

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

csidevdocs-public/IntegrationTest/BuildIntegartionTestFiles/ChangeSentToAuthor.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Wrong using step 3 in README (fetch.sh ... txt file)

In the README.rst there are specified as point 3. to:
"Run fetch.sh http://../IE11.Win8.1.For.LinuxVirtualBox.txt and wait. The multiple wgets will fight for the screen somewhat."
This does not play, while doing the same for a according .zip file, will download the VM-container

Thanks, seems the old .txt files have now gone completely, although they are still in Microsoft's VM selection code.
The above modifies ie-urls.sh to not display them, and modifies the README to avoid confusion.

Wow!
I'm impressed - fixed in just minutes after reporting ...
:-D
Sincerely / Med vennlig hilsen,
Kjell Arne Rekaa
Jacob Aalls gt 31 A, N-0364 Oslo
Mobile: +47-90 88 99 06
Blogs: http://les-kar.blogspot.com/, https://mobilkar.wordpress.com/
Twitter: kjell_arne http://twitter.com/kjell_arne
Den fre. 9. nov. 2018 kl. 12:21 skrev Jamie Lentin<EMAIL_ADDRESS>
:

Thanks, seems the old .txt files have now gone completely, although they
are still in Microsoft's VM selection code.
The above modifies ie-urls.sh to not display them, and modifies the README
to avoid confusion.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/lentinj/ie-vm/issues/12#issuecomment-437331170, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AOnIQmjTZruF2AQCotZ5axsUbzBOKxdCks5utWVVgaJpZM4YWX4r
.

bows


RFC: Mutable graphcache configuration at runtime

Summary
In the process of rewriting a large app to urql, I see a problem where there are queries located across many files but all of the resolvers/keys/updates/etc need to be in-line in the cacheExchange setup. It'd make sense to co-locate the appropriate graphcache configuration with the queries that need it.
Proposed Solution
Two easy options:

An API which acts like a reducer, you pass a function to it, it receives the current config object, then you can mutate that object to add/remove/change anything and then return the updated object. This function could then be called prior to calling a query to setup the appropriate configuration needed for that query.
Make the object which is passed to cacheExchange safely mutable. This would allow consumers to pass in a reference to an object in the client setup and then hold a reference to that configuration so they can mutate it however they see fit. This may already be possible depending on how the internals of cacheExchange work today, but it'd be nice to have this be a documented use-case so we can depend on it.

Both of these would lead to better code splitting since the graphcache configuration would be located with the queries that need it and only "registered" if they are used.
Requirements

N/A

This is by design, we have a centralised configuration because it's not safe to split up the config without knowing where parts are used. The exception is at most the updates config option. However, all other configuration options must be available when any type globally is available and could occur in any query.
The important note here from a prior discussion is that the configuration is already mutable. In other words, while we don't recommend this, you can split it up: https://github.com/FormidableLabs/urql/discussions/1868

Can you elaborate on why this isn't safe? It's strange that it is something which can work and is supported but not documented and "not safe". I'd like to understand what problems I may run into if I do this.

Say you have a keys or resolvers configuration that's only defined in part of your application. It's pretty likely that eventually you'll run into cases where the types or fields that depend on these parts of the configuration won't be accessible yet. In other words, we simply don't guarantee any defined behaviour when this configuration changes on the fly.
This is basically effort that we don't find worth the cost of having to manage this configuration separately. Typically, these updaters are designed to stay manageably small, so it's not too unlikely that splitting them up will ultimately not save as much later on as the effort it costs upfront. Meaning, it's not impossible, but also not advisable as long as tooling doesn't support it.
There's also a certain philosophy behind it. It's tempting to say that updaters and optimistic results may be grouped with where mutations are used, and resolvers and keys should occur where they're used in queries, but as apps grown, from our observation, it's unavoidable that these are two distinct parts. In other words, adding them to UI code ultimately makes GraphQL front end code more unmanageable as applications grow.
Updaters having to be reused when mutations that depend on them are used, adding resolvers as their fields are used in queries (or mutations), and the likes is error prone, and ultimately your UI code shouldn't have to care about this.
Personally, I see GraphQL as the best data dependencies abstraction when it comes to using it in code. When mutations and queries are written it's a decent language to say what you want to do or what data you need. From that principle you can also derive a lot of the recommendations that some GraphQL tooling makes. For instance, fragments are great tools to compose data dependencies. That said, the normalised cache is usually something that adapts to data as it's thrown at it. Hence, the need for some customisations in a central place. However, when those data dependencies are defined where they're needed that usually is, at least to me, just a place of "data binding" but not the primary place of business logic or data logic in general.
Hope that clarifies it a bit :v: but I'm very aware this is more of a collection of thoughts, so not the best explanation 😅


The actions are truncated in production node

OS: Win10/Linux
Build Version: 20221011.6
VS Code Version :1.72.1
Repro Step:

Create a Static Web App -> Expand the static web app -> Expand "Production" -> Expand "Actions".
Check Whether the actions show well in production node.

Expect:
The actions show well in production node.
Actual:
The actions are truncated in production node.

More Info:

The actions show well in environment node when creating an environment on Win10 and Linux OS.
The issue doesn't reproduce on Vs Code version 1.71.2.

Duplicate of #744


Add django 3, remove python 2.7

#35, #36,
Drop Python 2.7 support, and change to more idiomatic Python 3.
Removes all references to six compatibility dependency, which also has the effect of adding support for Django 3.0.
Also tested with Python 3.8, no issues noticed, so I added it to the test matrix. Supported Python versions are now from 3.6 to 3.8.
Note I didn't add DRF 3.10, it shouldn't have issues either, but I didn't check.
Django 3 adds some deprecations warnings related to Django 4,
django.utils.translation.ugettext_lazy() is deprecated in favor of django.utils.translation.gettext_lazy() and force_text() is deprecated in favor of force_str()
I updated as such.
Locally tested with Python 3.8, Django 2.2, 2.2.8, and 3.0
There was one outstanding error detected, only with Django 3.
test_subquery_lookup fails, with TypeError: 'Query' object is not iterable.
It refers to the loop in lookups.py, l129 for rhs_value in self.rhs:. The previous check couldn't pickup the bound method _prepare, as it has been removed in Django 3. It originally only returned self anyway.

Most of the code in lookups.py is compatibility stuff for django version older than 1.11. So I'm going to be removing most of it along with removing 2.7 support. Thanks for getting this started, though!


Reader view caches website content for too long. No easy way to refresh cache.

Edit:
I have been served the  old version of my article for quite a while. In my frustration I removed and re-subscribed to the feed several times and still got the older version of the article in reader view. The issue is that it was hard-cached in the in-app storage. I deleted the app and data via iOS settings and reinstalled it. Only then the cache was deleted. Finally i cloud render the fresh version of the article in reader view. Everything works fine now.
However, on macOS I was not able to delete the cached version of the article, not knowing where to find said cache. I still see the days old broken version of my article.
Suggestions:

Can we have control over the cache policy in settings?
Alternatively how about a fresh re-render of the html inside the reader view on pull-down action?

Initial post:
I added my own feed to NetNewsWire. While the feed entry preview works flawlessly NetNewsWire has a problem loading images when prompted to render the article in reader view. My html code is as clean as it gets. The  objects have a sane size, absolute data paths and everything. Unfortunately I only get empty placeholder boxes. Clicking the boxes starts a loading animation. The images never load. Since I can't see what is happening in the background, I don't know what is going on. I tested the reader of Feeder for android and the images load just fine. So do they when I open a browser's reader view.
Any ideas? Is this a bug?

I have blitzed this directory to reset my local feed list. ~/Library/Containers/com.ranchero.NetNewsWire-Evergreen/Data/Library/Application\ Support/NetNewsWire/Accounts/OnMyMac/

It is actually WKWebView doing the caching here or the service that we use to generate the Reader View HTML. Most likely it was the service having an issue with the conditional get information.
I'm going to close this issue as a duplicate of #3493 since we would use the same API call to clear both cookies and web content.


Contextually clearing gizmos

Objective
Allow Gizmos to work in FixedUpdate without any changes needed. This changes Gizmos from being a purely immediate mode api, but allows the user to use it as if it were an immediate mode API regardless of schedule context.
Also allows for extending by other custom schedules by adding their own GizmoStorage<Clear> and the requisite systems:

propagate_gizmos::<Clear> before update_gizmo_meshes
stash_default_gizmos when starting a clear context
pop_default_gizmos when ending a clear context
collect_default_gizmos when grabbing the requested gizmos
clear_gizmos for clearing the context's gizmos

Solution
Adds a generic to Gizmos that defaults to Update (the current way gizmos works). When entering a new clear context the default Gizmos gets swapped out for that context's duration so the context can collect the gizmos requested.
Prior work: https://github.com/bevyengine/bevy/pull/9153
To do

[x] FixedUpdate should probably get its own First, Pre, Update, Post, Last system sets for this. Otherwise users will need to make sure to order their systems before clear_gizmos. This could alternatively be fixed by moving the setup of this to bevy_time::fixed?
PR to fix this issue: https://github.com/bevyengine/bevy/pull/10977
[x] use mem::take internally for the swaps?
[x] Better name for the Context generic on gizmos? Clear?

Changelog

Gizmos drawn in FixedMain now last until the next FixedMain iteration runs.

Could this PR work as an extension on #10342 ?  Since it does create special configurations to handle different types of gizmos… I'll ping @jeliag to get their input.

Could this PR work as an extension on #10342 ? Since it does create special configurations to handle different types of gizmos… I'll ping @jeliag to get their input.

I believe it's two different axis of control here, we could use the same generic but I don't personally think it's worthwhile. In most cases this should default and users shouldn't even know its there.

Could this PR work as an extension on #10342 ? Since it does create special configurations to handle different types of gizmos… I'll ping @jeliag to get their input.

I see the similarities, and it could be integrated into my config groups, but I do not think it should be. Ideally the gizmos should behave the same regardless of where they are used. Linking gizmo appearance settings and where they can be used doesn't seem right to me.
I think this PR is a step in the right direction. A future retained gizmo API could solve this problem as well, but that would probably require a major refactoring of the entire gizmo code.

I like the user interface, seems pretty robust for custom contexts, persistent gizmos #9178 should cover other cases. The internals are a bit weird, but I don't have a better idea than introducing GizmoStorage<Update> like you mention.
One question. The current context uses () (which doubles as Update) and we store the Update in Swap when using FixedUpdate. Wouldn't another level of context, say FixedUpdateTurn (in some imaginary turn-based game) break this? Since the previous context of FixedUpdate would need to move from () to Swap, which currently holds Update?
If so, it's probably worth noting, it'd be pretty hard to debug.

Definitely is a bit hardcoded to just 1 layer of context at the moment. We could solve that by making this stack-based, but I was a bit hesitant about going down that path because I was worried about over-engineering it.
I'll add a comment regardless, I could also add a hard panic by making the swap buffer never overwrite.

I agree that adding stack machinery insn't necessary – if a user nests a context, they can store it in another buffer the same way this PR does it.
I'd say the better solution is to clarify that Swap is meant to be used just for saving the default context during FixedUpdate, which is why Aceeri proposed (in another comment) making it pub(crate) and updating it's documentation (maybe it could also be renamed to FixedUpdateSwap?).
Edit: stash_default_gizmos/pop_default_gizmos would need the same treatment as they're specifically for Swap.

Yeah this seems like a better idea, I'll make the stash/pop take a generic for a swap buffer. I can't make Swap pub(crate) unfortunately because of some rust rules around parameters (even though no one should be calling a system manually).

Shouldn't be merged quite yet given some changes with the config stuff.

Should be ready for merging/final reviews now

@Aceeri once this is passing CI I'll merge. Looks like it just needs formatting currently.

Thank you to everyone involved with the authoring or reviewing of this PR! This work is relatively important and needs release notes! Head over to https://github.com/bevyengine/bevy-website/issues/1301 if you'd like to help out.

Just marking this as a breaking change so the migration guide tool picks it up. (insert_gizmo_group() was renamed to insert_gizmo_config().) Don't worry about filling in the migration guide yourself, I'll handle it :)


still trying to build it..

it downloaded so many things... it got to 4gb...
why so alot?

Will check this out when I get back from work today.

I was able to check this out really quick. All of the size comes from the boost nuget packages. If you check out the size of the packages directory, you will see its all of the different boost libs.
Let me know if you see the same thing.

@smasherprog  yeah youre right- by the way im trying to launch it now and this is the exceptions i get

in the client & server too.

You are likely using VS 2013. I use 2015, so you need to set your platform toolset by highlighting all the projects and selecting here.

@smasherprog allright changed the entire solution to v120(my version) and now im getting this..

damn.  i really appreciate your help :)
please suggest me what to do

https://github.com/smasherprog/Remote_Access_Library/wiki/Visual-Studio-Development

Closing this issue. Please open a new one if you have further questions

@smasherprog  waitt haha i just missed your last message,what did you mean by this link?
i mean how it should solve the errors? i did as you said before(setted it to v120) and now getting tons of other errors :) i would really like to try this project it's somthing i investigate and search about alot(in c#  unforunately,haha).


Use linux-on-ibm-z/protobuf to allow compiling of protobuf on zLinux

Description
A patched version of protobuf that compiles on zLinux is hosted on github in the linux-on-ibm-z repo. images/base/scripts/common/setup.sh is modified to use it for building base image on zLinux.
Note that the maintainer of hyperledger/fabric-baseimage:s390x-0.0.10 still needs to update the image so that it has protoc installed.
Motivation and Context
protobuf is required in hyperledger base image. This enables compiling protobuf on zLinux.
How Has This Been Tested?
I manually tested the command sequence in setup.sh for the protoc installation on zLinux.
Checklist:

[x] I have added a Signed-off-by.
[x] I have either added documentation to cover my changes or this change requires no new documentation.
[x] I have either added unit tests to cover my changes or this change requires no new tests.
[] I have run golint and have fixed valid warnings in code I have added or modified. This tool generates false positives so you may choose to ignore some warnings. The goal is clean, consistent, and readable code.

Signed-off-by: Gong Su<EMAIL_ADDRESS>

👍 If I'm right, adding protoc to that image and this PR together will fix lots of Jenkins/Travis problems.
Who is the maintainer of "hyperledger/fabric-baseimage:s390x-0.0.10"? Maybe we should wait until that image gets updated with protoc.

@gabre hyperledger/fabric-baseimage:s390x-* is build by our CI.

@christo4ferris I think baseimage is still only done manually, and I am the only one that has pushed them to date.  I can spin a new image for 0.0.10/s390

@ghaskins I was thinking about that... I wonder if it makes sense to have that as an independent repo so that we can build and publish new images where appropriate. Otherwise, I suppose we would have to test when it is actually changed, etc.

@christo4ferris improvements in the flow are certainly needed.  To be honest, it's a huge PITA for me to generate these images right now.  Fortunately, it happens very infrequently.
Anyway, regarding this, note I am aware we are in need of a respin for this.  I had contacted @vpaprots yesterday for access to a Z box to do the build.  We are currently waiting for a second PR from @vpaprots to go in in conjunction with this one.  However, if it becomes urgent, we can spin them out separately.

@ghaskins @christo4ferris  Sorry for the delay. https://github.com/hyperledger/fabric/pull/2280 is out there now. Tested together with this fix, works almost perfectly (1 hang, which sometimes did happen) so should be ready. I wont be available tomorrow, till later in the day perhaps. Greg, you do have access to my machine now I think, feel free to take over as you have time.

@ghaskins LGTM but I'll leave this and #2280 (which also LGTM) to you to merge given you wanted to run some tests.

@s390xlinux we will be transferring the fabric and fabric-api repository and all the corresponding issues and pull requests to the hyperledger-archives org on GH and replacing this repository with a read-only mirror of our Gerrit source. As a result, any automatic GH redirects will be broken. If you haven't already migrated your PR to Gerrit, and intend to do so, you will need to change your git remote to reference the transferred repository (e.g. git@github.com:hyperledger-archives/fabric) on your local clone.

How do you migrate PR from Github to Gerrit?
On Thu, Aug 25, 2016 at 11:36 AM, Ferris<EMAIL_ADDRESS>wrote:

@s390xlinux https://github.com/s390xlinux we will be transferring the
fabric and fabric-api repository and all the corresponding issues and pull
requests to the hyperledger-archives org on GH and replacing this
repository with a read-only mirror of our Gerrit source. As a result, any
automatic GH redirects will be broken. If you haven't already migrated your
PR to Gerrit, and intend to do so, you will need to change your git remote
to reference the transferred repository (e.g. git@github.com:hyperledger-archives/fabric)
on your local clone.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/hyperledger/fabric/pull/2228#issuecomment-242432345,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ATRx_3JDObTtt0G_opxzGbwOloRB481jks5qjbZpgaJpZM4JN1UG
.

@s390xlinux: Please follow this documentation http://hyperledger-fabric.readthedocs.io/en/latest/Gerrit/lf-account/ to create account in LF and clone fabric repo from gerrit. Once done, please create and push patch to gerrit.


added Sandbox configurations

I've added the Sandbox configuration.
With this, you can also pass the "sandbox" as "True" or "False" (default) to initialize the PagSeguro instance.
I think that fixes the issue #21.
Great library, by the way. :)

Coverage increased (+1.74%) to 70.46% when pulling f7ab95c492a1a6dbfbee1798bf7b8c07cb72e9f9 on dwolff:with_sandbox into 1f697a2c7bcf0f7769a9fc4f81be676ed5ee97c6 on rochacbruno:master.

In terms of verbosity, isn't better to have just one Config class who can handle both sandbox and production environments?

I've tried to do that, but I had problems with passing the parameter
(sandbox=True or False) without a init constructor to the Config object.
On 13-03-2015 17:49, Ellison Leão wrote:

In terms of verbosity, isn't better to have just one |Config| class
who can handle both sandbox and production environments?
—
Reply to this email directly or view it on GitHub
https://github.com/rochacbruno/python-pagseguro/pull/22#issuecomment-79376657.

we could add a SANDBOX class variable, getting its value with a os.getenv call, like
class Config(object):
      ...
      SANDBOX = os.environ.get('PAGSEGURO_SANDBOX', False)

in this way we can export the sandbox variable and just calling for the app.config['SANDBOX'] when needed. What do you think @rochacbruno ?

I do not like forcing the use of environment variable, we can just implement the first @dwolff  idea and create __init__ method in Config class to decide which data to use.
I will take a look and propose a solution.

@rochacbruno +1 about forcing env vars.
What about change the constructor of PagSeguro class and give the user the possibility to pass their own Config object ?
class PagSeguro(object):
...
    def __init__(self, email, token, data=None, config=None):
        self.config = Config() if not config else config
...

my_config = MyOwnConfig()
pagseguro = Pagseguro(email='foo@bar', token='baz', config=my_config)

:+1:  @arthurbarros

Now it is possible to pass config objects, support added by @arthurbarros on #25, so now we only need to include SandBox config as an option in config module

done in #32


refactor(samples): convert sample tests from ava to mocha

Fixes convert all sample tests from ava to mocha #2865 (it's a good idea to open an issue first for discussion)

[ ] Tests and linter pass
[ ] Code coverage does not decrease (if any source code was changed)
[ ] Appropriate docs were updated (if necessary)

@nareshqlogic I invited you to the googleapis org so your tests run automatically.  Can you please check your email and accept those invitations?  Thanks!

Hi @JustinBeckwith,
I didn't get email regarding googleapis org.

 After clicking on link it moves on two_factor_authentication. Here I am not able to set country code for India. Will it work without two_factor_authentication?

Nope, you need to have two factor auth enabled. Can you use the Google Authenticator app for android or iOS?

Hi @JustinBeckwith,
Now I have enabled two factor auth and I fix the lint issue.


Problem in imdb_bidirectional_lstm.py example

Hi,
I am trying to run the code of imdb_bidirectional_lstm(https://github.com/fchollet/keras/blob/master/examples/imdb_bidirectional_lstm.py)  on theano backend. But each time I  try to run it, I got an error of Floating point exception (core dumped) after first epoch.  Can you please suggest what am I doing wrong ??

I have tested it with tensorflow backend and it is working perfectly fine..  I guess there is some issue with theano backend.


[22.05] unbound: fix CVE-2022-30698 and CVE-2022-30699

Description of changes
https://lists.nlnetlabs.nl/pipermail/unbound-users/2022-August/007851.html
Things done

Built on platform(s)

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

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

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

It occurs to me that pyunbound inherits the src of unbound but not the patches. So it doesn't get any of the fixes we apply like this - note this doesn't cause a rebuild of pyunbound.

(should probably push that upstream too)

IMHO we also can just bump unbound like on master. Looking at the changelog, I don't think we can expect any breakage.

The changelogs do mention at least one backwards incompatibility, e.g. https://www.nlnetlabs.nl/news/2022/Feb/10/unbound-1.15.0-released/ says "The default for the aggressive-nsec option has changed"

@ajs124 You're right, sorry. Didn't notice the version in 22.05 was that old.

Checking out the patch, I'm satisfied to some extent by us running the tests and this change requiring a test change which presumably means the tests at least run the affected code.

@vcunat mentioned on matrix that some people seem not to agree that this is a security issue at all. I'm not a DNS expert, I just run DNS servers, so I'd personally defer to the developers of the software that I run, but if any of you are experts in this and have a strong opinion on this, I'm happy to hear them.

For context, the security researchers marked this a vulnerability because it allows (partially) evading domain take-downs (which could be done e.g. because malware is distributed from there or it's used as C&C).  The usual counter-argument is that malicious actors can register their names at places that won't do take-downs.


Properly dispose http server

When using the AuthorizationCodeAuth flow, the HTTP server should be stopped properly like in ImplicitGrantAuth

Sorry for the late merge, thanks! :+1:
Will release hotfix shortly


chore: release 1.2.2

:robot: I have created a release *beep* *boop*
1.2.2 (2021-12-14)
Bug Fixes

do not print home name in http error (8cce84f)
do not print zone name in http error (387edee)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/gonzolino/tado-window-control/releases/tag/v1.2.2 :sunflower:


chore: update package info

Coverage: 100.0%. Remained the same when pulling 8b48d08474680cbd19cc922527a10adbe2fc1b78 on v4.3.0 into ca22771ffc175d52b353f81320ee004cdc65ef8b on dev.


Wrong az cli command

[Enter feedback here]
In documentation command is :
az network vnet subnet update
--name default
--vnet-name MyVnet
--resource-group myResourceGroup
--disable-private-link-service-network-policies yes
While correct command is:
az network vnet subnet update
--name default
--vnet-name MyVnet
--resource-group myResourceGroup
--disable-private-link-service-network-policies

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

ID: c4d302f3-da66-cda0-95e0-aa55d7912db1
Version Independent ID: cab6470a-24c5-ec39-fbf3-a5950a5c7ce9
Content: Disable network policies for Azure Private Link service source IP address
Content Source: articles/private-link/disable-private-link-service-network-policy.md
Service: private-link
GitHub Login: @asudbring
Microsoft Alias: allensu

@Dushelov
Thank you for your feedback. The command in the documentation as well as the command mentioned by you both are correct.
Based on the documentation here
https://learn.microsoft.com/en-us/cli/azure/network/vnet/subnet?view=azure-cli-latest#az-network-vnet-subnet-update
The --disable-private-link-service-network-policies property can be entered with these values {0, 1, f, false, n, no, t, true, y, yes}

Thank you!


Feat:Want to improve Backend of Contact Page

Describe the feature
@SUGAM-ARORA I want to set up Backend of Contact Page. Kindly assign me this issue.
Add ScreenShots

Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

@Ojas-Arora Issue assigned to you


X/Y trainer data

Add most X/Y data

I'm not sure how Generation 6 games calculate enemy trainer natures, so they're defaulted to Hardy (nature 0) until that gets solved.
I'm also not sure how the ability RNG works for Pokémon sets with no set ability, those are set to null and the calculator automatically assumes the first ability for that set ¯_(ツ)_/¯


Add sl3 state

Includes template to make SL3 states using pynav with the SL3State class with inheritance from the MatrixLieGroupState  from pynav.

Looks good. To be 10/10, add some unit tests to tests/unit/test_states.py


wg-performance Status Update 2022-03-14

cc @ampproject/wg-performance
What was accomplished
Lessons Learned
What's Next

What was accomplished

add amp-iso-subdivision-${subdivision}to google AMP cache amp geo pre-rendering

Lessons Learned
What's Next

amp e2e use mjs files
inline amp-story translations strings as part of an experiment


Use correct Go version in E2E test JUnit files

Use correct Go version instead of old hardcoded Go version in E2E test JUnit files by dynamically retrieving the version from the runtime package in the Go standard library.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/cherrypick release-0.19

/lgtm
/approve


--use-local-mounts=true will fail

pkg/app/master/command/build/image.go
Fixes-###
What
When I run slim build with --use-local-mounts=true and provide local state-path. Then the slim build will fail with error
cmd=build info=build.error status='optimized.image.build.error' error='no layers'

Why
The reason is for local mounts, there is no files.tar file exits. Only the files folder exists. But the check is
dataDir := filepath.Join(imageInspector.ArtifactLocation, "files")
if fsutil.Exists(dataTar) && fsutil.IsDir(dataDir) {
  layerInfo := imagebuilder.LayerDataInfo{
	  Type:   imagebuilder.DirSource,
	  Source: dataDir,
	  Params: &imagebuilder.DataParams{
		  TargetPath: "/",
	  },
  }

  opts.Layers = append(opts.Layers, layerInfo)
  hasData = true
} else {
  logger.Info("WARNING - no data artifacts")
}

which will check if dataTar exists. In this case, it is false, so it will trigger the failure
How Tested
set --use-local-mounts=true and provide your local --state-path

@tsujie thanks a lot for the enhancement! Do you mind signing it and adding it here

sure
On Fri, Oct 4, 2024 at 2:36 PM Kyle Quest @.***> wrote:

@tsujie https://github.com/tsujie thanks a lot for the enhancement! Do
you mind signing it and adding it here
https://github.com/mintoolkit/mint/pulls
—
Reply to this email directly, view it on GitHub
https://github.com/slimtoolkit/slim/pull/718#issuecomment-2394702301,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AA3JQ7EFDSUBT76VHIIBPUTZZ4C4LAVCNFSM6AAAAABPMTJEV2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGOJUG4YDEMZQGE
.
You are receiving this because you were mentioned.Message ID:
@.***>


Compare tests with what NodeBB tests

See https://github.com/NodeBB/NodeBB/blob/activitypub/test/activitypub.js
FIrst step would be to create issues here for what they cover and we don't have issues for yet.

Done.


Propose to use casbin as the authorization library

Hi all, I'm the author of casbin, a Go library for authorization based on access control policy. casbin supports multiple access control models like ACL, BLP, RBAC. I'd like to make casbin as a part of go-os authorization. Please let me know if I can provide any help.

Go-OS is a set of interfaces which can be implemented. You can freely implement something using casbin and share it publicly on github. The micro explorer will pick that up and make it easy for others to find.


Update dependencies

updated request dependency

https://github.com/nodejs/node/issues/20258
^ reason why build fails, I'll specify older version of Node for Travis later