Interpretation of Discriminator Loss

I've got a question for the discriminator loss.
It seems when training using WGAN you can end up with increased image quality with increased loss.
I have plotted here -log D vs. generator iterations, smoothed using a median filter of length 101.
Are there any guidelines how to diagnose these losses?

The initial dip has significant lower image quality than the most recent peak.
Thanks!

did you by any chance crank up the learning rate? or change the number of D iterations per G iteration? if either of these is true, the wasserstein approximation might be off.

Yes I did, the learning rate was set to 5e-4 for both D and G.
Are there any theoretical or practical bounds on these? (I'll check the paper as well)

This type of curve is a strong sign that the discriminator isn't trained till optimality (and therefore it's error doesn't correspond to the performance of the generator). That can be for a number of reasons:

Momentum on the discriminator.
High learning rates.
Low number of disc iterations.

There can be other reasons that are problem dependent, but the general principles is that anything that helps have the disc trained till optimality is going to help with this issue.

Protip: something else you can do is detect when the curve is making a big jump like this and keep iterating the critic till the curve goes up again to roughly were it was before the jump.
We hope to have a more precise "convergence criterion" for the critic further on so that this is no longer an issue.

Loving the protip and the quick responses!
Gonna give it a shot, thanks!

Very useful perspective here. I'm finding that my generator loss decreases over time but the sign goes from positive to negative. Do you have intuitions about how to interpret the sign?

So to bring some Twitter comments back: as mentioned in #4 me & @FeepingCreature have tried changing the architecture in a few ways to try to improve learning, and we have begun to wonder about what exactly the Loss_D means.
In particular, compared to IllustrationGAN and StackGAN, WGAN struggles to handle 128px resolution and global coherency (eg in anime faces, severe heterochromia - the convolutions apparently decide individually on plausible yet mismatched eye colors). If we add on, using --n_extra_layers, 3 or 6 additional convolution layers for a 64px anime face model, training struggles even more and 6 is worse than 3 which is worse than none. (Albeit hilarious looking.) When we add in 1-4 fully-connected layers at the beginning of the generator like this:
+            nn.ConvTranspose2d(nz, nz, 1, 1, 0),
+            nn.LeakyReLU(0.2, inplace=True),

WGAN tends to get better and more globally coherent (but we still haven't matched IllustrationGAN/StackGAN). My interpretation is that the fully-connected layers are transforming the latent-z/noise into a sort of global template which the subsequent convolution layers can then fill in more locally. For symmetry, feep also tried adding additional layers to the discriminator with their associated batchnorms and changing the penultimate layers.
One interesting thing about adding convolution+batchnorm or fully connected layers to 128px is that it makes Loss_D wildly different. This isn't too surprising since it's noted that Loss_D isn't directly comparable across different models, but what's a little more unpleasantly surprising is that it seems to affect training. If we add in more FC layers, the Loss_D can start at -300 or higher and trains somewhat normally there but with considerable difficulty with lots of oscillations in loss & sample appearance overnight. While when we made the discriminator changes, suddenly the starting Loss_D is -0.0003 and it makes no progress beyond static overnight. Increasing --Diters dramatically to 25 or 50 or higher, as recommended in #2, does not fix this at all.
I began thinking about what the Wasserstein distance/Loss_D means and wondered: it defines the loss for the gradients, right? Literally? So wouldn't -300 represent absurdly large gradients, and -0.0003 represent almost no gradients at all? And the former would be only ~10x what reasonable Loss_Ds are (1-10) while the latter represents gradients 10,000x too small, explaining why they worked so differently. Plus, isn't the effect of batchnorm to rescale outputs to N(0,1), so a batchnorm near the top of the discriminator would tend to make its outputs small, while on the other hand adding additional layers can make the final numbers much larger because they can vary over a wider range?
I tried multiplying one/mone in main.py by 1000 to see if that helped but it didn't really, so I switched to changing the learning rates. For the -0.0003 WGAN, I found that a lrD/G of 0.001 (20x higher than the default 0.00005; I assume that the reason it's not 10,000x higher has to do with the exact definition in the gradient descent formula) made steady progress and has yielded respectable 128px faces overnight.
If it was merely the case that we aren't training the discriminator adequately, then my first fix of increasing --Diters should've worked. And also if that was the case, then the -0.0003 WGAN should've worked brilliantly from the start - after all, it had a tiny Loss_D, always, which should indicate that it's an awesome discriminator/generator. And further if that was the case, then increasing the learning rate so much should have broken it, not made it work.
So it seems like the absolute size of Loss_D matters somehow to training, and there's a sweet spot for a model with lr=0.00005 to start with a Loss_D of 1-10 magnitude - smaller, and it doesn't learn at a reasonable speed, larger, and it oscillates wildly without making progress (learning too much from each minibatch?).
There doesn't seem to be any important meaning to the Loss_D being 3 rather than 300 or 0.3, it's just there to provide gradients for the generator, right? It's a weak distance. So maybe a robust WGAN would do something like take the Loss_D in the first minibatch after training the discriminator to optimality, and then rescale it to 1-10 thereafter?

Lukas, did you try Martin's suggestion to create heuristics for the number of iterations of the Discriminator? I'm having a similar issue

@rafaelvalle Yes, I have tried increasing the number of iterations for the discriminator.
What I found was that the increase leads to
a) a much longer runtime
b) no visible decrease in lossD (after 10000 iterations)
Ok I am training this on a different dataset, but still, if you look at the paper, we're talking 100k generator iterations, that's 500k discriminator iterations with default values. Depending on your hardware, that might take a while 'til you start seeing results.
Nevertheless increasing learning rate and not worrying about sudden drops gave me best results in short time, but have not checked for mode collapse etc.

Are you by any chance doing one-sided label smoothing or using RNNs?
On Feb 15, 2017 2:03 PM, "Lukas Mosser"<EMAIL_ADDRESS>wrote:

@rafaelvalle https://github.com/rafaelvalle Yes, I have tried
increasing the number of iterations for the discriminator.
What I found was that the increase leads to
a) a much longer runtime
b) no visible decrease in lossD (after 10000 iterations)
Ok I am training this on a different dataset, but still, if you look at
the paper, we're talking 100k generator iterations, that's 500k
discriminator iterations with default values. Depending on your hardware,
that might take a while 'til you start seeing results.
Nevertheless increasing learning rate and not worrying about sudden drops
gave me best results in short time, but have not checked for mode collapse
etc.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/martinarjovsky/WassersteinGAN/issues/2#issuecomment-280154853,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACMij3cCPQBbKlnAeD9oa-6aB-tCia9_ks5rc3ZGgaJpZM4Lz_GZ
.

@rafaelvalle is there something specific about RNNs that don't agree with WGANs?
I'm using LSTMs to generate sequences with a WGAN loss. My model is learning to decrease d_loss rapidly, with improvement in generated samples until the point when it results in something like mode collapse.
I'd like to diagnose the issue correctly. Any insights? Thanks!

@pavanramkumar Assuming that a Recurrent GAN is harder to train than DCGAN, mode collapse can come from the critic not being trained till optimality, which makes it impossible to collapse modes.
Also, covariate shift might also be an issue.

@rafaelvalle thanks!
increasing d_iters beyond 100 does not change the learning curve much, so i'm wondering what if any are other metrics of optimal critic training.
i think covariate shift is likely due to several deterministic layers. we've used batch norm throughout, but it's probably inadequate for the covariate shift that our deterministic layers have created.

@pavanramkumar is your discriminator a RNN as well? Have you considered switching the disc/critic to a CNN?

@NickShahML a lot of our mode collapse problems went away when we stopped using LSTMs in both the generator and the discriminator. Tuning the relative complexity and regularization in both G and D is still a black art though!

@pavanramkumar were you able to train a RNN generator with adversarial loss?

@pavanramkumar  @rafaelvalle ... as a follow up what exactly are passing to the discriminator from the generator? Do you pass the softmaxed logits?
Supposed we are softmaxing over 100 different chars for each timestep
Generator --> Logits shape [batch size, timesteps, 100] --> Discriminator
Trying to figure out the best way to pass outputs from the generator to the discriminator to lessen complexity of the task.

Quick thing, it is possible that the clipping in RNNs creates a lot of vanishing gradients. I've heard that using layer normalization is aleviates this on wgan-rnns so it's a good thing to try.
I will look at this more in depth next week when I have more time.

@martinarjovsky , I'm only clipping on the discriminator which is a stacked CNN. I'm specifically testing the difference between RNN and CNN in the generator. Are we supposed to clip in the generator as well? That doesn't make too much sense to me. If you're talking specifically about the discriminator, then I would understand.

Ah I see. Nono don't clip on the generator :).
OK will take a look.

Yes, we generate softmax over the vocabulary (batch_size, n_symbols, n_sequence_length) to feed into the discriminator, in addition to several additional tricks that may not be directly relevant to your problem.
We also observed that increasing the clipping threshold in the discriminator led to divergence (the generator produces random samples but doesn't really learn to move towards the data).
Using dense layers in both discriminator and generator helped alleviate both mode collapse and divergence.

Thanks @pavanramkumar -- I'll try adding more dense layers and see if that helps resolve issues. I'll also keep the clipping at [-0.01,0.01]. So to clarify, did you actually get a RNN generator to work? Or did you stick with CNN's for both the generator and discriminator.

@NickShahML you're welcome. we just used dense layers for both. In fact, some keras code is here if it helps: https://github.com/tree-gan/BonsaiNet
We hope to improve our README soon.

Oh wow I didn't realize you literally only used Dense layers. I'm still working on correcting the negative loss for the discriminator. But definitely good to know that Dense layers helped you reach convergence on your task.

@NickShahML  Hi nick, I am also using RNN as generator with CNN as critic, the D_loss seems weird to fluctuate a lot. Did you by any chance make your RNN generator work?

hey @KingStorm Yea I got RNN generator and RNN Discriminator to work but they just don't perform as well as conv1d -- the trick was to use the improved WGAN paper that was just released. I just don't know what the problem is, but they just don't converge as well as conv1d (which is a good step but not that good).

@NickShahML Thanks for the reply :). May I ask have you ever tried to use conv net as discriminator and RNN as generator while using "Improved Training of WGAN". Tensorflow seems have some problems in calculating second-order derivatives of LSTM.

Yes I did every combination: lstm generator and lstm discriminator with conv generator and conv discriminator. Unfortunately conv generator and conv discriminator has yielded best results so far. I tried densenets as well and they did worse. Also tried fractal discriminators but those did worse. If one of the authors wants to help with this discussion for more ideas, I'm for trying anything. Really not sure why LSTM's don't converge better.

@NickShahML Do you have a repo with your experiments? I'd like to try out some of these combinations as well.

@thvasilo hey theodore! I didn't know you were interested in GAN paixnidia ;-)

@thvasilo I would point you to this repo -- has much more advanced techniques already working :)
https://github.com/amirbar/rnn.wgan/

Hey guys, @NickShahML @KingStorm @pavanramkumar have you guys been successful in the end?
I also face the same problem as you guys. My normal RNN GAN (Generator Dense+LSTM layer and Discriminator conv1D) has the problem of mode collapse.
I switched to WassersteinGAN but as you guys described, the loss is going crazy now. (Anyways having better results than before).
So did "Improved Training of WGAN" really "improved" your results? Did the loss got more meaningful?

