Add @defer support to the execution engine.

https://www.apollographql.com/docs/react/features/defer-support.html
https://blog.apollographql.com/new-features-in-graphql-batch-defer-stream-live-and-subscribe-7585d0c28b07
https://www.reddit.com/r/graphql/comments/8wv1da/status_on_graphql_batch_stream_defer_live_etc/
https://github.com/facebook/relay/issues/288
https://github.com/facebook/relay/issues/2554
https://github.com/facebook/relay/issues/2194
https://developer.mozilla.org/en-US/docs/Web/API/ReadableStream
System.Net.Http.MultipartContent

This would seriously blow people's minds.

This is coming in April

Dont tease me! April 1st?

We are aiming at April 14 or the week after that.

So, after talking to people on the relay channel I have changed my perspective on this one.... the Apollo way for @defer seemed so messy. But talking to guys on the relay channel it seems that relay will go a different way and instead will provide @defer on fragments rather than fields.
This makes much more sense and allows for much more powerful ways to delay fields. Moreover, with this we would not be forced to make a field nullable in order to be able to defer it.

en_js  [1 day ago]
Thanks for the extra context. We're currently experimenting with "native" support for @defer and @stream in our internal GraphQL server and our GraphQL clients (Relay and our native client). As we did with GraphQL itself and our subscriptions RFC/spec we plan to get experience using the approach and validating it at scale before proceeding with any RFC.
Our current approach is that @defer can be used with inline fragments or fragment spreads while @stream can be used on plural fields. We don't have a publicly available version of a spec because, as noted, we aren't ready to proceed with an RFC yet. If you're curious you can look at the defer/stream-related tests and transforms, but again, just beware that they're subject to change.

https://github.com/lilianammmatos/graphql-js/pull/1

https://github.com/graphql/graphql-js/pull/2318
https://github.com/graphql/graphql-js/pull/2319

Facebook will start moving this into the spec.

hello any update on @defer? is it going to be in version 11.0.0?

Still not spec'ed
https://github.com/graphql/graphql-spec/issues/704

This one is now merged and released


Скласти таймлайн

Скласти список всіх (важливих) життєвих подій, визначних дат, досягнень, періодів, що дали приємний і неприємний досвід, тощо. В цьому конкретному випадку довгих списків не буває, натомість бувають погано згорнуті, тому пакуємо сюди все підряд, а про "лишні" події можна буде промовчати пізніше. Список повинен бути систематизованим і посортованим в такий спосіб, щоб читач швидко зрозумів "паттерн" і міг легко орієнтуватись в просторі і часі цього резюме.

Career
15th July 2019 – present
Focused on my own businesses by founding KKW Beauty and KKW fragrance in 2017.

11th May 2019
Made waves at the Met Gala with my figure hugging corset-induced Thierry Mugler dress.

Made a cameo appearance in the heist film Ocean's 8.

I was paid between $75,000 and $300,000 for each post that I made on Instagram, Facebook and Twitter endorsing beauty products like waist trainers, teeth whiteners as well as Coca-Cola and well known charities.

I was the cover model for Vogue Spain.

Released a mobile game for iPhone and Android called Kim Kardashian: Hollywood. The objective of the game is to become a Hollywood star or starlet.

10th January 2010 – 25th December 2013

Debuted my fourth fragrance, titled True Reflection , which I worked with the company Dress for Success to promote. Released my fifth fragrance Glam, which draws on the glamour of my Hollywood lifestyle, and was made available through Debenhams.

Released my third fragrance Gold.

Starred as Summa Eve in the film Deep in the Valley, filmed a music video for a song titled Jam (Turn It Up).

15th April 2003 – 5th November 2012

Made my feature film debut in the disaster film spoof Disaster Movie , in which I appeared as a character named Lisa. Was a participant on season seven of Dancing with the Stars.

Entered the business world with my two sisters and opened the boutique shop D-A-S-H in Calabasas, California. In addition to my mother Kris Jenner, my step-parent Caitlyn Jenner, my siblings Kourtney, Khloé, and Rob Kardashian, and half-sisters Kendall and Kylie Jenner, I began to appear in the reality television series Keeping Up with the Kardashians. The series proved successful for E!. Posed in a nude pictorial for Playboy.

I got my first stint in show-business as friend and stylist of Paris Hilton, appearing as guest on various episodes of the Hilton-starring reality television series The Simple Life.

Personal life
20th August 2011

I married NBA player Kris Humphries, only to file for divorce within 72 days of the wedding. The divorce was granted in 2013.

15th December 2012

Announced that I was pregnant with rapper Kanye West’s baby. We had been dating for a while.

15th June 2013 – 10th May 2019

I became engaged to Kanye on my 33rdbirthday.

Gave birth to daughter North West at the Cedars-Sinai Medical Center in Los Angeles.

Kanye West and I got married formally in Florence, Italy, on 24thMay.

My second child, son Saint West, was born on 5thDecember. After my second child, I was advised against becoming pregnant again.

My third child, daughter Chicago West, was born via surrogate on 15thJanuary.

In January 2019, I announced that a second boy is on the way via surrogate.

Languages
🇺🇦 УКРАЇНСЬКА🇷🇺 РУССКИЙ🇺🇸 ENGLISH

Biggest regret
BECOMING A SINGER! SERIOUSLY, I HAVE ADMITTED THAT SHE KNOWS SHE CAN’T SING. BUT IF THERE’S ONE THING IN LIFE THAT I WISH I DIDN’T DO…LIKE, WHAT GAVE ME THE RIGHT TO THINK I COULD BE A SINGER? LIKE, I DON’T HAVE A GOOD VOICE.

Character
PRACTICAL DOWN TO EARTH WITH STRONG IDEAS ABOUT RIGHT AND WRONG ORDERLY ORGANIZED SYSTEMATIC CONTROLLED BUILDER AND THE FOUNDATION OF ANY ENTERPRISE

Likes😃
USE A PERSON’S NAME SMILE — WITH FEELING!  I HAVE A FOUR-DAY HAIR ROUTINE THAT MINIMIZES THE WORK I HAVE TO DO TO KEEP THOSE LOCKS MAINTAINED.  I CAN’T TAKE A SHOWER UNLESS THE BATHROOM IS ABSOLUTELY SPOTLESS; I THINK I’M TOTALLY OCD. I HAVE A CLEANER WHO COMES THREE TIMES A WEEK, BUT I ALWAYS DO THE CLEANING ON TOP OF THAT.

Hobbies🥺
OTHER THAN FIVE SHOTS OF VODKA IN VEGAS EVERY THREE YEARS I DO NOT PARTAKE IN POPULAR VICES LIKE ALCOHOL AND DRUGS. I DO, HOWEVER, LIKE TO PUT EQUAL IN MY ICED TEA.

Articles
None published yet


enzyme@3: wrapper is not updated even if there was a new render

Hi. Just faced this after updating to v3.
Given the following deps:
├─<EMAIL_ADDRESS>├─<EMAIL_ADDRESS>├─<EMAIL_ADDRESS>├─<EMAIL_ADDRESS>└─<EMAIL_ADDRESS>
And the HOC:
import React, { Component } from 'react'

const testHOC = (Target) => class TestClass extends Component {
  constructor (...args) {
    super(...args)

    this.state = {}
    this.onTest = this.onTest.bind(this)
  }

  onTest () {
    this.setState({
      foo: true
    })
  }

  render () {
    console.log(this.state)

    return (
      <Target {...this.props} {...this.state} onTest={this.onTest} />
    )
  }
}

export default testHOC

And the test:
import React from 'react'
import { mount } from 'enzyme'
import testHOC from './testHOC'

describe('testHOC', () => {
  it('should work', () => {
    const Target = () => null
    const EnhancedTarget = testHOC(Target)
    const wrapper = mount(
      <EnhancedTarget />
    )

    wrapper.find(Target).prop('onTest')()

    console.log(
      wrapper.debug()
    )
  })
})

I see:
  console.log testHOC.js:18
    { foo: true }

  console.log testHOC.spec.js:15
    <TestClass>
      <Target onTest={[Function]} />
    </TestClass>

So the was a new render, but wrapper just didn't react to it. Works fine with v2.
Please correct me if I was wrong all this time and test should be written in another way.

Wrappers are immutable in enzyme 3; this is in the migration docs.
Try wrapper.update() after invoking your function.

Already tried and now re-tried, same result.

I'm also experiencing the same behaviour with the same deps on some of my component tests (non-HOC) where the state updates, but the wrapper does not, even after calling .update().
Placing console.log's in the component under tests render method show's things rendering correctly during the test, I just can't seem to assert properly after an .update(), .debug() outputs the initial component. .state() shows the correct state after an .update()

Im also experiencing the same behavior when using conditional rendering, here is a reproduction repo https://github.com/yesmeck/enzyme-set-props-bug.

I created a separate issue https://github.com/airbnb/enzyme/issues/1163.

Same issue. I can confirm that render is running appropriately, and I can even get the updated values from wrapper.state, but wrapper.update doesn't reflect the re-rendered component.

Same issue here.

I did some heave debugging for https://github.com/WordPress/gutenberg/pull/2813 and it looks like we are having the same kind of issues that are reported in this thread and  here.
I tried to add recommended wrapper.update(); call after the click event is simulated, but it didn't help. It's quite interesting scenario because the part of the component that depends on the component's state (https://github.com/WordPress/gutenberg/blob/ad316ab1f8cfe60aeeb45ff27d45336bfb214c3c/editor/inserter/menu.js#L384) gets properly updated, but the other part (https://github.com/WordPress/gutenberg/blob/ad316ab1f8cfe60aeeb45ff27d45336bfb214c3c/editor/inserter/menu.js#L366) which also is conditionally rendered based on the components' state doesn't show up in the output of wrapper.debug() call. When I debugged it turned out that React component does everything properly behind the scenes. It looks like Enzyme gets out of sync.

Confirmed what @gziolo said. The component is updated properly. .html() returns the right structure. But the ReactWrapper itself is out of sync.

This is hopefully fixed in<EMAIL_ADDRESS>Please upgrade and let us know if it does not fix your issue. Thanks!

This seems to still be an issue in<EMAIL_ADDRESS>wrapper.update() does not work. Yet console logs in the source code show that state is being updated.  .html() shows the correct structure.  I can point you to a repo with the failing test if that helps.

@mrbinky3000 .html() isn't as useful as .debug(), what does that show?

ImageWithZoom has a state property named "hovering".  It starts of false as expected.
  console.log src/ImageWithZoom/ImageWithZoom.jsx:89
    ImageWithZoom.render() state { isImageLoading: false,
      hovering: false,
      style: {},
      x: null,
      y: null }

