Descendant and child combinators proposal

Hi,
I just learned today about Styletron today and I haven't checked the code yet, but using an educated guess based on this blog I think I can provide a possible approach, or at least start a conversation, to achieve descendant and child combinators.
Imagine this case
.foo {
  height: 100px;
  color: green;
}

// we actually want .foo .bar
.bar {
  font-size: 30px;
}

With the current implementation you get:
.a { height: 100px; }
.b { color: green; }
.c { font-size: 30px; }

I propose to achieve this using this approach:
.foo {
  height: 100px;
  color: green;
}

.foo .bar {
  font-size: 30px;
}

should get compiled into this:
.a { height: 100px; }
.b { color: green; }
.uniqueFooHash .c { font-size: 30px; }

I'm pretty certain that I missed something here but I hope this can get another point of view to and get this idea moving forward.

Yeah, I think that general concept of prepending the selector of atomic classes with some scoped class would work. In a sense I think these could be reusable in the same way like atomic classes with media queries or pseudo selectors are:
const atomic = styletron.injectDeclaration({prop: 'color', val: 'red', pseudo: ':hover'});
// returns "a"
// and injects ".a:hover {color: red}" to stylesheet

hover me

The problem with supporting pseudo classes and media queries is that they become additional qualifications that factor into determining uniqueness. So it becomes, in a sense, "more difficult" to dedupe these declarations (e.g. @media (max-width: 400) { .p:hover { color: 'red' } which is pretty specific) so the value of Styletron and virtual CSS is reduced somewhat. In addition, supporting these increases implementation complexity as well.
That said, the making the tradeoff to support media queries seems pretty obvious:

There usually aren't that many media queries used in an application. This means declaration re-use is still pretty likely.
Media queries are often needed for full layout, so supporting them is imperative for generating critical CSS and server rendering.

In my eyes, the case for pseudo classes seemed weaker, but adding support wasn't much extra implementation cost, and :hover styles tend to be extremely common. Plus other pseudo classes can be useful too. Though a lot of these can be implemented in JS, and are less important for critical CSS, it still seemed worth the trade-off to support.
From just my own personal experience, the primary use case I've found for descendant/child combinators is generally along the lines of this:
.parent:hover .child {
  color: red;
}

I actually ran into this when building my blog (with Styletron) as I wanted to have headings such that that when you hovered over them, a link/anchor icon would appear (like headings in github readmes). It's nice to have this work without JS, but ultimately this kind of behavior can be implemented with JS event listeners that trigger state/props changes. I'd be interested in learning about more use cases for descendant selectors, as my general feeling is that React apps don't really need them most of the time.
This is sort of a long-winded answer, but I'm definitely open to supporting descendent/child combinators. I just think it's a matter of getting the API right and being able to implement them in a way that doesn't make Styletron unnecessarily complex/slower/bloated. This is why I haven't implemented them yet, but I also haven't spent as much time thinking it. I hope to do some more thinking on this, but would be interested in seeing more ideas/proposals in this area.

Just an aside, but I've also seen a general sibling combinator used in a responsive menu to change styles i.e.
#toggle:checked ~ ul {
opacity: 1;
visibility: visible;
}

menu entry

I don't know enough at this point to say whether sibling combinators are as useful as the others.. just pointing it out.

@rtsao is there any possibility to add :before to an existing styled component?
For example to add some orange circle infront of the h1 text:
import React from 'react';
import {styled} from 'styletron-react';

const Title = styled('h1', () => ({
    fontSize: '3rem',
    border: 'solid .1rem rebeccapurple',
    backgroundColor: 'salmon',
}))

export default function Johnny() {
    return (
        <Title>1. Johnny Juarez</Title>
    )
}

I've try like this (added programatycaly pseudo:before):
const Pseudo = styled('pseudo:before', () => ({
    position: 'absolute',
    width: '2rem',
    height: '2rem',
    left: '0',
    top: '0',
    backgroundColor: 'red',
    content: '""',
    borderRadius: "50%",
    display: 'block'
}))

const Title = styled('h1', () => ({
    fontSize: '3rem',
    border: 'solid .1rem rebeccapurple',
    backgroundColor: 'salmon',
}))

export default function Johnny() {
    return (
        <Title><Pseudo />1. Johnny Juarez</Title>
    )
}

and this works just fine, but the main question is there any chance to add some pseudo (doesn't mater :before, :hover etc.) in another way?
Thanks a lot in advance!

@rtsao or I need to open separate issue for my question? Sorry.... just first time doing this.
p.s. Thank you for such an exciting tool!

@rtsao An use case for child selector can be a Button. Imagine you have a button with arbitrary children and you want to style those cases where one child is an SVG. Should be able, in React, to just write:
const styles = props => ({
   '> svg' {
      fill: currentColor,
   },
});

It is not possible with the current implementation and that's an important limitation.

In my opinion as a developer, not supporting this, is the beauty of CSS-in-JS and is one of the the strongest arguments of leaving traditional CSS for larger projects. That you won't be surprised by styling from other components or have to deal with specificity. Instead of adopting this towards transitional CSS, we should adopt our self and embrace new ways to solve our problems. The way I solve things like .my-element > * is by doing:
{React.Children.map(props.children, child => <Child>{child}</Child>)}
. It doesn't solve everything, but it's a simple example of one way to solve some cases.

@faddee As a user it's ok.  An icon for a Button is the perfect example.

Yeah, there's definitely valid use cases for descendant combinators if you want to avoid using JavaScript to do something to keep the code lightweight. I think in these cases something along the lines of https://github.com/zeit/styled-jsx is best because you avoid abstraction over CSS entirely, and you just write what you need directly (but avoid polluting the global scope).

@rtsao In my opinion the best about CSS-in-JS is the ability to move the abstraction layer down to properties instead of focusing on classnames. I've worked a lot with CSS Modules and one of the issues I always had is that you need to combine classnames depending on properties for an specific component. This way you are implementing in CSS logic that can be easily resolved in JS, same as in traditional CSS.
For example, imagine you have a Button with primary and raised props that make the component look with an specific background. In CSS you may want to add a classname for primary and another one for raised so the combination &.raised.primary {} assigns the color and that's determined in the CSS.  I don't like styled-jsx too much exactly because of the same thing. To get dynamic styles you have to rely on classnames that that's almost the same as using CSS Modules but with colocation.
I'm porting react-toolbox to an implementation that allows to use component as factories where you can inject styled primitives. See an example here using Styled Components, CSS Modules and Fela. I first implemented the Ripple component with all of those plus Styletron and Styled JSX, you can see it [here])(https://twitter.com/javivelasco/status/825048471480696833). But... Styled JSX gave almost no advantages over CSS Modules for my case and Styletron didn't have child selectors so I can't do stuff like targeting children of a Button.
The need of styling a child for an specific component does not pollute the global scope... and I think the need of styling a child has nothing to do with the abstraction. Styletron is great and I wanted to use it for my implementation with demo purposes. It can be ported easily anyway... the only caveat is the lack descendant selectors. :)

@javivelasco Yes, I understand. But so called "users" will use it if it's available because they are lazy! At least call it dangerouslyInjectDescendantDeclaration :-)

I think I'd advocate for using two paradigms.
For 90%+ of your UI, you write it with a high-level, component-driven abstraction like styletron-react that supports a subset of CSS. With this you get great performance out of the box with a simple mental model and a non-leaky abstraction.
 For these (probably uncommon corner cases where you want to use some CSS rather than using JavaScript), I think it's best to use shadow DOM or something as close to it as possible (e.g. styled-jsx) that mitigates global CSS pollution, but doesn't attempt to provide an abstraction on top of CSS (which will probably be leaky).
My personal opinion is that having two paradigms is better than bringing extra complexity into the first abstraction for the most common use cases.

I still believe that ditching this CSS feature is not the way to go.
But, having said that, until we figure a way for this that doesn't hinder the great progress and achievements that this library made, and also in favor of a nice API and code complexity, this feature should not be a priority for the moment.
I'm happy that people are giving pros and cons for the feature and I thank you all, but I would also love to see ideas and suggestions on how to tackle the issue as I'm very new to CSS-in-JS myself.
As the saying goes, "A goal without a plan is just a wish".

Just another few cents:
I am building not only a component library, but a themable component-library-building tool. Using Styletron. And loving it, btw.
I have found two situations that seem to require descendant selectors.
(1) Hover & focus states
As @rtsao said above, this is easily implemented with a higher-order component (e.g., hoverable) which passes down props (e.g., hovering) as needed. Boom, done.
(2) Nested elements
Another example mentioned above is an icon button. You'd like to style the icon differently when it's rendered inside a button.
Being unable to use descendant selectors makes this seem like an extra layer of problem. In fact, I've found that I appreciated the limitation! In this case, I'm forced to write a thin wrapper around my stock Icon component. The special ButtonIcon component has its own styles and takes its own props.
This is a very small amount of additional code, but it forces you to think in terms of subclassing rather than polymorphing. This is a good thing, as it keeps your components cleaner and more independent.
There are a few mental shifts we need to make when moving from CSS to CSS-in-JS. There are more mental shifts when using Styletron, which forces to move from thinking in classes to thinking in raw styles. The issue of descendant selectors is just such a mental shift. I've found that bearing the cognitive dissonance has been quite valuable, and encourage both the author and other users to seriously consider that this omission is a feature, not a bug.

I agree with @jbellsey. When i switched to styletron i was really struck when i noticed that creating more individual child components is much better than having nested rules.
But i am still on the fence about implementing hover states in JS.
Not wanting to pass this trivial "state" as property and call render VS passing it implicitly while it's guaranteed to be snappy and "just works"

What about first/last/sibling selectors?
We'd have to pass an index into the component where we do the looping so that we can compute its position, but that feels really dirty. You shouldn't have to pass style info in every time you write a loop!

I find styletron a quite amazing beast.
The lack of child combinators is my single greatest gripe with styletron. I know it would have a negative impact on deduping. Still it really beats having to maintain index references, or hover states in JS land for the sole purpose of styling.
I would even love to fund the time needed to implement this.

I've put together a new proposal for this: https://github.com/rtsao/styletron/issues/229
For those interested, I've love feedback on the API!

Arbitrary rendering engines (and style object shapes) are supported by Styletron so this could be done. But for styletron-engine-atomic, I think this is out of scope.


Requesting temp access to an linux x86 compile machine

Requesting access to a linux x86 compile machine to investigate the OpenJ9 CI compile failures:
https://ci.adoptopenjdk.net/job/openjdk8_openj9_build_x86-64_linux/83/console

What kind of access to you need? root or jenkins user
How long will you require access?
please DM me your id_rsa.pub key

From slack:
Dan [2:58 PM]
I’ve got an internal machine right now - hold off on giving me access until I’m closer to a solution

Please reopen if required


Update obs4mips names in Bock et al recipes for compatibility with ESGF

Description

Following discussion here https://github.com/ESMValGroup/ESMValTool/issues/2974

The bock20jgr/recipe_bock20jgr_fig_8-10.yml recipe
uses CERES-EBAF Ed2-7 which is not available on ESGF anymore.
CERES-EBAF Ed2-8 is available for variable rlut, rlutcs, rsdt, rsut, rsutcs.
This PR removes the version facet for CERES-EBAF which fix automatic download from ESGF.