I'm wondering if your iterating in all your samples inside each of D iteration or you are doing D iteration on on minibatch sample?

@gwern
I'm doing some works similar as you did, and I found that the wgan loss seems very sensitive to the network structures, input shape, etc.
As you mentioned, the Wasserstein distance could be very small values (about 1e-4), and same phenomenent occured in my experiments. I agree with your gradient's theory in WD definition under my experiment observations, but it seems very hard (or unable) to train a GAN with a very small WD at the begining of training, in fact, the model suffer from gradients vanishing in my experiments under this situation. On the contrast, the GAN is much easy to train with a large WD at the begining. So I think the scale of WD is not much important but we should expect it is a large values (maybe 1e-1~1e2) rather than (~1e-4) in our GAN.


About image annotation

Dear Sir,
After upload WSI DICOM image to Slim successfully, we try to annotate ROI.
The image size is under 1G and follow supplement 145 standard.
Some cases enable annotated, but some cases unable annotated.
How to check the root cause that the Slim unable to annotate ROI ?
Any help or suggestion will be sincerely appreciate.
Thanks a lot.

@DrexlerChao thank you for testing Slim and for reporting the issue. Is there an error message in the JavaScript console of the browser?
I have encountered this problem with images that have a wrong image orientation or offset resulting in negative coordinate points. What the values of Image Orientation Slide and X/Y Offset in Slide Coordinate System in the data sets that cause the error?

@hackermd Thanks for your suggestions. Here is my error message in the JavaScript console of the browser:
map coordinates from pixel matrix to slide coordinate system scoord3dUtils.js:26
remove ROI 2.25.672764296485173435553631564510971468282 viewer.js:2088
Uncaught Error: coordinates of Polygon must be positive numbers scoord3d.js:201
at new n (scoord3d.js:201)
at scoord3dUtils.js:44
at e.value (viewer.js:1634)
at t. (viewer.js:1538)
at t.dispatchEvent (Target.js:111)
at t.finishDrawing (Draw.js:986)
at t.handleUpEvent (Draw.js:637)
at t.handleEvent (Pointer.js:144)
at t.handleEvent (Draw.js:570)
at t.handleMapBrowserEvent (PluggableMap.js:1031)
n @ scoord3d.js:201
(anonymous) @ scoord3dUtils.js:44
value @ viewer.js:1634
(anonymous) @ viewer.js:1538
t.dispatchEvent @ Target.js:111
t.finishDrawing @ Draw.js:986
t.handleUpEvent @ Draw.js:637
t.handleEvent @ Pointer.js:144
t.handleEvent @ Draw.js:570
t.handleMapBrowserEvent @ PluggableMap.js:1031
t.dispatchEvent @ Target.js:111
t.handlePointerUp_ @ MapBrowserEventHandler.js:197
My Image Orientation Slide:
0048,0102 (ImageOrientationSlide): -1\0\0\0-1\0
My X/Y Offset in Slide Coordinate System:
0040,072a (XOffsetInSlideCoordinateSystem): 21.69249
0040,073a (YOffsetInSlideCoordinateSystem): 3.915836
Hopefully, the error message and DICOM tages information can figure out the root cause.
Thanks for your help.

@hackermd Hi Sir,
I add the other case which Slim enable annotation.
The Image Orientation Slide:
0048,0102 (ImageOrientationSlide): -1\0\0\0-1\0
The X/Y Offset in Slide Coordinate System:
0040,072a (XOffsetInSlideCoordinateSystem): 12.30691
0040,073a (YOffsetInSlideCoordinateSystem): 20.76015
For your reference.
Thanks a lot.

It appears that the value of the Image Orientation Slide attribute is wrong. That is an issue we encountered before.
Here is my take on the value set that is compliance with the standard.

Unfortunately, there is not much Slim can do about it. We could allow negative coordinates, but in the case of slide microscopy imaging, negative coordinates are not allowed by the standard, since the specimen is supposed to reside on the slide.

@hackermd Dear Sir,
We use 3DHISTECH to scan WSI and 3DHISTECH's Slide Converter tool convert mrxs file to DICOM file.
Because of default setting, the values of Image Orientation Slide as follow,

As you mentioned, the Image Orientation Slide attribute is wrong.
But some cases able to annotate, as follow,

One case able to annotate partially, as follow,

Unfortunately, a lot of cases unable to annotate.
The different result quite interesting, if the values of Image Orientation Slide attribute is wrong.
We need the help from 3DHISTECH to adjust the Image Orientation Slide attribute.
At the same time, if you have any further suggestion that we can fix the issue, that would be awesome.
Thanks for your help.

Thanks @DrexlerChao for the additional information. The reason why some regions can be annotated and other cannot is due to their position on the slide relative to the SLIDE_CORNER. The Slim viewer translates  image (Row, Column) coordinates into slide (X, Y, Z) coordinates and throws an error if slide coordinates have negative values for X or Y, which would indicate that the annotated region would be located outside of the slide.
Here is an example using highdicom to illustrate the problem:
import numpy as np
from highdicom.spatial import ImageToReferenceTransformer

transformer = ImageToReferenceTransformer(
    image_position=(20.60062, 4.66424, 0.0),
    image_orientation=(-1.0, 0.0, 0.0, 0.0, -1.0, 0.0),
    pixel_spacing=(0.0834033, 0.0832901)
)
image_coordinates = np.array([
    [1.0, 1.0],
    [10.0, 10.0],
    [100.0, 100.0],
])
slide_coordinates = transformer(image_coordinates)
print(slide_coordinates)

You can see how the slide coordinates move off the slide with increasing image coordinates (in Slim the image is oriented such that the SLIDE_CORNER is in the upper left corner of the viewport):
[[ 20.5173299   4.5808367   0.       ]
 [ 19.767719    3.830207    0.       ]
 [ 12.27161    -3.67609     0.       ]]

I would recommend notifying 3DHISTECH about the issue. In the meantime, you can try to fix the value of the Image Orientation Slide in the image data sets manually. For example using pydicom:
from pydicom import dcmread

ds = dcmread(...)
ds.ImageOrientationSlide = [-1., 0., 0., 0., 1., 0.]
ds.save(...)

This should fix the transformation and result in correct slide coordinates:
import numpy as np
from highdicom.spatial import ImageToReferenceTransformer

transformer = ImageToReferenceTransformer(
    image_position=(20.60062, 4.66424, 0.0),
    image_orientation=(-1.0, 0.0, 0.0, 0.0, 1.0, 0.0),
    pixel_spacing=(0.0834033, 0.0832901)
)
image_coordinates = np.array([
    [1.0, 1.0],
    [10.0, 10.0],
    [100.0, 100.0],
])
slide_coordinates = transformer(image_coordinates)
print(slide_coordinates)

[[ 20.5173299   4.7476433   0.       ]
 [ 19.767719    5.498273    0.       ]
 [ 12.27161    13.00457     0.       ]]

@hackermd Dear Sir,
Thanks for clearly description and kindly response.
After modify Image Orientation Slide attribute to [-1.0, 0.0, 0.0, 0.0, 1.0, 0.0], the Slim can annotate ROI as follow,

If 3DHISTECH unable to change the Image Orientation Slide attribute, we are going to fix the value manually.
Thanks for your great help and support.


Code workflow

Build pipeline modified to older version

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: vinodupss sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

It is a mistake. Please ignore


Updating: Attempting manual refresh without a network connection results in the app getting stuck in the currently refreshing state

Description of issue
Manually refreshing with Flight Mode enabled results in the refresh icon appearing and spinning endlessly. Once in this state, after disabling Flight Mode the events page never completes the refresh. It is then not possible to trigger another manual refresh, even after switching tabs and returning to the Events page.
Expected behaviour
When there is no network connection, the app recognises this and stops attempting to refresh with a message along the lines of "Check your Network Connection".
If the network connection kicks back in before the app gives up on refreshing, it should complete the refresh as expected. Further refreshes should then be possible.
Steps to reproduce

Open the app to the Events page
Enable Flight mode
Manually refresh the Events page by pulling down and wait

The refresh icon will endlessly spin

Disable Flight mode

The refresh icon will continue to endlessly spin

Attempt to refresh again

Manual refresh no longer works.
On Android, switching tab then coming back to Events page gets rid of the refresh icon, but nothing happens when you try to pulldown and refresh again.
On iOS, refresh icon persists despite switching tab and returning to Events page.

OS / Browser / Device model
Galaxy S8
iPhone 7+

This is probably related to not handling the failure of the load. Should be relatively easy to fix. Just need to reset the CMS Loading state to not loading if the request fails.


Raspberry Pi4

Dear Welles,
i am trying to run your DoxieServer with Docker on a RapsberryPi4. Unfortunately, the docker compose up creates the following error code:
pdoxie-doxieserver-1 exited with code 1
! doxieserver The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm/v8) and no sp
Any hints to overcome this?
Thanks a lot

Hi, I think I will need to build a Docker image for linux/arm64. Give me a few days, I will check how to do that and get back to you

Well that was, a quick google search and rebuild/push seemed to have added support for ARM64. Please try running the image again on your Pi and let me know if it works


[wip] Sagemaker serving agent

Tracking issue
fixes https://github.com/flyteorg/flyte/issues/4079

Why are the changes needed?

What changes were proposed in this pull request?

How was this patch tested?

Setup process
Screenshots
Check all the applicable boxes

[ ] I updated the documentation accordingly.
[ ] All new and existing tests passed.
[ ] All commits are signed-off.

Related PRs

Docs link

If this PR needs my help, feel free to ping me, thanks a lot!

Just following up on the feedback we received last week, we should rename the new plugin to include the suffix -serving or something along those lines to indicate the capabilities of this new agent. Also, we should remove the current plugin as it's using a deprecated version of sagemaker (that depends on the sagemaker operator which hit EOL in Feb-2023).

@eapolinario modified the plugin name to "flytekitplugins-awssagemaker-inference".


missing python-telegram-bot pkg

Expected behaviour:
Flexget sends notifications via telegram bot
Actual behaviour:
The shows are download correctly, but no notification is received. In the logs there are warnings about missing python-telegram-bot pkg.
Steps to reproduce:

Step 1: ...
launch flexget with: bin/flexget -c config.yml execute

Config:
    notify:
      entries:
        via:
          - telegram:
              bot_token: <TOKEN>
              parse_mode: markdown
              disable_previews: yes
              recipients:
                - username: benalb

Log:

(click to expand)
2023-04-12 17:32:26 WARNING  notify    showrss task    Error while sending notification to `telegram`: missing python-telegram-bot pkg
2023-04-13 17:00:26 WARNING  notify    showrss task    Error while sending notification to `telegram`: missing python-telegram-bot pkg
2023-04-19 17:00:19 WARNING  notify    showrss task    Error while sending notification to `telegram`: missing python-telegram-bot pkg
2023-04-20 17:00:22 WARNING  notify    showrss task    Error while sending notification to `telegram`: missing python-telegram-bot pkg
2023-04-23 07:00:13 WARNING  notify    eztv task       Error while sending notification to `telegram`: missing python-telegram-bot pkg
2023-04-30 10:00:18 WARNING  notify    showrss task    Error while sending notification to `telegram`: missing python-telegram-bot pkg

