Method to listen to changes in the priceScale (left, right or both)

I would like to know if there is any option or method that lets me listen to the top most and bottom most values of the priceScale that is currently registered.
I would like get the maximum and minimum values of the rightPriceScale and listen to scaling changes made by the user and get the updated minimum and maximum values. I hope I have made myself clear enough.
I can get this functionality by using the coordinateToPrice method and listen to changes in timeScale but it is a little hectic to do so and it does not detect any changes when only the priceScale is scaled up or down.
I would like to know if this functionality already exists or if there is any plan to add so in the future.

There isn't currently a direct method to achieve this using the API.
However, it is also possible to implement a utility plugin that provides this functionality. As Plugins are a new feature in the library, I took this opportunity to create a plugin specifically for that purpose. This allows us to start growing the list of plugins available for Lightweight Charts. 🌱
The new plugin is available here: SlicedSilver/lwc-plugin-visible-price-range-util
and can be installed via npm:
npm install lwc-plugin-visible-price-range-util

The plugin works by attaching to a series, and whenever there is an update to the chart which would require rendering then it measures the price range and emits an event if it has changed.
The one thing that a plugin can do that isn't exposed via the normal API is be notified whenever any visual update has been made to chart. The rest of the plugin is using a similar approach to what you tried (using coordinateToPrice).
You can learn more about Plugins here: https://tradingview.github.io/lightweight-charts/docs/plugins/intro

There isn't currently a direct method to achieve this using the API. However, it is also possible to implement a utility plugin that provides this functionality. As Plugins are a new feature in the library, I took this opportunity to create a plugin specifically for that purpose. This allows us to start growing the list of plugins available for Lightweight Charts. 🌱
The new plugin is available here: SlicedSilver/lwc-plugin-visible-price-range-util
and can be installed via npm:
npm install lwc-plugin-visible-price-range-util

The plugin works by attaching to a series, and whenever there is an update to the chart which would require rendering then it measures the price range and emits an event if it has changed.
The one thing that a plugin can do that isn't exposed via the normal API is be notified whenever any visual update has been made to chart. The rest of the plugin is using a similar approach to what you tried (using coordinateToPrice).
You can learn more about Plugins here: https://tradingview.github.io/lightweight-charts/docs/plugins/intro

I see. Thank you for your effort into this. This a nice piece of abstraction to use instead of all the coordinateToPrice.


Replace emphasis-heading with no-emphasis-as-heading

emphasis-heading doesnt exist, and no-emphasis-as-heading is MD036

Thanks!


Fix(client): show certs on timeline

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] All the files I changed are in the same world language (for example: only English changes, or only Chinese changes, etc.)
[x] My changes do not use shortened URLs or affiliate links.

This provides idToNameMap with the information it needs to pass on to the timeline - namely the id, title and path of the certifications.
TODO:

[ ] make the timeline's certification entries visually distinct

I refactored the selector into the same module as the rest of the selectors, when I thought it would be useful, but left it there since it seems like a better place for it.
This does duplicate the cert info again, so will need refactoring down the line.  I think, when the api-server is next overhauled, all the cert info should be moved into one module that's common to both client and server.
Closes #37943

I played around with a few different icons and ways to make certs stand out a little. This is what I came up with that I think I like the best...

What do you think @ojeytonwilliams?

I think this looks great.  It should be pretty obvious what the rosettes stand for, but they fit nicely with the overall aesthetic.
@ahmadabdolsaheb what do you reckon?

This is amazing nice work both of you!

Thanks for the pr. I the icon looks good and simple. Down the line we could unify all of our icons to make sure they look and feel similar to one another.
As @mot01 mentioned, we should only show the certificate only when the certificates are set to public from the settings

Are we waiting on something?

I'm pretty sure it's good to go.

When I checked this out locally, the new cert didn't appear until I reloaded the timeline.  Other than that (maybe something to fix later) I think everything's fine.

I am not sure about the filename to be index, but we can worry about it later. Hey @ahmadabdolsaheb can you take a look and merge this when you get a chance.


Best way to build and deploy?

Is there a best/recommended way to build and deploy the projects based on this quickstart?

Hello Wenchen, thanks for your issue.
This repository is not meant to be used on real projects, it is just a mirror of the tutorial at angular.io.
So the recommendation here is not to use this repository to build your own projects.
Cheers.

Yes, we plan on covering tooling in the tutorials, but I don't know how soon.

That would be wonderful for beginners like me! Thank you!

To be clear, the point of this repo is to make it easy for you to duplicate the end state of  the documented quick start.
From there you can venture in new directions the same way the documented samples do. For they all begin on this quick start foundation.
Because we update it for each release, you can be sure that it always works.

Closing because the request is out of scope for this repo and we have no plans to pursue this request here.


BiodataFeather board question: substitute for 3.9K timer resistor? Also, NE555 vs LM555 chip tradeoffs?

Hi Sam - I had a question on a resistor value for the LM555 timer chip: what can I substitute for the 3.9K resistor? I have 3.3K or 4.7K resistors, but unfortunately I don't have any 3.9K resistors. Can I substitute one of those values for the 3.9K?
Also, I'm ordering some LMC555CN timer chips, but I have lots of NE555 chips. I was planning on temporarily using the NE555 timer chip in the socket while I wait for the LMC555CN chips.
What are the drawbacks for using the NE555 chip? I read that the NE555 chip is less stable over temperature and time. Will this cause glitching in the biodata?
Thanks again for all the great work on the BiodataFeather! It's awesome to have this as an open-source project.

The Biodata device uses a 555 timer to detect electrical conductivity between two probes.  The Resistor and Capacitor network set the 'rate' at which the 555 timer detects changes.  You can substitute a similar value resistor without huge impact to the detection.
When it comes to 555 timers not all are built the same!  The important thing with this circuit is that we use a 'low power' timer which will operate at the 3.3v of the ESP32.  This leaves VERY FEW options, and the LMC555 is the primary timer which does all of the magic.  Now I already know there are no through-hole LMC555 timers available anywhere in the world, and many chips which are out there are 'fake', the chip crisis is looming.
I always say "experimentation is proof", you can pop a timer in and try it out, but sadly the NE555 needs 5v by the spec sheet.  From a circuitry standpoint, you very well might be able to get a 5v 555 timer running through an optoisolator and send that signal into the ESP32.  There are so soo soooo many 555 timer chips, and many low voltage models.... I have only found that the LMC555 does the magic best, but you are welcome to try other timers and share your results!
One other part of the circuit is a DC-DC voltage isolator, this is very important if you are connecting to USB.  We want to 'galvanically isolate' the 555 timer from any ground or certainly from your Laptop power supply.  Also if your audio output on the laptop is connected to a stereo system ... this creates a Ground Loop.  Be aware that this will happen, your circuit may work just fine but if you can properly isolate the detection circuit then you will get maximum sensitivity.  All of this is why I use Bluetooth and rechargeable batteries!

Thanks for all the feedback, Sam!
I'll substitute a 4.7k resistor for the 3.9k.
I have some supposed LM555 timer on order, but they may very well may be fakes. We'll see how it operates when I stick one in the circuit.
I will definitely keep the isolator in the design to make the input as clean as possible.
And I also prefer using BLE with batteries!

Once I get some parts together, I'll will try out some 555 chips in the socket to see what works. For now, I'll close this issue.


Removing Canvas

Is it safe to just remove the canvas element (e.g., $('canvas.sparkle-canvas').remove()) when I'm not going to use it anymore? Or do I have to do a cleanup of some sort? If yes, it would be nice to implement a .destroy() method :smile:

Good suggestion :) -- I'll look in to adding a destroy method... or if you're confident to try.... go ahead and send a PR :)

@simeydotme any chance of getting this added?


Underscores in tag names not matched

Wasn't sure if this was a deliberate decision but in parsing tags containing underscores aren't matched.
eg: [testtag] works but [test_tag] does not.
Both the regular parser here:
https://github.com/thunderer/Shortcode/blob/master/src/Parser/RegularParser.php#L81
and the Wordpress parser here:
https://github.com/thunderer/Shortcode/blob/master/src/Parser/WordpressParser.php#L27
use a slightly different match syntax but neither contain the _ character.
Reason I ask is because I'm trying to use this library to make a content importer from Wordpress and Wordpress does seem to parse them correctly.

Hi, I recently fixed inconsistent behavior between RegexParser and RegularParser and removed support for underscores _ in shortcode names. Those changes were introduced in https://github.com/thunderer/Shortcode/commit/a22cd63eb8b9642465b87c0df386e57131c73114 and https://github.com/thunderer/Shortcode/commit/3a8d53780dc4c2cd823ba0c7c25f1131045337d8 . I'm curious about WordpressParser because it contains verbatim copy of WordPress' code that is exactly meant to work like in WordPress. There is a test that happily passes on all parsers and catches no shortcode. Does your WordPress parse those shortcodes with underscores? Can you show me the sample input and the desired output?

Just to clarify - I can add support for underscores back in RegexParser and RegularParser, but I apply fixes to WordpressParser only if its behavior differs from WordPress. That is explained in a disclaimer at the top of that class.

Sorry, my mistake, the wordpress parser was failing on something else to do with the body of text I was processing.. When I took it out to a simple string the WordpressParser does work correctly.
So, would be nice eventually to have underscore support in the main parser, but for now I can use the Wordpress parser.
thanks

Can you tell me what was the problem? Is it something I can fix on my side? I took a note to add the underscore _ back, I'll also explicitly state in the new docs in #34 what names are allowed. I hope to finish work on outstanding PRs and tag v0.6.0 with all planned features.
BTW In general you should use WordpressParser only if you want exact same behavior as in WP. If you're migrating data from WP to other system, I recommend to use at least RegexParser as it does not have the shortcomings of the weak WP regex.

@thunderer no, it was my fault, I think it was caused by the shortcode being right next to a CDATA section which came from the WXR file, once I pulled it out as plain text properly the Wordpress parser picked it up.
Because the underscore wasn't picked up on the standard parser I had assumed it was the same problem but it wasn't.

Yeah, XML may be conflicting with shortcode syntax as <![CDATA[ this is a text ]]> is a valid shortcode this. :)
I think I may get what is going on here. WordPress' regex catches only shortcodes with registered handlers, not the generic name pattern. To do that it gets the names from the global $shortcode_tags variable. To be truly compliant I should pass a HandlerContainer to WordpressParser constructor so that it can create its regex accordingly. That would be of course a BC break, so I need to make it work both ways for now and clean it later.

I added optional HandlerContainer instance in WordpressParser in https://github.com/thunderer/Shortcode/commit/ed246fe7d5a319884d5e52aaf1d4611faee5f32b. If you pass it there, that parser will construct its regex just like WordPress does it internally and it should be completely compliant now, it will also support any shortcode name without validation, just as WordPress does. Could you please check latest dev-master and confirm that it works for you?

Sorry, my previous comment was too hasty, I changed the constructor to named constructors createFromHandlers() and createFromNames() and I forgot about the call to preg_quote().