The bock20jgr/recipe_bock20jgr_fig_1-4.yml recipe uses GPCP-SG v2.3 ['pr'] which is  GPCP-V2.3 on ESGF.
The bock20jgr/recipe_bock20jgr_fig_6-7.yml recipe uses:

GPCP-SG v2.2 ['pr'] which is  GPCP-V2.2 on ESGF.
CERES-EBAF Ed2-8 which is CERES-EBAF on ESGF.
AIRS RetStd-v5 ['hus'] which is AIRS-2-1 on ESGF

Note that when trying to download AIRS-2-1, ESMValTool adds the time_frequency facet to the ESGF query while AIRS-2-1 uses frequency.
The query does not return the data successfully. We have noticed that issue for a few other datasets, see #3317 discussion.
I have updated the version to align with ESGF anyway.
--

Before you get started

[X] ☝ Create an issue to discuss what you are going to do

Checklist
It is the responsibility of the author to make sure the pull request is ready to review. The icons indicate whether the item will be subject to the 🛠 Technical or 🧪 Scientific review.

[X] 🛠 This pull request has a descriptive title
[X] 🛠 Code is written according to the code quality guidelines
[X] 🛠 Documentation is available
[ ] 🛠 Tests run successfully
[X] 🛠 The list of authors is up to date
[X] 🛠 Any changed dependencies have been added or removed correctly
[X] 🛠 All checks below this pull request were successful

New or updated recipe/diagnostic

[X] 🧪 Recipe runs successfully
[X] 🧪 Recipe is well documented
[X] 🧪 Figure(s) and data look as expected from literature
[X] 🛠 Provenance information has been added

To help with the number of pull requests:

🙏 We kindly ask you to review two other open pull requests in this repository

OK. Should be good now

Thanks! Could you please merge the main branch from this GitHub git repository into your branch? That should solve the failing tests. For example, if you have added this repository under the name upstream, you can do this by running the command git pull upstream main.


need yarn.lock

we need yarn.lock to lock package version to prevent version change problems.
I will submit a pull request if we think it's necessray.

Sounds Good to Me.

ok, I will submit a pr.

Not ready to add yarn.lock, if you need, you can add it locally.


Organize technical documentation and onboarding(contributing) documentation for project

Adding draft pull request to organize documentation

#30 and recent changes had finished merging with Master. Closing issue.


pythonfinder + pyenv + anaconda issue

Issue description
Upgraded my pipenv today and ran into this issue. I have anaconda installed through peynv (this is fully supported by pyenv).

Expected result
Even though this is not my active python, pipenv is failing to parse it. At the very least, this should be try-excepted. Ideally supported.
Actual result
Traceback (most recent call last):
  File "/Users/johria/.pyenv/versions/3.6.5/lib/python3.6/site-packages/pipenv/vendor/pythonfinder/models/pyenv.py", line 53, in get_versions
    version = PythonVersion.parse(p.name)
  File "/Users/johria/.pyenv/versions/3.6.5/lib/python3.6/site-packages/pipenv/vendor/pythonfinder/models/python.py", line 119, in parse
    raise ValueError("Not a valid python version: %r" % version)