Additional information:

FlexGet version: 3.6.4
Python version: Python 3.11.3 (main, Apr  6 2023, 22:56:38) [GCC 12.2.0] on linux
Installation method: virtual env
Using daemon (yes/no): no
OS and version: Linux Void 6.1.25_1 x86_64 GenuineIntel
Link to crash log: no crash

This is not an issue, not everyone uses this plugin so its specific dependency is optional and up to the user to install it.
The log message gives you the hint and the plugin page tells you how to solve it in more detail

Thank you, downgrading the pkg to version 12.8 fix my issue.


Add numpy plugin for mypy

I'm sure we've all faced some related issue by now, and I think it's a pretty easy fix.
Without the numpy plugin, all np.ndarrays and friends evaluate to Any in mypys eyes. Enabling the mypy numpy plugin and then fixing some type annotations should fix this.

After tons of research, I've found that this only works properly with numpy>=1.20... This conflicts with the aim of #207  which is to keep backward compatibility with numpy!
What are your thoughts on backward compatibility, @rhugonnet @adehecq @atedstone.
For context, numpy 1.20 was released on 30 January 2021

I think allowing only numpy > 1.20 might be quite limiting and could conflict with other libraries. So I would be in favor of keeping backward compatibility, especially since this is needed only for mypy and not for a core functionality.
Would your ArrayLike type in #227 solve the issue?

Solutions like the ArrayLike in #227 would more or less solve the issue, yes!

I now added the _typing.py module in #227, so I'll close this, as it is more or less not necessary anymore!
In maybe two years, we could reopen the issue to consider stricter numpy types...


[Compute]Updated LoadBalancer InboundNATPool

Generated from RestAPI PR: https://github.com/Azure/azure-rest-api-specs/pull/2150

Codecov Report

Merging #1716 into master will decrease coverage by 0.09%.
The diff coverage is n/a.

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

@tjprescott
New stuff in 2017-11-01:
+    :param idle_timeout_in_minutes: The timeout for the TCP idle connection.
 +     The value can be set between 4 and 30 minutes. The default value is 4
 +     minutes. This element is only used when the protocol is set to TCP.
 +    :type idle_timeout_in_minutes: int
 +    :param enable_floating_ip: Configures a virtual machine's endpoint for the
 +     floating IP capability required to configure a SQL AlwaysOn Availability
 +     Group. This setting is required when using the SQL AlwaysOn Availability
 +     Groups in SQL server. This setting can't be changed after you create the
 +     endpoint.
 +    :type enable_floating_ip: bool


Update jokes.md to use the right hydrateRoot doc

It was redirecting us for a older version hydrate, I just adapted to redirect to the right doc for hydrateRoot

Closes: #

[x ] Docs
[ ] Tests

Testing Strategy:
https://remix.run/docs/en/1.17.1/tutorials/jokes#explore-the-project-structure
At this part of the tutorial, it is showing us a link to go into the hydrate doc, but this is the old docs of this functions, we're now using hydrateRoot, I just adapted the URL using the new docs

Hey, I was doing the jokers tutorial, and when I clicked into the link for hydrate doc it redirected me to legacy react doc, I saw we're now using hydrateRoot, so I needed to search on google the new doc to find the hydrateRoot to learn about it, so I created this PR to redirect to the new doc


[Request] Chest Auto-claim limit

Hi,
Thank you for this plugin which is very useful. I would like to suggest a permission concerning the chest auto claim.
Currently with this method is only one claim per user, it would be great if we can put a limit of claim per user group. (That's why it's better to use permissions instead of options on the config file)
What I like with the auto-claim it's the possibility to define exactly the zone radius.
Other remarks, currently when we try to claim when we exceed the limit, can we put back automatically the chest on the inventory ?
Thank you
Kind regards,

See https://github.com/MinecraftPortCentral/GriefPrevention/wiki/Advanced-Options

The options do only cover expiration and taxes. They're asking if auto-claims could have an option for more than one.


useRandomNumber does not work as expected.

Hi. Wonderful package. I've noticed that useRandomNumber does not in fact return a new random number on every render, since the useEffect does not have any dependencies it will only run once when the component that uses the hook mounts.
A simple solution would be this refactor:
function useRandomNumber() {
  return Math.round(Math.random() * 100)
}

export default useRandomNumber

You could always also add a min/max to the hook:
function useRandomNumber(min = 0, max = 100) {
  return Math.random() * (max - min) + min;
}

export default useRandomNumber

But I think adding this feature would make this package more useful, so maybe don't do that.

I've realised this fix will make the package more useful, so I've decided to close the issue.

Agreed - this is a bit too useful. 😃


Struct constructor completion doesn't qualify struct name

mod submod {
    pub struct Struct {
        pub a: u64,
    }
}

fn f() -> submod::Struct {
    Stru$0
}

Triggering completion here and choosing the Struct {...} entry results in the following:
fn f() -> submod::Struct {
    Struct { a: () }
}

...which fails to resolve.

I want to work on it.

@k-nasa I think you can take a look at Completions::add_qualified_enum_variant to see how this should be done correctly. Completions::add_struct_literal is where the incorrect completion is generated.

I added a pull request #10846 that I believe solves this issue. This is my first contribution so any feedback is welcome.

Fixed in #10846


Added flag to merge videos from a playlist into one continuous file

Example Use-Case
youtube-dl http://thecolbertreport.cc.com/full-episodes/wllm5p/april-30--2014---audra-mcdonald

Usually, this produces four videos, one for each segment of the show. However...
youtube-dl --concat http://thecolbertreport.cc.com/full-episodes/wllm5p/april-30--2014---audra-mcdonald

Will produce one continuous video for the show.

Did this make it into the main branch? -just curious, as I'm having limited success piping the output of youtube-dl to this appletv-script :)
http://xyrion.org/appletv/
-and would love to use this feature :)

I'm confused. Is this happening?
youtube-dl: error: no such option: --concat


feat(button): add ability to have icon on left or ride side of text

closes #2507
@mcoker @mattnolting Instead of making a new class for the text inside of the link button, I just left it as a span. In a future breaking change release I was thinking that we could remove the class around the button, and have a class around the text instead, which can control the margin-left and margin-right. This way we only need one class, rather than two.

PatternFly-Next preview: https://patternfly-next-pr-2548.surge.sh

This would be a breaking change as-is because without the span, we would be creating space on either side of the icon - https://codepen.io/mcoker/pen/zYxZwpO
We could add .pf-c-button__text to the <span>, then do .pf-c-button__text + .pf-c-button__icon { margin-left: whatever; } as a way to opt allow users to opt in to the change with new markup.

added classname to docs, and created follow-up issue #2574

:tada: This PR is included in version 2.49.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


[REFACTOR] Fixed a typo of the FrameLayoutWithHole.java

Hi, I fixed a typo of the FrameLayoutWithHole.java.
Thank you for reading.

Thanks!


Cannot download Symbols from docker image

This is my script for creating the container
$repo = 'mcr.microsoft.com/businesscentral/onprem:'
$ver = 'dk-ltsc2019'
$licens = 'C:\Workspace\Code\BC365\licens.flf'
New-BCContainer -imageName $repo$ver -updateHosts -accept_eula -accept_outdated -containerName 'dev' -licenseFile $licens -auth Windows -useBestContainerOS
This is the result after creating the container
Generic Container OS Version: 10.0.18363.658 (1909)
Generic Tag of better generic: <IP_ADDRESS>
WARNING: The container operating system matches the host operating system, but the revision is different.
If you encounter issues, you might want to specify -isolation hyperv
Using locale da-DK
Using process isolation
Disabling the standard eventlog dump to container log every 2 seconds (use -dumpEventLog to enable)
Using license file C:\Workspace\Code\BC365\licens.flf
Files in C:\ProgramData\NavContainerHelper\Extensions\dev\my:

AdditionalOutput.ps1
license.flf
MainLoop.ps1
SetupVariables.ps1
updatehosts.ps1
Creating container dev from image mcr.microsoft.com/dynamicsnav:10.0.18363.658-generic
a13ec5778b6b2461c362bc9b65ae7dc7412c0716a3c68973ce75b363eb220dcd
Waiting for container dev to be ready
Installing Business Central
Installing Url Rewrite
Installing OpenXML
Installing DotNetCore
Starting Local SQL Server
Starting Internet Information Server
Copying Service Tier Files
Copying Web Client Files
Copying Client Files
Copying ModernDev Files
Copying PowerShell Scripts
Copying ConfigurationPackages
Copying Test Assemblies
Copying Applications
Copying ReportBuilder
Changing Database Server Collation to Danish_Greenlandic_100_CI_AS
SQL Server 2017 transmits information about your installation experience, as well as other usage and performance data, to Microsoft to help improve the product. To learn more about SQL Server 2017 data processing and privacy controls, please see the Privacy Statement.
Copying Cronus database
Modifying Business Central Service Tier Config File for Docker
Creating Business Central Service Tier
Installing SIP crypto provider: 'C:\Windows\System32\NavSip.dll'
Starting Business Central Service Tier
Installation took 163 seconds
Installation complete
Initializing...
Setting host.docker.internal to <IP_ADDRESS> in container hosts file (copy from host hosts file)
Setting gateway.docker.internal to <IP_ADDRESS> in container hosts file (copy from host hosts file)
Setting kubernetes.docker.internal to <IP_ADDRESS> in container hosts file (copy from host hosts file)
Setting host.containerhelper.internal to <IP_ADDRESS> in container hosts file
Starting Container
Hostname is dev
PublicDnsName is dev
Using Windows Authentication
Modifying Service Tier Config File with Instance Specific Settings
Restarting Service Tier
Registering event sources
Creating DotNetCore Web Server Instance
Using license file 'c:\run\my\license.flf'
Import License
Creating http download site
Creating Windows user Jesper
Setting SA Password and enabling SA
Creating SUPER user
Container IP Address: <IP_ADDRESS>
Container Hostname  : dev
Container Dns Name  : dev
Web Client          : http://dev/BC/
Dev. Server         : http://dev
Dev. ServerInstance : BC
Setting dev to <IP_ADDRESS> in host hosts file