This is a debug() dump of the wrapper before the mouseover event.
  console.log src/ImageWithZoom/__tests__/ImageWithZoom.test.jsx:38
    before mouseover debug:
     <ImageWithZoom src="bob.jpg" tag="div">

        <Wrapper className="image carousel__zoom-image" tag="div" src="bob.jpg" isBgImage={true} onLoad={[Function]} onError={[Function]}>
          <Image hasMasterSpinner={false} orientation="horizontal" className="image carousel__zoom-image" tag="div" src="bob.jpg" isBgImage={true} onLoad={[Function]} onError={[Function]} carouselStore={{...}} alt="" height={{...}} renderError={{...}} renderLoading={{...}} style={{...}}>

          </Image>
        </Wrapper>
        <Wrapper className="overlay carousel__zoom-image-overlay" tag="div" src="bob.jpg" style={{...}} isBgImage={true} onMouseOver={[Function]} onMouseOut={[Function]} onMouseMove={[Function]}>
          <Image hasMasterSpinner={false} orientation="horizontal" className="overlay carousel__zoom-image-overlay" tag="div" src="bob.jpg" style={{...}} isBgImage={true} onMouseOver={[Function]} onMouseOut={[Function]} onMouseMove={[Function]} carouselStore={{...}} alt="" height={{...}} onError={{...}} onLoad={{...}} renderError={{...}} renderLoading={{...}}>

          </Image>
        </Wrapper>

    </ImageWithZoom>

This is the .html() of the wrapper before the mouseover event is triggered.
  console.log src/ImageWithZoom/__tests__/ImageWithZoom.test.jsx:39
    before mouseover html:

This is a console log in the ImageWithZoom component to acknowledge that our mouseover method was called.  It sets the state property "hovering" to true.
  console.log src/ImageWithZoom/ImageWithZoom.jsx:41
    ImageWithZoom.handleOnMouseOver()

This console log is from the ImageWithZoom render method. It shows that the "hovering" state property is now true, as expected.
  console.log src/ImageWithZoom/ImageWithZoom.jsx:89
    ImageWithZoom.render() state { isImageLoading: false,
      hovering: true,
      style: {},
      x: null,
      y: null }

This .html() dump shows that the component has added the class 'carousel__zoom-image-overlay--hovering' in response to the state property "hovering" now being true.
  console.log src/ImageWithZoom/__tests__/ImageWithZoom.test.jsx:41
    after mouseover html:

However, Enzyme has not been updated to reflect the state change.  The css class "carousel__zoom-image-overlay--hovering" is missing. Hence, my tests fail.
  console.log src/ImageWithZoom/__tests__/ImageWithZoom.test.jsx:42
    after mouseover debug
     <ImageWithZoom src="bob.jpg" tag="div">

        <Wrapper className="image carousel__zoom-image" tag="div" src="bob.jpg" isBgImage={true} onLoad={[Function]} onError={[Function]}>
          <Image hasMasterSpinner={false} orientation="horizontal" className="image carousel__zoom-image" tag="div" src="bob.jpg" isBgImage={true} onLoad={[Function]} onError={[Function]} carouselStore={{...}} alt="" height={{...}} renderError={{...}} renderLoading={{...}} style={{...}}>

          </Image>
        </Wrapper>
        <Wrapper className="overlay carousel__zoom-image-overlay" tag="div" src="bob.jpg" style={{...}} isBgImage={true} onMouseOver={[Function]} onMouseOut={[Function]} onMouseMove={[Function]}>
          <Image hasMasterSpinner={false} orientation="horizontal" className="overlay carousel__zoom-image-overlay" tag="div" src="bob.jpg" style={{...}} isBgImage={true} onMouseOver={[Function]} onMouseOut={[Function]} onMouseMove={[Function]} carouselStore={{...}} alt="" height={{...}} onError={{...}} onLoad={{...}} renderError={{...}} renderLoading={{...}}>

          </Image>
        </Wrapper>

    </ImageWithZoom>

Here is the test.
  it('should add hovering classes to the overlay when mouse is hovering', () => {
    expect(imageWithZoom.find('div.overlay').hasClass('hover')).toBe(false);
    expect(imageWithZoom.find('div.overlay').hasClass('carousel__zoom-image-overlay--hovering')).toBe(false);

    console.log('before mouseover debug:\n', imageWithZoom.debug());
    console.log('before mouseover html:\n', imageWithZoom.html());
    imageWithZoom.find('Wrapper.overlay').simulate('mouseover');
    console.log('after mouseover html:\n', imageWithZoom.html());
    console.log('after mouseover debug\n', imageWithZoom.debug());

    expect(imageWithZoom.find('div.overlay').hasClass('hover')).toBe(true);
    expect(imageWithZoom.find('div.overlay').hasClass('carousel__zoom-image-overlay--hovering')).toBe(true);
  });

@mrbinky3000 thanks; can you file this separately?

@ljharb I created issue #1400
Thanks for looking into this.

I updated to all the latest and the problem persists. I did find a clue, however. This only seems to occur if the component being wrapped had rendered a null; calling .update() in that case causes nothing to update even if the render method returned new content. If the null is replaced with, say, a
, then .update() works correctly.

Same problem here.
setState is inside the method I am trying to test.
So when calling the method from the test and even when I do a wrapper.update the state of the component isn't updated. I have tried both with mount and shallow
test.js
const wrapper = shallow(<Panel {...props} />);
const appInstance = wrapper.instance();

appInstance.handleChange(data);

panel.js
handleChange(data){
   this.setState({
       test: data
   })
}

This appears to remain an issue in<EMAIL_ADDRESS>Will the fix be backported for earlier versions of React/Adapters?

I'm also using the react adapter for React 15 and having the same issue, please let us know if you are going to implement the fix for this adapter. Thanks.

@jneander and @diablouma I don't think wrapper.update() is broken in<EMAIL_ADDRESS>I'm running 1.0.5 now and it works for me.
I spent some time (hours) debugging a similar issue this afternoon. In my case, the issue was that I was doing this:
wrapper.find('form').simulate('submit');
wrapper.update();

And expecting simulate to be synchronous. It wasn't. I had an await inside my event handler and when execution hit that await it surrendered execution from the event handler back to the test briefly. NOTE that I am not saying await did not wait successfully. It did, from the perspective of the event handler. However, from the perspective of the test itself, it didn't. I'm not sure what the technical term for that is, but you can imagine that they are two separate async processes running at the same time and control briefly switched from the event handler process to the test process.
You can test this the old school way by putting a ton of console.log('before such and such') statements all throughout your test and your event handler and see what order they are printed when the test executes.
The issue is that events in JS do not return promises. So there is no way to do the equivalent of this:
await wrapper.find('form').simulate('submit');
wrapper.update();

However, event handlers can return promises. So the solution, in my case, was to call the event handler directly, rather than use simulate. Example, where handleSubmit() is my event handler:
let fakeEvent = {preventDefault(){}};
await wrapper.instance().handleSubmit(fakeEvent);
wrapper.update();

I got this idea from the owner of the enzyme repo in this comment: https://github.com/airbnb/enzyme/issues/1054#issuecomment-318811871
He says:

Personally I think simulate should never be used - there's no common, reliable way for the event handler code to communicate to enzyme when its possibly async actions are completed. What I'd recommend is making your event handlers always return a promise; if you setState in them, resolve that promise in the setState callback; and then instead of ever using simulate, get the prop manually and invoke it directly in your tests.

Hope that helps someone save some time. (Also, I hope I'm on the right track here)

Hi,
In case this helps anyone, I was also struggling with this issue, specifically where a component was asynchronously fetching data in componentDidMount. The data was being retrieved from a stub function that returns Promise.resolve(data). A tip I picked up from http://engineering.pivotal.io/post/react-integration-tests-with-enzyme sent me in the right direction. I simply needed to defer my wrapper.update() till after the promise resolves, which is easy to predict in the case of Promise.resolve(...).
// Mount component, which will asynchronously retrieve data in componentDidMount()
const wrapper = mount(<App/>);

// Block test until event loop has processed any queued work (including our data retrieval)
await new Promise((resolve) => setTimeout(resolve, 0));

// Update as normal
wrapper.update();

// Assert
expect(...)

Versions:
"enzyme": "3.3.0",
"enzyme-adapter-react-16": "1.1.1",
"jest-enzyme": "4.2.0",
"react-test-renderer": "16.4.0"

We have encountered a similar issue (please let me know if If got yours wrong) and created a codesandbox to demo/reproduce. The test is in enzyme.spec.js and you have to click on the tests tab at the bottom.
Consider the following small component:
class Item extends Component {
  state = { clicked: false };
  render() {
    return (

         {
            this.setState(state => ({ clicked: !state.clicked }));
          }}
        >
          test

    );
  }
}

Whenever I click the span, the data-clicked prop should change.
Here is a test that fails, but imo should work:
it("should work without re-querying", () => {
    const rendered = mount(<Item />);

    const span = rendered.find("span");
    expect(span.prop("data-clicked")).toBe(false);

    span.simulate("click");
    rendered.update(); // calling update also does not seem to help
    expect(span.prop("data-clicked")).toBe(true);
  });

However, if you re-query the span after clicking it, it works.
  it("should work with re-querying", () => {
    const rendered = mount(<Item />);

    let span = rendered.find("span");
    expect(span.prop("data-clicked")).toBe(false);

    span.simulate("click");
    span = rendered.find("span");

    expect(span.prop("data-clicked")).toBe(true);
  });

I wonder if that is intended behavior? We often run into troubles due to that.
Thank you. :)

I had a similar issue with wrapper not being updated and I think there might be a confusion regarding usage of wrapper.update().
@ljharb wrote that it is immutable and example http://airbnb.io/enzyme/docs/api/ShallowWrapper/update.html shows its usage in non-immutable way.
:-1: Anyway, for my case the following did not work for me:
const wrapper = mount(<Component />);
// do some stuff with wrapper...
wrapper.update();
expect(wrapper).toMatchSnapshot();

:+1: But, the following did work as expected:
let wrapper = mount(<Component />);
// do some stuff with wrapper...
wrapper = wrapper.update(); // NOTE immutable usage
expect(wrapper).toMatchSnapshot();

Should http://airbnb.io/enzyme/docs/api/ShallowWrapper/update.html example be corrected?

@mieszko4 thanks, this worked for me. I managed to solve several enzyme2 -> enzyme3 issues by simply calling wrapper.update(), however, in this case I had to wrapper = wrapper.update().

I seem to have the same problem:
"enzyme": "^3.3.0",
"enzyme-adapter-react-16": "^1.1.1",

I've read through all posts here and tried every single solution, none of it worked. tree.html() gives the correct result ({ opacity: 1 }), but .update() returns a stale value.
I am currently trying to add tests to react-spring, some animation lib for react, but i'm stuck on this. The weirdest thing is, normal springs work, but native springs don't (it applies values in a raf-loop outside of react). The test is here, the commented line causes enzyme to get hang up: https://github.com/drcmda/react-spring/blob/master/tests/test.js#L29

@mieszko4 "immutable" wasn't meant to mean "nothing can ever change", or else there wouldn't be a setProps or setState method. It's more that wrappers won't rerender automatically, and sub-wrappers aren't connected to the root wrapper.
If the docs can be improved, a PR is always welcome.

Is this supposed to be fixed?
I have this code:
const wrapper = mount(<Component/>)
// simulate event
console.log(wrapper.html())
console.log('length', wrapper.find('.edit-choice').length)