ValueError: Not a valid python version: <LegacyVersion('anaconda3-5.0.1')>

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/johria/.pyenv/versions/3.6.5/bin/pipenv", line 11, in <module>
    sys.exit(cli())
  File "/Users/johria/.pyenv/versions/3.6.5/lib/python3.6/site-packages/pipenv/vendor/click/core.py", line 764, in __call__
    return self.main(*args, **kwargs)
  File "/Users/johria/.pyenv/versions/3.6.5/lib/python3.6/site-packages/pipenv/vendor/click/core.py", line 717, in main
    rv = self.invoke(ctx)
  File "/Users/johria/.pyenv/versions/3.6.5/lib/python3.6/site-packages/pipenv/vendor/click/core.py", line 1137, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/Users/johria/.pyenv/versions/3.6.5/lib/python3.6/site-packages/pipenv/vendor/click/core.py", line 956, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/Users/johria/.pyenv/versions/3.6.5/lib/python3.6/site-packages/pipenv/vendor/click/core.py", line 555, in invoke
    return callback(*args, **kwargs)
  File "/Users/johria/.pyenv/versions/3.6.5/lib/python3.6/site-packages/pipenv/vendor/click/decorators.py", line 64, in new_func
    return ctx.invoke(f, obj, *args, **kwargs)
  File "/Users/johria/.pyenv/versions/3.6.5/lib/python3.6/site-packages/pipenv/vendor/click/core.py", line 555, in invoke
    return callback(*args, **kwargs)
  File "/Users/johria/.pyenv/versions/3.6.5/lib/python3.6/site-packages/pipenv/vendor/click/decorators.py", line 17, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/Users/johria/.pyenv/versions/3.6.5/lib/python3.6/site-packages/pipenv/cli/command.py", line 249, in install
    editable_packages=state.installstate.editables,
  File "/Users/johria/.pyenv/versions/3.6.5/lib/python3.6/site-packages/pipenv/core.py", line 1724, in do_install
    pypi_mirror=pypi_mirror,
  File "/Users/johria/.pyenv/versions/3.6.5/lib/python3.6/site-packages/pipenv/core.py", line 565, in ensure_project
    pypi_mirror=pypi_mirror,
  File "/Users/johria/.pyenv/versions/3.6.5/lib/python3.6/site-packages/pipenv/core.py", line 488, in ensure_virtualenv
    python = ensure_python(three=three, python=python)
  File "/Users/johria/.pyenv/versions/3.6.5/lib/python3.6/site-packages/pipenv/core.py", line 401, in ensure_python
    path_to_python = find_a_system_python(python)
  File "/Users/johria/.pyenv/versions/3.6.5/lib/python3.6/site-packages/pipenv/core.py", line 364, in find_a_system_python
    python_entry = finder.find_python_version(line)
  File "/Users/johria/.pyenv/versions/3.6.5/lib/python3.6/site-packages/pipenv/vendor/pythonfinder/pythonfinder.py", line 90, in find_python_version
    return self.system_path.find_python_version(
  File "/Users/johria/.pyenv/versions/3.6.5/lib/python3.6/site-packages/pipenv/vendor/pythonfinder/pythonfinder.py", line 44, in system_path
    ignore_unsupported=self.ignore_unsupported,
  File "/Users/johria/.pyenv/versions/3.6.5/lib/python3.6/site-packages/pipenv/vendor/pythonfinder/models/path.py", line 309, in create
    ignore_unsupported=ignore_unsupported,
  File "<attrs generated init 21cfbcaf749d3af30eb10d5110d156423170deac>", line 37, in __init__
  File "/Users/johria/.pyenv/versions/3.6.5/lib/python3.6/site-packages/pipenv/vendor/pythonfinder/models/path.py", line 102, in __attrs_post_init__
    self._setup_pyenv()
  File "/Users/johria/.pyenv/versions/3.6.5/lib/python3.6/site-packages/pipenv/vendor/pythonfinder/models/path.py", line 133, in _setup_pyenv
    self.pyenv_finder = PyenvFinder.create(root=PYENV_ROOT, ignore_unsupported=self.ignore_unsupported)
  File "/Users/johria/.pyenv/versions/3.6.5/lib/python3.6/site-packages/pipenv/vendor/pythonfinder/models/pyenv.py", line 98, in create
    return cls(root=root, ignore_unsupported=ignore_unsupported)
  File "<attrs generated init 3bd668a02d3a0c4cfaeeb9a891e230fd7b4070d4>", line 7, in __init__
  File "/Users/johria/.pyenv/versions/3.6.5/lib/python3.6/site-packages/pipenv/vendor/pythonfinder/models/pyenv.py", line 57, in get_versions
    version = self.version_from_bin_dir(bin_dir)
  File "/Users/johria/.pyenv/versions/3.6.5/lib/python3.6/site-packages/pipenv/vendor/pythonfinder/models/pyenv.py", line 36, in version_from_bin_dir
    version = get_python_version(py.as_posix())
  File "/Users/johria/.pyenv/versions/3.6.5/lib/python3.6/site-packages/pipenv/vendor/pythonfinder/utils.py", line 41, in get_python_version
    raise InvalidPythonVersion("%s is not a valid python path" % path)
pipenv.vendor.pythonfinder.exceptions.InvalidPythonVersion: /Users/johria/.pyenv/versions/anaconda3-5.0.1/bin/anaconda is not a valid python path

Steps to replicate
Provide the steps to replicate (which usually at least includes the commands and the Pipfile).

Please run $ pipenv --support, and paste the results here. Don't put backticks (`) around it! The output already contains Markdown formatting.
If you're on macOS, run the following:
$ pipenv --support | pbcopy

If you're on Windows, run the following:
> pipenv --support | clip

If you're on Linux, run the following:
$ pipenv --support | xclip

The command pipenv --support | pbcopy fails with the same error.
pipenv --version, pipenv, version 2018.10.13

This was fixed in #3096 so I believe it should work in the coming release, closing for now -- thanks for reporting!


(43909856) ViT (Visual Transformer) for image classification of ADNI dataset

Hi there,
This fork of the 'topic-recognition' branch contains code for a ViT (a Visual Transformer) model. This is based on the ViT-S/16
model, from the IEEE conference paper "Scaling Vision Transformers" (Zhai et al., 2022).
This model was used to perform binary classification of images from the Alzheimer's Disease Neuroimaging Initiative (ADNI) MRI dataset. The ViT attempts to classify 2D MRI slices as belonging to either Cognitive Normal (NC) or Alzheimer's Detected (AD) patients.
For more detailed information about the model, its performance, and any dependencies/requirements for training or testing it, please see the README file. All files related to the ViT model, including the README, are in the directory location 'recognition/TRANSFORMER_43909856'.
The files added include:

dataset.py: Loads the ADNI dataset images and their corresponding image labels, and performs the required train/validation/test set splits. Also applies any required pre-processing or transforms to the data. A basic plot of the input images (after pre-processing transforms) can be generated from a method in this file.

modules.py: Contains the modules required to create the ViT model network and its sub-components.

train.py: Trains the model on the ADNI dataset over the specified number of epochs. Evaluates the model on the validation set during the training process, at the end of every epoch. Also contains methods for plotting training and validation loss (and validation accuracy) throughout training.

predict.py: Used to run inference (make predictions of classes) on the model. Also contains a method for generating a confusion matrix, based on the test set's predicted classes and empirical/observed classes.

Additional plots can be found in the 'plots' subdirectory.

This is an initial inspection, no action is required at this point
Difficulty: Hard
Readme:
Excellent
Commit messages: Excellent, detailed.
Code:

Uses Vision transformer
Well commented
Good model design

Functionality/Performance:

Test accuracy is 60.37%
Did patient-level split
Preprocssing data correctly
Performed data augmentation
Well done

Marking
Good Practice (Design/Commenting, TF/Torch Usage)
Adequate design and implementation
Good spacing and comments
Header blocks missing -1
Recognition Problem
Solves problem
Driver Script present
File structure present
Shows Usage & Demo & Visualisation & Data usage
Module present
Commenting
No Data leakage
Difficulty: Hard
Commit Log
Meaningful commit messages
Progressive commits used
Documentation
ReadMe acceptable/good
Model/technical explanation
Good Description and Comments
Markdown used and PDF submitted
Pull Request
Successful Pull Request (Working Algorithm Delivered on Time in Correct Branch)
No Feedback required
Request Description good

Please remove gitignore file for merge, does not affect grade only merge.

No feedback attempt and no feedback marks lost.

Hi @shakes76, I have resolved the merge conflict related to the .gitignore file. Thanks

Feedback attempt and no feedback marks lost.


Added mini chatbot

Thanks @Anuj3553 for assigning me this issue.

Added feature as per #78

Please merge this PR.
Screenchot:

Well done @say-het


Developing a one-to-one mapping application leveraging hibernate.

Title:
Developing a one-to-one mapping application leveraging hibernate.
Introduction:
Hibernate is an object relational mapping tool(ORM) for mapping object-domain model to relational database. This means that hibernate creates the tables according to the classes(objects) created and annotated as entities and also generate the fields in the classes annotated as columns in the database. Hibernate also is responsible for CRUD operations apart from when complex queries are required resulting to use of hibernate query language(HQL).
In this tutorial the reader will learn how to implement a one-to-one relationship application by applying the four CRUD operations and how cascading is handled by hibernate.
Key takeaways:
1.The reader should be able to configure or set up a hibernate application.
2.The reader should be able to develop a hibernate application.
3.The reader should be able to control cascading using hibernate.
References:

Hibernate user guide
Maven repository
one-to-one relationship

good topic @davidmbochi - approved


Gartner news fix

RSS Feed call was failing. Added UserAgent and Accept headers, and it works again.

Thanks. This works locally, but fails in production. Any chance you could tell me what the error is? Is the IP addressed blocked? Is there any response from the http request?ThanksOn Jul 3, 2024, at 5:09 PM, Mats Linander @.***> wrote:
Merged #2531 into main.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>

Not seeing any errors in production for the past 6 hours. Running it locally on my machine triggers the check for number_of_items == 0, so it returns [].

Thanks for taking a look. The xml should have data, this is what it’s calling:Https://www.gartner.com/en/newsroom/rss You can get 0 items if the cached xml has 0 items, if the xml returned from the http get has zero items or if the http get call fails. Any chance you could tell me which case is happening? I can’t replicate getting zero items since adding some headers to the http call, so I don’t know how to fix this. Thanks again, sorry to be a pain. On Jul 4, 2024, at 9:37 AM, Mats Linander @.***> wrote:
Not seeing any errors in production for the past 6 hours. Running it locally on my machine triggers the check for number_of_items == 0, so it returns [].
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>


Would the docker community  like to accept new performance/stress/stability test cases?

Currently, only functional test cases are included in the docker community.
I plan to create some new performance/stress/stability test cases.
For example, performance tests are as follow(included but not limited to):
CPU usage, Disk IO, network IO, TCP/IP bandwidth and latency,concurrent container quantity.
Benefits are as follow.
(1) They can provide docker users with performance reference. For example, a user need to deploy a server with docker. If the server's memory consumption figure is more than the benchmark data, the user can know much memory is need.
(2) We can use them to track performance history data for each commit to find which patch leads to the increase or the decrease of performance data.
But I wonder if the community would like to accept them. What is the attitude the docker community?

Hi!
Please read this important information about creating issues.
If you are reporting a new issue, make sure that we do not have any duplicates already open. You can ensure this by searching the issue list for this repository. If there is a duplicate, please close your issue and add a comment to the existing issue instead.
If you suspect your issue is a bug, please edit your issue description to include the BUG REPORT INFORMATION shown below. If you fail to provide this information within 7 days, we cannot debug your issue and will close it. We will, however, reopen it if you later provide the information.
This is an automated, informational response.
Thank you.
For more information about reporting issues, see https://github.com/docker/docker/blob/master/CONTRIBUTING.md#reporting-other-issues

BUG REPORT INFORMATION
Use the commands below to provide key information from your environment:
docker version:
docker info:
uname -a:
Provide additional environment details (AWS, VirtualBox, physical, etc.):
List the steps to reproduce the issue:
1.
2.
3.
Describe the results you received:
Describe the results you expected:
Provide additional info you think is important:
----------END REPORT ---------
#ENEEDMOREINFO

Thanks for the suggestion, I'll add some people that might be interested in "tests" and "performance"
/cc @LK4D4 @unclejack @vdemeester

@thaJeztah Thanks for the ping.
@sunyuan3 Reading a statement which says we don't have performance tests is a bit surprising. Have you looked at the unit tests of the various packages from the pkg/ directory?
We've already got Go benchmarks in the unit tests of various packages. The Docker daemon itself isn't tested for performance because stress testing some very specific parts of the code is much more difficult when testing the entire daemon.
Benchmarks have been added to packages which were discovered to be bottlenecks. Work has already been done to solve those problems and improve performance.
Should you be interested in helping with performance benchmarking, improving performance or both, you might want to take a look at @LK4D4's pull request history and mine because we've sent a lot of PRs which improve performance.
Regarding the other part with memory usage, this isn't a problem. Providing any kind of meaningful numbers which apply to everyone's deployment and usage patterns is difficult. Someone might have 10000 images and 100 containers, someone may have 100 images and 10000 containers, some might have 1000 running containers and 100000 stopped containers, some might be pushing images all the time. Different usage patterns will lead to different memory usage. Hardware with different specs will have different performance.
Beyond the resource limits (memory, CPU and others), Docker itself has very little impact (or none) on the performance of software running in containers. Benchmarks in that area will only benchmark the kernel and the hardware.
Finding the exact commit where a performance issue was introduced hasn't been a problem so far from what I know, at least that hasn't been the case so far for any of the performance improvement PRs from @LK4D4, from others and from me.
You'll find some actionable tasks below if you're interested in helping improve performance:

discover bottlenecks & discuss them over IRC so we can tell you if those are known or not
send PRs to add benchmarks to packages lacking benchmarks (or add different benchmarks to packages which have benchmarks already)
send PRs to expand the testing of the code (unit tests, integration-cli tests)
send PRs to improve the performance of code which has benchmarks already

Keep in mind that performance improvements are useful and they're always welcome, but unit tests and integration-cli are vital to making Docker as bug free as possible and contributions in that area are even more important. Performance problems are discovered and fixed, but a bug which ends up being in a shipped release can be pretty bad.
Anyone else interested in helping with testing and performance should also take this advice into account.
I'll close this issue now because I think your questions have been answered. Please feel free to comment.


make get actions trigger just if modal is shown

Summary
Extracted from https://github.com/mattermost/mattermost-plugin-playbooks/pull/1748. The rest of the original PR is being discussed more in-depth.
/plugins/playbooks/api/v0/actions/channels/
Make channel actions modal fetch action ONLY when is shown, not when it's rendered but hidden. Before this change, channel actions were fetched on every channel switch.
Ticket Link
Fixes (partially) #1731
Checklist

[ ] Telemetry updated
[ ] Gated by experimental feature flag
[ ] Unit tests updated

@lieut-data @crspeller I assigned again to you both because you already approved #1748.


fix(external-service): add externalName service support

This stops the endpoint from being created when using externalName

Hi @mateuszdrab
Thank you very much. In the meantime I have fixed the CI pipeline. Can you please rebase your changes and bump the chart & app version (Chart.yaml) to 1.0.4. I will merge the PR in the next few hours.

I messed this up so bad, I think I'll start again.

No worries :smile:. I will squash and merge the changes. The pipeline will run for some time. As soon as all tests are completed, I will finalize the PR. Thanks again for your contribution and bug fixes!


Exclude files

Hi!
I'm using this  pub run test_coverage --exclude="**.g.dart" to exclude generated file. Seem that it doesn't work.
Any idea?

exclude option is only for excluding some files inside test folder, e.g. if you have any fixtures there.
Looks like you are trying to exclude some source files, which is not possible at this point.

There's a library that currently handles this: jack-r-warren/remove_from_coverage.  Any chance of merging that functionality here?

How could i ignore .g.dart files while running pub run test_coverage ?
awaiting for solution

Hi!
I'm using this  pub run test_coverage --exclude="**.g.dart" to exclude generated file. Seem that it doesn't work.
Any idea?

Any idea when this issue will be solved

Hi!
I'm using this  pub run test_coverage --exclude="**.g.dart" to exclude generated file. Seem that it doesn't work.

use like below:
pub run test_coverage --exclude "**.g.dart"

Hi
Any idea?

The underlying coverage package should ignore source code when you use special comments described here (see the end of the page). I am trying to use them, but for some reason they don't work. Is it an issue with coverage or is it test_coverage?

Okay, I found some PRs about this:

https://github.com/flutter/flutter/pull/61408
https://github.com/dart-lang/coverage/pull/246
It seems it's either implemented, but does not work for me for some reason, or still being worked on. I don't quite get it, can anyone help?

If I got it right, they implemented the feature, but this package is not up to date with the changes. Does anyone plan to update test_coverage?

I can update dependencies to the latest. Though whichever package generated your *.g.dart files also needs to be updated to include those new comment blocks, right? Is this addressed already as well?

Oh well, there are workarounds to excluding generated files, or maybe even convenient ways to do it. I just want to use these comments in some of my files, where I declared Moor tables. Then *.g.dart files are generated from these declarations, but they are not referenced anywhere else in code, which leads to them not being included in coverage. I would like to see realistic coverage that I have control over. Would appreciate if you update dependencies :smile_cat:


CIV-6286 Refactor Judicial Recital text

Before creating a pull request make sure that:

[x] commit messages are meaningful and follow good commit message guidelines
[x] README and other documentation has been updated / added (if needed)
[x] tests have been updated / new tests has been added (if needed)
[x] Screenshot attached for the Evidence of manual testing
[ ] Functional, Smoke and API tests have been run locally
[x] Full gradle build and run tests with coverage have been completed (if needed)

Please remove this line and everything above and fill the following sections:
JIRA link (if applicable)
https://tools.hmcts.net/jira/browse/CIV-6286
Change description
Populate judge full name into the Judges Recital field where we currently have
CIV-6287
Update the prepopulated text in the Judges Recital field. Please refer the ticket for more details
https://tools.hmcts.net/jira/browse/CIV-6287
Testing branch and instruction
GA
CIV-6286
Does this PR introduce a breaking change? (check one with "x")
[ ] Yes
[ ] No

CIV-6287.docx

Smoke Test

there are some assertions made by QA in multiparty test for Judge recital text which will be fixed by @automatemm

[ ] Don't merge


Make the result objects usable in the new formatter api

To make the result objects usable in the new formatter api:

Set the message on undefined results.
Append the backtrace with the backtrace line of the step on results that either have an exception (with backtrace) or have a backtrace themselves.
Support applying filters on the backtrace.

Required by cucumber/cucumber#843.

This deep copying of the backtrace resulted in a timeout error in one of the wire scenario of Cucumber, so a resorted to modify the backtrace in place (instead of treating the result object as immutable).


Requirements about the training dataset

Hello, thanks for the sharing of your code.
I have some problems about the NAN problem during the training. I have seen the some issues with the same topic, and known that the wrong labeling could lead NAN problem.
I have checked my training dataset (based on the CULane dataset), and there is no problem about that.
So, maybe the problems are the size and the number of channel of the images in the dataset, is your code suitable for all the size and channel (RGB or greyscale) of the image?
Thank you very much !

@WeiG1210 I‘ve test the model in different size and the origin image is loaded in color mode.


Unable to run the notebook or any inference?

I followed every steps the is given , but this error i got, when i was running the last command?

Did you run the pre-process step and checked if it ran completely?
I faced this error because while running the pre process step I faced memory error

Hi @Mohdwajtech , No i haven't ran it complete because when i was running the preprocess step it was taking lots of time so after  an hour, i thought it might got stuck , so i stopped it ,and run the
last inference command? Okay I'll try to run whatever time it will take.
Btw have you resolved the error by running it completely.

the same issue, completed preprocessing successfully

@LinkeZzz  I don't get your point,  are you able to inference the model?

I think the inference will be successful after you finish the preprocessing step.


Prepare Sir Complainsalot for a staging deployment

Description
Adds deployment necessities for deploying Sir Complainsalot.
Changelog

Add prodution params template.
Add variable pointer/encrypted variable.
Tell Jenkins to build and deploy.

@chinandrew I guess we probably need to run CI for sir_complainsalot as well?

@chinandrew I guess we probably need to run CI for sir_complainsalot as well?

It doesnt have tests so not super critical, but linting would run.

I believe this is running on a standalone CMU machine and being deployed in some manual way. We may want to coordinate to shut down the currently running instance once this is ready to go to prod.

@chinandrew Ok, we can add CI later if we want it. Going to merge this for now.


String min max lengths not reflected after edit

at current https://jsonschema.net/#/ string min max lengths not reflected after edit

Can confirm this too, i can't these three options being applied to the schema after saving

Quick update. This is fixed in UAT and should land this weekend. Thanks for your patience.

This should be fixed now.


Automate generation of CLI usage

Apparently there's some way we've done this in the past.
Let's do it again, so I stop forgetting things.

I think what you're referring to is sphinx-argparse.

This looks kind of ugly... is there an easy way to change that?

I mainly don't like the fact that I have to scroll over to view the entire usage. I want it to insert line breaks where appropriate.

See the resolution of this issue.
Looks like we will need to add a custom stylesheet to make it look pretty.


Feature Request: Have the locate command return multiple answers

Currently the terra locate command only returns one structure or biome, the closest one.
It would be nice if the command could return multiple results (amount of results possibly configurable)
e.g. /te structure locate village 5
would return with the locations of the 5 closest villages, sorted by distance.

Might be able to make a flag for it on the new command system I was working on. So you do smth like -n 5 for 5 structures.

Might be able to make a flag for it on the new command system I was working on. So you do smth like -n 5 for 5 structures.

Will probably do this after the new command system is done. @solonovamax status on that?


Update configure-end-user-spam-notifications-in-exchange-online.md

Updating to remove the domain constraint.

@MSFTTracyP - PR is ready for final review.
Thank you.
cc: @kenwith


Add build-step check for proto submodules

Currently if you download and run cargo build you get an unintuitive error message about missing proto files, before building the protobuf in build.rs we should check if the modules are present, and tell people to run git submodule update --init first.

Should probably also add to our docs here as well https://googleforgames.github.io/quilkin/main/book/installation.html

@XAMPPRocky we can close this now, since we vendor and generate protos?


Add link handler with confirmation dialog for links generated by Cody

See thread and related issue. SLA for early March.

Context: This is to help the Security test publish their pentest report, as they have an SLA to meet by March.
Scope of work: Display navigation popup when a user clicks on a link generated by Cody.


Added NotificationBanner

Project URL
https://github.com/Daltron/NotificationBanner
Description
Added NotificationBanner to the UI/Alerts Category.
Why it should be included to awesome-ios
NotificationBanner is an extremely customizable and lightweight library that makes the task of displaying in app notification banners and drop down alerts an absolute breeze in iOS.
It also has a built in banner queue system which makes displaying multiple banners that happen within the same timeframe easier than ever.
Checklist

[x] Only one project/change is in this pull request
[x] Addition in chronological order (bottom of category)
[x] Supports iOS 9 / tvOS 10 or later
[x] Supports Swift 3
[x] Has a commit from less than 2 years ago
[x] Has a clear README in English

@naeemshaikh90 Even though merged, NotificationBanner isn't appearing on the README. Any idea on why that may be the case?

weird, looks like the only one merged was the commit 0e71a1c, any idea @naeemshaikh90?

@Daltron , @nschucky Sorry for late reply. It looks strange, let me check this out.

@Daltron I am not able to find why this happened, you can submit another PR for NotificationBanner.

#1607


Update README.md

Coverage remained the same at 79.977% when pulling 0f7c5a3af2a9defe99ab879c1a69186ea291afe8 on improve-doc-refresh-token into 43c9c92c534e0c4a76959f68c68d3dd4146e0f1d on master.


Fixed telemetry bug and organized telemetry components

Signed-off-by: MUzairS15<EMAIL_ADDRESS>Notes for Reviewers
This PR fixes #

Fixes telemetry bug (not able to fetch and view boards)
Reorganized Grafana and Prometheus files into a specific folder.
react-draggable is a package which will be  used for custom telemetry feature.

Signed commits

[ ] Yes, I signed my commits.

Codecov Report
Base: 16.75% // Head: 5.72% // Decreases project coverage by -11.03% :warning:

Coverage data is based on head (4004f54) compared to base (890073f).
 Consider uploading reports for the commit b61af1b to get more accurate results

Additional details and impacted files
@@            Coverage Diff             @@
##           master   #6693       +/-   ##
==========================================
- Coverage   16.75%   5.72%   -11.04%
==========================================
  Files         115     115
  Lines       11239   11239
==========================================
- Hits         1883     643     -1240
- Misses       8881   10427     +1546
+ Partials      475     169      -306

Flag
Coverage Δ

gointegrationtests
5.72% <ø> (ø)

unittests
?

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

Impacted Files
Coverage Δ

server/internal/store/thread_safe_store.go
0.00% <0.00%> (-100.00%)
:arrow_down:

mesheryctl/pkg/utils/sse-client.go
0.00% <0.00%> (-92.50%)
:arrow_down:

server/models/pattern/planner/graph.go
0.00% <0.00%> (-86.05%)
:arrow_down:

mesheryctl/internal/cli/root/perf/result.go
1.51% <0.00%> (-71.22%)
:arrow_down:

server/models/pattern/planner/queue.go
0.00% <0.00%> (-68.75%)
:arrow_down:

server/internal/store/store.go
0.00% <0.00%> (-67.50%)
:arrow_down:

mesheryctl/pkg/utils/helpers.go
0.00% <0.00%> (-58.65%)
:arrow_down:

mesheryctl/internal/cli/root/system/reset.go
0.00% <0.00%> (-52.46%)
:arrow_down:

mesheryctl/internal/cli/root/system/token.go
5.10% <0.00%> (-51.03%)
:arrow_down:

mesheryctl/internal/cli/root/app/view.go
2.63% <0.00%> (-48.69%)
:arrow_down:

... and 25 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


use v8 snapshots

faster startup vs zip hack, but tradeoffs.  more details https://github.com/rogerwang/node-webkit/wiki/Protect-JavaScript-source-code-with-v8-snapshot

https://github.com/atom/node-mksnapshot


Switching Selector to map

Currently Selector field in NetworkService is defined as string, but in networkservicemesh presentation it shown as a label selector which is map. This PR changes the type of selector and re-generates dynamically generated files.
Closes: #76
From Ed's presentation:
kind: NetworkService
apiVersion: V1
metadata:
	name: secure-intranet-connectivity
spec:
	selector:    < ------  it is map.
		app: si-gw
	channels:
		- name: ip-channel
		    payload: IP

Signed-off-by: Serguei Bezverkhi<EMAIL_ADDRESS>

/assign @mestery @edwarnicke
Please comment if you are ok with proposed change.

@mestery I run this code in my test bed but with my own NetworkService file, my bad I missed sample one. Let me fix it.

[root@kube-5 ligato]# kubectl get networkservice -o yaml
apiVersion: v1
items:
- apiVersion: networkservicemesh.io/v1
  kind: NetworkService
  metadata:
    clusterName: ""
    creationTimestamp: 2018-06-07T13:18:50Z
    generation: 1
    name: gold-network
    namespace: default
    resourceVersion: "2706838"
    selfLink: /apis/networkservicemesh.io/v1/namespaces/default/networkservices/gold-network
    uid: 51820d0f-6a55-11e8-98e0-5254004c4249
  spec:
    channels: gold-ethernet
    name: gold-network
    selector:
      app: routing
kind: List
metadata:
  resourceVersion: ""
  selfLink: ""


WotLK support

Added a few extra cooldowns that are introduced in WotLK.

Oh wow - this is great! Thank you so much.
I will merge this and add some additional UI stuff (in my horribly coded UI) after a quick review.


Support https port

This checklist is used to make sure that common guidelines for a pull request are followed.

For new extensions:

[x] My extension description/summary conforms to the Extension Summary Guidelines.

@zikalino can you please take a look? AKS is rolling out the change which needs the the CLI to update asap. Thanks!


Update cognitive-search-attach-cognitive-services.md

Reviewed for freshness

@vkurpad : Thanks for your contribution! The author, @LuisCabrer, has been notified to review your proposed change.

#sign-off

@vkurpad: I'm sorry - only the author of this article, @LuisCabrer, can sign off on your changes. But we do have an exception process - if you are on the Microsoft content or product team for this product area, you can ask the PR review team to review and merge it by sending mail to the techdocprs alias.

@LuisCabrer - please take a look. @vkurpad - not sure why you're submitting just a change to the ms.date metadata value when no changes have been made to the content, but we'll need to have @LuisCabrer sign off since he's the listed author.

Also of note:
Microsoft authors and contributors need to make content contributions through the private repository so the content can be staged and validated by the current validation rules.
After you review staging and fix all validation issues, you can add the sign-off comment to let PR reviewers know that the updates are ready to be merged.
Read about authors working in the public repo for more information.
If you need help getting set up to work in the private repo, see Set up Git repository locally for documentation.
Thank you.
#hold-off

#sign-off   Vinod was doing a verification for freshness. In the future, he will submit changes to azure-docs-pr instead. Sorry for the confusion.


Font size for the extra info in suggestion list became smaller and can't be changed, causing problems with some fonts

Does this issue occur when all extensions are disabled?: Yes

VS Code Version: 1.58.0
OS Version: Linux x64 5.8.0-59-generic (Xubuntu 20.04.2)

Steps to Reproduce:

Open, for example, an empty .js file.
Press CtrlSpace to open suggestions. If necessary, press it again to switch to the compact list.
Observe following:

The information about the active element uses the same monospaced font as the editor, but with smaller size. From what I can see, this size can't be customized.
Since I'm using a bitmap font (converted to .ttf), this makes it illegible. This is the only place in the app where you can't customize the size of the monospaced font.

Tried to force the size using fontconfig files, but no cigar. Some other apps respect that setting, but VSC does not.

Had the chance to test it on v1.57.1, and it has no such problem (font size is the same), so this issue was introduced in the latest release.

Found a workaround. It can be fixed by adding following to workbench.desktop.main.css:
.suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left>.qualifier-label{font-size:100% !important}
.suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label{font-size:100% !important}

It can either be done manually, with an extension, or with a tiny shell script that I just made.


[FEATURE] Disable certain devices

Bug Description
Hi!
I've got a robot on a remote location without network connection to my ioBroker-Host and the adapter is therefore flooding my log with connection errors to this specific device.
Steps to Reproduce
Add a remote device to your Roborock account.
Expected Behavior
Have the ability to blacklist devices by their ID.
Debug Log

Quelle | Zeit | warn |
-- | -- | -- | --
roborock.0 | 2024-09-11 06:41:32.665 | error | Failed to execute function createClient on robot XXXXXXXX (unknown model) Failed to create tcp client: Error: connect ETIMEDOUT <IP_ADDRESS>:58867 at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1607:16)