Files:
http://dev:8080/al-4.0.231354.vsix
Initialization took 43 seconds
Ready for connections!
Reading CustomSettings.config from dev
Creating Desktop Shortcuts for dev
Container dev successfully created
I installed the http://dev:8080/al-4.0.231354.vsix and uninstalled all other AL Language extensions.
I can access the web client using http://dev/BC/
Created a new project in Visual Studio Code using AL:Go
This is my lanch.json file
{
"version": "0.2.0",
"configurations": [
{
"type": "al",
"request": "launch",
"name": "Your own server",
"server": "http://dev",
"serverInstance": "BC",
"port": 7049,
"authentication": "Windows",
"startupObjectId": 22,
"startupObjectType": "Page",
"breakOnError": true,
"launchBrowser": true,
"enableLongRunningSqlStatements": true,
"enableSqlInformationDebugger": true
}
]
}
This is my app.json
{
"id": "b08307ce-4738-4dd5-bc12-a51206336e5a",
"name": "Transsoft - Vehicle",
"publisher": "Default publisher",
"version": "<IP_ADDRESS>",
"brief": "",
"description": "",
"privacyStatement": "",
"EULA": "",
"help": "",
"url": "",
"logo": "",
"dependencies": [
{
"appId": "63ca2fa4-4f03-4f2b-a480-172fef340d3f",
"publisher": "Microsoft",
"name": "System Application",
"version": "<IP_ADDRESS>"
},
{
"appId": "437dbf0e-84ff-417a-965d-ed2bb9650972",
"publisher": "Microsoft",
"name": "Base Application",
"version": "<IP_ADDRESS>"
}
],
"screenshots": [],
"platform": "<IP_ADDRESS>",
"idRanges": [
{
"from": 50100,
"to": 50149
}
],
"contextSensitiveHelpUrl": "https://Transsoft-Vehicle.com/help/",
"showMyCode": true,
"runtime": "4.0"
}
Problem
When I try to download the symbols I get the following in the Visual Studio Code output console
[2020-03-05 08:19:58.58] Using reference symbols cache path: c:\Workspace\Code\BC365\Transsoft.Workspace\Transsoft - Vehicle./.alpackages
[2020-03-05 08:19:58.58] Sending request to http://dev:7049/BC/dev/packages?publisher=Microsoft&appName=System&versionText=<IP_ADDRESS>
[2020-03-05 08:19:58.58] Sending request to http://dev:7049/BC/dev/packages?publisher=Microsoft&appName=System Application&versionText=<IP_ADDRESS>
[2020-03-05 08:19:58.58] Sending request to http://dev:7049/BC/dev/packages?publisher=Microsoft&appName=Base Application&versionText=<IP_ADDRESS>
[2020-03-05 08:19:58.58] Error: a server-side error occured while processing the request.
Request ID: 70c66f3a-8064-4247-8d5b-0412aebefb07
Session ID: d0824f70-1740-4c5c-b8de-a982f2c599af
If you are targeting a cloud instance, supply these IDs if contacting Microsoft support.
[2020-03-05 08:19:58.58] Error: a server-side error occured while processing the request.
Request ID: 74fc668c-4da1-4fb1-bdaf-de12a10af396
Session ID: d0824f70-1740-4c5c-b8de-a982f2c599af
If you are targeting a cloud instance, supply these IDs if contacting Microsoft support.
[2020-03-05 08:19:58.58] The request for path /BC/dev/packages?publisher=Microsoft&appName=System%20Application&versionText=<IP_ADDRESS> failed with code ServiceUnavailable. Reason: Service Unavailable
[2020-03-05 08:19:58.58] The request for path /BC/dev/packages?publisher=Microsoft&appName=System&versionText=<IP_ADDRESS> failed with code ServiceUnavailable. Reason: Service Unavailable
[2020-03-05 08:19:58.59] Error: a server-side error occured while processing the request.
Request ID: 3b3212d7-3173-4c9b-9f33-76cc02da6551
Session ID: d0824f70-1740-4c5c-b8de-a982f2c599af
If you are targeting a cloud instance, supply these IDs if contacting Microsoft support.
[2020-03-05 08:19:58.59] The request for path /BC/dev/packages?publisher=Microsoft&appName=Base%20Application&versionText=<IP_ADDRESS> failed with code ServiceUnavailable. Reason: Service Unavailable
[2020-03-05 08:19:58.59] Could not download reference symbols. Please ensure that:

The correct server name and instance are specified in the launch.json file.
The correct application version is specified in the app.json file.
The dependencies are correctly specified in the app.json file.

Could you try UserPassword authentication when creating the container and in launch.json.
Windows auth is frequently the cause of issues

Hi freddydk
I can reproduce the problem on another machine. If you name the container "dev" then the problem occures. I have tested this on 3 different machines.

So this only happens if the container is named dev?

Yes, if I gave the container another name. Then it works

Apparently some names will be forced to https - not sure where/how this happens.
If you create the container with -useSSL and add these lines:
$containerName = "dev"
Copy-FileFromNavContainer -containerName $containerName -containerPath "c:\run\certificate.cer" -localPath "C:\ProgramData\NavContainerHelper\Extensions\$containerName\certificate.cer"
Import-Certificate -FilePath "C:\ProgramData\NavContainerHelper\Extensions\$containerName\certificate.cer" -CertStoreLocation "cert:\localMachine\Root"

Then you should be able to use the container even if it is named dev.

Next version of NavContainerHelper adds a parameter to new-navcontainer called -installcertonhost - this will install the created self-signed certificate on the host and this your scenario should start working if you add -usessl.

Thanks. I ended up with using another container name.


WIP TAS: surface errors when building snapshot

What type of PR is this?
/kind cleanup
What this PR does / why we need it:
Which issue(s) this PR fixes:
Part of #2724
Special notes for your reviewer:
it does not have any user-facing impact outside of TAS which is a feature which has not yet been released.
WIP because still testing.
Does this PR introduce a user-facing change?
NONE

cc @tenzen-y can you give me a quick feedback if this is what you were thinking about in https://github.com/kubernetes-sigs/kueue/pull/3292#discussion_r1814679057? If so I will add a unit test to make sure the errors are surfaced.


[BUG] recent versions of setuptools broke editable mode

setuptools version
65.2
Python version
3.9.13
OS
Ubuntu
Additional environment information
No response
Description
Since some recent releases (likely 64, when PEP-660 was implemented), installing psycopg with -e results in a broken package, where psycopg is an empty namespace.
This is an example of broken run. This is a similar run whose difference is installing psycopg without the -e flag, in order to test a depending package.
Expected behavior
See above
How to Reproduce
A more complete reproduction with stable git reference can be found in https://github.com/tox-dev/tox/issues/2479.
Output
See above

Thank you very much @dvarrazzo for reporting this issue.
Could you please try to create a minimal/standalone reproducer (that does not involve using tox or pytest)?
I tried to do the following:
sudo apt update -y
sudo apt install -y libpq5 libpq-dev
cd /tmp && rm -rf /tmp/psycopg /tmp/empty_dir
git clone https://github.com/psycopg/psycopg.git /tmp/psycopg
cd /tmp/psycopg
python3.8 -m venv .venv
.venv/bin/python -m pip install -U pip
.venv/bin/python -m pip install -e ./psycopg
.venv/bin/python -m pip install -e ./psycopg_c
mkdir /tmp/empty_dir
cd /tmp/empty_dir  # <-- To avoid any problems with automatic injection of CWD into `sys.path`
cat <<EOS | /tmp/psycopg/.venv/bin/python -
import psycopg, psycopg_c
print(psycopg.Cursor)
print(psycopg.AsyncCursor)
print(dir(psycopg_c))
EOS
# Output ==>
# <class 'psycopg.Cursor'>
# <class 'psycopg.AsyncCursor'>
# ['__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__path__', '__spec__', '__version__', '_psycopg', 'pq', 'sys', 'version']

And I can see that the module members mentioned in the tox issue seem to exist.
Is there any chance this happens because Python automatically adds the current working dir to sys.path? (This way, the import system could mistake "/tmp/psycopg/psycopg" as the root of the pyscopg package). I tried to run the following example to investigate this theory:
# Continuation of the previous script
# still inside /tmp/psycopg
mkdir psycopg
echo "raise SystemError('kaboom!')" > psycopg/__init__.py
/tmp/psycopg/.venv/bin/python -c 'import psycopg'
# Output ==>
# Traceback (most recent call last):
#  File "<stdin>", line 1, in <module>
#  File "/tmp/empty_dir/psycopg/__init__.py", line 1, in <module>
#    raise SystemError('kaboom!')
# SystemError: kaboom!

I thought that, and in my investigation with tox I tried to chdir away, but it didn't fix the problem.
Anyway, does it mean that it is now mandatory to adopt a "src" style project organization?

Anyway, does it mean that it is now mandatory to adopt a "src" style project organization?

I don't think so...
In terms of "plain Python" usage", I would say things should not change a lot. The flat-layout should have the same flaws as before, right?
Specifically, if you have a folder under CWD with a name coinciding with the installed package, this folder might be imported (but that was already a well-known risk ...).
In terms of pytest things may change. I know that they try some magic to compensate the flat-layout flaws... I have not received any report about that yet (maybe this error is the first?).

The limitations of the implementation are documented here. So far the biggest impact is for old-style namespace packages using pkgutil and pkg_resources, but some workarounds are suggested in the docs (e.g., the strict mode should work).

I thought that, and in my investigation with tox I tried to chdir away, but it didn't fix the problem.

So do you confirm that the package itself works on an editable install, but things start to get weird when a 3rd tool is added to the mix? (Maybe tox, maybe pytest?)
Could it be the case one of these tools relies on a specific assumption about the editable installation layout? (I know that some static analysis tools will try to read a .egg-link file, which is gone in setuptools>=64...)

I can reproduce the problem with:
git clone git@github.com:psycopg/psycopg.git psycopg-test
cd psycopg-test
git checkout a7d39bf740d0d97dbe230d07177463668327431a

python3 -m venv .venv
source .venv/bin/activate
pip install "pip==22.2.2" "setuptools==65.2.0" "wheel==0.37.1"
pip install -e psycopg
python -c "import psycopg; psycopg.ProgrammingError" # fails
python -c "import psycopg; print(psycopg)"
<module 'psycopg' (namespace)>

changing cwd works. Using pip install psycopg works too:
python -c "import psycopg; print(psycopg)"
<module 'psycopg' from '/home/piro/dev/psycopg-test/.venv/lib/python3.8/site-packages/psycopg/__init__.py'>

Using a rather older set of libraries, editable mode works as expected:
pip install -U "setuptools==44.0.0" "pip==20.0.2" "wheel==0.37.1"
pip install -e psycopg
python -c "import psycopg; psycopg.ProgrammingError" # works
python -c "import psycopg; print(psycopg)"
# <module 'psycopg' from '/home/piro/dev/psycopg-test/psycopg/psycopg/__init__.py'>

Tested on my laptop using Python 3.8.10 (Ubuntu 20.04 package)

changing cwd works. Using pip install psycopg works too:

Thank you very much @dvarrazzo. So it is confirmed that it is happening because of the existence of the package CWD...
I can see that a regular installation does not have the same problem. If I had to guess I would say that Python starts by creating a namespace package, but then when it finds the other folder (the actual package) on sys.path and realises it contains a __init__.py file, it "regrets" the decision of having a namespace package and "collapses" it into a regular module.
This behaviour does not seem to be very well defined/coherent though...
In theory a folder in CWD should get priority during the import. We can do a series of experiments showing that if we don't mix namespace packages and traditional packages (the ones with __init__.py). I need to seek for some advice regarding this behaviour.
For the time being let's consider these "accidental namespace packages" as a limitation of the editable mode.

Ok, but what does it mean? Is this a regression that you will address (why would a random directory in cwd be more meaningful that an explicit entry in the pythonpath?) Or is this going to stay broken?
Should we pin a dependency on setuptools < 64 for development? Should we rename our code directory and make all git history operations more painful in order to restore editable mode?
Please let us know.