results:
//html()
//includes element with className edit-choice

//wrapper.find()
//length 0

@maloguertin it's pretty hard to tell when you elide parts of the code; however it's likely that you need a wrapper.update() after you simulate the event. Separately, use .debug(), not .html(), since the latter does a full render.

This is an old issue that's very long, and there's been numerous updates since all of the comments.
I'm going to close this, since it's not clear to me what's still broken.
If you're still having trouble, please do file a new issue, with a clear repro step, filling out the template - and we'll get it addressed ASAP.

"react": "^16.4.1",
"enzyme": "^3.7.0",
"enzyme-adapter-react-16": "^1.7.0",
same issue

@guofei0723 please file a new issue if you're having trouble.

I had a similar issue. I fixed it by replacing
const wrapper = mount(<Component />);
const button = wrapper.find('.button');
// Do some stuff with the button...
button.update();
expect(button.prop('type')).toEqual('foo');

with
const wrapper = mount(<Component />);
const button = wrapper.find('.button');
// Do some stuff with the button...
wrapper.update();
expect(wrapper.find('.button').prop('type')).toEqual('foo');

The .update() method must be called on the root wrapper, not on a child wrapper. The method mutates the root wrapper but doesn't mutate any child wrapper so I have to find the button again.

@Finesse yes, that's part of v3 - you always have to re-find from the root.

I found something that works.
Add these middle two lines.
wrapper .find(...Your thing) .simulate('click'); //Click event on wrapper
await wrapper.instance().forceUpdate(); //THIS ONE
wrapper.update();  //AND THIS ONE
expect(....).toHaveLength(1); //Your assertion here

@Jlevett Calling forceUpdate can spoil your test because React may skip updates in some cases and you need to check that React has or hasn't skipped the update.

FWIW I was having the same issue. The I added the done parameter to the it function and called it at the end, and that fixed my problem.
it('does something', done => { .... done()})

I am having issue
componentDidMount() updating the state vale and then a Array.map() renders list of dropdown ,that means new render should be generated but i am unable to get that updated wrapper .
I want to get those dropdown items to simulate click and test method of react component .
"enzyme": "^3.11.0",

"enzyme-adapter-react-16": "^1.15.2",

"react": "^16.8.6",

"react-router-dom": "^4.2.2",

"react-test-render": "^1.1.2"

@guruusingh2033 i'd suggest avoiding simulate entirely; but please file a new issue with more detail if you're still having trouble.

Here is the wrapper
const wrapper = mount(
<Provider store={configureStore()}>
        <IntlProvider
          locale={currentAppLocale.locale}
          messages={currentAppLocale.messages}
        >
          <MemoryRouter initialEntries={["/list"]}>
            <ListPage match={{ url: "localhost:3000", path: "list" }} location={{ state: undefined }} />
          </MemoryRouter>
        </IntlProvider>
      </Provider>
)

How can I test async method of ListPage  component/wrapper

@guruusingh2033 for one, pass the Providers and MemoryRouter using wrappingComponent, so that you're wrapping ListPage directly.

@guruusingh2033 for one, pass the Providers and MemoryRouter using wrappingComponent, so that you're wrapping ListPage directly.

Could you share any reference/link please ?

See the API docs.


Added override of ToString for Logger.Scope

Resolves #893 and resolves #894
Updated to react to CreateScopes introduced with #883

Will become obsolete when #929 is merged.

Fixed by https://github.com/aspnet/Logging/pull/929 in a bit more generic way.


updated the style.css and index.html

improved the style of  nav-items on hovering and also resolved the header

And what about the header part is it ok?

Add a minimal effect to this you can improve it by adding different colour on selection. NO, underline feature, please.

Yes please remove the underline effect and remove the effect of zoom out. Keep it more simple.
Take reference from here


Sig meeting use cases

Add the use cases from the 20161024 SIG meeting to the use-case doc.

Actually, I am going to make an issue for this instead.


HtmlAttributeCollection.Contains - consider using string.Equals(value, StringComparison)

Hi,
First off, thank you for the library, it's great.
One potential issue I found when working with attributes, performance wise, is the usage of .ToLower() in HtmlAttributeCollection.Contains() et al. This could be avoided by either using the string.Equals(value, StringComparison.OrdinalIgnoreCase) or allowing the caller to specify the type of string comparison it wants to execute.
I can submit a PR if you're comfortable with the idea.

Hello @jpmnteiro ,
It's already part of the following pull: #97
However, I believe it's faster to move the lower outside of the loop instead to use StringComparison
By example:
var lName = name.ToLower();
for (int i = 0; i < items.Count; i++)
{
	if (items[i].Name.Equals(name))
		return true;
}

Let me know if that answer successfully to your question.
Best Regards,
Jonathan
Help us to support this library: Donate

Had not seen #97, but the changes there would sort the issue in my view.
The problem here is that the call to .ToLower() occur every time when you check if an attribute exists on the collection, even if the input's already a lowercase string (which is fine, you can't trust the input).
But by allowing the caller to specify the type of comparison (overload of the current .Contains(string) method), you could avoid unnecessary work as the caller would know what comparison would suit him/her best.

Hello @jpmnteiro ,
You got a good point ;)
👍


Receive "We're sorry, but something went wrong" error when delivering web hook

GitHub has received a 500 error when delivering web hooks for the jshint/jshint project consistently since 2015-02-25 11:22:44 . This may be related to gh-104, but since the error is a generic 500 and being reported by a separate resource, it's hard to say.

I'm happy to share request/response pairs as necessary.

Is this still an active issue? I checked the logs and JSHint seems to be working in there and the latest Pull Request looks like it successfully checked the CLA.

https://github.com/cockroachdb/cockroach is still affected as of this writing.

Hi @tamird please try the following steps (or have whomever setup cockroach do so):

Go to https://github.com/settings/applications
Revoke access to clahub
Go to http://www.clahub.com/ and click "sign out" if you are already signed in.
Go to http://www.clahub.com/ and sign in to clahub
Grant it the appropriate GitHub permissions
Try submitting a new pull request to see if it works.

Turns out we're not actually using clahub anymore, and simply neglected to delete the webhook. Consider my comment moot.

No worries. From my end it looked like there were not appropriate permissions so someone must have started the removal process but did not finish.

Sounds about right. Might be worth improving the returned error for the
future.
On Tue, May 17, 2016 at 1:33 PM, Matthew Zagaja<EMAIL_ADDRESS>wrote:

No worries. From my end it looked like there were not appropriate
permissions so someone must have started the removal process but did not
finish.
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/clahub/clahub/issues/105#issuecomment-219793758


Upload of valid PEM certificate + key file throws error citing missing private key

This issue is a:

[x] bug report -> please search issues before submitting
[ ] documentation issue or request
[x] regression (a behavior that used to work and stopped in a new release)

Issue description
When trying to upload a PEM-encoded certificate + private key file, which I have verified is valid, both the Azure portal and API throw an error:
Failed to add new private key certificate: <cert name>. Certificate must contain one private key.

To troubleshoot, I tried:

Uploading a bundle which had successfully uploaded in the past - same error
Uploading the bundle without the private key - same error
Uploading a bundle without the full chain - same error
Uploading specifying a different friendly name - same error

I suspect this is a regression, as I have successfully uploaded these certificates as recently as three weeks ago.
Steps to reproduct

Establish a Container Apps Environment in the Portal
Attempt to upload a PEM-encoded certificate and key bundle
Observe the error returned in the Portal

Expected behavior [What you expected to happen.]
The certificate is uploaded successfully and is made available to the Apps inside the Environment.
Actual behavior [What actually happened.]
The error described above, which did not previously happen.
Screenshots
n/a
Additional context
This is a Let's Encrypt certificate obtained via CertBot. I have previously successfully uploaded a Let's Encrypt certificate to Container Apps, which makes me suspect this is a regression. I am using the Pulumi infrastructure-as-code tool, with the Azure Native provider, creating a Certificate resource. All of this worked in the past. Additionally, because of the Pulumi workflow, I am locked in to using PEM certificate bundles, as the only upload method I can currently use only supports text.

Hi, you need to convert your cert openssl pkcs12 -inkey cert.key -in cert.pem -export -out output.pem. We will update the docs. @craigshoemaker

Thanks for the update, @torosent . Does this mean that Container Apps is dropping support for text-encoded PEM files?

No. It's not supported yet but it's in our backlog.

You're certain it's not supported? I was successfully uploading text-encoded PEM files just a few weeks ago, and the Azure portal was recognizing them correctly.

Further, when I tried uploading the certificate after processing it using openssl pkcs12 -inkey cert.key -in cert.pem -export -out output.pem as you suggested, the Azure Portal rejected it as invalid with the message:
Failed to add new private key certificate: <cert name>. The certificate <cert name> is invalid or password is incorrect.

@vinisoto , can you confirm please?

Hey @vinisoto , thanks for the suggestion. Sadly, the CLI also rejects the certificate with the same Certificate must contain one private key. message. I suspected this would be the case, as the AzureRM API is giving the same message when Pulumi tries to upload the certificate

Seeing as this error is consistent across the Portal, CLI, and API, and I have made sure the certificate and key are valid, I'd speculate that it suggests that Container Apps' cert verification mechanism is the source of the regression. Please let me know if there's anything else I can provide to help troubleshoot :)

This validation was recently added. I'm checking internally and will get back to you soon.

Hi @bbi-willemtoorenburgh
The pfx file you're uploading, if you read it with openssl
$ openssl pkcs12 -in output.pfx -nodes

how many -----BEGIN CERTIFICATE----- and -----BEGIN PRIVATE KEY----- do you see in it? You can have multiple certificates for the chain, but only one private key and its corresponding public cert.
The key must be either an RSA key with minimum length of 2048, or a P256 ECDSA key.

The docs page, has no mention of PEM not being a supported format. Given PEM is a lot more common than PFX as it's the format output by most OpenSSL tools, I expect many customers to trip over this. I also encountered this problem on #239

Hey @ahmelsayed , thank you for the response. I can confirm that the PEM cert bundle has multiple -----BEGIN CERTIFICATE----- lines for the main cert and the chain, and one -----BEGIN PRIVATE KEY-----.
@benc-uk , thanks for weighing in. The reason I was trying to use a PEM cert was that in the Pulumi provider docs for Container Apps, it mentions both PFX and PEM. My understanding is that those docs are auto-generated, along with the actual code for the provider, by a tool of theirs which consumes the API spec for Azure. I believe this means that the description for the certificate resource, which mentions PFX and PEM, comes from Azure's own API docs. Indeed, it's in the CLI docs.

@bbi-willemtoorenburgh I have tagged this a bug. Although we will work to support PEM shortly, for now we should change the documentation to specify that Container Apps only supports PFX.

@bbi-willemtoorenburgh Good spot! It turns out the API specs for ManagedEnvironments states that PEM is accepted, perhaps it was added to the spec, but the feature support slipped. Oh well it happens 🤷
https://github.com/Azure/azure-rest-api-specs/blob/37966a6de2451407408adc2da5ab25631f0dd9b9/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/ManagedEnvironments.json#L889