@rossriley Underscores are back in the allowed characters in https://github.com/thunderer/Shortcode/commit/5265cb5320b70712cfa239bd426f442c0454d95c (I hope to tag release soon), I also standardized their validation so that they will be changed simultaneously in the future to avoid accidental differences.
Would you like me to do anything more or can this issue be closed? Yes, I know that I reopened it, but still, thanks for letting me know. :)

@thunderer No, that's great. Thanks for doing that so quickly.


Merge in PR 310

Took the liberty of merging in PR 310, if you want to instead just pick out the changes to VLN (instead of needing to do a full merge), that would work instead!

561521e
I grabbed the VLN-related files and committed them here. I wasn't sure how to do it through the PR. I confirmed that running the same eval gave the same results and that there was  no immediate errors in training. Thanks Erik!


Fixed anndata neighbors key issue

Pull request type

Please check the type of change your PR introduces:

[X] Bugfix
[ ] Feature
[ ] Code style update (formatting, renaming)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] Documentation content changes
[ ] Other (please describe):

What is the current behavior?

Issue Number: #6
PR Number on Fork: fixed neighbors key bug #1
Current error status
---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
Cell In[46], line 4
      2 keys = ['fullvb']
      3 grid_size = (1,2)
----> 4 res, res_type = vv.post_analysis(adata,
      5                                  'continuous',
      6                                  methods,
      7                                  keys,
      8                                  compute_metrics=True,
      9                                  raw_count=False,
     10                                  #genes=gene_plot,
     11                                  grid_size=(1,2),
     12                                  #figure_path=figure_path,
     13                                  cluster_key='celltype')

File ~/miniconda3/envs/velovae/lib/python3.10/site-packages/velovae/analysis/evaluation.py:455, in post_analysis(adata, test_id, methods, keys, gene_key, compute_metrics, raw_count, genes, plot_type, cluster_key, cluster_edges, nplot, frac, embed, grid_size, sparsity_correction, figure_path, save, **kwargs)
    453 for i, method in enumerate(methods):
    454     if compute_metrics:
--> 455         stats_i, stats_type_i = get_metric(adata,
    456                                            method,
    457                                            keys[i],
    458                                            vkeys[i],
    459                                            cluster_key,
    460                                            gene_key,
    461                                            cluster_edges,
    462                                            embed,
    463                                            n_jobs=(kwargs['n_jobs']
    464                                                    if 'n_jobs' in kwargs
    465                                                    else None))
    466         stats_type_list.append(stats_type_i)
    467         # avoid duplicate methods with different keys

File ~/miniconda3/envs/velovae/lib/python3.10/site-packages/velovae/analysis/evaluation.py:273, in get_metric(adata, method, key, vkey, cluster_key, gene_key, cluster_edges, embed, n_jobs)
    266 stats['Vel Consistency (Velocity Genes)'] = mean_vel_consistency_sub
    268 # Compute velocity metrics on all genes
    269 (iccoh, mean_iccoh,
    270  cbdir_embed, mean_cbdir_embed,
    271  cbdir, mean_cbdir,
    272  tscore, mean_tscore,
--> 273  mean_vel_consistency) = get_velocity_metric(adata,
    274                                              key,
    275                                              vkey,
    276                                              cluster_key,
    277                                              cluster_edges,
    278                                              None,
    279                                              embed,
    280                                              n_jobs)
    281 stats['CBDir (Embed)'] = mean_cbdir_embed
    282 stats['CBDir'] = mean_cbdir

File ~/miniconda3/envs/velovae/lib/python3.10/site-packages/velovae/analysis/evaluation.py:80, in get_velocity_metric(adata, key, vkey, cluster_key, cluster_edges, gene_mask, embed, n_jobs)
     35 def get_velocity_metric(adata,
     36                         key,
     37                         vkey,
   (...)
     41                         embed='umap',
     42                         n_jobs=None):
     43     """
     44     Computes Cross-Boundary Direction Correctness and In-Cluster Coherence.
     45     The function calls scvelo.tl.velocity_graph.
   (...)
     78             - float: Velocity Consistency
     79     """
---> 80     mean_constcy_score = velocity_consistency(adata, vkey, gene_mask)
     81     if cluster_edges is not None:
     82         try:

File ~/miniconda3/envs/velovae/lib/python3.10/site-packages/velovae/analysis/evaluation_util.py:1621, in velocity_consistency(adata, vkey, gene_mask)
   1607 def velocity_consistency(adata, vkey, gene_mask=None):
   1608     """Velocity Consistency as reported in scVelo paper
   1609
   1610     Args:
   (...)
   1619         float: Average score over all cells.
   1620     """
-> 1621     nbs = adata.uns['neighbors']['indices']
   1623     velocities = adata.layers[vkey]
   1624     nan_mask = ~np.isnan(velocities[0]) if gene_mask is None else gene_mask

KeyError: 'indices'

What is the new behavior?

Current version evaluation_utils.py calls the neighbor indices as adata.uns['neighbors']['indices'].
This doesn't work with newer versions of anndata and/or Scanpy where adata.uns['neighbors'].keys()
will print out:
dict_keys(['connectivities_key', 'distances_key', 'params'])

where the indices are inside of the connectivities_key. I found the offending behavior in the following functions:

velocity_consistency
inner_cluster_coh
cross_boundary_correctness
gen_cross_boundary_correctness
gen_cross_boundary_correctness_test
calibrated_cross_boundary_correctness
also added import to include csr_matrix from scipy.sparse

Other information

Output from
# Get all module names in the current namespace
module_names = set(sys.modules) & set(globals())

# Print the name and version of each module
for name in module_names:
    module = sys.modules[name]
    if hasattr(module, '__version__'):
        print(f"{name}=={module.__version__}")
    elif hasattr(module, 'VERSION'):
        print(f"{name}=={module.VERSION}")
    else:
        print(f"{name}")

logging==<IP_ADDRESS>
torch==2.3.1
math
random
warnings
textwrap
sys
anndata==0.10.7
os
cellrank==2.0.4
gc

Please let me know if you need anything else.

Hi,
First, thank you for fixing this issue. I think the fix should work, but noticed that you deleted lines 1115-1130 in gen_cross_boundary_correctness and 1257-1272 in gen_cross_boundary_correctness_test. These lines obtain the embedding coordinates and velocity arrays from the AnnData object. My apologies if the input argument with the same name, x_emb, confuses you. Yeah, that was a bad naming and as as input argument it just specifies the key string to obtain the actual embedding coordinates. Please let me know if this makes sense to you.
Thank you!

Hi,
First, thank you for fixing this issue. I think the fix should work, but noticed that you deleted lines 1115-1130 in gen_cross_boundary_correctness and 1257-1272 in gen_cross_boundary_correctness_test. These lines obtain the embedding coordinates and velocity arrays from the AnnData object. My apologies if the input argument with the same name, x_emb, confuses you. Yeah, that was a bad naming and as an input argument it just specifies the key string to obtain the actual embedding coordinates. Please let me know if this makes sense to you.
Thank you!

Thanks @g-yichen. I'll re-add those lines back into the PR to avoid any issues down the line. Please take a look once I've finished.
J

Hi @g-yichen I restored the missing lines of code. You can ignore the readme file I just left that for my personal fork. Please let me know if there's any other changes I should make for the PR.
Best,
J


[REQUEST] Release content.js in a way that allows userscript loading

Is your feature request related to a problem? Please describe.
 There exist userscript loading plugins that would allow loading of the main javascript into the page.
Describe the solution you'd like
A standalone content.js released alongside the extensions, as an asset.
Describe alternatives you've considered
None really, this is a firefox limitation.
Additional context
Userscripts are a little more advanced, but plenty of users would utilize them.

I don't know anything about extension development but the normal extension works fine for me, It behaves like any other normal firefox extension, if you are talking about the v3 version, yeah I guess. I have only loaded it as a temporary addon as I have no clue what I am doing and is the only way I can get it to work.