Ok, but what does it mean? Is this a regression that you will address (why would a random directory in cwd be more meaningful that an explicit entry in the pythonpath?) Or is this going to stay broken?

I am seeking for advice about this matter, before taking any final decision.

Why would a random directory in cwd be more meaningful that an explicit entry in the pythonpath?

This is how Python operates, right? Directories in CWD are meant to take precedence over other things in the site-packages. We can do the following test:
rm -rf /tmp/development
mkdir -p /tmp/development/pkgA/pkgA
cd /tmp/development

touch pkgA/pyproject.toml
echo "x = 42" > pkgA/pkgA/a.py

# --- Simulate regular installation ---
python3.8 -m venv .venv
cp -r pkgA/pkgA .venv/lib/python3.8/site-packages/
tree .venv/lib/python3.8/site-packages/pkgA
# .venv/lib/python3.8/site-packages/pkgA
# └── a.py

# --- Experiment ---

mkdir -p /tmp/workdir/pkgA
echo "raise ValueError('kaboom')" > /tmp/workdir/pkgA/a.py
cd /tmp/workdir
/tmp/development/.venv/bin/python -c 'from pkgA import a; print(a.x)'   # <------ error
# ValueError: kaboom

If we add a __init__.py file to both /tmp/development/pkgA/pkgA and /tmp/workdir/pkgA, the results would be the same: CWD would take precedence over site-packages...

Should we pin a dependency on setuptools < 64 for development? Should we rename our code directory and make all git history operations more painful in order to restore editable mode?

You don't need to rename your directory. Right now, you can try pip install -e . --editable-mode strict or pip install -e . --editable-mode compat, maybe that will work for you?

This is how Python operates, right? Directories in CWD are meant to take precedence over other things in the site-packages.

I don't think so, no. This is not how Python used to operate until a couple of weeks ago.
Giving precedence to directories in cwd seems a design error and a security problem. A program would change its behaviour according to the cwd and an attacker could convince someone to run a program from their directory to hijack it. It is the same reason why cwd is not in PATH: it's considered insecure since MS-DOS time.

You don't need to rename your directory. Right now, you can try pip install -e . --editable-mode strict or pip install -e . --editable-mode compat, maybe that will work for you?

I don't see such a thing:
(venv-new) piro@baloo:~/dev/psycopg3$ pip --version
pip 22.2.2 from /home/piro/dev/psycopg3/tmp/venv-new/lib/python3.8/site-packages/pip (python 3.8)
(venv-new) piro@baloo:~/dev/psycopg3$ pip install -e ./psycopg --editable-mode strict

Usage:

  ...

no such option: --editable-mode

Sorry for that. I never remember it by heart :/
These are the options, copied straight from the docs:
pip install -e . --config-settings editable_mode=strict

pip install -e . --config-settings editable_mode=compat

Hi @dvarrazzo , thank you very much for testing these solutions and confirming that they work.
The implementation details for both strict  mode and the default editable installation may vary. They should be equally reliable.
.pth files, import hooks, file links... Those are all different techniques that can be used under the hood. But having a public commitment on using specifically one of them brings no value to setuptools.
Indeed, the opposite is quite true: if we don't commit to a particular mechanism,  as Python and the ecosystem evolves, setuptools can select a different approach for the implementation, and potentially surpass existing limitations.
This should be no different from any functionality implemented in a Python project: the public API is the contract and the exact implementation details may vary. It does not make these functionality more or less reliable.

If you consider that "the default solution is broken", than you also have to consider that the legacy behaviour (python setup.py develop) is broken and that the behaviour in other backends are broken... They are all broken, in different ways.
Editable installs are complicated and all the existing implementation mechanisms in the ecosystem have severe limitations.
If you go around asking people what are their requirements for editable installs, you are going to realise that is technically impossible to meet all the requirements at the same time. You have to select a subset.
Right now setuptools offers two options for the user to select: the default + strict. They are equally reliable and they both satisfy just a subset of the requirements. But togheter they should cover the entire list.

@abravalheri I have reported a regression. Things were working previously and now they don't. I appreciate the hard work behind the hard problem of packaging, don't get me wrong. Regressions happen.
It is not true that a local directory used to have, or even has, precedence over installed packages:

this wasn't the case in the past
this is not the case with packages installed without -e.

Since a certain version, the default behaviour of editable packages changed and now presents a noticeable difference w.r.t. normally-installed packages, and present difficulties developing certain repositories layout (a monorepo where the directory name matches the package name, for instance - like psycopg 3 repository).
So, this is a regression. My questions are:

is this regression wanted? As in, is the current behaviour the wanted behaviour? If so please document it (but with a WARNING, not with obscure options which need a pass-through pip command to activate, hence don't even appear in pip --help) It would seem exceedingly bizarre to me. I invite you to look at the psycopg readme: we used to suggest to hack on the project using -e, whereas now we should explain setuptools internals.

is this regression unexpected? It sounds so to me, because other modes work differently (non-editable install, strict-editable, compat-editable). If so, is it expected to be fixed and can it become part of the spec/tests?

Thank you

I am not able to install https://github.com/tensorflow/tfx-bsl in editable mode.
Setting SETUPTOOLS_ENABLE_FEATURES="legacy-editable" fixed the issue.

Unfortunatelly no one in the community has demonstrated a bullet-proof mechanism to implement editable installs in such a way that it mimics 100% the regular installation. Instead we are left in a "pick you poison" situation, and the mechanism we have for doing that is via the --config-settings editable_mode=....

Just to cross link it, there are some limitations in how config-settings operate in pip: https://github.com/pypa/pip/issues/12310
What's at stake for me is the ability to use vscode/pylance with my editable repos:
https://github.com/microsoft/pylance-release/issues/3473
Per recommendation above, I tried:
export SETUPTOOLS_ENABLE_FEATURES="legacy-editable"
pip install -e .

but I get the error:
ERROR: Project file:///home/a/b/c has a 'pyproject.toml' and its build backend is missing the 'build_editable' hook. Since it does not have a 'setup.py' nor a 'setup.cfg', it cannot be installed in editable mode. Consider using a build backend that supports PEP 660.

based on some quick searching, I'm not clear if there's a way to get SETUPTOOLS_ENABLE_FEATURES to work for me...

Hi @qci-amos, please note the following caveat for SETUPTOOLS_ENABLE_FEATURES.

Finally, as long as pip allows it, you can use the environment variable SETUPTOOLS_ENABLE_FEATURES="legacy-editable" to fallback to access the previous implementation and be bug-by-bug compatible.

Pip no longer allows backends to not implement PEP 660. So that is no longer an option.

What's at stake for me is the ability to use vscode/pylance with my editable repos

I think the right question here is to ask how vscode and pylance allow you to pass customised --config-settings to pip.

I think the right question here is to ask how vscode and pylance allow you to pass customised --config-settings to pip.

Well to be clear, what I don't currently have a solution for is how to use --config-settings in the case of pip install -r. I've been having that discussion here: https://github.com/pypa/pip/issues/12310

shouldn't this just be an option:
mypackage = { path = "../mypackage/", develop = true, editable_mode=strict}
then poetry can pass that flag along when installing?
or even
mypackage = { path = "../mypackage/", develop = true, flags={editble_mode: strict} }
so we have full control over how packages are installed

shouldn't this just be an option:\n\nmypackage = { path = "../mypackage/", develop = true, editable_mode=strict}

Not really. This does not look like something setuptools would work with.
Setuptools is a build backed and does not directly work with dependencies.

Yes, it has a config settings flag.  Look at docs for the build command
On Sun, Mar 31, 2024, 10:37 PM Anderson Bravalheri @.***>
wrote:

shouldn't this just be an option:\n\nmypackage = { path = "../mypackage/",
develop = true, editable_mode=strict}
Not really. This does not look like something setuptools would work with.
Setuptools is a build backed and does not directly work with dependencies.
—
Reply to this email directly, view it on GitHub
https://github.com/pypa/setuptools/issues/3557#issuecomment-2029057644,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAMMUOEFZAPT6C6UEM4KR3Y3DB5RAVCNFSM57HCJ6T2U5DIOJSWCZC7NNSXTN2JONZXKZKDN5WW2ZLOOQ5TEMBSHEYDKNZWGQ2A
.
You are receiving this because you commented.Message ID:
@.***>

Yes, it has a config settings flag. Look at docs for the build command.

Even though you can pass a dict to setuptools via config_settings, the dict you are proposing doesn't make much sense to setuptools.
Setuptools handle the build of a single distribution as a whole. It does not make sense to express editable installations piecewise, package by package.
There is already package-dir for expressing explicit paths to packages. Reworking it to path in the way you are suggesting would require major incompatible changes. Finally, what is the difference between develop and editable, these 2 settings seem redundant.
If you want to pass editable-mode=strict via config settings, you already can do that in the current version of setuptools.