Thanks @vinisoto . For the time being, I'm trying to upload a PFX version of my cert bundle, and both the Portal and the API are saying the bundle is invalid. Has anyone had any success uploading any certificates?

I suppose it's also worth noting that the Portal also does mention support for both PEM and PFX

I have had no luck and facing the same issue. PEM and PFX giving the same errors as @bbi-willemtoorenburgh

I've encountered the same issues when trying to upload a certificate from LetsEncrypt. I generated the PFX including the full chain, but neither the Portal nor the CLI would accept it. The portal failed with the following error message:

and the Azure CLI failed with Certificate must contain one private key..
I've found the following workaround to be successful:

Import the PFX file as a certificate into Azure Key Vault
Export the certificate in "PFX/PEM Format"
Upload this certificate to the Azure Container Apps Environment
Assign the custom domain using the certificate

Interestingly, this downloaded certificate file only contains the certificate and the private key with the intermediate certs only being mentioned as the issuer, as can be seen when running openssl pkcs12 -in cert.pfx -nodes:
Bag Attributes
    localKeyID: 01 00 00 00
    friendlyName: {002BDB3F-F8DC-4775-92BE-D10EFF7F7E9B}
    Microsoft CSP Name: Microsoft Enhanced Cryptographic Provider v1.0
Key Attributes
    X509v3 Key Usage: 10
-----BEGIN PRIVATE KEY-----
...
-----END PRIVATE KEY-----
Bag Attributes
    localKeyID: 01 00 00 00
subject=CN = my.domain.example
issuer=C = US, O = Let's Encrypt, CN = R3
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----

We have added support for PEM certificates. The rollout has begun and will be available in all supported regions by 8/18

Hey @vinisoto ! I'm happy to confirm that certificates are uploading successfully! I have been unable to test their functionality due to a new regression in secret management, but I'll make a new issue for that.

for anyone who wants to skip using the az keyvault export as pfx/pem as described above:

I've found the following workaround to be successful:
Import the PFX file as a certificate into Azure Key Vault
Export the certificate in "PFX/PEM Format"
Upload this certificate to the Azure Container Apps Environment
Assign the custom domain using the certificate

I wanted to automate it fully on CLI so had been trying 'openssl' tool, eventually got it working using an alternate 'step' cli tool.
# create a 90 day certificate
step certificate create test1.my.domain.net steptest1.crt steptest1.key --profile self-signed --subtle \
  --kty RSA --size 4096 \
  --san test1.my.domain.net \
  --not-after 2160h \
  --insecure --no-password

# package the crt and key together as a PFX/PKCS12 file
step certificate p12 test1.p12 steptest1.crt steptest1.key \
  --insecure --no-password

# az cli accepts only .pfx or .pem
cp test1.p12 test1.pfx

# add to cae
az containerapp env certificate upload -g my-cae-rg --name my-cae \
                                       --certificate-file ./test1.pfx \
                                       --certificate-name my-test1-90day-cert

# then cert will be available for binding to container apps at test1.my.domain.net

Leaving this here for anyone searching for why their PEM file upload is invalid on azure cli because it cost me 2 hours yesterday.
Despite containing newlines being the spec compliant format, you need it in a single line format to get the upload working from cli:
./intermediate-ca.crt | tr -d '\n' > ./intermediate-ca-formatted.crt
az eventgrid namespace ca-certificate create \
         --resource-group rg-name \
         --namespace-name ns-name \
         -n intermediate-ca \
         --certificate  ./intermediate-ca-formatted.crt

I imagine that whatever is happening here would use similar verification/parsing code.


Fix "commit does not exist" errors

The process to spawn an automatically merged branch and then to deploy it to test server was so quick that deploytools often did not manage to sync with git in the meantime. Adding an explicit sync fixes the problem.
/cc @macbre @jcellary

:+1:
Btw, what does --boring option do?

Just imagine what is best described by being --boring?
The answer is "no colors in the output".


Informative post

I like the way the document itself is open sourced.

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

ID: 3d445808-e61d-ccc2-3696-ef3ea109a662
Version Independent ID: 8a9e706a-c350-1271-dcb8-883e166423b4
Content: Create an ASP.NET Core web app in Azure
Content Source: articles/app-service/app-service-web-get-started-dotnet.md
Service: app-service-web
GitHub Login: @cephalin
Microsoft Alias: cephalin

@SafiBaqri Thanks for the nice feedback!


Unable to load attached Storage Account. Error: Cannot read property 'version' of undefined

Hi @sijacao what version of Storage Explorer are you on? We also have instructions for how to handle this in our troubleshooting guide.

Closing due to lack of response.


Switch to our own fork of rust-secp256k1-zkp

Thx! Lol, I had the same PR in the works, had already updated the minimint branch in secp-zkp but got distracted while the tests were running xD


net/quagga : allow manual file config

Hello,
I currently prepare a migration of a pfSense box to opnSense
I need to put manual config for quagga because gui allow a little part of quagga conf
Do you plan to allow quagga manual conf files as pfSense today ?
I have modified manual by ssh but if someone use gui files are replaced.
Thanks.

Hi,
no, there wont be a field for manual config. You can paste the parts you want/need and we'll implement them if possible

If you want to do manual configuration, you can also install quagga or frr without the plugin. As soon as you uninstall the plugin, your configuration will not be overwritten anymore (but your setup may break in some cases).
just use pkg install quagga on the shell.
The old how to page still exists: https://docs.opnsense.org/manual/how-tos/quagga.html

for short-term I recommend the package approach, we've made sure that services autostart when you add them to rc.conf and don't interact with the rest of the system in a negative way.
long-term asking for features in quagga (or probably frr in the mid-term) is the best bet to get everything into the GUI, API and config.xml

Principally :

zebra password
ospf md5 auth

I currently check if other keys are mandatory because it's migration of a very old network(2006) so confs files has lot of died confs
Thanks for quick reply
Envoyé de mon iPhone

Le 22 oct. 2017 à 16:02, Michael<EMAIL_ADDRESS>a écrit :
Hi,
no, there wont be a field for manual config. You can paste the parts you want/need and we'll implement them if possible
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

a password can be set per interface if needed - maybe thar works.
what is the zebra password needed for?

Perfect,
thanks
I not see this.
Another question
Is it simple to migrate from pfSense 2.3 ? Reimport certificates is not a problem, i need a way for migrate especially for thousands firewall rules. I can reconfigure ospf after migration


.golangci.yml: Sync with k/release@fa4837a