Adapter Version
0.6.12
JS-Controller Version
6.0.11
Node.js Version
20.17.0
Operating System
Debian ARM
Additional Context
No response

Does the robot belong to your account or is it a shared robot from a different account?

It belongs to my account and isn't shared. If it matters, it's a roborock.vacuum.a70 (basically a Q7 without camera).

It should be possible to get this connected. I need to rework my connection logic for this.
At the moment it always tries to connect locally unless the robot is a shared one.

Ahh, ok. This makes sense ... but maybe a simple switch or DP like "local" true/false could do the trick?

Would you please test https://github.com/copystring/ioBroker.roborock/tree/dev? I implemented detection of remote devices via TCP timeout. When a TCP connection fails on the start of the adapter, the adapter assumes it's a remote device.

Thanks for the quick fix. Unfortunately, the error remains:
Failed to execute function createClient on robot SCrfx2l70B92SSnpPvzkQ (unknown model) Failed to create tcp client: Error: connect ETIMEDOUT <IP_ADDRESS>:58867 at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1607:16

This what happens with bad coding 🤦♂
Please try the new dev.

Well, don't see any bad coding in your great adapter! 👍
Your fix seems to work. Thanks!
Please let me observe it for a few days. I will open the issue again if I see any problems.


VS Code  v1.60.2 and Wakatime Extension v1.27.0 - MethodNotAllowed Error