It seems like the regression comes from the "new-style" .pth files adding the _EditableFinders to the end of sys.meta_path, after the default FileFinder. When FileFinder finds the subdirectory, it creates the empty namespace even though it's not a real Python package. The old/compat mode would expose the paths directly to FileFinder, which correctly prioritizes those paths over a non-package in the working directory.
I think the current behavior is unintuitive and a bug. When the user requests an editable installation, it should take precedence before FileFinder as the single intended method of importing the package, not act as a fallback option that only runs after FileFinder fails. Adding _EditableFinder earlier in meta_path with e.g. sys.meta_path.insert(0,  would make it so editable installs aren't masked by local files, which is the behavior that probably all users expect and is also the safer option as mentioned above.

t should take precedence before PathFinder as the single intended method of importing the package,

Please note that PathEntryFinder is not the single intended method of importing a package in Python. The import machinery is specifically designed for extension and multiple finders. That said, we can try to put the editable finder before the PathEntryFinder, however we need to wait until pip adopts pyproject-hooks>=1.2 AND that version of pip to be prevalent in the ecosystem to avoid breaking things.

Please note that PathEntryFinder is not the single intended method of importing a package in Python. The import machinery is specifically designed for extension and multiple finders.

Yes, although it seems to me that the system was designed for adding finders/loaders for filetypes that PathFinder won't reach, it's not very flexible for adding a different way to add Python packages unfortunately.

That said, we can try to put the editable finder before the PathEntryFinder, however we need to wait until pip adopts pyproject-hooks>=1.2 AND that version of pip to be prevalent in the ecosystem to avoid breaking things.

Could you elaborate on this? I assume you're referencing https://github.com/pypa/pip/issues/11812 here. Does that bug occur with both sys.meta_path and sys.path_hooks modifications or could a version of editable packages that only goes through sys.path_hooks work?

Yes, although it seems to me that the system was designed for adding finders/loaders for filetypes that PathFinder won't reach, it's not very flexible for adding a different way to add Python packages unfortunately.

I have a different impression. It is well documented when it comes to loading Python packages, and for editable installs, it is mentioned in the PEP that standardised editable installs as one of the possible forms of implementations. However, I agree that it is not straightforward to finders or loaders for namespace packages... that is in my opinion an area that the import machinery is lacking.

I assume you're referencing pypa/pip#11812 here.

Yes, please see the details on that issue. I believe that both approaches would be subject to that problem.


Bad Gateway at request

seems like the originating source is dead/ changed (http://vbb.transport.rest/),(https://2.vbb.transport.rest/stations/8012713/departures?results=1)
vbb.departures("8012713", {results: 1})
.then(data => {
    ...
})

results in
UnhandledPromiseRejectionWarning: Error: Bad Gateway
    at request (node_modules/vbb-client/lib/request.js:27:14

I couldn't find a new available API, sorry!

Fromderhuerst/vbb-rest#29 :

Good news everyone!
I have set up a new API: 1.bvg.transport.rest provides data from the BVG endpoint. It returns almost exactly the same data as 2.vbb.transport.rest, but in the output format of<EMAIL_ADDRESS>so you will have to make minor adjustments. Check the docs at derhuerst/bvg-rest!
Let's see for how long this API will stay up.

You would have to query this API manually.

We could also fork vbb-client into bvg-client, which queries the BVG API.

Please reopen if you have more questions.


Add a GenericDockingWorkflow

Currently all our docking workflows assume/require that you are docking to an ASAP target, and do some stuff with the structures you passed under these assumptions. I think it would be nice to have something like a GenericDockingWorkflow that just takes whatever structure(s) you give, and docks the ligands. I think this would also help with our overall goal of trying to de-opinionate the repo. Not sure if this makes sense to prioritize now, but just wanted to officially put the idea out there.

Makes a lot of sense and should be easy to achieve given the abstractions we have.


OCPBUGS-38066: [release-4.14] Use HTTP proxy for ingress controller

What this PR does / why we need it:
Backport of https://github.com/openshift/hypershift/pull/4699
Ingress operator canary checks require access to the internet since they
probe the external canary routes. The socks5 proxy sidecar does not
provide external access when a user proxy is required. This commit
switches to using the konnectivity-https-proxy that does take into
account the user's proxy configuration.
The dialer that the https proxy was creating was not configured by
default to talk directly to cloud provider endpoints. This was
preventing the ingress operator from successfully tearing down hosted
clusters.
This commit configures the konnectivity-https-proxy to talk directly
to cloud api endpoints for the ingress operator and adds proxy env
variables if they exist.
Fixes dialing from ingress where we want to use the management cluster's
proxy (if configured) when connecting to cloud APIs.
Which issue(s) this PR fixes (optional, use fixes #<issue_number>(, fixes #<issue_number>, ...) format, where issue_number might be a GitHub issue, or a Jira story:
Fixes #
Checklist

[ ] Subject and description added to both, commit and PR.
[ ] Relevant issues have been referenced.
[ ] This change includes docs.
[ ] This change includes unit tests.

/jira cherry-pick OCPBUGS-38065

/jira refresh

/jira refresh


TCP Connection via Messagepack contains multiple packets

TCPResendMultiPing_Cut.txt
We're using your anyrpc project to communicate to embedded devices. Assuring the devices are stilll alive we're sending a heartbeat to the device and wait for an answer. This occurs after waiting for 10ms (usually about around a second). Since we're having troubles with connection issues I recorded the TCP connection via tcpdump on linux and attached a filtered dump file.
In detail, we're sending the string ping to the device and are waiting for the string pong. This usually works, but sometimes the initial initiation of the connection is included in the actual payload. Sometimes this is messed up with multiple pings.
No.     Time           Source                Destination           Protocol Length Info
  52626 2327.495919    <IP_ADDRESS>           <IP_ADDRESS>         TCP      79     [TCP Retransmission] 52899 → 9000 [PSH, ACK] Seq=1298 Ack=23 Win=65536 Len=25

Frame 52626: 79 bytes on wire (632 bits), 79 bytes captured (632 bits)
Ethernet II, Src: FujitsuT_be:a8:d5 (90:1b:0e:be:a8:d5), Dst: Atmel_1f:ac:ca (fc:c2:3d:1f:ac:ca)
Internet Protocol Version 4, Src: <IP_ADDRESS>, Dst: <IP_ADDRESS>
Transmission Control Protocol, Src Port: 52899, Dst Port: 9000, Seq: 1298, Ack: 23, Len: 25
    Source Port: 52899
    Destination Port: 9000
    [Stream index: 1]
    [TCP Segment Len: 25]
    Sequence number: 1298    (relative sequence number)
    [Next sequence number: 1323    (relative sequence number)]
    Acknowledgment number: 23    (relative ack number)
    0101 .... = Header Length: 20 bytes (5)
    Flags: 0x018 (PSH, ACK)
    Window size value: 256
    [Calculated window size: 65536]
    [Window size scaling factor: 256]
    Checksum: 0xdce8 [unverified]
    [Checksum Status: Unverified]
    Urgent pointer: 0
    [SEQ/ACK analysis]
        [iRTT: 0.000329000 seconds]
        [Bytes in flight: 25]
        [Bytes sent since last PSH flag: 25]
        [TCP Analysis Flags]
            [Expert Info (Note/Sequence): This frame is a (suspected) retransmission]
            [The RTO for this segment was: 0.311942000 seconds]
            [RTO based on delta from frame: 52590]
    [Timestamps]
    TCP payload (25 bytes)
    Retransmitted TCP segment data (25 bytes)

0000  fc c2 3d 1f ac ca 90 1b 0e be a8 d5 08 00 45 00   ..=...........E.
0010  00 41 59 ea 40 00 80 06 26 42 ac 11 11 01 ac 11<EMAIL_ADDRESS>0020  11 67 ce a3 23 28 ad 39 f5 a8 80 f9 35 23 50 18   .g..#(.9....5#P.
0030  01 00 dc e8 00 00 32 31 3a 93 02 a4 70 69 6e 67   ......21:...ping
0040  81 a1 23 82 a3 72 70 63 01 a3 63 6e 74 30 2c      ..#..rpc..cnt0,

[...]
No.     Time           Source                Destination           Protocol Length Info
  63651 2637.298319    <IP_ADDRESS>           <IP_ADDRESS>         TCP      101    [TCP Retransmission] 53000 → 9000 [PSH, ACK] Seq=3026 Ack=23 Win=65536 Len=47
0000  fc c2 3d 1f ac ca 90 1b 0e be a8 d5 08 00 45 00   ..=...........E.
0010  00 57 0c e2 40 00 80 06 73 34 ac 11 11 01 ac 11<EMAIL_ADDRESS>0020  11 67 cf 08 23 28 a0 b1 90 9b c5 c0 6b eb 50 18   .g..#(......k.P.
0030  01 00 49 8d 00 00 93 02 a4 70 69 6e 67 81 a1 23   ..I......ping..#
0040  82 a3 72 70 63 01 a3 63 6e 74 75 2c 32 31 3a 93   ..rpc..cntu,21:.
0050  02 a4 70 69 6e 67 81 a1 23 82 a3 72 70 63 01 a3   ..ping..#..rpc..
0060  63 6e 74 76 2c                                    cntv,

[...]
No.     Time           Source                Destination           Protocol Length Info
  72268 2724.402597    <IP_ADDRESS>           <IP_ADDRESS>         TCP      105    [TCP Retransmission] 53020 → 9000 [PSH, ACK] Seq=25610 Ack=23 Win=65536 Len=51
0000  fc c2 3d 1f ac ca 90 1b 0e be a8 d5 08 00 45 00   ..=...........E.
0010  00 5b 68 69 40 00 80 06 17 a9 ac 11 11 01 ac 11<EMAIL_ADDRESS>0020  11 67 cf 1c 23 28 12 38 3e a8 27 93 71 f2 50 18   .g..#(.8>.'.q.P.
0030  01 00 a6 eb 00 00 93 02 a4 70 69 6e 67 81 a1 23   .........ping..#
0040  82 a3 72 70 63 01 a3 63 6e 74 cd 03 bf 2c 32 33   ..rpc..cnt...,23
0050  3a 93 02 a4 70 69 6e 67 81 a1 23 82 a3 72 70 63   :...ping..#..rpc
0060  01 a3 63 6e 74 cd 03 c0 2c                        ..cnt...,

Do you see any chance this might be caused in the anyrpc project? It looks like someone is not sending, but filling the send-buffer multiple times.

I normally investigate anyrpc issues by compiling with log4cplus and then enabling relevant items in the log4cplus.properties files on each side of the connection.  The output data can be directed to the terminal if you are starting manually or to a rolling set of files if you are starting automatically.

Has this issue been resolved?


Lost resolution on SVG to PNG conversion between 1.6.0 and 1.7.0

Today I updated Svg in my C# project from 1.6.0 to 1.7.0. Under 1.6.0 the PNG images I was generating faithfully reflected the complexity of the SVG images I was giving it to render. Now, in v1.7.0 I'm getting lower resolution images from the same SVG data.
Was there an API change? This is part of the code which I was using. What needs to be changed?
var svgs = document.getElementsByTagName("svg");
....
int svgsLength = svgs.length;
for (var i = 0; i < svgsLength; i++)
{
var svgText = svgs[i].outerHTML;
XmlDocument xd = new XmlDocument();
xd.LoadXml(svgText);
var sampleDoc = SvgDocument.Open(xd);
....
var bitmap = sampleDoc.Draw();
bitmap.Save(pngFile);
}
Sample SVG at http://pastebin.com/download.php?i=2HEWPg6E

hello axtens, the pastebin appears to be private, i cannot see the code.
but what is the change exactly? how big was the resolution before and how bit is it now?

Outdated and missing feedback - closing.


match all of someone's matches

this would be a cool power user feature, but i'm not sure how it would be accessed via the UI

for one it should be a match bubble that says "Matching all of ______ (user)'s matches"


can not control voice character

ask to speak in male /female voice, in Cantonese or other ones, no effect, always in same female voice

ok now

ok now

Hello, how did you solve it?

I got the same problem，and I tried out some other female voices, and there might be a slight change

I got the same problem，and I tried out some other female voices, and there might be a slight change

Yes, there is a slight variation, so this model can only output a female's style?

I think it's because the decoder is trained by female's voice, am I right?


Run the localhost database with docker

I had no idea about how to set up a pg database...
This was way easier for me, and it looks more maintainable, because project installation becomes easier.

@mauriciabad , thank you very much for your contribution! 😃 This makes it much easier to get started.


homebridge airzone cloud not working since new airzone app released

Describe The Bug:
Hi there,
since airzone launched the new version of the app it gives me this error when initializing homebridge.
Unable to login to AirzoneCloud. Request: {"url":"https://www.airzonecloud.com/users/sign_in","method":"POST","mode":"cors","headers":{"Content-Type":"application/json;charset=utf-8","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.2 Safari/605.1.15"},"body":"{"email":"@.","password":"*********"}"} {"size":0,"timeout":0}
[25/08/2021, 11:57:23] [AirzoneCloud] Error calling to AirzoneCloud. Status: 401 Unauthorized
[25/08/2021, 11:57:23] [AirzoneCloud] Unable to load devices from AirzoneCloud TypeError: Cannot read property 'device_relations' of undefined
at AirzoneCloud._get_device_relations (/usr/local/lib/node_modules/homebridge-airzone-cloud/src/AirzoneCloud/AirzoneCloud.ts:166:21)
at processTicksAndRejections (internal/process/task_queues.js:93:5)
at AirzoneCloud._load_devices (/usr/local/lib/node_modules/homebridge-airzone-cloud/src/AirzoneCloud/AirzoneCloud.ts:138:37)
at Function.createAirzoneCloud (/usr/local/lib/node_modules/homebridge-airzone-cloud/src/AirzoneCloud/AirzoneCloud.ts:54:5)
at AirzoneCloudHomebridgePlatform.discoverDevices (/usr/local/lib/node_modules/homebridge-airzone-cloud/src/platform.ts:114:25)
Expected behavior:
Before the update it worked correctly
Plugin Config:
Show your Homebridge config.json here, remove any sensitive information.

{
    "name": "AirzoneCloud",
    "system": "https://www.airzonecloud.com",
    "login": {
        "email": "***********",
        "password": "*******************"
    },
    "debug": false,
    "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.2 Safari/605.1.15",
    "platform": "AirzoneCloud",
    "_bridge": {
        "username": "*********",
        "port": *******
    }
}

**Screenshots:**
<!-- If applicable, add screenshots to help explain your problem. -->

**Environment:**

* **Plugin Version**: 0.1.5
* **Homebridge Version**: 1.3.4
* **Node.js Version**: 14.15.5
* **NPM Version**: 7.5.4
* **Operating System**: Raspbian

<!-- Click the "Preview" tab before you submit to ensure the formatting is correct. -->

New url since Airzone updated their servers
this plugin needs to be rewrited to match the new api (as far as I know nobody has this new api)

Hello @jmellad, I’m working on it for next version, please follow it over bug #10


Fixed a bug. The "apps" key is not present in my messages this caused…

… an exception and no event was raised
This will fix bug #758

This issue was fixed by https://github.com/linvi/tweetinvi/pull/804 and will be available in 5.0


Jane is able to view the documentation for the collection that she is using in an air gap scenario.

Closing issue due to collections being removed.
If this functionality is required then a new issue should be raised on the corresponding board.


Would you mind share resnet34.caffemodel?

I have trained the resnet34,but the  accuracy only 62.2  (top-1)   my picture size is 224*224

What data argument do you use when training? Would you mind share it? Thanks

Please see https://github.com/cvjena/cnn-models/issues/9 for a discussing of possible reasons. I simply resized all images to smaller side 256 using the convert tool. I did not use LMDB, which causes lower performance for some people.

Thanks!
Will adding "BatchNorm" and "scale" layers before "conv1" affects the speed? I trained only for data migration, if  I use the Resnet for SSD, will the "BatchNorm"and“scale” aspect the results?

BatchNorm and Scale before conv1 is mostly for convenience and might also improve accuracy a tiny bit, but I didn't test this in detail.

Thanks! Now I am training resnet-34, I use the learning rate of 0.1, I have  run 9 epoch, the accuracy of top-1 is 31% , with your experience,  is it normal?

I'm very much obliged to you. If I understand  correctly
You said you didn't use LMDB, that is to say, you used leveldb?
And change the type:"data"  to type: "ImageData"" in train.prototxt.


Rename all IContentMessages to be suffix with 'Message'

Motivation for this would be removing a potential naming conflict for consuming applications that may want to define their own 'dtos/models' that could have the same names.

Does #44 cover this issue fully? Can we close this?

Yeap this is finished.


Unable to Test Simulated Terminal SDK on Android Simulator - API level 33 - Getting Time out error

Describe the bug
Testing Stripe Terminal SDK payment through android simulator with simulated features. Getting discovery readers with Internet method but after click on device getting time out error.
To Reproduce

Run the example-app run from the demo project
Enable the Simulated radio button
Select discovery mode internet
Click on Discover Readers
Get 3 records in Near by device section
Click on any one device
Showing connecting status for a while
Time out error and waiting for connection token

Expected behavior
after 7th step it should connect to device reader and allow me to payment
Screenshots
(https://drive.google.com/file/d/1kSJojSqsRsbsfovMujTA9hCL4CG0Aif4/view?usp=sharing)
Stripe Terminal React Native SDK version

0.0.1-beta.20

Smartphone (please complete the following information):

Device: Android Simulator - Pixel 6 Pro API 33
OS: Android
Browser - NA

Beta.20 has a bug with how it handles connection tokens. Can you try upgrading to beta.21 and try again?


Move selection state from filebrowser model to listing

This is in preparation for writing the test suite, and mirrors the way selection is handled on the notebook model and widget.

Looks good.
👍


Training code of SDXL-turbo?

Is there any plan to release the training code of SDXL-turbo? Appreciate it!

I would be very interested to see this code as well! I am wanting to create some fine-tuned models, and it would be very helpful to see the original training code.


First step at fixed label and handle support

This ended up needing changes in quite a bunch more files than anticipated, and might need other things to update as well but I don't quite have the overview for that.
My feeling is that visbug-label would benefit from the same API as visbug-handle/visbug-hover, where label.position is given el and boundingClientRect is calculated in the web component (and isFixed is determined there too).
Now label needs other plugins to deal with boundingClientRect, while handle just calculates it itself.

hosted playground https://kilian-labels.glitch.me

Does label.element.css need both position supplied?

I followed the way the other custom properties were defined in that file but I'm happy with using a fallback there too like I did in another file.

hm, what should we do with position sticky elements?

I don't know. Unless we make the labels children of the elements I can't think of a way that doesn't involve adding listeners to everything that's position sticky and getting their position on each scroll.

i dont have any good answers either. this PR is pending squash and merge until I can do a local build and verify across a few test sites. tests and staging look good tho!


Add volatility3 for issue #557

In support of Issue #557, adding volatility3.
It's worth noting that volatility 3 will require the appropriate symbols to function, and this state / change will not download these files. Users will be required to download them separately.

@ekristen , do you want this to be redone, or can it simply be merged?

On hold for reasons. Placing it in draft status.

Gotcha. Anything I can do to assist?


"login invalid" for Google

I'm still debugging this and I believe I set everything up correctly, but I keep getting login invalid after confirming I want to allow my application to access my account.

Looks like my users are never actually inserted into the database.

Thanks for the report. Are you able to post the relevant code where you use the plugin? Or better, a minimally reproducing repo? If not, I'll try to set something up this week where I can test the behavior of the plugin myself.
Please note that the plugin is not in charge of the database insert, so a lack of users in the DB doesn't necessarily indicate a problem in the plugin -- you could be mishandling the auth result, for example.

It looks like the problem was upstream:
https://github.com/yesodweb/yesod/issues/1133
On Tue, Dec 29, 2015 at 11:26 AM, pat brisbin<EMAIL_ADDRESS>wrote:

Thanks for the report. Are you able to post the relevant code where you
use the plugin? Or better, a minimally reproducing repo? If not, I'll try
to set something up this week where I can test the behavior of the plugin
myself.
Please note that the plugin is not in charge of the database insert, so a
lack of users in the DB doesn't necessarily indicate a problem in the
plugin -- you could be mishandling the auth result, for example.
—
Reply to this email directly or view it on GitHub
https://github.com/thoughtbot/yesod-auth-oauth2/issues/47#issuecomment-167834973
.

OK, thanks for letting me know.


[10.x] Improve numeric comparison for custom casts

This pull request improved numeric comparison for custom casts in originalIsEquivalent method.
After the improvement, changes like '9.00' to '9.0'  no longer trigger a dirty state.
// app/Models/Order.php
class Order extends Model
{
    protected $casts = [
        'amount' => DecimalCast::class,
    ];
}

// app/Http/Controllers/OrdersController.php
$order = new Order();
$order->amount = '9.00';
$order->save();

// Update the amount
$order->amount = '9.0';

Before:
dd( $order->isDirty('amount') ); // return true

After:
dd( $order->isDirty('amount') ); // return false

We reverted this.


Feat: Onboard Af dag notifications

Description
Notes:

If you are adding or editing a dataset, please specify the dataset folder involved, e.g. datasets/google_trends.
If you are an external contributor, please contact the Google Cloud Datasets team for your proposed dataset or feature.
If you are adding or editing a dataset, please do it one dataset at a time. Have all the code changes inside a single  datasets/af_dag_notifications folder.

No longer required.


17.12.0 ce release

Update _config.yml version numbers

Looks like we would not be able to merge this PR because of merge conflicts. Please rebase, fix conflicts, and force push to your branch.


Remove previous anime results

Added removeAnime function to remove the previous anime results when searching for a new game.

Claire - I didn't start working yet on listing 5 anime results. I'm off from work Monday so i should have plenty of time to work on it.


RDKTV-4097 : getSinkDeviceAtmosCapability return false fix

Reason for change:
getSinkDeviceAtmosCapability return false fix
Test Procedure: None
Risks: Low
Change-Id: Ieec76bbfdb2b9a592e37703de2094385a1b44deb
Signed-off-by:Anooj Cheriyan<EMAIL_ADDRESS>

New pull request created: https://github.com/rdkcentral/rdkservices/pull/1069


External Metastore Compatibility

At:

https://docs.azuredatabricks.net/user-guide/advanced/external-hive-metastore.html

It States:

"SQL Server does not work as the underlying metastore database for Hive 2.1 and 2.2."

Question:

We are looking to have a production cluster on HDInsight (3.6), and have an external Hive metastore (2.1) on Azure DB to allow Azure Databricks clusters to reuse the metastore. Does Azure DB suffer from the same compatibility issues as for the Hive metastore as the Databricks documentation suggests?

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

ID: 6b67214c-fd95-c1d3-dd60-b2bf4115327f
Version Independent ID: 5d5570a4-5d3a-fcd1-f032-393a2d387ce5
Content: Use external metadata stores - Azure HDInsight
Content Source: articles/hdinsight/hdinsight-use-external-metadata-stores.md
Service: hdinsight
GitHub Login: @hrasheed-msft
Microsoft Alias: hrasheed

@adriantorrie We will now proceed to close this thread. If there are further questions regarding this matter, please comment and we will gladly continue the discussion.


Random youtube video returning unstreamable Stream URL

Checklist

[ x] I'm reporting a broken site support issue
[x ] I've verified that I'm running youtube-dl version 2019.04.30
[x ] I've checked that all provided URLs are alive and playable in a browser
[ x] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[ x] I've searched the bugtracker for similar bug reports including closed ones
[x ] I've read bugs section in FAQ

Description

No Verbose Log as the issue is currently present in Python 3.7.
When using the code
            ydl_opts = {
                'format': 'bestaudio',
            }

            with youtube_dl.YoutubeDL(ydl_opts) as ydl:
                info = ydl.extract_info(yturl, download=False)
            print(info['formats'][0]['url'])

to retrieve the stream URL of youtube tracks, every track I've tested works perfectly EXCEPT FOR
https://www.youtube.com/watch?v=cJOp0N5hK2c, for some reason. Instead of linking a stream for an m4a or mp3, i'm prompted to download a file titled 'yt8.' When passing the URL to python-vlc to play it, the video appears when it shouldnt and VLC throws a load of redirect errors.

PS C:\Dev\youtube-dl\master> py -3.7 .\youtube_dl\__main__.py https://www.youtube.com/watch?v=cJOp0N5hK2c -f bestaudio
[youtube] cJOp0N5hK2c: Downloading webpage
[youtube] cJOp0N5hK2c: Downloading video info webpage
[youtube] cJOp0N5hK2c: Downloading MPD manifest
[dashsegments] Total fragments: 43
[download] Destination: Sable Symphony - Open Up Your Eyes (Metal Cover)-cJOp0N5hK2c.m4a
[download]  62.8% of ~3.14MiB at  6.29MiB/s ETA 00:00
ERROR: Interrupted by user


Navigation is now different

Your documents says to go to Home > Connections
It should say go to Home > Data > Connections
Please also add how this step fits in a bigger scheme: When would you use this, what would you do next.

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

ID: 5df5f2bb-1e4d-ce52-0478-19fc7a16f9b3
Version Independent ID: fc072fdb-3e49-5e12-e8ce-ddfebca0963f
Content: Add and manage connections from canvas apps - PowerApps
Content Source: powerapps-docs/maker/canvas-apps/add-manage-connections.md
Service: powerapps
GitHub Login: @lancedMicrosoft
Microsoft Alias: lanced

Thank you for reaching out and the feedback. Content updated with recent UI changes. For next steps, please read Create your first app and Create an app from scratch sections that explain in detail all scenarios to work with and create apps.


Neptune fix

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


Add information about the telemetry endpoint

Users have observed that the client sends information to segment.io if the telemetry is activated.
Some can react very suspiciously, as it is documented nowhere that the information is gathered from the client and to a third party provider.

Thanks @Tristramg for the pull request!
Per the CONTRIBUTING.md file displayed when you created this pull request, we need to add you to the list of approved contributors for the Mattermost project.
Please help complete the Mattermost contribution license agreement?
This is a standard procedure for many open source projects. Your form should be processed within 24 hours and reviewers for your pull request will be able to proceed.
Please let us know if you have any questions.
We are very happy to have you join our growing community! If you're not yet a member, please consider joining our Contributors community channel to meet other contributors and discuss new opportunities with the core team.

Thanks for the PR @Tristramg !
We'll get it through the review process soonest :)


more ecdsa

should solve #28, needs tests

this is what I used to generate the new fixtures

Were there any shortcomings with this? I manually patched on my end and it seems fine and also fixes a bug I'm having with a JWS library used in Node (that I downstream patched in tandem) https://github.com/brianloveswords/node-jwa/issues/8
Basically, that guy uses some tricks to end up in OpenSSL where ECDSA will be handled correctly, but those tricks don't work in browser obviously. However with the patch here, and a patch over there, I can get that library to work with this one

Have not verified with external software,  but the fixtures look good.
@calvinmetcalf any easy way to compare these?

Thanks!


原始并列的union all字句，调用SQLUtils.toSQLExpr(sql)方法后会报缺失括号（解析后括号放错了位置）。


WIP: Add custom resource for install

Description
Start of work that would transition the SQL server installation to a custom resource and add the appropriate integration tests
Issues Resolved
[List any existing issues this PR resolves]
Check List

[ ] All tests pass. See https://github.com/chef-cookbooks/community_cookbook_documentation/blob/master/TESTING.MD
[ ] New functionality includes testing.
[ ] New functionality has been documented in the README if applicable
[ ] All commits have been signed for the Developer Certificate of Origin. See https://github.com/chef-cookbooks/community_cookbook_documentation/blob/master/CONTRIBUTING.MD

Still not ready for merging but the kitchen test pass. https://media.giphy.com/media/3oz8xsRKgCWlzkqT7y/giphy.gif

I added a few minor comments, but overall this is super good to merge.


MF-1478 - TimescaleDb Reader/Writer Add-on

What does this do?
Adds TimescaleDB as a data store
Which issue(s) does this PR fix/relate to?
MF-1478
Have you included tests for your changes?
Yes
Did you document any new/modified functionality?
Yes

@corp0529 CI is failling, can you check it please?

@corp0529 thanks for this very useful addition! I will review PR carefully in the next few days. @dusanb94, @blokovi, @mteodor and @blokovi please review as well.

@manuio Sure, just fixing the CI now, it was the tests not running properly.

Codecov Report

Merging #1542 (7e0e25b) into master (aa014c2) will increase coverage by 0.30%.
The diff coverage is 79.78%.

@@            Coverage Diff             @@
##           master    #1542      +/-   ##
==========================================
+ Coverage   67.54%   67.85%   +0.30%
==========================================
  Files         133      137       +4
  Lines       10979    11261     +282
==========================================
+ Hits         7416     7641     +225
- Misses       2955     2990      +35
- Partials      608      630      +22

Impacted Files
Coverage Δ

consumers/writers/timescale/consumer.go
66.99% <66.99%> (ø)

readers/timescale/messages.go
85.14% <85.14%> (ø)

consumers/writers/timescale/init.go
89.74% <89.74%> (ø)

readers/timescale/init.go
89.74% <89.74%> (ø)

Continue to review full report at Codecov.

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

@manuio @drasko I've run go mod vendor and there's almost 4k changes in the commit.  Shall I leave it as a separate commit or squash with the previous one?

@manuio @drasko I've run go mod vendor and there's almost 4k changes in the commit. Shall I leave it as a separate commit or squash with the previous one?

Vendor needs to go in the same PR. Just update your branch with the new commit, all commits are squashed upon merge.

@manuio @drasko I've run go mod vendor and there's almost 4k changes in the commit. Shall I leave it as a separate commit or squash with the previous one?

Vendor needs to go in the same PR. Just update your branch with the new commit, all commits are squashed upon merge.

It's actually showing no changes after go mod vendor.  I've tried a clean pull and go mod vendor and no change.
Everything builds and tests run fine.

@corp0529 My bad, looks like there are not new packages used! Thank you for verifying!

@corp0529 Please resolve all the comments and update the branch. Once you do it, we'll do one more review and it's ready for merge.


Revert acos changes for non complex numbers

It looks like something may be broken in the chlo.acos lowering from functional algorithms. The complex lowering works just fine (has SelectOp).
Also I'm wondering how we didn't catch this / could have caught this. Perhaps we should have special cases for ops with limits..somehow? Open to iterating on this, either by dev policy on these CLs (ensure total code coverage) or if there's a way to auto generate cases would be good too.

cc @pearu

Current behavior prior to revert: chlo.acos(-1) --> 0, expected behavior is pi.

This is related to https://github.com/pearu/functional_algorithms/issues/11, that is, in addition to log-uniform samples we should have tests for special argument values as well.


Decide on prototype of what website will look like

Discuss everyone's drawn-up prototypes and decide how the website will flow

Minimalistic /w buttons for settings and user profile.


Restructure alert relation data to accomodate use cases for grafana-agent

Currently, alert relation data structure assumes there is a single file from a single source stored on a given relation:
alert_rules: '{"groups": [{"name": "test-remote-write-avalanche-j476_36adb119-7a56-4381-883f-f5395a2b09ee_av_always_firing_alerts",
        "rules": [{"alert": "AlwaysFiring", "expr": "absent(some_metric_name_that_shouldnt_exist{job=\"non_existing_job\"})",
        "for": "0m", "labels": {"severity": "High", "juju_model": "test-remote-write-avalanche-j476",
        "juju_model_uuid": "36adb119-7a56-4381-883f-f5395a2b09ee", "juju_application":
        "av", "juju_charm": "avalanche-k8s"}, "annotations": {"summary": "Instance
        {{ $labels.instance }} dummy alarm (always firing)", "description": "{{ $labels.instance
        }} of job {{ $labels.job }} is firing the dummy alarm."}}]}]}'

In the case of grafana-agent, alert files from multiple sources could possibly be needed:

For this reason the alerts relation data may need to be-restructured as follows:
{
  "alerts_spec":
    [
      {
        "alerts_source_identifier": c1.topology.identifier,
        "alerts": alerts_dict, # prom std format
      }
    ]
}

Instead of changing the structure of the hierarchy, let’s keep it backwards compatible: we could add an optional “source” key under a group, which would then contain the usual juju topology key-value pairs? And if a group does not have that “source” field, we assume the rules comes from the Juju app at the other end of the relation.

We already have all the data we need in the group name, so I think "no change at all" is a perfectly fine solution

"no change at all" would mean that:

downstream charms c1, c2, c3 have must their rules "merged" into a single prom-std dict by intermediate charms (e.g. grafana agent)
this may not be future proof is prom augments the schema to contain additional specifics on the same hierarchical level as the "groups" key.

my proposal:

each downstream charm appends a unique key-val pair to the relation data itself rather than modifying pre-constructed objects in the relation data.
relation data can be easily dissected by origin because of the very obvious structure of the relation data.

downstream charms c1, c2, c3 have must their rules "merged" into a single prom-std dict by intermediate charms

That is perfectly fine as long as we retain the group names.

this may not be future proof if prom augments the schema to contain additional specifics on the same hierarchical level as the "groups" key or the "name" key.

Could you please elaborate at this a bit? Im not getting your point.

We now ensure that the labels are amended with topology, and the expression is enhanced with cos-tool using those labels. We know for sure that this works, because grouped, hierarchical alerts aggregated from multiple sources do, in fact work. The logic is a little complicated and annoying, but if we need this (multiple sources forwarding through Grafana agent which don't annotate their own alerts but need to be annotated), this method can be re-implemented in other classes with very little change.
Closing until there's a need to keep the backlog meaningful.


Remove unused use statements on system/Common.php

Description
Remove unused use statements by running latest rector dev-main
Checklist:

[x] Securely signed commits
[ ] Component(s) with PHPDoc blocks, only if necessary or adds value
[ ] Unit testing, with >80% coverage
[ ] User guide updated
[ ] Conforms to style guide

Ready to merge :+1:

Thank you @kenjis for the review :+1:


Write "approaches" for reverse-string

Please feel free to critize anything, big-picture issue and small nitpicks.

Thanks so much for this. @ErikSchierboom will take a look tomorrow!

I really like the variety :)

Should we merge (and correct any small things like typos later) or wait for other reviewers?

If anybody wants to proof-read this, visit https://exercism.org/tracks/cpp/exercises/reverse-string/dig_deeper to see the rendered version.


How can I convert the parameters with the suffixes "-contains", "-equals" to my model?

Hi everyone,
I'm recently using this library, but now i get confused how to bind the Filter params into my model.

Automatic functionality is inside grid classes, it binds itself and filters automatically.
But if you want to do something by hand you will have to use raw query .Request.Query

You mean Request.QueryString?

Yes, mixed it up with asp net core version.

Are there any samples in asp.net core using a model binder like: name-contains to an array of expressions and use this as a parameter of repository?

Converting to expressions is the same in .core. As for model binding samples, I would use actual model binder implementations in mvc repository as a reference. It has various binders like array/byte/complex and so on. I'm not sure what is a parameter of repository, why are you binding to expressions yourself though?

But why do you need to parse them if grid filters and sorts for you?

I think I'm reinventing a wheel.
Let me try again with your tips.

Did it work out for you?

Yes, but i'm profiling the database and it seems the query is fetching all database.
Of course i'm passing the ToList to the grid, Is it possible to pass only an IQueryable?
The rest is working perfectly.

Worked like a charm!