What type of PR is this?
/kind cleanup
What this PR does / why we need it:
(Peeling some commits off of https://github.com/kubernetes-sigs/k8s-container-image-promoter/pull/291.)
Signed-off-by: Stephen Augustus<EMAIL_ADDRESS>Which issue(s) this PR fixes:

Special notes for your reviewer:
Does this PR introduce a user-facing change?

NONE

/lgtm


Querysets as_for

Hi all
I discovered simple-history a few days ago and it fits my needs : have a snapshot of my models along the time
I tried with a simple item model with name and price
I did not find out how to query historical data to get my queryset in the past
For exemple : how to get Items.objects.filter(xxx) or items.objects.all() on Jan 1st 2018 ?

items.history.as_of(datetime.date(2018, 1, 1)) should work.

Yep, but unfortunately it returns a generator, not usable as it to sort, filter or Q , or even use in a cbv ?

The code being hit is here on the manager:
    def _as_of_set(self, date):
        model = type(self.model().instance)  # a bit of a hack to get the model
        pk_attr = model._meta.pk.name
        queryset = self.get_queryset().filter(history_date__lte=date)
        for original_pk in set(
                queryset.order_by().values_list(pk_attr, flat=True)):
            changes = queryset.filter(**{pk_attr: original_pk})
            last_change = changes.latest('history_date')
            if changes.filter(history_date=last_change.history_date,
                              history_type='-').exists():
                continue
            yield last_change.instance

You're welcome to override this and generate the queryset the way you'd like.

#229 should also fix this issue. Planning on getting to that PR soon, but feel free to use it as an example of what you can do locally

Covered in #397

Either I'm not entirely sure what was meant by as_for, I reckon the idea was to extend the history query capabilities. If so, here is a recipe that could be used:

Create a custom HistoricalRecords (overwrite descriptor)
Create a custom HistoryDescriptor (create manager from HistoryQuerySet)
Extend HistoryManager (define customized HistoryQuerySet, add own query methods)
Register your django model using your defined custom classes

Steps 1-3: create e.g. history.py in your project structure with the django-simple-history customizations:
# django-simple-history customizations
from simple_history.models import default_get_user, HistoricalRecords
from simple_history.manager import HistoryDescriptor, HistoryManager
import simple_history.utils as utils

class HistoryQuerySet(models.QuerySet):
    """Customized django-simple-history QuerySet"""
    # extend your QuerySet to your liking
    pass

class CustomHistoryDescriptor(HistoryDescriptor):
    """Customized version of django-simple-history HistoryDescriptor"""

    def __get__(self, instance, owner):
        if instance is None:
            return HistoryManager.from_queryset(HistoryQuerySet)(self.model)
        return HistoryManager(self.model, instance)

class CustomHistoricalRecords(HistoricalRecords):
    """Customized HistoricalRecords base class"""

    def __init__(self, verbose_name=None, bases=(models.Model,),
                 user_related_name='+', table_name=None, inherit=False,
                 excluded_fields=None, history_id_field=None,
                 history_change_reason_field=None,
                 user_model=None, get_user=default_get_user,
                 history_descriptor=HistoryDescriptor):
        super(CustomHistoricalRecords, self).__init__(
            verbose_name=verbose_name,
            bases=bases,
            user_related_name=user_related_name,
            table_name=table_name,
            inherit=inherit,
            excluded_fields=excluded_fields,
            history_id_field=history_id_field,
            history_change_reason_field=history_change_reason_field,
            user_model=user_model,
            get_user=get_user)
        self.descriptor_class = history_descriptor

    def finalize(self, sender, **kwargs):
        """Original `finalize` extended by customizing history descriptor"""
        super(CustomHistoricalRecords, self).finalize(sender, **kwargs)

        # get the historical model, overwrite the descriptor
        history_model = utils.get_history_model_for_model(sender)
        descriptor = self.descriptor_class(history_model)
        setattr(sender, self.manager_name, descriptor)
        sender._meta.simple_history_manager_attribute = self.manager_name

Step 4:
# in your models.py
from simple_history import register
from history import CustomHistoricalRecords, CustomHistoryDescriptor

# ... YourModel defined here

# register User model with django-simple-history
register(
    YourModel,
    records_class=CustomHistoricalRecords,
    inherit=True,
    history_descriptor=CustomHistoryDescriptor)

That's it! You can now extend your HistoryQuerySet with any methods you like.
Note that the Manager operates on the historical version of YourModel. Thus, it would be sensible to add a method to_instances() (or similar) to convert historical versions of QuerySet objects to the actual model instances (typically to be executed at the end of the query). Still, this will most likely return a generator, not a queryset. For example:
class HistoryQuerySet(models.QuerySet):
    """Customized django-simple-history QuerySet"""

    def to_instances(self):
        """Convert historical objects to model instances (via yield)"""
        for historical in self:
            yield historical.instance

As a possible improvement (if the above recipe holds) we could consider adding descriptor_class as kwargs to HistoricalRecords class to simplify the code above (and to allow for customized descriptor).
I hope you find the above useful.


Doesn't highlight net pins on current component

The current component doesn't get net pins highlighted.  The active component changes to numbered pins.
Also I cannot seem to find the name of the net on the selected pin.  It may be a feature that is left out or maybe I am missing something.
Awesome program, can't wait to use it

Had the program slightly off the bottom of the screen... Now I can see the information bar at the bottom that shows the net, component, pin, and probe point.  Thanks!


Add /modify a function in contoller file

How can add/ modify a controller file with out editing the original controller file from vendor.

Controllers in this package (i.e. the API ones) aren't extendable at the moment. Some upcoming changes to routing might enable you to specify your own controllers, but it's not possible currently unless you want to disable the package routes and write your own (effectively only using the models). Not keen on the idea anyway as I don't believe the API should be modifiable.
Front-end controllers can be extended in your app - just change the controller namespaces in the forum.frontend.controllers config.


Bump framework version

$subject

PR builder completed
Link: https://github.com/wso2/product-is/actions/runs/4977805959
Status: failure

PR builder started
Link: https://github.com/wso2/product-is/actions/runs/4977805959

PR builder completed
Link: https://github.com/wso2/product-is/actions/runs/4977805959
Status: success


Added AKNode.detach() call to AKNode deinit

AudioUnits and their underlying C++ DSP objects were not being deallocated upon destruction of owning AKNodes, due to a persistent AVAudioUnit reference from AVAudioEngine. Calling detach() in AKNode's deinit function solves this issue and allows the AudioUnit and the underlying C++ DSP objects to be deallocated.

Thank you!


opt: async wal flush

perform flushes of WAL in the background thread, reserving the main
thread for updating.

#152  👈
master

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @pepyakin and the rest of your teammates on  Graphite

I am pretty sure this is just bypassing the WAL altogether.
Running this code is much faster, but the background thread spends zero time flushing the WAL (because there is nothing to flush).
A couple sources https://github.com/facebook/rocksdb/wiki/WAL-Performance and http://rocksdb.org/blog/2017/08/25/flushwal.html say that the "correct" way to do this is to:

set manual WAL flush while opening
then call flush_wal

However, implementing that change doesn't give us the performance benefit, because most of the work is in creating the WAL in the first place, not flushing the changes to the OS page cache. I think we need to move db.write to the background thread altogether.

I have done some empirical tests and:
with diable_wal during writes: https://share.firefox.dev/49QF9WY
with set_manual_wal_flush while opening: https://share.firefox.dev/3Jx4mL4
both use nomt-bg-flusher to perform flush_wal but the first one does not flush anything while the second one does flush, but during commit it spend anyway most of the time in WriteToWal


Calling customized controls function with proper arguments

Summary of proposed changes
When I pass a function to customized controls, its not get correct this context because the function call with incorrect this context.
Checklist

[x] Use develop as the base branch
[x] Exclude the gulp build (/dist changes) from the PR
[ ] Test on supported browsers

Cheers for this! 👍


[Feature] Dynamic calendar height

Is your feature request related to a problem? Please describe.
Doesn't seem like a problem.
Describe the feature you'd like
Make the height of the red box part disappear.

Use cases
I need use calendar view with dynamic height. Any advice is welcome and appreciated!

Hi @jiaqiu-09 , this feature has been introduced with the latest release.
Simply set dynamicCalendarRows to true


Illinois - UP Receiver Migration Pre-Work

[STLT] = Illinois
User Story:
As a developer, I want to compare the messages generated from the Covid and Universal pipelines, so that I can successfully onboard [STLT] to the UP
Description/Use Case
[STLT] is already receiving data from the covid pipeline they will be onboarded to the UP where they will be receiving data from SimpleReport including Covid, Flu and RSV. We need to make sure the message we generate from the UP matches the Covid pipeline message.
Risks/Impacts/Considerations
Dev Notes:

[x] Fetch [STLT] organization settings from production and load them locally

[x] Use the attached SimpleReport covid postman collection and make sure the message gets routed to [STLT] locally. Modify the message to meet [STLT] filter if needed Simple Report Covid.postman_collection

[x] Make a copy of the [STLT] organization settings to onboard them to the UP. See How to Migrate an existing receiver to the UP documentation for more details: https://github.com/CDCgov/prime-reportstream/blob/master/prime-router/docs/onboarding-users/migrating-receivers.md

[x] Use this Postman collection to send a FHIR bundle the UP and make sure the message gets routed to the new UP [STLT] receiver. You may need to update the Simple Report sender to use the simple-report-sender-transform.yml if it's not using it. Simple Report UP.postman_collection

To migrate the Covid translation settings start by looking at their current translation settings. If the receiver uses  any of the following settings you will need to create a receiver schema:

receivingApplicationName
receivingApplicationOID
receivingFacilityName
receivingFacilityOID
messageProfileId
replaceValue
replaceValueAwithB
reportingFacilityName
reportingFacilityId
reportingFacilityIdType
suppressQstForAoe: true
suppressHl7Fields
suppressAoe: true
defaultAoeToUnknown
replaceUnicodeWithAscii
useBlankInsteadOfUnknown
usePid14ForPatientEmail: true
suppressNonNPI
replaceDiiWithOid
useOrderingFacilityName not STANDARD
receivingOrganization
stripInvalidCharsRegex

More documentation on how to set-up these transforms in the UP will be provided, but for now you can look for examples on how to set this up in either the NY-receiver-transforms or CA-receiver-transforms

If the receiver uses any of those transforms you will need to create a receiver transform under metadata/hl7_mapping/receivers/STLTs/ and update the receiver settings to point to this schema.

After migrating the receiver setting to the UP. Send another test message using the postman collection or feel free to use the PrimeCLI to test the sender and receiver transforms using this command:
./prime fhirdata --input-file {PATH TO INPUT FILE} -s metadata/fhir_transforms/senders/SimpleReport/simple-report-sender-transform.yml --output-format HL7 -r metadata/hl7_mapping/receivers/STLTs/{RECEIVER SCHEMA} --output-file {PATH TO OUTPUT FILE}

Compare the two messages again and document if there are any differences between the two messages. If there are review them with the team. We will probably need to ask the sender to add missing data or add a sender transform.

[ ] Use a diff tool of your choice and compare the two messages generated between the two pipelines and document the differences. You can find an example here RI/SR UP vs Covid

If there are no major differences we can move on to sending test messages to the STLTs staging environment.

Acceptance Criteria

[ ] Created and sent data to [STLT] through the covid pipeline locally
[ ] Created and sent data to [STLTS] through the universal pipeline locally
[x] Migrated  Covid receiver translation settings to the UP receiver settings
[x] Successfully generated a message with migrated UP receiver settings
[x] Review transforms settings with the team
[x] Compared messages from the covid and universal pipelines and documented differences and review with team

@oslynn to close

Pre-work is done.


Add support for connecting to a pool of servers

on connectionFailed, tell the pool to try with the next server address. The old messages will get retried on the previous server address till they eventually fail. ¯_(ツ)_/¯

Add provision to take servers out of rotation for a period of time

closing in favour of https://github.com/zopim/txconnpool/pull/1


Added tutorial doc on how to add a Space to Arxiv

Adds a step-by-steps post on how to add a Space to ArXiv. Closes: #526

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.

Thanks for the great suggestions @osanseviero and @julien-c!

Updated the URL to spaces-add-to-arxiv
Added references to datasets
Added more inter-linking
Added screenshots

Feel free to merge if you're happy with it :)

maybe we could have added a screenshot of what it looks like on Arxiv and/or a link to the blogpost where we announced the integration

Sure thanks for the suggestion @julien-c, will add later this week


remove b2b and fix pk of orders mart

What are the relevant tickets?
https://github.com/mitodl/hq/issues/4296
Description (What does it do?)
This changes the code so that the primary key of the marts__combined__orders table is generated via a reusable macro that can easily be added to other tables for joining. It also removed the b2b records and columns which will be put in a seperate table since they are not very common and only applicable to one platform.
How can this be tested?
dbt build --select marts__combined__orders

I wish we had discussed removing the b2b orders before you worked on this. I'm not sure I agree with your reasoning about removing it.
But now that it's gone, I guess we can leave it out until we can discuss it with the accounts receivable finance team.


By Section Type

Hi. This is really helpful and works great.
if ($entry->section->handle === 'blog' && !$this->event->isNew)
How might I check for section type, please?

@smockensturm do you mean entry type?

Maybe. Say we have a section called Forms with two types: Long and Short. Would that be $entry->type->handle or $entry->section->type-handle

$entry->type->handle should do the trick. Let me know!


Xiaomi Mijia Tempearature and Humidity sensor does not create any clusters

I am trying to gather all the data required to support this device. However my zigbee.db file only shows the following for the successfully paired device:
Devices shows nwk 12370 and status 2
Endpoints shows 3 entries with endpoint_id 1, 2 and 3 status 0 but no profile_id or profile_type
clusters, output_clusters and attributes does not contain anything for that node.
Is it possible that those devices are not using ZHA and are simply sending some zigbee messages to report temperature and humidity?
https://github.com/Koenkk/zigbee-shepherd-converters/blob/master/converters/fromZigbee.js#L348 seems to hint at that.

They're here... hopefully this weekend i'll have some time to play with these.

will be in next release


Update to 0.7.1

Yes, another update :)
I also re-rendered with conda-smithy 2.3.3

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.


Follow API-SIG guidelines on microversions

See here: http://specs.openstack.org/openstack/api-sig/guidelines/sdk-exposing-microversions.html
microversion should probably not be exposed to end users.

Will need this in gophercloud first: https://github.com/gophercloud/gophercloud/pull/1577

@stbenjam gophercloud/gophercloud#1577 landed, what work remains to close out this issue?

That was the easiest part, now we'll have to remove the microversion field from the provider and then dynamically determine the minimum version to use based on the features the user is requesting. I haven't thought a lot about the best way to do this yet, but I don't think it's super high priority in the short term.


Fix build failure with GCC10.1 and Werror

As found using jwt-cpp by @markus456 in issue Thalhammer/jwt-cpp#92

@kazuho  is it very hard to merge this patch?

@kazuho  is it very hard to merge this patch?

@kazuho is it very hard to merge this patch?

No it would be a one click operation, but it seems like this project is abandoned.

@kazuho is it very hard to merge this patch?

No it would be a one click operation, but it seems like this project is abandoned.

@kazuho  @Thalhammer  Thanks for the merge :)

@kazuho  @Thalhammer  Thanks for the merge :)


Hello! Can this extension be ported to the VSCode environment for use?

Hello! Can this extension be ported to the VSCode environment for use?

If you can use this extension in VSCode, the effect will be more ideal than Obsidian.