I have VS Code v1.60.2 and v1.27.0 of the Wakatime extension. Ever since the 21st (about 2 days ago) the extension has failed to upload heartbeats to my Hakatime instance. I enabled debug mode in Hakatime but that didn't seem to provide any extra logs, and then I enabled debug mode for the extension and I am seeing this:
{
    "caller": "/Users/runner/work/wakatime-cli/wakatime-cli/cmd/legacy/run.go:199",
    "func": "runCmd",
    "level": "error",
    "message": "failed to run command: offline sync failed: api error: invalid response status from \"https://hakatime.mydomain.com/api/v1/users/current/heartbeats.bulk\". got: 200, want: 201/202. body: \"{\\\"responses\\\":[[{\\\"data\\\":{\\\"id\\\":\\\"69994\\\"}},201],[{\\\"data\\\":{\\\"id\\\":\\\"69995\\\"}},201],[{\\\"data\\\":{\\\"id\\\":\\\"69996\\\"}},201],[{\\\"data\\\":{\\\"id\\\":\\\"69997\\\"}},201],[{\\\"data\\\":{\\\"id\\\":\\\"69998\\\"}},201],[{\\\"data\\\":{\\\"id\\\":\\\"69999\\\"}},201],[{\\\"data\\\":{\\\"id\\\":\\\"70000\\\"}},201],[{\\\"data\\\":{\\\"id\\\":\\\"70001\\\"}},201],[{\\\"data\\\":{\\\"id\\\":\\\"70002\\\"}},201],[{\\\"data\\\":{\\\"id\\\":\\\"70003\\\"}},201]]}\"",
    "now": "2021-09-23T16:37:32-05:00",
    "version": "v1.27.0"
}

{
    "caller": "/Users/runner/work/wakatime-cli/wakatime-cli/pkg/api/diagnostic.go:28",
    "func": "SendDiagnostics",
    "level": "debug",
    "message": "sending diagnostic data to api at https://hakatime.mydomain.com/api/v1/plugins/errors",
    "now": "2021-09-23T16:37:32-05:00",
    "version": "v1.27.0"
}

{
    "caller": "/Users/runner/work/wakatime-cli/wakatime-cli/cmd/legacy/run.go:235",
    "func": "sendDiagnostics",
    "level": "error",
    "message": "failed to send diagnostics: invalid response status from \"https://hakatime.mydomain.com/api/v1/plugins/errors\". got: 400, want: 201. body: \"{\\\"error\\\":\\\"MethodNotAllowed\\\",\\\"message\\\":\\\"Ensure that the Content-Type header field is set correctly\\\"}\"",
    "now": "2021-09-23T16:37:32-05:00",
    "version": "v1.27.0"
}

Any ideas on this? It does look like the Wakatime extension was updated very recently, so maybe it's that?
If there's any other information I can provide to help troubleshoot this please let me know!

Yep it seems some recent updates on the VS Code edit had caused some issues. I will address them soon.


Aggressive code serialization

I'd like to be able to record an entire stoke trace without needing TBs of data. I figure a database would like this as well.

Turns out I don't care anymore. Reopen if someone does.


[v2.2] Indian Player Trophy Tracking

New suite of commands
/addtracking
/removetracking
/updateleaderboards
/viewleaderboards
Leaderboards are updated every day at 2am IST, it creates 5 requests a minute and stores the trophy counts locally.

Miss has created a way to this through webhooks, won't be implemented.


Fix: fix missing Redis configuration causing runtime errors

What problem does this PR solve?
Fix missing Redis configuration causing runtime errors.

Type of change

[x] Bug Fix (non-breaking change which fixes an issue)
[ ] New Feature (non-breaking change which adds functionality)
[ ] Documentation Update
[ ] Refactoring
[ ] Performance Improvement
[ ] Other (please describe):

By default, we do not add redis due to the simplicity.
Appreciate anyway.
Let's make it better. ^^


[$250] Self DM - Chat is not scrolled to the bottom when clicking 'New message'

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: 1.4.65-2
Reproducible in staging?: Y
Reproducible in production?: Y
If this was caught during regression testing, add the test name, ID and link from TestRail: N/A
Issue reported by: Applause - Internal Team
Action Performed:

Navigate to a self DM report
Send some messages
Scroll to bottom
Mark unread the last message
Scroll up
Click on 'New message' button

Expected Result:
Chat should be scrolled to the latest message
Actual Result:
Chat is not scrolled to the latest message
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android: Native
[ ] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

Screenshots/Videos
Add any screenshot/video evidence

https://github.com/Expensify/App/assets/78819774/48d4bb58-f556-4dd8-bfd0-fddc964266ea
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~0199f7298343d8bc01
Upwork Job ID:<PHONE_NUMBER>086828032
Last Price Increase: 2024-04-25

Heads up I don't think this bug is exclusive to the Self-DM.

Proposal
Please re-state the problem that we are trying to solve in this issue.
Chat is not scrolled to the bottom when clicking 'New message'
What is the root cause of that problem?
the following PR has introduced the current issue, where when the user clicks on new message it doesn't scroll to the bottom

when the user clicks on the new message button, the scrollToBottomAndMarkReportAsRead is called and the reportScrollManager.scrollToBottom then executes
the requestAnimationFrame inside the scrollToBottom is the cause of the issue  https://github.com/Expensify/App/blob/ece28d072c01123e03270da543c09adf7966b428/src/hooks/useReportScrollManager/index.ts#L23-L32

What changes do you think we should make in order to solve the problem?

we can either revert the requestAnimationFrame change introduced in the previous PR
Or we can create another function that doesn't use the requestAnimationFrame and then use this new function inside the scrollToBottomAndMarkReportAsRead instead of the scrollToBottom:

    const scrollToBottomWithoutDelay = useCallback(() => {
        if (!flatListRef?.current) {
            return;
        }

        flatListRef.current.scrollToOffset({animated: false, offset: 0});
    }, [flatListRef]);

    const scrollToBottom = useCallback(() => {
        requestAnimationFrame(() => {
            scrollToBottomWithoutDelay();
        });
    }, [scrollToBottomWithoutDelay]);