Yeah normally when I release the firefox extension I sign it. So it should work like any other extension except that its not listed in the extension store. And for the dev build I use webext to launch a browser that automatically loads the extension. Open a console in the project root folder and use the command yarn start -- firefox dev but you will need to install nodejs and yarn,`.


fix(protocol-designer): Move save/discard buttons down

Overview
Fixes a tooltip overlap issue introduced when we removed air gap from batch edit forms
Changelog
fix(protocol-designer): Move save/discard buttons down
Review requests

[ ] no more overlap

Risk assessment
low CSS only

Closing in favor of different method to avoid merge conflicts


Add new developers to sbt configuration

Please, @BeniVF @Ryan-Banno review your data to make sure is correct. Feel free to edit it or delete if you do not want it expose


Add shortcut_cell double click functionality

Implementation of enhancement in #56407

When a shortcut cell is double clicked,

If the cell has children and in the bindings column, check if first child is editable, if so uncollapse the cell and edit the first child if it is the only child.
If the cell is in the bindings column and can be edited, edit it.
If the cell is in the name column, toggle collapse.

Bugsquad edit: Fixes #56407.

I've enabled the checks.

@gerhean Could you rebase to solve the merge conflicts?

Thanks!


cap withdrawals

Gittip's escrow is stored across multiple accounts (Balanced, New Alliance, PayPal, cold storage etc.; see #1988, whence this is reticketed). We see spikes in withdrawals when someone accumulates money in Gittip over a year and then connects a funding sink. It takes time to move money between those accounts, so, while we always have everyone's full escrowed amount available within our escrow as a whole, we do run the risk of not having someone's money available right now for a particular sink type.
To mitigate this risk, we should cap withdrawals. The algorithm should be something like:

Reduce the amount of the top withdrawer in a batch as needed, down to the amount of the second-highest withdrawer.
If that's not enough, reduce the amount of the first- and second-highest withdrawers down to the amount of the third-highest. Etc.

We should do this similarly for both Balanced and PayPal.
We should mention this in the note for the exchange.
We should ensure that this interacts with escrow rebalancing (#1092) in such a way that users are only affected by this cap for a week or so.

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Closing in light of our decision to shut down Gratipay.
Thank you all for a great run, and I'm sorry it didn't work out! 😞  💃


conformance: Test that webhook validations are performed

What would you like to be added:
This issue covers adding conformance tests that test that the implementation is implementing the same blocks as are implemented in the webhook. The simplest way to do this is to run the webhook we provide, but the conformance tests should be a bit agnostic about this.
However, I believe that the conformance test should check that invalid objects are never persisted into the cluster by trying to apply them, and checking that the apply fails. That flow will require some sort of webhook, or possibly the extensions to CRD validation api-machinery is considering (which I can't remember the name of right now).
A secondary part of this effort should also clarify some guidelines about what controllers should do with invalid objects - hopefully we can end up with this being as easy as "run a Validate function on the object, and drop the object if it fails" or something.
Why this is needed:
This will make it very clear that the webhook is required for having a conformant implementation.
This issue came up during discussion on #1497, but I think I've mentioned it before, and haven't written it down. Sorry all.

If there is a case where we expect that objects are accepted and reach controllers, how to test that behavior isn't immediately obvious. For example, in the case of #1497, if guidance was:

 are invalid and will be rejected by the webhook is installed. Implementations MUST exclude these resources from configuration and add an `Accepted=false` condition with a `HeaderFilterNotValid` reason if the webhook is not running.

We can only test one or the other in a given run. If the webhook is running, the resource simply won't exist, and can't have conditions as such. If it is not running, tests can check conditions, but any test to confirm the webhook behavior (that the resource is rejected at creation time) would then fail. This would basically require two suites of conformance tests for behavior with or without the webhook, correct?

Sigh, yes, you're right.
I think that if we're going to do this, we should lean in and say "we're not going to mandate anything about what happens if the webhook is not running, sorry".

Sigh, yes, you're right.
I think that if we're going to do this, we should lean in and say "we're not going to mandate anything about what happens if the webhook is not running, sorry".

This is inherently a problem with being out of tree, yeah?
If I'm not mistaken at monday's meeting Travis was basically asking us what we recommend as far as getting the webhook deployed on operator clusters, e.g. he was asking the question whether we recommend the webhook be loaded in with the existing (Go) operator. Today the onus is partially on cluster operators to ensure the webhook is installed, but it might be significantly better if implementations were packaging it. I know there's some hesitation to force everyone to run the webhook and I also understand there's some downsides (particularly with multiple implementations), but perhaps we should explore this further and see if we can't put the burden of ensuring the webhook's presence more heavily on the implementation so that cluster operators would have to opt out to start getting into grey territory rather than being in grey territory by default?

Putting responsibility on implementations to run it, either as a separate container or integrated into a Golang controller, seems reasonable--that's basically what this test would enforce.

This is inherently a problem with being out of tree, yeah?

Would the situation change at all post-GA? I know that Ingress has more complex validation than schema enforcement alone, and it seems like we'd be able to add most if not all validation rules in the webhook there.
I don't know if maybe there's an effort to avoid adding additional validations there going forward, but if we would eventually be able to add them there, we'd be able to plan for eventually not worrying about the webhook being installed separately.

I've been thinking about this for some time now, and I tend to lean in a different direction. I think that we need to differentiate between a "conformant environment" and a "conformant implementation". In some instances, these are going to be one and the same, but in others, the controller author only has so much control. I'm not sure how useful it is for our controller-focused conformance tests to require the webhook to be present.
I'd rather test that controllers don't blow up when presented with invalid resources. Most controllers can't control how they're installed, they can simply provide a recommended set of steps. Our docs currently state the following:

CRD and webhook validation is not the final validation i.e. webhook is "nice UX" but not schema enforcement. This validation is intended to provide immediate feedback to users when they provide an invalid configuration. Write code defensively...

I still think the webhook is valuable and improves the UX of Gateway API dramatically, but I'm not convinced that it can/should be relied on or required to be present when running conformance tests.

Just for discussion purposes, I put up #1534
Some thoughts:

It is definitely highly desirable to have validation like this - even the simple example of immutable GatewayClass.spec.controllerName shows how valuable it is in terms of UX
If we believe this should usually be achieved by installing our webhook, then this does feel like it's more about a "conformant environment" than a "conformant implementation"
If we want to check for a "conformant environment", it does seem a bit pointless to test all of the behaviors of the webhook - we can test the webhook before we publish its image!
In istio/istio#41868 the proposal (AIUI) is to use library code from gateway-api to provide some admission validation checks - if we were providing a comprehensive validation library instead of an installable webhook, it might feel a bit more like we're trying to enforce that "conformant implementations" are providing these validations?
The GatewayClass.spec.controllerName example shows another weirdness with the "conformant implementation" approach - why would we require an implementation to validate objects that it would normally ignore (i.e. because it doesn't recognize the controller name) in order to be conformant? You'd expect we'd only require an implementation to validate objects it is accepting?

HTH

I feel like we are testing conformant environment. The environment really is the implementation. If we look at k8s for example, we aren't just testing some api-server binary, we are testing "Kubernetes" which consists of an environment many components. Gateway API is a much smaller environment, but fairly similar.
An environment may get the validation from the built in installable webhook, the Istio library import, or even something else - all that matters is it validates.

controllerName

I think its just a bit of a quirk of mixing global resources and shared resources with multiple implementations, the lines get a bit blurred. For example, you may have 1 validator for the entire cluster (in which case you want cross-class validation), or you may have N implementations doing validations (in which case you might want same-class only validation). Trying to make sure all environments have coverage of all resources is tricky - especially because Kubernetes isn't smart enough to know about "class" in the webhook, so it will actually still need to call all the validators, they could just chose to NOP. But if they are already called, it feels like they might as well validate as well. That does lead to making validation potentially stricter (if I have multiple versions, we are applying both versions of validation at once), but that feels OK to me.
So overall, I think it seems weird especially if we just look at GatewayClass, but it still feels like the best option to me, and its less weird for other fields.

I think we've definitely had some good points raised here, so here's a new proposal from me.
What I'm really aiming for is this: the webhook currently implements some important checks for various types of object safety. I'd like to verify that a conformant implementation is doing some form of the same checks. It's a much better user experience if the invalid objects never make it into the apiserver (this is what the validation webhook is doing), but I think it's probably okay for implementations to not accept the invalid objects as well (this will handle @robscott's concern about invalid objects somehow making it through).
What I think we should work towards is a set of conformance tests (maybe a separate suite), that test that invalid objects (as defined in the webhook code) are either not accepted (ie, the webhook or some other webhook that performs the same checks is running), or that the objects are Accepted, status: false, with a Reason of FailedValidation (this is the case that the webhook is not running, but the implementation performs the same validations and updates the status accordingly).
For this to work, we'll need to ensure it's easy to import the validation code and either:

use it in a validation webhook
validate objects as part of normal implementation functions.

We already include the validation logic in release bundles, but we could make this easier by providing a simplified public API that will be easier to call (maybe a Validate function that takes a Kubenetes object.Object and then typecasts it and runs the type-specific checks?), and moving usage of it in our webhook to that.
Alternatively, we have a pretty clear pattern for validation functions in our current validation package. We could stick with what we have, then just mandate that:

implementations need to validate resources as part of reconciliation, and not Accept them with a ValidationFailed reason.
or, implementations can ensure the webhook is running
or both.

This approach would let the conformance tests validate the important thing - that the restrictions described in the webhook, which aren't easily expressible in field-level validations, are in effect. Whether those restrictions are done in a webhook or in the implementation doesn't seem as important to me as that they happen somewhere.

Not fixed yet, looks like we should try to use something like what ingress-nginx is doing: https://github.com/kubernetes/ingress-nginx/blob/main/hack/init-buildx.sh.

This is still something we'd like to have:
/help
And ideally we would have it prior to our GA release:
/priority important-soon
As such we'll drop it in the v1.0.0 milestone and see if we can get progress on it soon.

We have deprecated the webhook, so it would seem we don't need to prioritize this any longer.


Detect inconsistent versions between default toolchain and Forc manifest version

fuelup should be able to do both these things:

[x] Set the default toolchain version.
[ ] Enable reading of the default toolchain version (so that forc can detect when you're using the wrong version that doesn't match what's configured in the manifest file).

As mentioned here, this would probably require some design decisions on what constitutes a stable toolchain and how we reconcile forc and fuel-core compatibility
Update:
With https://github.com/FuelLabs/sway/pull/2405 now merged, we can detect inconsistent versions by matching with the minimum forc-version specified in the Forc.toml.

Since part 1 is already done with the introduction of the fuelup default command, I'm going to rename this issue and leave the 2nd one up as a task.

This is done using forc-toolchain.toml (overrides)


Error in installation of django oscar - 'Passing a 3-tuple to include() is not supported. Pass a 2-tuple containing the list of patterns and app_name, and provide the namespace argument to include() instead.'

I have started a new Django project and am trying to make use of Django e-commerce package 'OSCAR'. I followed the steps for Install Oscar and its dependencies. I am able to create the project and when I try to start the server I get the error:
File "M:\frobshop\frobshop\urls.py", line 24, in
url(r'^admin/', include(admin.site.urls)),
File "C:\Users\manasa\Envs\oscar\lib\site-packages\django\urls\conf.py", line 27, in include
'provide the namespace argument to include() instead.' % len(arg)
django.core.exceptions.ImproperlyConfigured: Passing a 3-tuple to include() is not supported. Pass a 2-tuple containing the list of patterns and app_name, and provide the namespace argument to include() instead.
My settings.py:
import os
from oscar.defaults import *
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(file)))
DEBUG = True
ALLOWED_HOSTS = []
Application definition
from oscar import get_core_apps
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.sites',
'django.contrib.flatpages', 'compressor',
'widget_tweaks',
] + get_core_apps()
SITE_ID = 1
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'oscar.apps.basket.middleware.BasketMiddleware',
'django.contrib.flatpages.middleware.FlatpageFallbackMiddleware',
]
AUTHENTICATION_BACKENDS = (
'oscar.apps.customer.auth_backends.EmailBackend',
'django.contrib.auth.backends.ModelBackend',
)
HAYSTACK_CONNECTIONS = {
'default': {
'ENGINE': 'haystack.backends.simple_backend.SimpleEngine',
},
}
ROOT_URLCONF = 'frobshop.urls'
from oscar import OSCAR_MAIN_TEMPLATE_DIR
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [
os.path.join(BASE_DIR, 'templates'),
OSCAR_MAIN_TEMPLATE_DIR
],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.template.context_processors.i18n',
'django.contrib.messages.context_processors.messages',
            'oscar.apps.search.context_processors.search_form',
            'oscar.apps.promotions.context_processors.promotions',
            'oscar.apps.checkout.context_processors.checkout',
            'oscar.apps.customer.notifications.context_processors.notifications',
            'oscar.core.context_processors.metadata',
        ],
    },
},

]
WSGI_APPLICATION = 'frobshop.wsgi.application'
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': 'db.sqlite3',
'USER': '',
'PASSWORD': '',
'HOST': '',
'PORT': '',
'ATOMIC_REQUESTS': True,
}
}
AUTH_PASSWORD_VALIDATORS = [
{
'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
},
{
'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
},
{
'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
},
{
'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
},
]
LANGUAGE_CODE = 'en-us'
TIME_ZONE = 'UTC'
USE_I18N = True
USE_L10N = True
USE_TZ = True
STATIC_URL = '/static/'
urls.py
from django.conf.urls import include, url
from django.contrib import admin
from oscar.app import application
urlpatterns = [
url(r'^i18n/', include('django.conf.urls.i18n')),
url(r'^admin/', include(admin.site.urls)),
url(r'', include(application.urls)),
]
My virtual environment setup
M:>mkvirtualenv oscar
(oscar) M:> pip install django-oscar
(oscar) M:> django-admin startproject frobshop
(oscar) M:>cd frobshop
(oscar) M:> django-admin startproject frobshop
(oscar) M:>python manage.py runserver
(oscar) M:>cd frobshop
(oscar) M:\frobshop>python manage.py runserver
Performing system checks...
System check identified no issues (0 silenced).
Django-version: 2.0.5
Python: 3.5
OS: Windows 10

I am guessing that you are the same person that asked this question on Stack Overflow?
Change your project's URL config to include the admin URLs like so:
url(r'^admin/', admin.site.urls),

Oscar's documentation is out of date in using include() there (fix here).
Closing this, as it's not a bug/feature request. If you still have issues please use Stack Overflow, the mailing list or Slack to ask for help.

Hi Samir,
Thanks for the reply.
The link to the fix is not working please resend the link.
On Sat, May 26, 2018 at 10:44 AM, Samir Shah<EMAIL_ADDRESS>wrote:

Closed #2718 https://github.com/django-oscar/django-oscar/issues/2718.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/django-oscar/django-oscar/issues/2718#event-1647903021,
or mute the thread
https://github.com/notifications/unsubscribe-auth/Ab4Zx5Z7janJM9nw1Y4ZXjcB4PYV-UNIks5t2WpRgaJpZM4UO7ci
.

Samir,
I removed the include in the urls and its working now.
On Sat, May 26, 2018 at 10:51 AM, marecharla abhilash <
<EMAIL_ADDRESS>wrote:

Hi Samir,
Thanks for the reply.
The link to the fix is not working please resend the link.
On Sat, May 26, 2018 at 10:44 AM, Samir Shah<EMAIL_ADDRESS>wrote:

Closed #2718 https://github.com/django-oscar/django-oscar/issues/2718.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/django-oscar/django-oscar/issues/2718#event-1647903021,
or mute the thread
https://github.com/notifications/unsubscribe-auth/Ab4Zx5Z7janJM9nw1Y4ZXjcB4PYV-UNIks5t2WpRgaJpZM4UO7ci
.


Update example project dependencies

Bump versions:

relay-compiler
relay-config
react-relay
relay-nextjs
nextjs (10 -> 12)

Add missing packages (dev):

@types/node
typescript

Regenerate relay queries with new compiler

Already addressed by #50 ... Closing 🤣


Update _index.md - fixed grammar for a malformed sentence

Description
Fixed a grammar issue dividing one long malformed sentence into two better-formed sentences capturing the intent of the documentation.
Issue

Closes: #

@sjong13 pls sign the CLA :)

This is a trivial edit but first time contributor so
/lgtm

/lgtm

Thanks for your contribution, @sjong13!
/approve

/retitle Fix malformed sentence in "Pods" concept page
(Shortened and clarified the title for better readability)


Slow CI as compiles GTSAM

Can we instead pull a GTSAM docker image?

I've actually been actively working with @berndpfrommer to get the nightly packages in a state where we can just pull the pre-built binaries. This should shave off a tremendous chunk of time.
We currently have 2 issues:

CppUnitLite is not included in the binaries, so the compiler can't find CppUnitLite to build the tests. I've started the process to have a separate build of CppUnitLite. https://github.com/borglab/gtsam-packaging/issues/15
There are not docker images for MacOS yet. There is a workaround, but that process will make the build longer. One suggestion I've had is to have Homebrew support for GTSAM so that Homebrew can just download the bottle (Homebrew term for binary). https://github.com/borglab/gtsam-packaging/issues/13

I figured this out!!! Atleast for the Linux CI. If we can get homebrew binary support for macos, then I can speed that up as well.

Here's a solution we should have: https://github.com/features/packages
Basically, after a successful CI run, we have the CI trigger a packaging action which will upload a MacOS binary to the package registry. Once we have this set up, we can update the MacOS CI to pull this binary rather than build from scratch.


Fix missing css assets

Hi Andy, I think you have committed out/ instead of updating docs/. I have removed that commit, re-generated docs/, and merged the result. So you can consider this PR merged.
Thank you !


NameError: uninitialized constant - how to initialize SCRIPT_CLASS

Why am I getting uninitialized constant and how can I initialize SCRIPT_CLASS? I get the following error. I'm trying to print Ansible tower job names.
NameError: uninitialized constant MiqAeMethodService::MiqAeServiceManageIQProvidersAnsibleTowerConfigurationManagerConfigurationScript
This is the code I'm trying to include in cloudforms essentials and if it works then I can create a dialog_hash. I'm following this article
SCRIPT_CLASS = 'ManageIQ_Providers_AnsibleTower_ConfigurationManager_ConfigurationScript'.freeze
job_template =  $evm.vmdb(SCRIPT_CLASS)
log(:info, "Job template name is : #{job_template.name}")
log(:info, "Job template name is : #{job_template.id}")

Complete error:

[----] E, [2021-12-14T04:17:52.557495 #304:2b26c405c5d8] ERROR -- automation: <AEMethod list_ec2_template_guids> The following error occurred during method evaluation:
[----] E, [2021-12-14T04:17:52.558158 #304:2b26c405c5d8] ERROR -- automation: <AEMethod list_ec2_template_guids>   NameError: uninitialized constant MiqAeMethodService::MiqAeServiceManageIQProvidersAnsibleTowerConfigurationManagerConfigurationScript
[----] E, [2021-12-14T04:17:52.558975 #304:2b26c405c5d8] ERROR -- automation: <AEMethod list_ec2_template_guids>   (drbunix:///tmp/automation_engine20211214-304-1ypaiyy) /opt/manageiq/manageiq-gemset/bundler/gems/manageiq-automation_engine-5eeb6aaf0106/lib/miq_automation_engine/engine/miq_ae_method_service.rb:5:in `const_missing'
(drbunix:///tmp/automation_engine20211214-304-1ypaiyy) /opt/manageiq/manageiq-gemset/gems/activesupport-6.0.4/lib/active_support/inflector/methods.rb:284:in `const_get'
(drbunix:///tmp/automation_engine20211214-304-1ypaiyy) /opt/manageiq/manageiq-gemset/gems/activesupport-6.0.4/lib/active_support/inflector/methods.rb:284:in `block in constantize'
(drbunix:///tmp/automation_engine20211214-304-1ypaiyy) /opt/manageiq/manageiq-gemset/gems/activesupport-6.0.4/lib/active_support/inflector/methods.rb:280:in `each'
(drbunix:///tmp/automation_engine20211214-304-1ypaiyy) /opt/manageiq/manageiq-gemset/gems/activesupport-6.0.4/lib/active_support/inflector/methods.rb:280:in `inject'
(drbunix:///tmp/automation_engine20211214-304-1ypaiyy) /opt/manageiq/manageiq-gemset/gems/activesupport-6.0.4/lib/active_support/inflector/methods.rb:280:in `constantize'
(drbunix:///tmp/automation_engine20211214-304-1ypaiyy) /opt/manageiq/manageiq-gemset/gems/activesupport-6.0.4/lib/active_support/core_ext/string/inflections.rb:68:in `constantize'
(drbunix:///tmp/automation_engine20211214-304-1ypaiyy) /opt/manageiq/manageiq-gemset/bundler/gems/manageiq-automation_engine-5eeb6aaf0106/lib/miq_automation_engine/engine/miq_ae_method_service/miq_ae_service_model_legacy.rb:96:in `service_model_lookup'
(drbunix:///tmp/automation_engine20211214-304-1ypaiyy) /opt/manageiq/manageiq-gemset/bundler/gems/manageiq-automation_engine-5eeb6aaf0106/lib/miq_automation_engine/engine/miq_ae_method_service/miq_ae_service_vmdb.rb:9:in `service_model'
(drbunix:///tmp/automation_engine20211214-304-1ypaiyy) /opt/manageiq/manageiq-gemset/bundler/gems/manageiq-automation_engine-5eeb6aaf0106/lib/miq_automation_engine/engine/miq_ae_method_service/miq_ae_service_vmdb.rb:4:in `vmdb'
(drbunix:///tmp/automation_engine20211214-304-1ypaiyy) /usr/share/ruby/drb/drb.rb:1635:in `perform_without_block'
(drbunix:///tmp/automation_engine20211214-304-1ypaiyy) /usr/share/ruby/drb/drb.rb:1595:in `perform'
(drbunix:///tmp/automation_engine20211214-304-1ypaiyy) /usr/share/ruby/drb/drb.rb:1679:in `block (2 levels) in main_loop'
(drbunix:///tmp/automation_engine20211214-304-1ypaiyy) /usr/share/ruby/drb/drb.rb:1675:in `loop'
(drbunix:///tmp/automation_engine20211214-304-1ypaiyy) /usr/share/ruby/drb/drb.rb:1675:in `block in main_loop'
[----] E, [2021-12-14T04:17:52.560797 #304:2b26c402720c] ERROR -- automation: Method STDERR: (drbunix:///tmp/automation_engine20211214-304-1ypaiyy) /opt/manageiq/manageiq-gemset/bundler/gems/manageiq-automation_engine-5eeb6aaf0106/lib/miq_automation_engine/engine/miq_ae_method_service.rb:5:in `const_missing': uninitialized constant MiqAeMethodService::MiqAeServiceManageIQProvidersAnsibleTowerConfigurationManagerConfigurationScript (NameError)
[----] E, [2021-12-14T04:17:52.560952 #304:2b26c402720c] ERROR -- automation: Method STDERR: from (drbunix:///tmp/automation_engine20211214-304-1ypaiyy) /opt/manageiq/manageiq-gemset/gems/activesupport-6.0.4/lib/active_support/inflector/methods.rb:284:in `const_get'
[----] E, [2021-12-14T04:17:52.561044 #304:2b26c402720c] ERROR -- automation: Method STDERR: from (drbunix:///tmp/automation_engine20211214-304-1ypaiyy) /opt/manageiq/manageiq-gemset/gems/activesupport-6.0.4/lib/active_support/inflector/methods.rb:284:in `block in constantize'
[----] E, [2021-12-14T04:17:52.561171 #304:2b26c402720c] ERROR -- automation: Method STDERR: from (drbunix:///tmp/automation_engine20211214-304-1ypaiyy) /opt/manageiq/manageiq-gemset/gems/activesupport-6.0.4/lib/active_support/inflector/methods.rb:280:in `each'
[----] E, [2021-12-14T04:17:52.561308 #304:2b26c402720c] ERROR -- automation: Method STDERR: from (drbunix:///tmp/automation_engine20211214-304-1ypaiyy) /opt/manageiq/manageiq-gemset/gems/activesupport-6.0.4/lib/active_support/inflector/methods.rb:280:in `inject'
[----] E, [2021-12-14T04:17:52.561884 #304:2b26c402720c] ERROR -- automation: Method STDERR: from (drbunix:///tmp/automation_engine20211214-304-1ypaiyy) /opt/manageiq/manageiq-gemset/gems/activesupport-6.0.4/lib/active_support/inflector/methods.rb:280:in `constantize'
[----] E, [2021-12-14T04:17:52.562083 #304:2b26c402720c] ERROR -- automation: Method STDERR: from (drbunix:///tmp/automation_engine20211214-304-1ypaiyy) /opt/manageiq/manageiq-gemset/gems/activesupport-6.0.4/lib/active_support/core_ext/string/inflections.rb:68:in `constantize'
[----] E, [2021-12-14T04:17:52.562189 #304:2b26c402720c] ERROR -- automation: Method STDERR: from (drbunix:///tmp/automation_engine20211214-304-1ypaiyy) /opt/manageiq/manageiq-gemset/bundler/gems/manageiq-automation_engine-5eeb6aaf0106/lib/miq_automation_engine/engine/miq_ae_method_service/miq_ae_service_model_legacy.rb:96:in `service_model_lookup'
[----] E, [2021-12-14T04:17:52.562300 #304:2b26c402720c] ERROR -- automation: Method STDERR: from (drbunix:///tmp/automation_engine20211214-304-1ypaiyy) /opt/manageiq/manageiq-gemset/bundler/gems/manageiq-automation_engine-5eeb6aaf0106/lib/miq_automation_engine/engine/miq_ae_method_service/miq_ae_service_vmdb.rb:9:in `service_model'
[----] E, [2021-12-14T04:17:52.562413 #304:2b26c402720c] ERROR -- automation: Method STDERR: from (drbunix:///tmp/automation_engine20211214-304-1ypaiyy) /opt/manageiq/manageiq-gemset/bundler/gems/manageiq-automation_engine-5eeb6aaf0106/lib/miq_automation_engine/engine/miq_ae_method_service/miq_ae_service_vmdb.rb:4:in `vmdb'
[----] E, [2021-12-14T04:17:52.562568 #304:2b26c402720c] ERROR -- automation: Method STDERR: from (drbunix:///tmp/automation_engine20211214-304-1ypaiyy) /usr/share/ruby/drb/drb.rb:1635:in `perform_without_block'
[----] E, [2021-12-14T04:17:52.562701 #304:2b26c402720c] ERROR -- automation: Method STDERR: from (drbunix:///tmp/automation_engine20211214-304-1ypaiyy) /usr/share/ruby/drb/drb.rb:1595:in `perform'
[----] E, [2021-12-14T04:17:52.562820 #304:2b26c402720c] ERROR -- automation: Method STDERR: from (drbunix:///tmp/automation_engine20211214-304-1ypaiyy) /usr/share/ruby/drb/drb.rb:1679:in `block (2 levels) in main_loop'
[----] E, [2021-12-14T04:17:52.562949 #304:2b26c402720c] ERROR -- automation: Method STDERR: from (drbunix:///tmp/automation_engine20211214-304-1ypaiyy) /usr/share/ruby/drb/drb.rb:1675:in `loop'
[----] E, [2021-12-14T04:17:52.563060 #304:2b26c402720c] ERROR -- automation: Method STDERR: from (drbunix:///tmp/automation_engine20211214-304-1ypaiyy) /usr/share/ruby/drb/drb.rb:1675:in `block in main_loop'
[----] E, [2021-12-14T04:17:52.563207 #304:2b26c402720c] ERROR -- automation: Method STDERR: from /CloudForms_Essentials/Integration/Amazon/EC2/DynamicDialogs/list_ec2_template_guids:120:in `<main>'
[----] I, [2021-12-14T04:17:52.566639 #304:2b26bfe53fc4]  INFO -- automation: <AEMethod [/CloudForms_Essentials/Integration/Amazon/EC2/DynamicDialogs/list_ec2_template_guids]> Ending
[----] E, [2021-12-14T04:17:52.567269 #304:2b26bfe53fc4] ERROR -- automation: Aborting instantiation (unknown method return code) because [Method exited with rc=Unknown RC: [1]]
[----] I, [2021-12-14T04:17:52.572561 #304:2b26bfe53fc4]  INFO -- automation: User [admin] with current group ID [2] name [EvmGroup-super_administrator]
[----] I, [2021-12-14T04:17:52.575261 #304:2b26bfe53fc4]  INFO -- automation: Instantiating [/Integration/Amazon/EC2/DynamicDialogs/list_ec2_flavor_ids?MiqServer%3A%3Amiq_server=1&ServiceTemplate%3A%3Aservice_template=6&User%3A%3Auser=1&dialog_number_of_vms=&dialog_src_vm_id=&dialog_vm_name=&object_name=list_ec2_flavor_ids&vmdb_object_type=service_template]
[----] I, [2021-12-14T04:17:52.582587 #304:2b26bfe53fc4]  INFO -- automation: Updated namespace [/Integration/Amazon/EC2/DynamicDialogs/list_ec2_flavor_ids?MiqServer%3A%3Amiq_server=1&ServiceTemplate%3A%3Aservice_template=6&User%3A%3Auser=1&dialog_number_of_vms=&dialog_src_vm_id=&dialog_vm_name=&object_name=list_ec2_flavor_ids&vmdb_object_type=service_template  CloudForms_Essentials/Integration/Amazon/EC2]
[----] I, [2021-12-14T04:17:52.616356 #304:2b26bfe53fc4]  INFO -- automation: Updated namespace [Integration/Amazon/EC2/DynamicDialogs/list_ec2_flavor_ids  CloudForms_Essentials/Integration/Amazon/EC2]
[----] I, [2021-12-14T04:17:52.619578 #304:2b26bfe53fc4]  INFO -- automation: Invoking [inline] method [/CloudForms_Essentials/Integration/Amazon/EC2/DynamicDialogs/list_ec2_flavor_ids] with inputs [{}]
[----] I, [2021-12-14T04:17:52.620793 #304:2b26bfe53fc4]  INFO -- automation: <AEMethod [/CloudForms_Essentials/Integration/Amazon/EC2/DynamicDialogs/list_ec2_flavor_ids]> Starting
[----] I, [2021-12-14T04:17:52.888322 #304:2b26c2b3d300]  INFO -- automation: <AEMethod list_ec2_flavor_ids>     Attribute: data_type = string

@akhilkr128 Can you take a look at this one?

I am looking into this.

I have tested it, and the below code will work.
`SCRIPT_CLASS = 'ManageIQ_Providers_AnsibleTower_AutomationManager_ConfigurationScript'.freeze
job_template = $evm.vmdb(SCRIPT_CLASS).first
$evm.log('info', "Single package- #{job_template.id}")`
Please refer to the updates on the automation book here.
This section specifies the change of Configuration Manager to Automation Manager.

Closing as this is resolved.  @jinsu88 please reopen if you still have issues.


Typos

Summary
@BillWagner, thank you very much for approving my PRs so far!
In addition to the minor typos on this page, I also wanted to update the toPigLatin function to use the F# 6 indexing syntax without the dot. (expr[idx] instead of expr.[idx]) However, the code snippet is a link that I don't have access to.
Please consider updating the toPigLatin example to the new expr[idx] syntax on your end. If you decide to do so, please keep in mind that the example appears 4 times on this page:

Under Write your first script, the example uses the old expr.[idx] syntax.
The screenshot of sending the function to the FSI process.
Under Explaining the code, point 2 if..then..else expression.
Under Turn the console app into a Pig Latin generator, in module PigLatin the example uses the NEW expr[idx] syntax!

Finally, please let me know if you do not want me to send you PRs related to the indexing syntax in the future. Thanks!

Hi @OlegAlexander - thank you for this PR, it is much appreciated. As for the file you're looking for, it is here:
https://github.com/dotnet/docs/blob/main/samples/snippets/fsharp/getting-started/to-pig-latin.fsx
You could update it as part of this PR, or create a new PR. Just let me know.

 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: OlegAlexander sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

Hello @IEvangelist, thanks for pointing me to the correct file. I've updated the toPigLatin function to use the new indexing syntax. Under Explaining the code, point 2, if..then..else expression, it looks like the link is still pointing to the same fsx file, lines 8-11, so that should be fine.
I've also updated the FSI screenshot showing the new indexing syntax. (Not sure if it needs to be resized--my screenshot is somewhat bigger than the old one but otherwise very similar.)
Please let me know if everything is in order. Thank you!


convert types per value for array with mixing types

convert types for individual value in array, handling cases where array contains mixing types
for safety, stop skipping type conversion based on the speculated type for values in array
cast to Number type for numeric PinotDataTypes to make conversion a bit more general

Description

Upgrade Notes
Does this PR prevent a zero down-time upgrade? (Assume upgrade order: Controller, Broker, Server, Minion)

[ ] Yes (Please label as backward-incompat, and complete the section below on Release Notes)

Does this PR fix a zero-downtime upgrade introduced earlier?

[ ] Yes (Please label this as backward-incompat, and complete the section below on Release Notes)

Does this PR otherwise need attention when creating release notes? Things to consider:

New configuration options
Deprecation of configurations
Signature changes to public methods/interfaces
New plugins added or old plugins removed

[ ] Yes (Please label this PR as release-notes and complete the section on Release Notes)

Release Notes

Documentation

Codecov Report

Merging #7234 (4ef1490) into master (5e0dcff) will increase coverage by 0.05%.
The diff coverage is 97.00%.

@@             Coverage Diff              @@
##             master    #7234      +/-   ##
============================================
+ Coverage     65.29%   65.35%   +0.05%
  Complexity       92       92
============================================
  Files          1508     1508
  Lines         73951    73980      +29
  Branches      10685    10684       -1
============================================
+ Hits          48289    48352      +63
+ Misses        22245    22211      -34
  Partials       3417     3417

Flag
Coverage Δ

unittests
65.35% <97.00%> (+0.05%)
:arrow_up:

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

Impacted Files
Coverage Δ

...a/org/apache/pinot/common/utils/PinotDataType.java
78.57% <96.90%> (+11.30%)
:arrow_up:

...t/local/recordtransformer/DataTypeTransformer.java
82.89% <100.00%> (-2.55%)
:arrow_down:

...l/segment/index/readers/OnHeapFloatDictionary.java
90.00% <0.00%> (-5.00%)
:arrow_down:

...lix/core/realtime/PinotRealtimeSegmentManager.java
78.46% <0.00%> (-1.03%)
:arrow_down:

...nMaxValueBasedSelectionOrderByCombineOperator.java
58.20% <0.00%> (-0.75%)
:arrow_down:

...rg/apache/pinot/broker/routing/RoutingManager.java
72.66% <0.00%> (+0.71%)
:arrow_up:

...e/pinot/core/transport/InstanceRequestHandler.java
62.31% <0.00%> (+4.34%)
:arrow_up:

...pache/pinot/core/util/SortedRangeIntersection.java
88.23% <0.00%> (+7.35%)
:arrow_up:

Continue to review full report at Codecov.

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


Exercise6

@aaronev when you make PRs after doing some exercises, can you please make them against your own master branch and not the master branch of the original repo, as done here? Since this PR isn't intended to be merged, we just have to close it.


convert data to Immutables

Use Immutable data structures for a performance improvement.
Options:
seamless-immutable or Immutable.js.

This issue was moved to coderoad/core-coderoad#5


[refactor] Remove dependency on personal fork of supercluster from mapbox visualizations

Update dependency to reference the vanilla supercluster
Clean up backend api call for mapbox vizzes to ensure a boolean is sent to indicate whether the viz includes custom metric for clustering
Refactor of mapbox and its cluster overlay components to use vanilla supercluster and its recommended way for handling clustering based on custom aggregations.
Allow reclustering within the initial bounds on render in mapbox visualizations (stay true to old behaviors).
Remove the median aggregation from available cluster label aggregators as there is no memory efficient way to implement this and it is unknown how often this feature is used
Updating doc to mention the backward incompatible change re median

@mistercrunch @betodealmeida @youngyjd @kristw

LGTM


add option to disable cli-highlight when inspecting webpack config

What problem does this feature solve?
when running vue-cli-service inspect > output.js through npm run/yarn run,  the output.js file is full of unreadable escape characters
What does the proposed API look like?
--nocolor sth like that

I've never seen such escape characters… Which OS and shell are you using?

As far as I know, the highlight utility (chalk) uses https://github.com/chalk/supports-color to detect if the stdout stream supports color. It will return false if you are using I/O redirection.

I am using windows 10
Maybe it is a shell/terminal problem? I am using PhpStorm, and the behaviors differ from typing the command in the Terminal directly to running a npm configuration. The terminal command runs without problem while the "Run Configuration" output a gibberish file.

package.json
{
  "scripts": {
    "inspect": "vue-cli-service inspect > inspect.js"
  }
}

so my situation is:
Typing directly in terminal $ vue-cli-service inspect > inspect.js works.
Typing directly in terminal $ npm run inspect works.
Setting up a npm Run Configuration don't work.

For anyone encountering this, my solution is to setup a Node.js Run Configuration which points to the real script<EMAIL_ADDRESS>set the application parameters manually, and enable the "Save console output to file" option via the "Logs" tab.

As a workaround, you can run the command with FORCE_COLOR=0 vue-cli-service inspect

thanks

I have the same issue, running inspect via WSL, and opening on windows through VS Code.
This is how it looks like
:

Meanwhile, opening the file through console via vi, it's fine.
FORCE_COLOR=0 ./node_modules/.bin/vue-cli-service inspect  > output.js did not help.


feat: emit withdrawn rewards events for LiquidUnfarm and LiquidUnfarmAndWithdraw

…AndWithdraw

Description

closes: #116
Tasks

[x] Add withdrawn_rewards events for LiquidUnfarm and LiquidUnfarmAndWithdraw
[x] Update 06_events.md to include added events

Before we can merge this PR, please make sure that all the following items have been
checked off. If any of the checklist items are not applicable, please leave them but
write a little note why.

[ ] Appropriate labels applied
[ ] Targeted PR against correct branch
[ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
[ ] Code follows the module structure standards.
[ ] Wrote unit and integration
[ ] Updated relevant documentation (docs/) or specification (x/<module>/spec/)
[ ] Added relevant godoc comments.
[ ] Re-reviewed Files changed in the Github PR explorer
[ ] Review Codecov Report in the comment section below once CI passes

After having an internal discussion, the event is not a necessary information for farmers as well as client developers. Instead, it is decided to remove the currently emitting event in LiquidFarm msg.


Update attack-surface-reduction.md

Tested enabling this ASR and it blocks DLPpolicy tips and tooltips as mentioned by the user. Added a note so that it is clear to the audience.

@JohanFreelancer9 Please copy review

Issue#https://github.com/MicrosoftDocs/microsoft-365-docs/issues/5008


Alarm at 66F but range LT30 GT95 - BUG 2.3.4

See attached screen shots.

We actually got also another similar report yesterday but couldn't reproduce yet. @andreevdenis

@DG12 thanks for report! Preparing hotfix now.

QA passed

Fixed in 2.3.5


Fix typo. Bullet first mention of model, update, view because important.

Small changes for clarity.

Seems good to me, thanks!


Atlas lcmtypes error when building w/o atlas_drivers external

I am trying to build OH without access to the atlas_drivers external (but have access to SNOPT and built gurobi on its own) and am getting the following errors:

[ 14%] Building CXX object src/CMakeFiles/AtlasFallDetector.dir/AtlasFallDetector.cpp.o
In file included from /home/rc/oh-distro/software/control/src/AtlasFallDetector.cpp:1:0:
/home/rc/oh-distro/software/control/src/AtlasFallDetector.hpp:12:39: fatal error: lcmtypes/atlas/status_t.hpp: No such file or directory
#include "lcmtypes/atlas/status_t.hpp"
^
compilation terminated.
make[4]: *** [src/CMakeFiles/AtlasFallDetector.dir/AtlasFallDetector.cpp.o] Error 1
make[3]: *** [src/CMakeFiles/AtlasFallDetector.dir/all] Error 2
make[2]: *** [all] Error 2
make[1]: *** [all] Error 2
make: *** [all] Error 2

I tried cd'ing into drc_lcmtypes, doing a make clean, then make again in /software. That didn't work.

I've opened pull request #117 which I think fixes the problem.  You could test it yourself by making the same change locally to atlas-collection/CMakeLists.txt:
https://github.com/openhumanoids/oh-distro/pull/117/files

@Rahtron3030 this should be fixed now after you do a git pull.  Thanks for reporting it!


Polish details around when UserTopic/MutedTopic entries are moved along with a topic

In #17031, we added support for muted topic data being moved when all the messages in a topic are moved within a stream. This issue is for extending the logic to handle some tricky corner cases. Here's the block comment from that pull request:
    # Migrate muted topic configuration in the following circumstances:
    #
    # * If propagate_mode is change_all, do so unconditionally.
    #
    # * If propagate_mode is change_later, it's likely that we want to
    #   move these only when it appears that the intent is to move
    #   most of the topic, not just the last 1-2 messages which may
    #   have been "off topic". At present we do so unconditionally.
    #
    # * Never move muted topic configuration with change_one.
    #
    # We may want more complex behavior in cases where one appears to
    # be merging topics (E.g. there are existing messages in the
    # target topic).
    #
    # Moving a topic to another stream is complicated in that we want
    # to avoid creating a UserTopic row for the user in a stream that
    # they don't have access to; doing so could leak information about
    # the existence of a private stream to some users. See the
    # moved_all_visible_messages below for related details.
    #
    # So for now, we require new_stream=None for this feature.

Here's a few things we can potentially improve:

[x] Add support for moving MutedTopic entries to another stream where the user has access to shared history in both streams, which probably reduces to a cleaner big of logic where we check if the user is getting a delete event (which happens when moving a topic to somewhere you can't see) or a move event.  At a technical implementation level, I think that means checking if the user appears in the users_to_be_notified object instead of delete_event_notify_user_ids, since we're already doing the right security check for whether the user should get a live-update event about the new location.
[x] For change_later, there's two common situations: (1) You're moving the whole topic (2) You're moving just the last few messages that are off-topic. The user intent is pretty clear in case (1): MutedTopic data should be moved. But in case (2), it's really not clear what you want -- I can imagine situations where your goal would be for the original topic to stay muted, or for the destination topic to be muted, or for both to end up muted. Presumably we could pick some better algorithm than the present "always move" state, but I'm not sure what that would be.
[ ] There's a potential problem with this feature, where someone merge a currently muted topic into another topic, and that ends up muting the existing content in that topic for you. We could potentially try to prevent this by checking if you have existing content in the topic that it's being moved into, but it's a sufficiently weird case that I'm not sure what users would expect in this situation.

I think only the first of the above is a clear concrete improvement here.

We ended up integrating f9f111f950054dcf7d077dc09aa4d5e3d99e9e30 as our best pass at a next step here in time for the 5.0 release. We haven't had any concrete reports of issues with the new logic, so I think there's nothing actionable remaining on this issue.


metadata compatibility question

Hi @jonrkarr , is the metadata inside the attached omex file compatible with your reader?
It's a small proof of concept file, just to catch early any issue.
I tested it and it passes the validation test at the W3C rdf validator.
Note that this panel doesn't accept omex archives, so I had to change the extension to zip
Thanks!
biomodel_100596964.zip

A few things need to be changed:

The title should use http://dublincore.org/specifications/dublin-core/dcmi-terms/title rather than http://purl.org/dc/elements/1.1/title.

[ ] Replace<dc:title rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Regulation of quantal currents determines synaptic strength at neuromuscular synapses in larval Drosophila</dc:title>

with<dcterms:title rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Regulation of quantal currents determines synaptic strength at neuromuscular synapses in larval Drosophila</dc:title>

[ ] Replace http://purl.org/dc/terms/ with http://dublincore.org/specifications/dublin-core/dcmi-terms/

The objects of http://example.org/contributor0, http://example.org/contributor1, etc. should be instances of rdf:Description.

[ ] E.g., replace<dc:contributor rdf:about="http://example.org/contributor0">
    <rdfs:label rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Dan Vasilescu</rdfs:label>
    <foaf:name rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Dan Vasilescu</foaf:name>
</dc:contributor>

with<rdf:Description rdf:about="http://example.org/contributor0">
    <rdfs:label rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Dan Vasilescu</rdfs:label>
    <foaf:name rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Dan Vasilescu</foaf:name>
</rdf:Description>

The unused namespaces (e.g., collex, sbo, etc.) can be declared, but this isn't necessary
I've often seed local resources (e.g., http://example.org/contributor0) assigned URIs that are more clearly local such as local:0. This clarifies that they aren't expected to be globally meaningful.

The validation can be checked at https://run.biosimulations.org/utils/validate-project


S3: Performance issues with wifi initialized

This is a bit of a vague issue because I don't have proper data, just what I can see.
I have a device that polls a sensor at 1ms interval, filters, downsamples the signal, and renders it to an SSD1306 (128x64px monochrome) display. This works well enough by itself.
However, when I add esp-wifi and call esp_wifi::initialize, even if I do anything more with wifi, the signal rendering becomes very choppy, and it also looks like I'm no longer capturing every sample.

I believe this could (partially) by the task switching frequency, for RISC-V we are using 1000hz switching frequency, but on Xtensa we are using 2000hz for some reason (1/ 500us = 1/ 0.0005 = 2000HZ). At 2000 switches a second, I imagine most of the work done by the CPU is the switching code itself :D.
We should make this the same across all chips and also tune the value. I believe 1000 could still be too high but I guess we need to do some profiling to see.

I suppose this is also fixed by #185 now?

I'd say the answer is "yesn't". My particular issue is fixed, and wifi initialization can now be indefinitely delayed, which is good. However, the actualy cause of my problems, that wifi initialization creates two looping tasks without anything to do (ignore their scheduling frequency for now), and that those tasks can't be stopped, still stands. How would you like to track this?

I'd say the answer is "yesn't". My particular issue is fixed, and wifi initialization can now be indefinitely delayed, which is good. However, the (original) cause of my problems, that wifi initialization creates two looping tasks without anything to do (ignore their scheduling frequency for now), and that those tasks can't be stopped, still stands. How would you like to track this?

Should be possible to offer a way to completely de-initialize and tear-down the whole WiFi/BLE functionality. Mind creating a new issue for this enhancement?

Opened #189.
This issue has been resolved by #185


Extract reusable functions for SQL generation in fuzzer test

Extracts appendComma, toCallInputsSql, toCallSql, toAggregateCallSql functions
for reuse.

Thanks for helping review.


Someone help me making a discord paypal otb bot. willing to pay up to 100$ discord: ! Letoa#1337 tele: @Letoa1337

Is it possible to create such an OTP to access anyone's account by getting the OTP?


VM Generation support

Hello I see on this page : https://docs.microsoft.com/en-us/azure/confidential-computing/virtual-machine-solutions
To provide Intel Software Guard Extension (Intel SGX) support on confidential compute instances, all deployments need to be run on Generation 2 images. Azure confidential computing supports workloads running on Ubuntu 18.04 Gen 2, Ubuntu 16.04 Gen 2, Windows Server 2019 gen2, and Windows Server 2016 Gen 2. Read about support for generation 2 VMs on Azure
But here I see :
VM Generation Support: Generation 1 and 2
From my understanding on Generation 1 it's not possible to have access to the confidential compute feature. Am I correct ?

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

ID: aca0ec03-776b-fb48-3c1d-82dc11916534
Version Independent ID: 030f5f5d-992a-1ead-ec17-39faba84cef1
Content: DC-series - Azure Virtual Machines
Content Source: articles/virtual-machines/dcv2-series.md
Service: virtual-machines
Sub-service: sizes
GitHub Login: @susaxen
Microsoft Alias: jushiman

@ju-shim The document says

VM Generation Support: Generation 1 and 2

But later in the doc, it is mentioned that

DCsv2-series VMs are generation 2 VMs and only support Gen2 images.

This has been fixed. Thank you for bringing it to our attention. #please-close


[HUDI-5173]Skip if there is only one file in clusteringGroup

Change Logs
Related to HUDI-5173
When generate Clustering plan，there is no need to continue if fileSliceGroup has only one file.

Impact
Describe any public API or user-facing feature change or any performance impact.
Risk level (write none, low medium or high below)
If medium or high, explain what verification was done to mitigate the risks.
Documentation Update
Describe any necessary documentation update if there is any new feature, config, or user-facing change

The config description must be updated if new configs are added or the default value of the configs are changed
Any new feature or user-facing change requires updating the Hudi website. Please create a Jira ticket, attach the
ticket number here and follow the instruction to make
changes to the website.

Contributor's checklist

[ ] Read through contributor's guide
[ ] Change Logs and Impact were stated clearly
[ ] Adequate tests were added if applicable
[ ] CI passed

@zhuanshenbsj1, could you take the sort for the single file in the fileSliceGroup into consideration? The solution of this change indeed solves the case that fileSliceGroup has only one file for clustering, but lack of the sort solution.

@zhuanshenbsj1, could you take the sort for the single file in the fileSliceGroup into consideration? The solution of this change indeed solves the case that fileSliceGroup has only one file for clustering, but lack of the sort solution.

You are right，we shold consider the scene if ClusteringSortColumns being set.  We should add ClusteringSortColumns-config check.

@zhuanshenbsj1, could you take the sort for the single file in the fileSliceGroup into consideration? The solution of this change indeed solves the case that fileSliceGroup has only one file for clustering, but lack of the sort solution.

You are right，we shold consider the scene if ClusteringSortColumns being set.
Add ClusteringSortColumns-config check ，if it being set， continue to clustering instead of skip.

Thanks for the contribution, I have reviewed and created a patch here:
5173.zip
You can apply the patch with cmd: git apply xxx.patch.

Thanks for the contribution, I have reviewed and created a patch here: 5173.zip
You can apply the patch with cmd: git apply xxx.patch.

roger that.

@zhuanshenbsj1, you should apply above patch and pay attention to the ITTestHoodieFlinkClustering#testHoodieFlinkClustering test case because the test case has only one file slice for the fileSliceGroup.

Did you apply the patch yet, i didn't see it. And there are test failures.

There are many tests fails with clustering, should fix it though ~

@zhuanshenbsj1 Even with single filegroup, users could still want to sort by some columns right?

Verification has been added before( writeConfig.isClusteringSortEnabled() ).

@hudi-bot run azure

@hudi-bot run azure

@hudi-bot run azure

Issue
Issue at hand: Clustering will be performed for inputGroups with only 1 fileSlice, which may cause unnecessary file re-writes and write amplifications should there be no column sorting required.
Edge cases
CMIIW, the changes here does not fully fix the cluster of inputGroups with only 1 fileSlice issue.
I am not sure if I have missed out any scenarios, at the top of my head, I can only think of these 3 scenarios.

No sorting required
Sorting required; column has not been sorted (replacecommit/clustering not performed yet)
Sorting required; column has already been sorted (replacecommit/clustering has been performed)

While this fix is able to fix the issue for case (1), it is not able to differentiate between the cases (2) and (3).
As such, if a parquet file has the required columns that are already sorted, an unnecessary rewrite will be performed again.
I am not sure if there are any way around this issue other than reading required replacecommit files (if they are not archived) to check if a sort operation has been performed.

Issue
Issue at hand: Clustering will be performed for inputGroups with only 1 fileSlice, which may cause unnecessary file re-writes and write amplifications should there be no column sorting required.
Edge cases
CMIIW, the changes here does not fully fix the cluster of inputGroups with only 1 fileSlice issue.
I am not sure if I have missed out any scenarios, at the top of my head, I can only think of these 3 scenarios.

No sorting required
Sorting required; column has not been sorted (replacecommit/clustering not performed yet)
Sorting required; column has already been sorted (replacecommit/clustering has been performed)

While this fix is able to fix the issue for case (1), it is not able to differentiate between the cases (2) and (3).
As such, if a parquet file has the required columns that are already sorted, an unnecessary rewrite will be performed again.
I am not sure if there are any way around this issue other than reading required replacecommit files (if they are not archived) to check if a sort operation has been performed.

In case (3) as you say,  we still need to check whether sort.columns is changed(column_a,column_b ->column_a,column_c) if we consider to check clustered file .  We need to add new flag data in per clustered file when finished a clustering instant, and check every file this flag when generate new clustering plan.  It will make this check operation  too expensive.

@hudi-bot run azure

@hudi-bot run azure

@hudi-bot run azure

@danny0405, @zhuanshenbsj1, IMO, the benefit of this pull request is not great for incremental clustering, meanwhile there is no benefit for full Clustering. Therefore, this change of skipping one file slice in clustering group is not required.

Hmmm, for flink jobs that are running under append-only mode, partitions that are not written to may get clustered even though there are no data being written to it.
If there are many partitions with files falling below the file size threshold, such unnecessary writes cause clustering to run longer than usual no?

@voonhous, when there are many partitions with files falling below the file size threshold, there is no much unnecessary writes for async incremental clustering which could config the filter mode to RECENT_DAYS or DAY_ROLLING. This pull request only have little benefit for just merge small files no any sort situation.

@hudi-bot run azure

@danny0405, @zhuanshenbsj1, IMO, the benefit of this pull request is not great for incremental clustering, meanwhile there is no benefit for full Clustering. Therefore, this change of skipping one file slice in clustering group is not required.

The most suitable scenario for me is when flink-stream-writing in low peak period，and only one file in per partation，it will clustering again and again without this pr.（RECENT_DAYS >=2）

@danny0405, @zhuanshenbsj1, IMO, the benefit of this pull request is not great for incremental clustering, meanwhile there is no benefit for full Clustering. Therefore, this change of skipping one file slice in clustering group is not required.

The most suitable scenario  is when FilterMode is none and only one file not achieve the target-size in partitions( other file in this partation have achieved),  and no more data coming to this partation any more，it will clustering again and again for this file without this pr. In RECENT_DAYS  scenario , it will also reduce some unnecessary clustering

@hudi-bot run azure

@hudi-bot run azure

@hudi-bot run azure

My only concern is we touch too many existing tests to make it right, not sure whether we have better way to achive the same gole.

My only concern is we touch too many existing tests to make it right, not sure whether we have better way to achive the same gole.

How about add a config : force_clustering default = true ?

My only concern is we touch too many existing tests to make it right, not sure whether we have better way to achive the same gole.

How about add a config : force_clustering default = true ? "force_clustering" means whether sortcolumns is configured or no&& how many files in clustering group ， always generate clustering plan.

Makes sense to me.

@hudi-bot run azure

@danny0405 @SteNicholas PTAL.

Thanks for the contribution, I have reviewed and attached a patch:
5173.zip
You can apply the patch with cmd: git apply xxx.patch, remember to rebase with the latest master code first.

No, this is not a bug fix, only bug fixes can be merged into the minor version.

Is it possible for you to reconsider this? Even though this change is technically not a bug fix in terms of data integrity, it's adding an overhead by doing unnecessary operations and rewrites. Depending on the configuration, a system can end up re-writting GBs of data on every clustering. The change increases the predictability of system, something we would highly appreciate in our production.

You need to configure the clustering strategy to avoid this issue. Maybe your clustering startegy is a little aggresive.

I don't think a config PLAN_STRATEGY_SINGLE_GROUP_CLUSTERING_ENABLED is required to be provided to users. we can skip the case by default. @zhuanshenbsj1

I don't think a config PLAN_STRATEGY_SINGLE_GROUP_CLUSTERING_ENABLED is required to be provided to users. we can skip the case by default. @zhuanshenbsj1

This pr did not have this config originally . this configuration is added to avoid too many ut need to adjust.  So it serves as an optimized configuration.


Filter MiniAVC.xml.

UniversalStorage <IP_ADDRESS> ships a MiniAVC.xml file, which should be generated by KSP.

Find request requires v1.4.
Also #1220 is the same fix, I'm not flustered which branch gets merged. :)


Fix check_backends_status to simplify session accounting

Active backends with wait_event_type other then Active ou Client were not accounted as active.
Add a bit more debug output and a regression test for it.
Fix issue #345

Did you really want to keep the 2 first commits?  I don't think it's really useful to have those apart when actually working on a patch, and you can always temporarily add such while doing so.
In general, +1 for removing the "other wait event" state.

Did you really want to keep the 2 first commits? I don't think it's really useful to have those apart when actually working on a patch, and you can always temporarily add such while doing so.

Done.

In general, +1 for removing the "other wait event" state.

Thanks. PR is ready.


Management typos

This PR fixes some minor typos in the "Conditions" section.
Additionally, this PR changes an occurrence of the word "attribute" with "entity" when used to describe inner nodes of the domain model. I cross referenced this with Martin Heger's Master's Thesis which uses the term "Entität" for everything in the Domain Model Tree that is not a leaf (i.e. not an attribute).

Hi, thanks for the PR! However, we got rid of the term entity late 2018. Martins thesis was before. In the old datamodel, there was a seperation between Attribute an Entity which is now gone.

Thank you for your quick reply, that explains a lot. I guess your are referring to the changes in https://github.com/rdmorganiser/rdmo/releases/tag/0.11.0 right?
I will revert that change and add a line about this change to avoid other people coming to the same conclusion I did. Just to be sure, did I understand correctly that currently Entity is no longer used and one would describe inner nodes of the model as an Attribute, as well? I must admit that my knowledge of the inner workings of RDMO is still a bit limited (hence my working through the docs).
I would also propose to add a disclaimer to the teaching page (https://rdmorganiser.github.io/en/teaching/), that some parts of the works have been iterated upon. I would be happy to draft a small PR for that.

Awesome, thanks!


Migrating off dockershim: document known issue with metrics

This is a Feature Request
Port this: https://cloud.google.com/kubernetes-engine/docs/concepts/using-containerd to the migration guide documentation: https://kubernetes.io/docs/tasks/administer-cluster/migrating-from-dockershim/ as a known issue. Note, CRI-O behavior may be different.

/sig node

/language en

Is the ask here to port the Google doc into the Kubernetes docs or just link to the Google documentation (which isn't necessarily allowed)?

We can't really do either, unless Google licenses https://cloud.google.com/kubernetes-engine/docs/concepts/using-containerd to the CNCF.
We could write new docs to highlight the same known issue (what's the issue? - I deliberated haven't looked).

Here is the GH issue: https://github.com/kubernetes/kubernetes/issues/89903
These metrics are missing in /metrics/cadvsor endpoint with Containerd (they were present with Dockershim):
container_fs_inodes_free
container_fs_inodes_total
container_fs_io_current
container_fs_io_time_seconds_total
container_fs_io_time_weighted_seconds_total
container_fs_limit_bytes
container_fs_read_seconds_total
container_fs_reads_merged_total
container_fs_sector_reads_total
container_fs_sector_writes_total
container_fs_usage_bytes
container_fs_write_seconds_total
container_fs_writes_merged_total

Also the format of container name dimension of many metrics was k8s_<container-name>_<pod-name>_<namespace>_<pod-uid>_<restart-count> with dockershim, but the format on the containerd node is <container-id>. This is coming from this file: https://github.com/kubernetes/kubernetes/blob/ab595f37d258b85291bb6f4f18a1649558346bc0/pkg/kubelet/dockershim/naming.go#L60-L80 that even has an internesting note that this is implementaiton details, but changing it will likely break somethings (btw, maybe this may be noted as well in the list of known issues).
So workaround for both issues (missing metrics and the name of metric dimension) is to use a standalone cAdvisor, and use one of the releases with the suffix "-containerd-cri"

use a standalone cAdvisor

That sounds quite involved - should we open a related issue to track explaining how folks would do that?

@SergeyKanzhelev Do we have a document that can be followed for using a standalone cadvisor? I checked the tags in cadvisor and turns out 2 versions have containerd as suffix but none have the "-containerd-cri" suffix. Ex: v0.41.0-containerd-fix-rc.2
https://github.com/google/cadvisor/tags
Does the latest version v0.44.0  contain the fix?

2 versions have containerd as suffix but none have the "-containerd-cri" suffix. Ex: v0.41.0-containerd-fix-rc.2
https://github.com/google/cadvisor/tags
Does the latest version v0.44.0 contain the fix?

@bobbypage @qiutongs can you please help here?

The fix was added in https://github.com/google/cadvisor/pull/2936 I think but not sure which releases contain it

So what do we need to do next, @shannonxtreme? Align versions?

/assign @chrisnegus

It looks like PR #32069 updates the resource-usage-monitoring page the docker-specific information related to cAdvisor more generic to container runtimes. Would that be enough to address this issue or does more runtime-specific information need to be added?

@SergeyKanzhelev what's your opinion in respect of https://github.com/kubernetes/website/issues/30681#issuecomment-1094379041 ?

Yeah @chris-short I'm not sure how to tell which version has the changes. It's for sure in 0.43.x but the current "Latest" tag is 0.39.x and doesn't seem to have the fix. I think we should wait for @bobbypage or @quitongs to verify.

It's due to it being reverted in https://github.com/google/cadvisor/pull/2964 which is a real bummer for those of us using GKE and the default for new node pools is containerd.

/triage accepted

What should the next steps on this issue look like?

@sftim my thoughts:
This doesn't belong on the suggested page because it's specific to containerd. I'd say let's update Changing the container runtime from Docker Engine to containerd as follows:

In Before you begin, add a line to "Read the known issues section"
Add a section at the end, before What's Next, called "Known issues after migrating"

Add "Versions of containerd prior to 0.45.0 didn't collect some metrics in the /metrics/cadvisor endpoint. For a list of missing metrics, refer to kubernetes issue #89903. To collect these metrics, install a containerd package that is version 0.45.0 or later that has the -containerd-cri suffix."

In Install containerd, mention "To avoid the missing metrics in [Known issues after migrating](#known-issues-after-migrating), install a containerd package that is version 0.45.0 or later that has the -containerd-cri suffix."

According to the comment at https://github.com/google/cadvisor/issues/2785#issuecomment-1205538108 the only current work-around for containerd users is to deploy a standalone cadvisor instance, built from the containerd-cri branch. The stats exposed by the kubelet will be broken until 1.25 or 1.26 when KEP-2371 is complete.

Is there a more involved process then than just installing the -containerd-cri package?

it's not a package, it's a branch of the cadvisor project: https://github.com/google/cadvisor/tree/containerd-cri
I'm not sure if they're publishing binaries or images from that branch, nor do I have a sample daemonset deployment for it. I'm honestly not even sure if it can be deployed to a pod or if it needs to be run on the host; I've not tried myself.

Could we say:
"To collect these metrics, deploy the standalone cAdvisor DaemonSet. Set the $VERSION variable to any cAdvisor version that has the -containerd-cri suffix, such as VERSION=0.45.0-containerd-cri"
?

I think that needs more work, for example the default DaemonSet only mounts the docker socket path; it does not mount the containerd socket, and even when I modify it to do so the metrics appear to be missing most of the important labels. Perhaps @bobbypage has some suggestions.

This feels like it would need to be its own task page, possibly linked from our existing Metrics doc as well

/remove-lifecycle stale


update module_name to model_name

in Django 1.8, the alias module_name was removed, the correct usage is model_name. See: https://docs.djangoproject.com/en/1.8/releases/1.8/#features-removed-in-1-8

Coverage remained the same at 29.46% when pulling 0df68380fa60ea9bdcba5f54c7c63e761c9ea7d0 on ricefield:patch-1 into 03f5de7dae6894a3f3993f779c1ebb37646de73b on django-extensions:master.

Coverage remained the same at 29.46% when pulling 0df68380fa60ea9bdcba5f54c7c63e761c9ea7d0 on ricefield:patch-1 into 03f5de7dae6894a3f3993f779c1ebb37646de73b on django-extensions:master.

Coverage remained the same at 29.46% when pulling 0df68380fa60ea9bdcba5f54c7c63e761c9ea7d0 on ricefield:patch-1 into 03f5de7dae6894a3f3993f779c1ebb37646de73b on django-extensions:master.

Coverage remained the same at 29.46% when pulling 0df68380fa60ea9bdcba5f54c7c63e761c9ea7d0 on ricefield:patch-1 into 03f5de7dae6894a3f3993f779c1ebb37646de73b on django-extensions:master.

Is this fully backwards compatible with all currently (officially) supported Django versions ?

@trbs no, though we could do something similar to what django-guardian does here: https://github.com/lukaszb/django-guardian/pull/287/files#diff-af788baba55f2be5cdad4875792ff6e2R109

I would be more then happy with that solution :)

@trbs pull-request updated

Coverage increased (+0.0%) to 29.47% when pulling ff7275b002f3164bb53f0efcf25a08bcd13318b1 on ricefield:patch-1 into 03f5de7dae6894a3f3993f779c1ebb37646de73b on django-extensions:master.

Coverage increased (+0.0%) to 29.47% when pulling ff7275b002f3164bb53f0efcf25a08bcd13318b1 on ricefield:patch-1 into 03f5de7dae6894a3f3993f779c1ebb37646de73b on django-extensions:master.

great thanks !


is Bfm model deleted?

ckpt_and_bfm.zip is unable to download?
Download checkpoint and BFM model from ckpt_and_bfm.zip， put it in 3ddfa and unzip it. Our 3D models are borrowed from 3DDFA.

+1

+1

+1

+1


import issue

issue.txt
python version: 3.7.0
pip all downloaded
Everything is done, and I type "python main.py".
from typing import Generic, Optional, OrderedDict as TOrderedDict, TypeVar
ImportError: cannot import name 'OrderedDict' from 'typing' (C:\Users\User\AppData\Local\Programs\Python\Python37\lib\typing.py)
Then I got this(last) error, how do I solve it?
Should I use higher python version?

Looking at the stacktrace it looks like the error is not thrown within my code, but within streamlink. I tried googling the issue but couldn't really find anything about this particular problem with streamlink. Can you try just running the standalone streamlink command within the same venv to see if it works? If it doesn't we can raise this issue with the developers of that project.
Other than that you can try to update python to at least the latest patch version, since you're still running 3.7.0, while 3.7.16 is the latest release from the 3.7 family. Or if you have the option you can of course also just update to any newer version as well. I don't have any issues running it with python 3.7 on my own machine, but updating to a newer one usually doesn't hurt.

Yes, I run only "streamlink" in venv
(venv) D:\twitch_auto_recorder_3000\twitch-auto-recorder-3000>streamlink
Traceback (most recent call last):
  File "C:\Users\User\AppData\Local\Programs\Python\Python37\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "C:\Users\User\AppData\Local\Programs\Python\Python37\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "D:\twitch_auto_recorder_3000\twitch-auto-recorder-3000\venv\Scripts\streamlink.exe\__main__.py", line 4, in <module>
  File "d:\twitch_auto_recorder_3000\twitch-auto-recorder-3000\venv\lib\site-packages\streamlink_cli\main.py", line 20, in <module>
    import streamlink.logger as logger
  File "d:\twitch_auto_recorder_3000\twitch-auto-recorder-3000\venv\lib\site-packages\streamlink\__init__.py", line 19, in <module>
    from streamlink.api import streams
  File "d:\twitch_auto_recorder_3000\twitch-auto-recorder-3000\venv\lib\site-packages\streamlink\api.py", line 1, in <module>
    from streamlink.session import Streamlink
  File "d:\twitch_auto_recorder_3000\twitch-auto-recorder-3000\venv\lib\site-packages\streamlink\session.py", line 16, in <module>
    from streamlink.plugin.api.http_session import HTTPSession
  File "d:\twitch_auto_recorder_3000\twitch-auto-recorder-3000\venv\lib\site-packages\streamlink\plugin\api\__init__.py", line 1, in <module>
    from streamlink.plugin.api.http_session import HTTPSession
  File "d:\twitch_auto_recorder_3000\twitch-auto-recorder-3000\venv\lib\site-packages\streamlink\plugin\api\http_session.py", line 13, in <module>
    from streamlink.utils.parse import parse_json, parse_xml
  File "d:\twitch_auto_recorder_3000\twitch-auto-recorder-3000\venv\lib\site-packages\streamlink\utils\__init__.py", line 1, in <module>
    from streamlink.utils.cache import LRUCache
  File "d:\twitch_auto_recorder_3000\twitch-auto-recorder-3000\venv\lib\site-packages\streamlink\utils\cache.py", line 2, in <module>
    from typing import Generic, Optional, OrderedDict as TOrderedDict, TypeVar
ImportError: cannot import name 'OrderedDict' from 'typing' (C:\Users\User\AppData\Local\Programs\Python\Python37\lib\typing.py)

I will try to upgrade my python to 3.7.16 first, thank you.
(I got some problem when I use 3.11.0, so that's why I use 3.7.0)

Okay I try 3.7.16, it work, thank you.