Because VSCode itself has IDE characteristics.

I can not port this plugin into VS Code. it's out of scope. Sorry for that


[Code Addition Request]: Addition of Hashing Algorithm

Have you completed your first issue?

[X] I have completed my first issue

Guidelines

[X] I have read the guidelines
[X] I have the link to my latest merged PR

Latest Merged PR Link
https://github.com/ML-Fusion-Lab/ML-Fusion-Lab-Website/pull/316
Project Description
I would like to add the hashing data structure.
I am interested to work on it.
Thanks @UTSAVS26
Full Name
Sindhuja Didugu
Participant Role
GSSOC contributor

@sindhuja184 you can only raise 1 issue at a time.


refactor(@angular/cli): update copyright year in license file

PR Checklist
Please check to confirm your PR fulfills the following requirements:

[x] The commit message follows our guidelines: https://github.com/angular/angular-cli/blob/main/CONTRIBUTING.md#-commit-message-guidelines
[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

PR Type
What kind of change does this PR introduce?

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[x] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[ ] Documentation content changes
[ ] Other... Please describe:

What is the current behavior?

Issue Number: N/A
What is the new behavior?

Does this PR introduce a breaking change?

[ ] Yes
[x] No

Other information

Thanks for your contribution however it appears that you have not signed the CLA.


feat(java): Configuration overrides

Description
Allows Configuration to be overridden per request.
Rendered version can be found here: https://github.com/openfga/java-sdk/pull/7
References

Close #175
Review Checklist

[x] I have clicked on "allow edits by maintainers".
[ ] I have added documentation for new/changed functionality in this PR or in a PR to openfga.dev [Provide a link to any relevant PRs in the references section above]
[x] The correct base branch is being used, if not main
[x] I have added tests to validate that the change in functionality is working as expected

Note: This is functional, but incomplete as it lacks unit tests
We'll come back with tests soon and not consider the issue closed yet


Custom series enhancement (for-next)

Brief Information
This pull request is in the type of:

[ ] bug fixing
[x] new feature
[ ] others

What does this PR do?

Support the new APIs about attached text and transform (follow zr-next).
Modify emphasis setting.
Provide backward compat for custom series since zr-next change the APIs about attached text and transform.
Support "clipPath" defined on element.
Support transition animation related setting in custom series, including transition attrs, shape, style animation, clipPath, and during, and "enter"/"leave" animation.
Fix and publish "$mergeChildren" (by name or by index) for "group element".

textContent and textConfig
renderItem(params, api) {
    return {
        type: 'rect',
        textContent: {
            // type: 'text' can be ignored
            style: {
                text: 'xxxx',
                fill: 'red'
            }
        },
        textConfig: {
            ...
        }
    }
}

emphasis config
renderItem(params, api) {
    return {
        type: 'rect',
        textContent: {
            // type: 'text' can be ignored
            style: {
                text: 'xxxx',
                fill: 'red'
            },
            emphasis: {
                style: {
                    ...
                }
            }
        },
        textConfig: {
            ...
        },
        emphasis: {
            style: {
                ...
            },
            textConfig: {
                ...
            },
            // z2 can also be specified in emphasis.
            z2: 100
        }
    }
}

renderItem(params, api) {
    return {
        type: 'rect',
        emphasis: {
            // Set false to disable default emphasis behavior.
            style: false,
        }
    }
}

Transform attr
renderItem(params, api) {
    return {
        type: 'rect',
        x: 12,
        y: 11,
        scaleX: 2,
        scaleY: 2,
        originX: 10,
        originY: 32,
        rotation: 1.57
    }
}

clipPath
renderItem(params, api) {
    return {
        type: 'group',
        clipPath: {
            type: 'rect',
            shape: { ... }
        }
    }
}

during
renderItem(params, api) {
    return {
        type: 'rect',
        shape: {
            myAttr: 123,
            $transition: 'myAttr'
        },
        during: function (apiDuring) {
            var x = apiDuring.getAttr('x');
            var myVal = apiDuring.getShape('myAttr');
            apiDuring.setStyle('opacity', 0.5);
            ...
        }
    }
}

transition config
renderItem(params, api) {
    return {
        type: 'rect',
        scaleX: 123,
        scaleY: 123,
        // Means `scaleX` and `scaleY` will be interpolated and
        // have transition animation if series animation related
        // option configured.
        // By default `x` and `y` (and the legacy prop `position`) will
        // be transitioned. But if `$transition` specified, only props
        // in `$transition` will be transitioned.
        $transition: ['x', 'y'],
        shape: {
            myAttr1: 123,
            myAttr2: 123,
            // Means `myAttr1` and `myAttr2` will be interpolated and
            // have transition animation if series animation related
            // option configured.
            $transition: ['myAttr1', 'myAttr2']
        },
        style: {
            // `opacity` will be interpolate and transitioned.
            // for "Image" and "Text", `x`, `y` can also be specified in
            // style, so style transition might be needed.
            $transition: 'opacity'
        },
        clipPath: {
            type: 'circle',
            x: 100
            $transition: 'x'
        }
    }
}

enterFrom laveTo animation config
renderItem(params, api) {
    return {
        type: 'rect',
        rotation: 2 * Math.PI,
        // Means `rotation` will have enter animation from value `0`.
        $enterFrom: {
            rotation: 0
        },
        // Have leave animation to value `0.4`.
        $leaveTo: {
            rotation: 0.4
        },
        shape: {
            myAttr1: 123,
            // Have enter animation from value `10`.
            $enterFrom: {
                myAttr1: 10
            },
            // Have leave animation to value `5`.
            $leaveTo: {
                myAttr1: 5
            },
        },
        style: {
            // Have enter animation from value `0`.
            $enterFrom: {
                opacity: 0
            },
            // Have leave animation to value `0`.
            $leaveTo: {
                opacity: 0
            }
        }
    }
}

$mergeChildren
By default, group children will be merged by index.
Users can also specify $mergeChildren: 'byName' to merge children by name on each child element.
Merge children will happen when each time renderItem called. For example, if there is some condition
variables in renderItem which results in different returned children.
renderItem(params, api) {
    var condition = getCondition();
    var children;
    if (condition === 'm') {
        children = [{
            type: 'circle',
            name: 'name_1',
            ...
        }, {
            type: 'circle',
            name: 'name_2',
            ...
        }, {
            type: 'circle',
            name: 'name_3',
            ...
        }];
    }
    else {
        children = [{
            type: 'circle',
            name: 'name_3',
            ...
        }, {
            type: 'circle',
            name: 'name_1',
            ...
        }]
    }

    return {
        type: 'group',
        $mergeChildren: 'byName',
        children: children
    }
}

Deprecated and break change

api.style and api.styleEmphasis are deprecated.
The behavior of api.style and api.styleEmphasis are slightly different (impossible to totally compat).
position, scale, origin are deprecated.
diffChildrenByName is deprecated.

Others
Related test cases or examples to use the new APIs
<test/custom-text-content.html>
<test/custom-text-transition.html>
Related issues
#5988

Somthing more discussion about during callback
The proposed during callback may enable some new power customzation with animation.
For example, there are some exmaple shown in test/custom-transition.html "spiral-dynamic-extent" and "texture-bar-by-clipPath":

Functional interpolation

If intending to make the element move according to a special customized path instead of a linear path, the built-in interpolate is not enough to do that.
If intending to make animation in customzied polygon points (or event morph), the built-in interpolate diff of number[][] is not enough.
To resolve it, we can make a special prop in el.shape (say, el.shape.abc) and use the built-in interpolate on that. In each during callback, calculate the transition prop or polygon pionts final by that el.shape.abc. That is so called "functional interpolation".

Text animation in custom series.

Note that:
For users, in each frame, users usually need to:

read the current props value from the current graphic element.
calculate based on those values.
write the result to the that graphic element.

For echarts, we need to:

restrict the "power" of that new API for forward compatibiliy (think of the potential changes or other related features in future).
think of the reasonability of the API.
think of implementation complexity and performance of the API.

The current API is implemented in the follow way:
renderItem(params, api) {
    var abcVal = makeNextAbcValue(params, api);
    return {
        type: 'polygon',
        shape: {
            abc: abcVal,
            points: calculatePolygonPoints(abcVal)
            // Make the built-in interpolate to be adapted on "abc".
            $transition: 'abc'
        },
        during: function (apiDuring) {
            var abcVal = apiDuring.getShape('abc');
            var points = calculatePolygonPoints(abcVal);
            apiDuring.setShape('points', points);
        }
    }
}

Note that it provides those "method" to for users to read and write the values in the "during callback":
interface DuringAPI {

    // currently only transform props
    // (x, y, scaleX, scaleY, originX, orignY, rotation)
    // are available here. Other attributes are not supported
    // until really needed one day.
    setAttr(key: TransformProps, val: unknown): void;
    getAttr(key: TransformProps): unknown;

    // get and set and any props in "shape".
    // No need to make a travel since it does not support
    // to input a dictionary object.
    // We do not restrict the shape props types because it
    // should be able to customized by users and the result
    // of  `renderItem` also does not restrict the shape props.
    setShape(key: string, val: unknown): void;
    getShape(key: string): unknown;

    // get and set and any props in "style".
    // No need to make a travel since it does not support
    // to input a dictionary object.
    // We do not restrict the style props types because it
    // The result of  `renderItem` also does not restrict the
    // style props.
    setStyle(key: string, val: unknown): void;
    getStyle(key: string): unknown;

    // If `setStyle` called, echarts will auto call `durty()`
    // internally for this element.
    // Otherwise of only `setAttr` or `setShape` called,
    // echarts will only call `markRedraw()` internally
    // for this element.
}

Now could we think of that:

Is it appropriate to implement those feature via exposing a "during callback" to users?
Is it appropriate to implement "read & write" in the way of the DuringAPI above?

// currently only transform props
// (x, y, scaleX, scaleY, originX, orignY, rotation)
// are available here. Other attributes are not supported
// until really needed one day.
setAttr(key: TransformProps, val: unknown): void;
getAttr(key: TransformProps): unknown;

I will prefer setTransform, getTransform over setAttr, getAttr here.

@pissang
I think is OK to change setAttr to setTransform. I will try to modify it soon.
But I am not sure about support "object input" in those setter API. The reason is:

When we call "getter", we also need to fetch one prop one calling.
I guess in most cases only one or few attributes need to be modified in during. So may be "object input" helps little for "API simple to use".

during: function (apiDuring) {
    var points = makeShapePoints(
        api, valOnRadius, apiDuring.getShape('valOnAngle')
    );
    apiDuring.setShape('points', points);
}

during: function (apiDuring) {
    var points = makePionterPoints(params, apiDuring.getShape('polarEndRadian'));
    apiDuring.setShape('points', points);
}

during: function (apiDuring) {
    apiDuring.setStyle('text', makeText(apiDuring.getShape('valOnRadian')));
}

during: function (apiDuring) {
    var currContentColor = getColorInTransition(apiDuring, 'content');
    apiDuring.setStyle('fill', currContentColor);
}

during: function (apiDuring) {
    var points = makeShapePoints(
        params,
        apiDuring.getShape('widthRadius'),
        apiDuring.getShape('startRadius'),
        apiDuring.getShape('endRadian')
    );
    apiDuring.setShape('points', points);
}

In these cases above, "object input" does not help
during: function (apiDuring) {
    var iValOnAngle = apiDuring.getShape('valOnAngle');
    var point = makeLabelPosition(api, valOnRadius, iValOnAngle);
    apiDuring
        .setTransform('x', point[0])
        .setTransform('y', point[1])
        .setStyle('text', getText(iValOnAngle));
}

during: function (apiDuring) {
    var endRadian = apiDuring.getShape('endRadian');
    var point = makeLabelPosition(
        params,
        apiDuring.getShape('widthRadius'),
        apiDuring.getShape('startRadius'),
        endRadian
    );
    apiDuring.setTransform('x', point[0]).setTransform('y', point[1]);
    apiDuring.setStyle('text', makeText(endRadian));
}

In these cases above, "object input" helps, but not a significant improve:
during: function (apiDuring) {
    var endRadian = apiDuring.getShape('endRadian');
    var point = makeLabelPosition(
        params,
        apiDuring.getShape('widthRadius'),
        apiDuring.getShape('startRadius'),
        endRadian
    );
    apiDuring.setTransform({ x: point[0], y: point[1] });
    apiDuring.setStyle('text', makeText(endRadian));
}

Support "object input" make the API to use a loop internally. This is a simple performance comparison, where the "object input" is slower than the "plain way" 1/3. Not sure whether the time cost is not significant enough to worry about. I do not test them in low-end mobile device.
The "object input" need to make "overload" in those method setTransform setShape setStyle. Little tedious in code.

emphasis config
renderItem(params, api) {
    return {
        type: 'rect',
        textContent: {
            // type: 'text' can be ignored
            style: {
                text: 'xxxx',
                fill: 'red'
            },
            emphasis: {
                style: {
                    ...
                }
            }
        },
        textConfig: {
            ...
        },
        emphasis: {
            style: {
                ...
            },
            textConfig: {
                ...
            },
            // z2 can also be specified in emphasis.
            z2: 100
        }
    }
}

Hello, may I ask that if I just want to emphasis the text 'xxx' without emphasizing its parent rect, how can I do?
And also, when I emphasis the parent rect, I just don't want to emphasis its child, how can I do? Thanks :)
Waiting for your reply with excited ~


Update official Helm chart to 1.8

from https://github.com/pachyderm/pachyderm/issues/2771#issuecomment-459919746
This should really just happen automatically as part of our deploy process (#2798), but for now we should do so manually
Unclear how upgrades/migrations should be handled with helm deployments (#3439)

This seems to have happened. Just in time for it to need to be updated to 1.9. We're working on having an official helm chart though so hopefully this well get better soon.


Multiple SWAs under paths to the same Front Door host

Hi,
Just trying to work out if it's possible to use Front Door to stich together multiple SWAs under different paths under the same endpoint hostname (e.g. site1 -> fdhost root, site2 -> fdhost/admin, etc).
It's trying to secure them that seems to be the sticking point (as the AAD auth redirects expect to go to the root). Trying to get use the same app reg to secure each SWA (with redirect to the FD host URL) seems to be a non-starter (401s or redirect loops abound when I tried that).
Just wanted to ask the brains trust if this is a fools errand, or if I'm just missing something obvious.
Thanks for your time 🙏

I am facing a similar issue:
I have a front door with multiple apps hosted on various SWA instances:

App1: example-domain.com
App2: example-domain.com/app2/ (Please note the importance of trailing slashes; otherwise, it would be associated with App1)

When I open the browser for App2, it always redirects to App1 (swa url) after login, which is not desirable.
Expected behavior: redirect respect current location and redirects to app2 (custom domain).
Here is my configuration:
{
  "routes": [
    {
      "route": "/.auth/*",
      "allowedRoles": [
        "authenticated",
        "anonymous"
      ],
      "headers": {
        "Cache-Control": "no-store"
      }
    },
    {
      "route": "/*",
      "allowedRoles": [
        "authenticated"
      ],
      "headers": {
        "Cache-Control": "no-store"
      }
    }
  ],
  "responseOverrides": {
    "401": {
      "statusCode": 302,
      "redirect": "/app2/.auth/login/aad?post_login_redirect_uri=.referrer"
    }
  },
  "auth": {
    "identityProviders": {
      "customOpenIdConnectProviders": {
        "aad": {
          "registration": {
            "clientIdSettingName": "AZURE_CLIENT_ID",
            "clientCredential": {
              "clientSecretSettingName": "AZURE_CLIENT_SECRET"
            },
            "openIdConnectConfiguration": {
              "wellKnownOpenIdConfiguration": "https://login.microsoftonline.com/TENANT_ID/v2.0/.well-known/openid-configuration"
            }
          },
          "login": {
            "nameClaimType": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name",
            "scopes": [
              "openid",
              "profile",
              "offline_access"
            ],
            "loginParameterNames": []
          }
        }
      }
    }
  },
  "forwardingGateway": {
    "requiredHeaders": {
      "X-Azure-FDID": "FRONT_DOOR_ID"
    },
    "allowedForwardedHosts": [
      "FRONT_DOOR_ENDPOINT",
      "CUSTOM_DOMAIN_REGISTRATED_IN_AZURE_DNS"
    ]
  },
  "trailingSlash": "always"
}

Do you have any suggestions for what might be missing in my configuration?


Trigger reconcile on events of cluster-scoped objects created by a namespaced CR.

Feature Request
Describe the problem you need a feature to resolve.
Following https://github.com/operator-framework/operator-sdk/issues/1914:
Consider the following example:
func (r *GslbReconciler) SetupWithManager(mgr ctrl.Manager) error {
	return ctrl.NewControllerManagedBy(mgr).
		For(&somev1alpha1.NamespacedCR{}).
		Owns(&somev1alpha1.ClusterScopedCR{}).
		Complete(r)
}

This controller watches events of a CR named somev1alpha1.NamespacedCR, and trigger the Reconcile logic.
In Reconcile, we create some cluster-scoped objects corresponding to this CR, named somev1alpha1.ClusterScopedCR.
Now if:
NamespacedCR is created -> ClusterScopedCR is created
NamespacedCR is deleted -> ClusterScopedCR is deleted
ClusterScopedCR is deleted -> ClusterScopedCR is NOT recreated - this is the issue
I know that according to k8s documentation and controller-runtime library, Cluster-scoped dependents can only specify cluster-scoped owners, however I'm not askig for having OwnerRefrence for cluster Scope object (i.e. ctrl.SetControllerReference), but rather calling Owns(&somev1alpha1.ClusterScopedCR{}). should implement required code to trigger reconcile on cluster scoped events, and map it to corresponding NamespacedCR (as described in this comment].
Describe the solution you'd like.

We can set a label on ClusterScopedCR, based on UID of the NamespacedCR, and watch events on ClusterScopedCR, map it to NamespacedCR by getting the UID label of it, and trigger Reconcile for it. Then users should not have to worry about implementing all the repetitive logic required for this. Operator-sdk can implement this logic in .Own calls, or at least provide a method so it can be re-used.
Something like this:
func (r *GslbReconciler) SetupWithManager(mgr ctrl.Manager) error {
	return ctrl.NewControllerManagedBy(mgr).
		For(&gslbv1alpha1.Gslb{}).
		// Watches all Gslbcontents and trigger reconcile on the corresponding gslb
		// since cluster-scoped gslbcontent can not be owned by namespaced glsb resource
		Watches(
			&source.Kind{Type: &gslbv1alpha1.GslbContent{}}, handler.EnqueueRequestsFromMapFunc(func(obj client.Object) []reconcile.Request {
				gslbID := obj.GetLabels()[glsbIDlabel]
				listOpts := []client.ListOption{
					client.MatchingLabels(labelsForGsbl(gslbID)),
				}
				cli := mgr.GetClient()
				gslbList := &gslbv1alpha1.GslbContentList{}
				err := cli.List(context.TODO(), gslbList, listOpts...)
				if err != nil {
					return []reconcile.Request{}
				}
				var reconcileRequests []reconcile.Request
				var rec reconcile.Request
				for _, g := range gslbList.Items {
					rec = reconcile.Request{
						NamespacedName: types.NamespacedName{
							Name:      g.Name,
							Namespace: g.Namespace,
						},
					}
					reconcileRequests = append(reconcileRequests, rec)
				}
				return reconcileRequests
			}),
		).
		Complete(r)
}

Should be as easy as:
func (r *GslbReconciler) SetupWithManager(mgr ctrl.Manager) error {
	return ctrl.NewControllerManagedBy(mgr).
		For(&gslbv1alpha1.Gslb{}).
		Owns(&gslbv1alpha1.GslbContent{}).
		Complete(r)
}

P.S. The hacky solution here is to label the CR itself with its UID, as it's not currently possible to get objects by their UID. An alternative solution for this is to get the List of all the objects and check if obj.GetUID() == labelUID, which is more costly performance-wise, but is a much cleaner solution.

@m-yosefpor This is a controller-runtime issue, could you please refile with them?


Complete support for isolated

Description:
Creating this issue to track the remaining tasks and deviations.
Features/Pending Design

[x] Introduce isolated module level variables #25898
[x] Implement isolation inference #26045
[x] Implement isolated services #27056

[x] Service references should be allowed in isolated functions only if the type is a subtype of readonly #26126

[x] Introduce support for implicitly isolated object constructor expressions #26704
[ ] Analyze closure isolated-ness wrt to the stack frame #25918

Spec Deviations/Bugs

[x] Bound method access should be considered isolated only if both the method and the object are isolated #26701
[x] Allow function-call-exprs with function parameters annotated with @isolatedParam in isolated functions #26601
[x] Mark relevant stream/query langlib methods as isolated #26575
[x] StreamImplementor methods have to be isolated #26677
[x] Fix isolated expression analysis for variable references #26706
[x] [Isolation] Fix deviations in copy in/out analysis #26766
[x] [Isolation] Cannot copy in a value using clone/cloneReadOnly #26785
[x] Incorporate changes for isolated object constructor expressions #26700

Closing this issue since everything that is in the spec has been implemented.
https://github.com/ballerina-platform/ballerina-lang/issues/25918 needs to be finalized in the spec to introduce relevant changes.


Release 4.8.4 not listed as last release in https://github.com/Adobe-Consulting-Services/acs-aem-commons/releases

4.8.4 is not listed as last release because the tag connected with 4.8.0 seems wrong.

Also all releases in https://adobe-consulting-services.github.io/acs-aem-commons/ should just link the release notes in github instead of duplicating the info. @davidjgonzalez WDYT?

Just fixed it, but I don't know what the asset-share-commons-4.8.0 tag is for... @davidjgonzalez Can you shed some light on this?


Call get in each method when items haven't loaded yet

I close this PR because this will be merged to master directly.


PR for PSIP Podcast

This is a PR for issue #460
This is a very interesting and comprehensive podcast on PSIP.

This was published at https://bssw.io/items/what-makes-psip-suitable-for-the-exascale-computing-project

PR #463 addresses some typos for this article.


host.docker.internal equivalent

Hello,
I've been porting over a micro service stack from running docker desktop to nerdctl, its gone pretty smoothly but I've hit a snag in one of our use cases where we've been using the special host.docker.internal dns name that resolves to the IP of the host on docker desktop for Windows.
For example with our backend database and task executors running in containers the task executors can still communicate with the service process using the host.docker.internal DNS name. This is useful during development as it lets us run the service from an IDE with debugger attached..
Is there an existing equivalent to host.docker.internal available? I had a search around and didn't find anything..
Cheers!

Thanks @midhunkrishna


Select All and Mail Selected Trainees

Under the More - Training tab, when I select the box next to "Name" to select all, nothing happens. And once I manually select the names and push "Mail selected trainees" nothing happens.

Fixed in #1488.


Verify that xcode-select option is being honored

In the tuneup_js setup, running code from ruby didn't honor the xcode-select settings.  As of https://github.paypal.com/PayPal-Mobile/ios-automator/commit/30a7edb02d8d21ca2e7b28e7321f58a5d423d5aa , we have removed  the ability to specify the xcode executable on the command line.
Close this issue after proving that the Xcode version chosen by xcode-select is used when running the Illuminator build scripts.

verified with new beta


Add api-version 2020-03-01 of network for go SDK

Latest improvements:
MSFT employees can try out our new experience at OpenAPI Hub  - one location for using our validation tools and finding your workflow.

Contribution checklist:

[ ] I have reviewed the documentation for the workflow.
[ ] Validation tools were run on swagger spec(s) and have all been fixed in this PR.
[ ] The OpenAPI Hub was used for checking validation status and next steps.

ARM API Review Checklist

[ ] Service team MUST add the "WaitForARMFeedback" label if the management plane API changes fall into one of the below categories.
adding/removing APIs.
adding/removing properties.
adding/removing API-version.
adding a new service in Azure.

Failure to comply may result in delays for manifest application. Note this does not apply to data plane APIs.

[ ] If you are blocked on ARM review and want to get the PR merged urgently, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.
Please follow the link to find more details on API review process.

/azp run automation - sdk

Can one of the admins verify this patch?

This PR is totally irrelevant to dot net SDK, ignoring the failure....


Update for Deep Space 2.15.0

In the process of changing the address representation to support interchain accounts many functions involving the internal bytes of the address where changed

LGTM


Some additional readme info

How does this look, @jlantz? Should we also talk about the other env variables, like OAUTH_CLIENT_ID, etc?

Hmm... so those variables are very different in Jenkins and how they're configured.  I think we need to have separate documents for the different CI systems we've done integrations with.

Oh, ok. Never mind then. I mainly wanted to mention the ant dependencies and the deployCI target (as in https://github.com/SalesforceFoundation/NPSP-API-Examples), then I got caught into trying to give additional info...


Default Property Not Serialized

import stix2

@stix2.CustomObject(
    "x-custom",
    [
        (
            "alwaysThere",
            stix2.properties.StringProperty(default=lambda: "Goodbye World!"),
        ),
        ("item", stix2.properties.StringProperty(required=True)),
    ],
)
class CustomStixObject():
    pass

if __name__ == "__main__":
    o = CustomStixObject(item="Hello World")
    print(o)
    print(o.serialize())

% python file.py
{
    "type": "x-custom",
    "id": "x-custom--d35f8490-fd66-4ced-bd4b-8d54727620b1",
    "created": "2020-02-03T15:42:09.994Z",
    "modified": "2020-02-03T15:42:09.994Z",
    "item": "Hello World"
}
{"item": "Hello World", "type": "x-custom", "id": "x-custom--d35f8490-fd66-4ced-bd4b-8d54727620b1", "created": "2020-02-03T15:42:09.994Z", "modified": "2020-02-03T15:42:09.994Z"}

As you can see from the above example alwaysThere is not present even tho a default value is given. o.alwaysThere does return the correct value but I would expect it to be serialized as well.

o.serialize(include_optional_defaults=True)

is the answer. However, I also noticed that if required=True and default is given then the default is not used by default. A value must actually be given.


Resolves issue #9 with same rules with different arguments getting overwritten

Multiple attributes with the same rule, but different arguments to the rule are overwritten. The index on the list of rules is by rule name,
and doesn't take into account different rule arguments.
This fix appends an '_' + ruleValue to the dictionary of rules to
make same rules with different arguments unique.

Once issue with this fix is that the "_" + ruleValue needs to get removed from the final errors object.

K, I haven't actually tested it, just was looking at the code. I'll test it right now.

All the tests pass, so I go ahead and merge.


Feature request: Remove keywords used for references in commit message

When we use keywords (e.g. closes, fixes, resolves) to link an issue or a pull request in commit message, the changelog will look like this:

Duplicate logs, fixes - in ...(references)

Can you share more details?

Take this commit message as an example

If we generate a change log for it, it will look like this

(The content in the image below is from here)

IMO, it looks a little strange. (Of course, it could be that my English comprehension is not good enough 🤣 )


[Bug]: Bucket metadata synchronization

Describe the bug
After setting the bucket metadata e.g. bucket policy, the metadata will not be automatically synchronized if restarting the objectnode.
Environment
release 3.2.1
To Reproduce
step1. Setting the bucket metadata e.g. bucket policy
step2. Restarting the objectnode.
step3. Get bucket policy.
Expected behavior
The bucket metadata which has been set can be obtained correctly.

thanks, hope for you fix it.

fix


AWS/MISC - convert tfsec checks to use defsec logic

Nothing to do, handled by the parser as required


Undocumented behaviour of ZwUnloadDriver

The ZwUnloadDriver documentation is missing information about the behaviour of the function in certain situations.
Specifically:

Can ZwUnloadDriver unload a driver whose DRIVER_OBJECT descriptor has no unload callback set?
If ZwUnloadDriver cannot be used to unload a driver without an unload callback, what error code is returned?
Can a driver call ZwUnloadDriver on itself?
Can a driver call ZwUnloadDriver on itself if it does not have an unload callback set?
If a driver cannot call ZwUnloadDriver on itself, what error code is returned?
If a driver can call ZwUnloadDriver on itself, but there are hazards in doing so, what are those hazards? What precautions should developers take to avoid them?
Is there a supported/preferred way for a driver to unload/stop itself? Does this preferred method rely upon the driver having an unload callback set?
Does the answer to any of these questions change depending on whether the driver is a non-WDM, WDM Bus, WDM Function, or WDM Filter driver? (the last one is partially answered already with the warning on the page)

It would also be helpful to document how the SCM behaves in regard to drivers changing the DriverUnload field of the DRIVER_OBJECT descriptor at runtime. It appears that the sc command (and by extension the SCM) queries the DriverUnload field of the driver object in order to apply the Stoppable flag on driver services - i.e. a device service is only marked as stoppable if the DriverUnload callback is non-null. But what isn't clear is whether this is checked on every usermode query, only at the point of device creation, or if there is some more complex abstraction or caching in between. I'm not sure whether this is something that would be documented on the ZwUnloadDriver page specifically, but it should probably link there since it's relevant.
Some of these questions come up in situations where a driver service should not be stoppable in normal operation, and thus should not be seen as stoppable by the SCM, but may need to be unloaded in certain application-specific circumstances.
I had a bit of a dig around for the answer to these questions, but was mostly met with OSR forum posts and StackOverflow questions where the answers were vague, conflicting, guesses, or missing entirely.
Another question that will likely arise is whether or not this behaviour is guaranteed to be consistent across currently supported Windows versions and SKUs. I specifically didn't mention that as one of the questions above, because I'd personally rather documentation that is at least correct for the latest builds of desktop and server SKUs than have this become an unwieldy ticket that sits on someone's backlog for the next year. Perfect is the enemy of good, and all that :)

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

ID: 6cbf4254-1a19-e303-a6fa-534fa0c7d870
Version Independent ID: 293e90ad-8e2f-ac82-3384-70e64f38ff80
Content: ZwUnloadDriver function (wdm.h) - Windows drivers
Content Source: wdk-ddi-src/content/wdm/nf-wdm-zwunloaddriver.md
Product: windows-hardware
Technology: wdk-api-reference
GitHub Login: @barrygolden
Microsoft Alias: bagold

Hi @gsuberland, apologies for taking so long to get back to you.
I just updated https://docs.microsoft.com/en-us/windows-hardware/drivers/ddi/wdm/nf-wdm-zwunloaddriver with some additional guidance that will hopefully clarify some of your questions.  The changes are in commit e6e4203a3ec32f83567752bfa5357d3cd92701b1 if you want to have a look.
Hope this helps -- and thanks for caring about the docs!

While I appreciate the clarification in regard to the error code when DriverUnload is not set, the documentation changes didn't answer some of my more important questions:
I presume from "it is not recommended that a driver call ZwUnloadDriver on itself" that there are indeed hazards in doing so. What kind of hazards are most applicable here? What precautions should developers take to avoid them if they do need to self-unload? Better yet, is there a recommended way for a driver to unload/stop itself?


test: add tests cases in progress

Codecov Report

Merging #156 (1133b32) into master (996cf02) will increase coverage by 6.57%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #156      +/-   ##
==========================================
+ Coverage   75.77%   82.35%   +6.57%
==========================================
  Files          33       33
  Lines         289      289
  Branches       59       59
==========================================
+ Hits          219      238      +19
+ Misses         62       46      -16
+ Partials        8        5       -3

Impacted Files
Coverage Δ

packages/progress/src/index.ts
100.00% <0.00%> (+100.00%)
:arrow_up:

packages/progress/src/progress.ts
100.00% <0.00%> (+100.00%)
:arrow_up:

Continue to review full report at Codecov.

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


raidboss: DSR add additional Phases

For use for future triggers, these are proposed phases and names.

May be possible that 71E4 (Shockwave) from King Thordan happens before Alternate End. There are the eyes as well, but I think they can't be used since technically if the player killed Thordan, the Eyes would also cast the same spells.


Reference file is being created multiple times

Received notification from Yue:
I used the same reference for my samples.  So I guess there should be one create conference.  According to  HPC dashboard there were actually multiple copies of create conferences coexisting, all failed except one.

Solution:

one reference should be created per project, not multiple. Need to find the source of the error

ran multiple tests with with different configs and was not able to reproduce the error. will look out for this in future runs.


Adding the general psd for altpol searches

It's a linting problem. Just run "black ." and then add/commit/push the changed files).

I see linting problems a lot in PRs here. Just a friendly reminder the vscode is amazing and has support for automatic formatting.  There is also a pre-commit hook that will run black automatically when running git commit. You need to run make init to set it up.

Just a nudge to @NimaLaal to attempt to have this ready to merge before tomorrow.

I decided to add the new changes to enterprise_extensions instead of enterprise. The enterprise_extension changes were successfully merged to the master branch last week. They can be found here