```js

Proposal
Please re-state the problem that we are trying to solve in this issue.
Self DM - Chat is not scrolled to the bottom when clicking 'New message'
What is the root cause of that problem?
requestAnimationFrame inside scrollToBottom callback cause the main issue when user tap on new message button here.
If there are other operations or animations like requestAnimationFrame happening simultaneously, they might interfere with the scrolling operation.
What changes do you think we should make in order to solve the problem?
You need to introduce delays between animations to prevent them from overlapping. You can use setTimeout to introduce delays in the animation sequence here.
Update the scrollToBottom function as mention below:
const scrollToBottom = useCallback(() => {
    // We're deferring execution here because on iOS: mWeb (WebKit based browsers)
    // scrollToOffset method doesn't work unless called on the next tick
    requestAnimationFrame(() => {
        setTimeout(() => {
            if (!flatListRef?.current) {
                return;
            }
            flatListRef.current.scrollToOffset({ animated: false, offset: 0 });
        }, 0);
    });
}, [flatListRef]);

In the specific context of scrollToBottom function, combining requestAnimationFrame with setTimeout(() => { ... }, 0) ensures that the scrolling operation occurs after the current stack has cleared, which can help prevent potential issues related to timing and synchronization with the rendering pipeline.
Video:
https://app.screencastify.com/v3/watch/g1QVXQfNszwp7Yp8kXEK

@dukenv0307 Based on https://github.com/Expensify/App/issues/38855#issuecomment-2046028474 it was decided not to go with setTimeout since it's not ideal.
So requestAnimationFrame worked in our case to defer execution and was preferred over setTimeout / Promise.resolve.
Will look into it and check if my PR actually caused this or it existed before, as far as I remember from reproducing the issue, clicking on "New Message" was broken before applying the fix from my PR - but I'll double check today and let you know!
If it's a regression from my PR I'll most likely handle it since it's still within the regression period.

@dukenv0307 I confirm that this issue is a regression caused by PR https://github.com/Expensify/App/pull/40286 from issue https://github.com/Expensify/App/issues/38855.
This happened because here we chose to go with requestAnimationFrame instead of setTimeout with 0 delay in order to defer execution since setTimeout is not preferred, and requestAnimationFrame apparently affected the "New message" scroll functionality.
In order to fix this we could either use setTimeout with 0 delay as I suggested initially in the other issue OR maintain the current function but only defer execution if argument shouldDeferExecution is passed as true to the scrollToBottom function.
cc @robertjchen @mountiny

Got it, can this issue be combined with https://github.com/Expensify/App/issues/40724 ?

@parasharrajat What do you think about the suggestion to consolidate with https://github.com/Expensify/App/issues/40724?

Got it, created a revert PR for review: https://github.com/Expensify/App/pull/41302 and we'll close this out after, resuming the discussion in https://github.com/Expensify/App/issues/40724


Update Install-SPEduSites.md

:x: Validation status: errors

File
Status
Preview URL
Details

sharepoint/sharepoint-ps/sharepoint/Install-SPEduSites.md
:x:Error

Details

:x:Error

Details

sharepoint/sharepoint-ps/sharepoint/Install-SPEduSites.md

[Error] Unable to load file: sharepoint-ps/sharepoint/Install-SPEduSites.md via processor: AzureCliDocumentProcessor.

[Error] Markdown.MAML.Transformer.HelpSchemaException: :11:(10) 'Do not use'
Expect Heading
at Microsoft.DocAsCode.Build.Engine.SingleDocumentBuilder.GetInnerContexts(DocumentBuildParameters parameters, IEnumerable1 processors, TemplateProcessor templateProcessor, IHostServiceCreator creator) at Microsoft.DocAsCode.Build.Engine.SingleDocumentBuilder.BuildCore(DocumentBuildParameters parameters) at Microsoft.DocAsCode.Build.Engine.DocumentBuilder.BuildCore(DocumentBuildParameters parameter, IMarkdownServiceProvider markdownServiceProvider, BuildInfo currentBuildInfo, BuildInfo lastBuildInfo) at Microsoft.DocAsCode.Build.Engine.DocumentBuilder.Build(IList1 parameters, String outputDirectory)
at Microsoft.DocAsCode.SubCommands.DocumentBuilderWrapper.BuildDocument(BuildJsonConfig config, TemplateManager templateManager, String baseDirectory, String outputDirectory, String pluginDirectory, String templateDirectory)
at Microsoft.DocAsCode.SubCommands.DocumentBuilderWrapper.BuildDocument()
[Warning] No file found, nothing will be generated. Please make sure docfx.json is correctly configured.
[Warning] No file found, nothing will be generated. Please make sure docfx.json is correctly configured.
[Warning] No file found, nothing will be generated. Please make sure docfx.json is correctly configured.

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


[usecase] Add automation framework to usecase

Mantain automation framework to testsscript
Automate TypedArray usecase

Impacted TCs num(approved): New 0, Update 1, Delete 0
Unit test Platform: Andriod
Unit test result summary: Pass 1, Fail 0, Blocked 0

Please move usecase/usecase-webapi-xwalk-tests/bddrunner to tools/resources/ to centralized maintain the bdd runner, and do not integrate functions which you do not ever used in steps.py.

@Honry updated


Add support for docker buildx v0.10 in build process

We have recently hit a spate of issues in CI due to the upstream GitHub worker version bump of docker buildx from v0.9 to v0.10. In order to mitigate, we have pinned the buildx version to v0.9 for now.
We should investigate what steps are necessary to support v0.10 in our CI. This includes:

[ ] Ensure SBOM generation works with v0.10.
[ ] Ensure that when v0.10 images are built (MediaType OCI v1), other CI actions can successfully detect these new images and pull them.
[ ] Ensure that these images can be copied to popular cloud container registries (skopeo).
[ ] Ensure that common container runtimes (containerd etc.) can pull these images.

Related: https://github.com/cilium/cilium/pull/23220

Issues we previously hit with this:

Image signing as part of the image build workflows for image signing would fail with this:level=fatal msg="generating doc: creating SPDX document: generating
SPDX package from image ref quay.io/cilium/docker-plugin-ci:XXX:
generating image package"

Image builds might pass, but then the "wait for images to be ready" step would fail because docker manifest ... would never successfully identify that the target image was available

Fixed with https://github.com/cilium/cilium/pull/23431


how to run prallel all the scenario outline methods with Examples but the test data are in the excel file

how to run prallel all the scenario outline methods with Examples but the test data are in the excel file and how to read and used in the scenario outline methods to run in pralllel mode  can you pls hellp me @mattwynne

Sorry, this isn't currently supported. It would require pretty major changes to Gherkin to be able to read examples from an excel file.


Train cifar error: Unknown type enum

zhoub@zhoub-desktop:~/Software/mxnet/example/image-classification$ python train_cifar10.py
OpenCV is unavailable.
2016-01-10 01:02:56,483 Node[0] start with arguments Namespace(batch_size=128, data_dir='cifar10/', gpus='0', kv_store='local', load_epoch=None, lr=0.05, lr_factor=1, lr_factor_epoch=1, model_prefix=None, network='inception-bn-28-small', num_epochs=20, num_examples=60000)
--2016-01-10 01:02:56--  http://webdocs.cs.ualberta.ca/~bx3/data/cifar10.zip
Resolving webdocs.cs.ualberta.ca (webdocs.cs.ualberta.ca)... <IP_ADDRESS>
Connecting to webdocs.cs.ualberta.ca (webdocs.cs.ualberta.ca)|<IP_ADDRESS>|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 133801102 (128M) [application/zip]
Saving to: ‘cifar10.zip’
cifar10.zip                                         100%[==================================================================================================================>] 127.60M  3.71MB/s   in 37s
2016-01-10 01:03:34 (3.42 MB/s) - ‘cifar10.zip’ saved [133801102/133801102]
Archive:  cifar10.zip
creating: cifar/
inflating: cifar/train.lst
inflating: cifar/test.rec
inflating: cifar/train.rec
inflating: cifar/test.lst
[01:03:35] src/io/iter_image_recordio.cc:212: ImageRecordIOParser: cifar10/train.rec, use 3 threads for decoding..
[01:03:35] src/io/./iter_normalize.h:218: Cannot find cifar10/mean.bin: create mean image, this will take some time...
[01:03:35] src/io/./iter_normalize.h:231: 10000 images processed, 0.262767 sec elapsed
[01:03:35] src/io/./iter_normalize.h:231: 20000 images processed, 0.467821 sec elapsed
[01:03:36] src/io/./iter_normalize.h:231: 30000 images processed, 0.675504 sec elapsed
[01:03:36] src/io/./iter_normalize.h:231: 40000 images processed, 0.823375 sec elapsed
[01:03:36] src/io/./iter_normalize.h:231: 50000 images processed, 1.00545 sec elapsed
[01:03:36] ./dmlc-core/include/dmlc/logging.h:208: [01:03:36] include/mxnet/./ndarray.h:69: Unknown type enum 891877532
Traceback (most recent call last):
File "train_cifar10.py", line 79, in
train_model.fit(args, net, get_iterator)
File "/home/zhoub/Software/mxnet/example/image-classification/train_model.py", line 44, in fit
(train, val) = data_loader(args, kv)
File "train_cifar10.py", line 64, in get_iterator
part_index  = kv.rank)
File "/home/zhoub/Software/anaconda/lib/python2.7/site-packages/mxnet-0.5.0-py2.7.egg/mxnet/io.py", line 508, in creator
ctypes.byref(iter_handle)))
File "/home/zhoub/Software/anaconda/lib/python2.7/site-packages/mxnet-0.5.0-py2.7.egg/mxnet/base.py", line 77, in check_call
raise MXNetError(py_str(_LIB.MXGetLastError()))
mxnet.base.MXNetError: [01:03:36] include/mxnet/./ndarray.h:69: Unknown type enum 891877532

get the same error after re-installation

The cause is the newest updates on ndarray.h:69:
inline TBlob data() const {
MSHADOW_TYPE_SWITCH(dtype_, DType, {
return TBlob(static_cast<DType*>(ptr_->shandle.dptr)

offset_, shape_, ptr_->shandle.ctx.dev_mask());
});
return TBlob();
}

Correct it back to:
inline TBlob data() const {
return TBlob(static_cast<real_t*>(ptr_->shandle.dptr) + offset_,
shape_, ptr_->shandle.ctx.dev_mask());
}
and recompile will solve the problem.

fixed by https://github.com/dmlc/mxnet/pull/1227
Please pull the change, remake, remove cifar10/mean.bin, and try again.
Thanks for reporting this bug.


(ios) App Access Control: Device passcode fallback

Partially addresses issue #441

Phoenix should provide more options for app access control, each with their own trade-offs:

biometrics authentication: the recommended option. It enables fine-grained control on a device that is shared between several users (e.g. a family), reasonably secure, but less private and prone to hardware malfunction
the device's PIN/password: no fine control and probably less secure, but it's robust

Option 2 was missing from iOS, but fixed via this PR.

If the user:

enables biometrics (Face ID / Touch ID)
but does not enable the passcode fallback
and has not backed up their recovery phrase

then we display this warning:

I think we can just remove that warning altogether : users need to backup their seed regardless of the app-control setting. It's true that a broken biometrics hardware can lock the user out if the passcode fallback was disabled, but that's just an edge case among many and we can't handle all of them.

I agree. And that screen already displays a warning icon next to the "Recovery Phrase", if the user hasn't performed a backup.
Done in 880114a470a5b2793721d744479053cbad5fd15e

Is it possible to let the user only use the Passcode option, without having to enable FaceID/TouchID?

I do not believe this is possible. My understanding is that you have to use LAContext to prompt for iOS authentication. And the supported policies only allow you to determine whether-or-not to allow passcode fallback.

Addresses issue #455


Selection in Combo not working as expected

According to the documentation the combo box should trigger its combo_OnChange event when one clicks (selects) an item in the list. This will move the selected item to the visible edit box in the combo control.
This triggering does not happen on selection (neither in 1.3 nor 1.4).
However, if one enters a character or deletes something in the combo edit field, AND leaves the combo, it does trigger it; exactly like is documented for an Edit control as well.
Checking the sources, there is a combo_OnSelect event, but its code is commented out -- perhaps not ready for prime time?
However, it is needed because a frequent use-case is to populate the combo, and use it as a pop-down list box. So additionally, we also need to make it non-editable (a combo_editable function is also missing). Just like an Edit control.

Hi Sam! Yes, I have a task to full review/update the ComboBox control for NAppGUI 1.4.1. There is an issue with the GTK3 Linux version also. It will be ready soon.
Thanks for the report.

Also referenced in #68


Pre-init squirrel managers

Fixes a bug where client squirrel managers were not initialised on server and vice-versa.

Fixes @emma-miler code :>

Looked at code and seems fine, so I'll merge it ^^
(I have near to no C++ experience, surely this should be fine :>)

Should resolve issue 1 of #347


Quicly hotfix  pcb - disable chksum verify

Depends on https://github.com/CloudNativeDataPlane/cndp/pull/340
Fixes the PCB lookup failure in the UDP input node for cnet and the failing csum verifications ...
Note: it looks like the same issue exists in the tcp input node also... so I applied the same fix

I've only tested UDP and not TCP - would someone be able to check the TCP path?

The code for TCP looks correct, but I can check it after the merge if that seems reasonable?


Migrating to voxpupuli

Any objections to transferring this module to voxpupuli?
@JAORMX

no objections

Actually it seems to me that it's a good idea.

@earsdown is there anything needed from my side to help with this?

@JAORMX
The process is documented here: https://voxpupuli.org/docs/#migrating-a-module-to-voxpupuli
I've also been asked to remove puppet<4 support, which is fine for me. Are you okay with this as well?
So, if you have time, maybe remove puppet<4 support, refresh modulesync, and do whatever else you can see needs to be done, without affecting users?

@earsdown what do you mean by removing puppet < 4 support? Removing it from CI?

@earsdown what is your motivation to move this to voxpupuli? Will you stop working on this or will you still be contributing to it?

@JAORMX VoxPupuli modules are going to be >= Puppet4 only . see https://voxpupuli.org/blog/2016/12/22/putting-down-puppet-3/

@vinzent as a puppet-certmonger user, I don't see any blocker. We use the module in OpenStack with Puppet 4 and it runs perfectly well.

@EmilienM Just want to know the motivation. I really like seeing moving modules to VP. Just hope it is not a "over the fence" action and that we can have new members onboarding. :)

@vinzent at least I'll keep working on it. @earsdown will you?

Worried about having to fix a ton of rubocop violations?
Ta-dah! https://github.com/earsdown/puppet-certmonger/pull/15

@alexjfisher thanks for the commit! #15 has merged

@vinzent : Right now both @earsdown and me can merge patches in this repository. when migrating this repo to voxpupuli, will we still be able to do that?

@JAORMX @EmilienM @alexjfisher @vinzent - now that puppet has announced its partner program, my employer has "suddenly" decided they're interested in contributing resources towards on-going maintenance of this module after all - and they'd prefer I didn't transfer it :disappointed:
Btw, is anyone using the change-perms-restart script?

@earsdown we're not. all we're using is the init.pp manifest and the puppet provider/type for certificates.

Closing due to deprecation in favour of https://github.com/saltedsignal/puppet-certmonger


refactor(aux): use lua-kong-nginx-module's get_req_ssl as a priority

KAG-3791

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

we might need to skip build the lua-kong-nginx-module on openresty <=1.25.3


marked as trojan

windows defender detects as trojan today:
Script/Wacatac.B!ml

after every update the defender hits because the file is simply new.
Of course its clean https://www.virustotal.com/gui/file/0897d5850e619a92794b6aa2d61e09a1113646aa577fe8f9ff5fa5bc10847532/detection
Wait a few hours an you'll see it will not be flagged anymore


Suggestion: Use array instead of object for requiredProps in endpoint template

Since Handlebars treats empty object {} as truthy, we end up getting "Required / Optional Properties" headings, even if there are no properties.
If these were stored as arrays then they would not be displayed. Or if the object was deleted if empty

This has been changed (https://github.com/cloudflare/json-schema-docs-generator/pull/26). When empty it returns null.


Adds a benchmark using California's housing dataset from Scikit-learn.

@rafa-be - what is the origin of benchmarks/california_housing.py? Is this original work or a copy and paste from elsewhere?

Code is 100% mine.
It uses a dataset from scikit-learn/scikit-learn (license is BSD-3). It's not included in the library itself, only downloaded when the script is being executed.


mitmdump 0.14 on Windows 10 Does Nothing

When I execute mitmdump 0.14 on Windows 10 (administrator mode), the program just waits. It's as if its not receiving any input. There's no errors reported. I've tried various command lines:
mitmdump
mitmdump --p 8888
mitmdump -T --host
Is there some other Windows installation step in addition to "pip install mitmproxy" and "pip install netlib"?
Can someone confirm that mitmdump works on Windows 10?
I previously had mitmdump 0.12 and 0.13 working. I think it was on Windows 10. I'm unable to drop back to a previous version of mitmdump because "pip install" keeps installing 0.14. I'm not sure how to build previous versions.
I'm running mitmproxy 0.14 on a Mac without issue.

mitmdump works perfectly fine for me on Windows - in fact, Windows 10 is my primary development OS. You should see clientconnect messages once a client connects to port 8080 - otherwise, there are not even incoming TCP connections from clients.

Right. I was expecting client connects to begin immediately. That's what I was use to seeing on a Mac.

Why does Windows require a client connect to the port (default 8080) before reacting to incoming connections? I didn't see this behavior mentioned in the docs.

mitmdump on Windows doesn't seem as robust as a Mac. If I repeatedly hit F5 in the browser, mitmdump seems to get all chocked up, various errors start occurring such as client SSL errors. Chocking on mitmproxy on a Mac is rather difficult.

Without any command line switches, mitmproxy opens a proxy server listening on port 8080. This is the same behaviour on all OSes?
I can confirm this issue to some extent, but it's terribly hard to debug - any help and pointers are welcome. One known issue is that the Queue implementation on Python 2 is rather bad (which we use for inter-thread-communication). Since we are not on Python 3 yet, it's hard to say if that is the only problem.
Can you specify that better?
See (2).

The command line is "mitmdump -T --host". Nothing happens, on any port, on any client, until 8080 is connected.

2 to 4. I'll defer more testing until Windows mitmdump for Python 3 is released.


Issue #482 set media type on response container

PR Checklist

[x] Have you followed the guidelines in CONTRIBUTING.md?
[ ] Have you got 100% test coverage on new code?
[ ] Have you updated the prose documentation?
[ ] Have you updated the reference documentation?

A pretty small change in LOC terms. I'll back fill tests and docs once you guys are happy to go ahead with it. See #482 for reference


Make the use method variadic.

This allows you to use the use method like so:
jss.use(extend(), nested(), defaultUnit());

can nodes' connect middleware work like this?
In general its nice to have, however jss setup is done only once and we don't really need to have 2 ways to do the same thing. Or I miss any other concerns?

I'd compare it to how PostCSS registers its plugins, in that you add a block like
    postcss() {
        return [
            autoprefixer({browsers: ['last 2 versions']}),
            postcss_import,
            lost,
            postcss_cssnext,
            postcss_mixins,
            postcss_nested,
            postcss_simple_vars,
            postcss_extend,
        ];
    },

to your webpack config and that would register all your plugins at once. I know that it's only a small amount more typing but to me, it seems like I shouldn't need to call a method for each plugin, when dealing with a registry. I should be able to give it a list of plugins and it handles registering each. It seems like a nicer UX to me to have it be variadic.

what about this)
[plugin1(), plugin2()].forEach(jss.use)

Just took a look at postcss, they do it because postcss() returns a stream which can be piped to something else. This allows to chain pipes.
    return gulp.src('src/**/*.css')
        .pipe( sourcemaps.init() )
        .pipe( postcss([ require('autoprefixer'), require('precss') ]) )
        .pipe( sourcemaps.write('.') )
        .pipe( gulp.dest('build/') );

I think we shouldn't do it just for the sake of not having multiple ways to do the same thing without a reason. This optional possibilities always lead to confusion and increase api complexity.

@kof I think we approach API design differently. I think making the function variadic adds flexibility to it that allows the user to more expressively write code. Yes you can map, or forEach it but that's just boilerplate that could easily be hidden away in the use function at no cost to the user.

ok, will merge it. I see one point in this change: the order of plugins is more explicit.


Update AMA Linux Extension 1.32.5 to 1.32.6

#sign-off

@guywi-ms
Can you review the proposed changes?
Important: When the changes are ready for publication, adding a #sign-off comment is the best way to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

#sign-off


implement tab-to-search

Among the many features Chromium's Omnibox offers is the ability to search a site without navigating to the sites homepage.

http://dev.chromium.org/tab-to-search
:drool:

This was done in #3085, right ?


Modify account POST endpoint

Should only have :

username
firstName
lastName
password
promotionYear

[ ] Remove staff_name and is_inducted fields in account model and validation schema as they are useless.
[ ] Use zxcvbn-python to estimate password strength and thus validate passwords.


discriminator mapping

Thank you for adding support for OpenAPI 3.0.  Does this include support for the mapping field of a discriminator?
https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.0.md#discriminator-object
I have an api where two different types have discriminators whose values overlap, so a mapping would resolve the clash.
This is the api in swagger 2.0:
definitions:
  A:
    type: object
    discriminator: type
    properties:
      type:
        type: string
        enum:
          - X
          - Y
  B:
    type: object
    discriminator: type
    properties:
      type:
        type: string
        enum:
          - Y
          - Z

Notice that Y is a discriminator value for both A and B.  In Swagger 2.0 I wouldn't be able to define a Y for A and a Y for B -- the definition needs to be called Y, and there can only be one of those.
  BY:
    allOf:
      - $ref: "#/definitions/B"
      - type: object
         properties:
           ...

Unfortunately we have no support for mapping yet, though this is a very interesting use case!
We track literals separately from the underlying keys, so I actually think this may be straightforward to implement (check the generated Circe encoders and decoders for an example of this).
To get an idea of where this work would happen, look for places where ScalaParameter is built. Note the distinction between param: L#MethodParameter and argName: RawParameterName.


Deploying applications through local disk to Rancher yields installation unusable

What kind of request is this (question/bug/enhancement/feature request):
Bug (on Rancher 2.2.9, haven't tried 2.3.x)
Steps to reproduce (least amount of steps as possible):

Create a cluster through Rancher
Clone to a local directory any helm chart that requires dependencies, in our
testing, the Helm Chart for Kong
at this specific commit
was tested, but the situation can also be replicated by using a helm chart
that's broken (for example, a template syntax error) or that has
dependencies, and then cd into the folder charts/stable/kong.

# Clone helm chart
cd $(mktemp -d) && git clone git@github.com:helm/charts.git

# Reset to specific commit (YMMV testing with others, see below)
cd charts && git reset --hard 0580e453e

# cd into the specific chart
cd charts/stable/kong

# Install it as an app
rancher app install . kong

With a rancher CLI properly configured pointing at the cluster created with
the first step, install the app by executing rancher apps install . kong.
To accelerate the process, you can create a few other copies, like kong2,
kong3, and so on.

Expected Result:

Rancher will display the fact that the installation failed because the
Helm Chart dependencies weren't installed (helm dep update) before
sending the app to install.

Actual Result:

This is a chain reaction of events:

The application shows correctly as broken in the UI
After a couple of minutes, the Rancher UI becomes unresponsive with the
error: etcdserver: mvcc: database space exceeded
Rancher can't be used anymore from the UI, the CLI or directly using
kubectl.

The reason behind the issue is that each helm install failure seems to cause
Rancher to attach the payload of the repository cloned in the CRD
apps.project.cattle.io (since it's the way to be able to store it due to being
installed from a local directory). In an etcd using multi-version concurrency
control, etcd ends up holding to several large etcd document revisions (which
include each file from the folder, base64-encoded in the list of files) which
causes a massive increase in the etcd database size, preventing it from running
compaction and defragment tasks in-time resulting in the cluster hitting the
maximum database size and then switching to read-only mode.
https://github.com/etcd-io/etcd/blob/master/Documentation/faq.md#what-does-mvcc-database-space-exceeded-mean-and-how-do-i-fix-it
Other details that may be helpful:
As stated above, we've seen this issue with both Helm charts with dependencies
or broken templates, although we suspect anything that can make the helm
installation crash would do it. An example error from when the template is
broken:
"message": "wait helm template failed. Error: parse error in \"kong/templates/_helpers.tpl\": template: kong/templates/_helpers.tpl:255: unexpected \"=\" in operand\n: exit status 1",

And this is an example error from when there's a requirement not previously
installed:
"message":"wait helm template failed. Error: found in requirements.yaml, but missing in charts/ directory: postgresql\n: exit status 1",

The CRD which holds the information about the deployed application contains a
.spec.files value in the JSON content which holds all the files base64'd
(which can become quite big if there's several files in it):

Example application JSON output:
https://gist.github.com/patrickdappollonio/4acb3fee1d4cca245c40ccc0bfcafb1a
Example etcd write-ahead log content:
https://gist.github.com/patrickdappollonio/067ae77a9d8baa264429c241323d2a26

Environment information

Rancher version (rancher/rancher/rancher/server image tag or shown bottom
left in the UI):

Rancher: v2.2.9
User Interface: v2.2.98
Helm: v2.10.0-rancher11
Machine: v0.15.0-rancher8-1

Installation option (single install/HA): HA deployment with 2 replicas on K8s.

Cluster information

Cluster type: Hosted
Machine type and specifications (CPU/memory): VM
Kubernetes version (use kubectl version): 1.13.5
Docker version (use docker version):

$ docker version
Client:
 Version:           18.06.3-ce
 API version:       1.38
 Go version:        go1.10.8
 Git commit:        d7080c1
 Built:             Tue Feb 19 23:07:53 2019
 OS/Arch:           linux/amd64
 Experimental:      false

Server:
 Engine:
  Version:          18.06.3-ce
  API version:      1.38 (minimum version 1.12)
  Go version:       go1.10.8
  Git commit:       d7080c1
  Built:            Tue Feb 19 23:07:53 2019
  OS/Arch:          linux/amd64
  Experimental:     false

gzrancher/rancher#8427

I am able to recreate this following the steps exactly as given. Thank you for all the detail! This is a great issue write-up.
The only note I would like to add is that I did this on a single node, non-HA install.
In my case, first the cluster went to Unavailable status in the UI, then shortly after rancher became unresponsive and would no longer work through UI or CLI.
Following the logs with docker logs -f <image_name> I saw repetitive:
2020/06/19 21:20:50 [ERROR] AppController p-n7p28/kong [helm-controller] failed with : wait helm template failed. Error: found in requirements.yaml, but missing in charts/ directory: postgresql
: exit status 1
2020/06/19 21:20:51 [ERROR] AppController p-n7p28/kong [helm-controller] failed with : wait helm template failed. Error: found in requirements.yaml, but missing in charts/ directory: postgresql
: exit status 1

Then, after Rancher crashed, the logs started showing:
I0619 21:22:07.212421       6 controllermanager.go:455] Started "replicationcontroller"
I0619 21:22:07.245672       6 replica_set.go:182] Starting replicationcontroller controller
I0619 21:22:07.609660       6 controller_utils.go:1027] Waiting for caches to sync for ReplicationController controller
I0619 21:22:07.948847       6 trace.go:76] Trace[1585541045]: "GuaranteedUpdate etcd3: *core.Endpoints" (started: 2020-06-19 21:22:02.139014847 +0000 UTC m=+48.120426948) (total time: 5.508880544s):
Trace[1585541045]: [2.337142577s] [2.337142577s] initial value restored
Trace[1585541045]: [3.532608874s] [1.195466297s] Transaction prepared
Trace[1585541045]: [5.150661486s] [1.618052612s] Transaction committed
Trace[1585541045]: [5.508880544s] [358.219058ms] END
2020-06-19 21:22:09.591490 W | etcdserver: apply entries took too long [401.327704ms for 1 entries]
2020-06-19 21:22:09.595467 W | etcdserver: avoid queries with large range/delete range!

This happens with many types. i.e Started "daemonset", Started "nodeipam", Started "attachdetach", etc.

Note this also applies for rancher v2.4.2, and cli version does not seem to have an effect.

Validated in both master-3301-head and v2.4-3302-head using CLI version v2.4.5

App does not deploy, but rancher server does not crash
Cluster also remains accessible
The errors do not repeat constantly in the logs and server health is maintained correctly


salmon index

when I used hg38 cDNA salmon index, it returned an error:
[2021-09-19 20:02:57.192] [jointLog] [info] parsing read library format
[2021-09-19 20:02:57.198] [jointLog] [info] There is 1 library.
[2021-09-19 20:02:57.304] [jointLog] [info] Loading Quasi index
Exception : [rapidjson internal assertion failure: IsObject()]
salmon quant was invoked improperly.
For usage information, try salmon quant --help
Exiting.
However when I built the index from hg38_cDNA you provided， it could run：
ref_cdna=$(refgenie seek hg38_cdna/fasta -c ~/refgenie/genome_config.yaml)
salmon index -t $ref_cdna -i ./Hm_cDNA_index --type quasi
salmon quant -i ./Hm_cDNA_index -l A
-1 $fq1 -2 $fq2
-p 10 -o test_quant
Is it because the salmon version contradiction？ How can I know the salmon version you used to build index?
Thanks

I can't explain why the quant is failing for you. You can view the build logs on an asset page, such as this: http://refgenomes.databio.org/v3/assets/splash/9a02d64909100f146272f8e16563178e9e93c218b1126ff9/salmon_index?tag=default (see the build log link)
We do not yet have a great way to check out the version used to build the asset served by refgenie server, but we are working on this. This is recorded in issue https://github.com/refgenie/refgenie/issues/195


adding manager to docker-ce 17.09 fails on AWS ubuntu

Description

Creating a swarm cluster works fine in 17.06 but does not in 17.09/10 or 11. Can create swarm manager and add workers, but not add another manager or promote worker to manager.
In all cases the same error shows:
ERRO[2017-12-25T11:21:18.873626672Z] cluster exited with error: manager stopped: can't initialize raft node: rpc error: code = Internal desc = connection error: desc = "transport: x509: certificate is valid for <IP_ADDRESS>, not swarm-manager"
DEBU[2017-12-25T11:21:18.873965442Z] FIXME: Got an API for which error does not match any expected type!!!: rpc error: code = Internal desc = connection error: desc = "transport: x509: certificate is valid for <IP_ADDRESS>, not swarm-manager"  error_type="*status.statusError" module=api
ERRO[2017-12-25T11:21:18.873986002Z] Handler for POST /v1.32/swarm/join returned error: manager stopped: can't initialize raft node: rpc error: code = Internal desc = connection error: desc = "transport: x509: certificate is valid for <IP_ADDRESS>, not swarm-manager"
DEBU[2017-12-25T11:21:18.874034324Z] FIXME: Got an API for which error does not match any expected type!!!: rpc error: code = Internal desc = connection error: desc = "transport: x509: certificate is valid for <IP_ADDRESS>, not swarm-manager"  error_type="*status.statusError" module=api
Steps to reproduce the issue:

install apt-get install docker-ce=17.09.1~ce-0~ubuntu
create manager 1 - docker swarm init
add worker, works fine with docker swarm join --token worker-token manager1ip:2377
either adding manager with manager-token, or promoting the worker from step 3 fail.

Describe the results you received:
root@ip-203-16-21:~# docker swarm join --token SWMTKN-1-2mihdqwmde3sr242c1w6vize6h9gduyv0prjrznizke0weh37t-ayuwrk82u0qgdblp95hc8uway <IP_ADDRESS>:2377
Error response from daemon: manager stopped: can't initialize raft node: rpc error: code = Internal desc = connection error: desc = "transport: x509: certificate is valid for <IP_ADDRESS>, not swarm-manager"
Describe the results you expected:
success in adding manager
Additional information you deem important (e.g. issue happens only occasionally):
Output of docker version:
root@ip-203-16-21:~# docker version
Client:
 Version:      17.09.1-ce
 API version:  1.32
 Go version:   go1.8.3
 Git commit:   19e2cf6
 Built:        Thu Dec  7 22:24:23 2017
 OS/Arch:      linux/amd64

Output of docker info:
root@ip-203-16-21:~# docker info
Containers: 0
 Running: 0
 Paused: 0
 Stopped: 0
Images: 0
Server Version: 17.09.1-ce
Storage Driver: overlay2
 Backing Filesystem: xfs
 Supports d_type: true
 Native Overlay Diff: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: bridge host ipvlan macvlan null overlay
 Log: awslogs fluentd gcplogs gelf journald json-file logentries splunk syslog
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 06b9cb35161009dcb7123345749fef02f7cea8e0
runc version: 3f2f8b84a77f73d38244dd690525642a72156c64
init version: 949e6fa
Security Options:
 apparmor
 seccomp
  Profile: default
Kernel Version: 4.4.0-1041-aws
Operating System: Ubuntu 16.04.3 LTS
OSType: linux
Architecture: x86_64
CPUs: 2
Total Memory: 7.508GiB
Name: ip-203-16-21.dqa.com
ID: V4RT:WIOT:NVUP:SWUO:NF3Y:4DVG:RLGO:DETH:BCCE:BL5A:QRYQ:5EHT
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Http Proxy: http://aws-proxy-qa.cloud.com:8099
Https Proxy: http://aws-proxy-qa.cloud.com:8099
No Proxy: .dqa.capitalone.com,<IP_ADDRESS>,.s3.amazonaws.com,.cache.amazonaws.com,,<IP_ADDRESS>,localhost,/var/run/docker.sock
Registry: https://index.docker.io/v1/
Experimental: true
Insecure Registries:
 <IP_ADDRESS>/8
 <IP_ADDRESS>/8
Live Restore Enabled: false

WARNING: No swap limit support

Additional environment details (AWS, VirtualBox, physical, etc.):
AWS ubuntu instances in private VPC. works fine with 17.06

Any updates on this? I am experiencing the same issue with 18.03.0-ce

The no_proxy fix proposed in #35870 (which is seemingly a duplicate of this issue?) works for me, but it doesn't seem like the best solution...

@Gustavo-Maurizio please open this issue on https://www.github.com/docker/swarmkit. Sorry for the trouble.


GRID/Table reusable component should be use in audit/batch and product tables

should be reusable and core in  webcardinal
close relation and optimised to be used together  with an openDSU DB  (pagination + filters)
fast loading
configurable number of rows
infinite scroll
field filters (regular expression for strings, perfect match - no other conditions)
optional/configurable renders when needed
optional/configurable edit in place

Examples for using this component:

webcardinal-app-tester - webc-datatable - Customization
webcardinal-app-tester - webc-datatable - Slots
webcardinal-app-tester - webc-datatable - Translations

More example: https://webcardinal.github.io/webcardinal-app-tester


Branded Meltano Academy site

Migrated from GitLab: https://gitlab.com/meltano/academy/-/issues/13
Originally created by @aaronsteers on 2021-07-09 18:37:06

We'd like to host the content in this academy repo as a proper website.

[ ] Connect content to academy.meltano.com or learn.meltano.com as an alternative to directing users to the Gitlab repo directly.

We have some training materials we'd like to manage as markdown. Other than that though, the hosting platform could be anything. Gitlab pages, Github pages, or any other option would probably work.

[ ] Depending on the choice in (1), we'd want to improve formatting and layout of the landing pages courses.md and labs.md.

These can be also be performed as follow-up in separate issues.

View 12 previous comments from the original issue on GitLab


Add CRUD for Teams

What
This PR introduces a new CRUD for Teams.
Why
Currently, if an user wants to create/edit/remove a team, the only way is through the Vulcan API. The lack of an UI for teams makes more difficult for a new user to try and experiment with the platform. The goal of this PR is to reduce the friction when a new user wants to experiment Vulcan.
What's included in this PR

A new screen which allows the creation, edition and removal of teams.
A feature toggle which controls whether the new CRUD will be available or not, so Vulcan administrators can control if the feature will be available.

Demo

@manelmontilla Thanks for the commits to this PR! I also rebased it with latest changes from master. This is ready for review again.