[BUG] Replica fail during sync

Describe the bug
An error occurs during creation a PVC replica:
instance-manager-e-faa7c869 log (node with healthy replica):
[pvc-54109d48-de17-11e9-9239-005056b6cf83-e-711c06cb-a4952477] time="2020-08-12T08:17:30Z" level=error msg="Write timeout on replica <IP_ADDRESS>>time="2020-08-12T08:17:30Z" level=error msg="Retry  1 on replica <IP_ADDRESS>:10121 seq= 3116 size= 16 (kB)"
response_process: Receive error for response 3 of seq 2276
tgtd: bs_longhorn_request(91) fail to write at 13055000 for 12288
tgtd: bs_longhorn_request(150) io error 0x55575f6b0830 2a -14 12288 319115264, Success
response_process: Receive error for response 3 of seq 2275
tgtd: bs_longhorn_request(91) fail to write at 13051000 for 16384
tgtd: bs_longhorn_request(150) io error 0x55575f691100 2a -14 16384 319098880, Success
response_process: Receive error for response 3 of seq 2277
tgtd: bs_longhorn_request(91) fail to write at 13054000 for 4096
tgtd: bs_longhorn_request(150) io error 0x55575f691100 2a -14 4096 319111168, Success
response_process: Receive error for response 3 of seq 2278
tgtd: bs_longhorn_request(91) fail to write at 6085c4000 for 16384
tgtd: bs_longhorn_request(150) io error 0x55575f6b0830 2a -14 16384<PHONE_NUMBER>0, Success
[pvc-54109d48-de17-11e9-9239-005056b6cf83-e-711c06cb-a4952477] time="2020-08-12T08:17:31Z" level=error msg="Write timeout on replica <IP_ADDRESS>>time="2020-08-12T08:17:31Z" level=error msg="Retry  1 on replica <IP_ADDRESS>:10121 seq= 3117 size= 12 (kB)"
time="2020-08-12T08:17:34Z" level=error msg="Write timeout on replica <IP_ADDRESS>:10121 seq= 3120 size= 16 (kB)"
time="2020-08-12T08:17:34Z" level=error msg="Retry  2 on replica <IP_ADDRESS>:10121 seq= 3120 size= 16 (kB)"
time="2020-08-12T08:17:35Z" level=error msg="Write timeout on replica <IP_ADDRESS>:10121 seq= 3121 size= 12 (kB)"
time="2020-08-12T08:17:35Z" level=error msg="Retry  2 on replica <IP_ADDRESS>:10121 seq= 3121 size= 12 (kB)"
time="2020-08-12T08:17:38Z" level=error msg="Write timeout on replica <IP_ADDRESS>:10121 seq= 3124 size= 16 (kB)"
time="2020-08-12T08:17:38Z" level=error msg="Setting replica tcp://<IP_ADDRESS>:10120 to ERR due to: r/w timeout"
time="2020-08-12T08:17:38Z" level=info msg="Set replica tcp://<IP_ADDRESS>:10120 to mode ERR"
time="2020-08-12T08:17:38Z" level=error msg="I/O error: tcp://<IP_ADDRESS>:10120: r/w timeout"
time="2020-08-12T08:17:38Z" level=info msg="Monitoring stopped tcp://<IP_ADDRESS>:10120"
time="2020-08-12T08:17:38Z" level=error msg="Setting replica tcp://<IP_ADDRESS>:10120 to ERR due to: r/w timeout"
time="2020-08-12T08:17:38Z" level=info msg="Ignore set replica tcp://<IP_ADDRESS>:10120 to mode ERR due to it's ERR"
time="2020-08-12T08:17:38Z" level=error msg="I/O error: tcp://<IP_ADDRESS>:10120: r/w timeout"
Aug 12 08:10:25.407832: -><IP_ADDRESS>:10121 P[  0kB]      237us
Aug 12 08:10:25.528646: -><IP_ADDRESS>:10001 P[  0kB]     2165us
Aug 12 08:10:27.061186: -><IP_ADDRESS>:10001 W[444kB]     6453us
Aug 12 08:10:27.061211: -><IP_ADDRESS>:10121 W[444kB]    33025us
[...]

Result

Environment:

Longhorn version: v0.7.0
Kubernetes version: v1.14.5
Node OS type and version: Centos 7 (Linux 4.4.232-1.el7.elrepo.x86_64)

Additional context

The error started occurring after updating the kernel version on nodes to 4.х
Longhorn instances share nodes with other workloads in our k8s-cluster.

There is a write time out happened in the replica, then this replica is considered as inconsistent and unavailable. Typically the timeout is caused by the in-cluster network fluctuation/disconnection. You can check it first.
Since the only replica of the volume becomes unavailable/ERR, the volume has no way to continue to r/w data. As a result, it will be considered as Faulted.

1. There is a write time out happened in the replica, then this replica is considered as inconsistent and unavailable. Typically the timeout is caused by the in-cluster network fluctuation/disconnection. You can check it first.
2. Since the only replica of the volume becomes unavailable/ERR, the volume has no way to continue to r/w data. As a result, it will be considered as `Faulted`.

Ok thank you, I'll try to check but why problem is disappeared when we use dedicated nodes for LH? Could other workloads affect LH instances?

1. There is a write time out happened in the replica, then this replica is considered as inconsistent and unavailable. Typically the timeout is caused by the in-cluster network fluctuation/disconnection. You can check it first.
2. Since the only replica of the volume becomes unavailable/ERR, the volume has no way to continue to r/w data. As a result, it will be considered as `Faulted`.

Ok thank you, I'll try to check but why problem is disappeared when we use dedicated nodes for LH? Could other workloads affect LH instances?

Probably yes. If the CPU is consumed up by other workloads, the Longhorn volumes on the nodes will be affected. You can also check the CPU usage next time when you encounter the similar issue. Besides, you can refer to this setting to guarantee the CPU resource for Longhorn system.

I set the recommended value for the Guaranteed Engine CPU parameter (=0.25), but the result is as follows:
node1:

instance-manager-e-faa7c869 (<IP_ADDRESS>)
instance-manager-r-b4fb8a68 (<IP_ADDRESS>)

creates a replica on the
node2:

instance-manager-e-7c1636e9 (<IP_ADDRESS>)
instance-manager-r-c1503a3f (<IP_ADDRESS>)

[pvc-54109d48-de17-11e9-9239-005056b6cf83-e-711c06cb-b0b990d7] time="2020-08-14T06:33:46Z" level=error msg="Write timeout on replica <IP_ADDRESS>:10016 seq= 2875 size= 20 (kB)"
time="2020-08-14T06:33:46Z" level=error msg="Retry  1 on replica <IP_ADDRESS>:10016 seq= 2875 size= 20 (kB)"
[pvc-54109d48-de17-11e9-9239-005056b6cf83-e-711c06cb-b0b990d7] time="2020-08-14T06:33:47Z" level=error msg="Write timeout on replica <IP_ADDRESS>:10016 seq= 2877 size= 20 (kB)"
time="2020-08-14T06:33:47Z" level=error msg="Retry  1 on replica <IP_ADDRESS>:10016 seq= 2877 size= 20 (kB)"
[pvc-54109d48-de17-11e9-9239-005056b6cf83-e-711c06cb-b0b990d7] time="2020-08-14T06:35:57Z" level=error msg="Write timeout on replica <IP_ADDRESS>:10016 seq= 3086 size= 4 (kB)"
time="2020-08-14T06:35:57Z" level=error msg="Retry  1 on replica <IP_ADDRESS>:10016 seq= 3086 size= 4 (kB)"
response_process: Receive error for response 3 of seq 2879
tgtd: bs_longhorn_request(91) fail to write at 8a2740000 for 4096
tgtd: bs_longhorn_request(150) io error 0x556a8619c780 2a -14 4096<PHONE_NUMBER>6, Success
response_process: Receive error for response 3 of seq 2880
tgtd: bs_longhorn_request(91) fail to write at 608626000 for 16384
tgtd: bs_longhorn_request(150) io error 0x556a8619ca40 2a -14 16384<PHONE_NUMBER>8, Success
response_process: Receive error for response 3 of seq 2881
tgtd: bs_longhorn_request(91) fail to write at 8a2741000 for 4096
tgtd: bs_longhorn_request(150) io error 0x556a8619c780 2a -14 4096<PHONE_NUMBER>2, Success
response_process: Receive error for response 3 of seq 2882
tgtd: bs_longhorn_request(91) fail to write at 608000000 for 4096
tgtd: bs_longhorn_request(150) io error 0x556a8619c780 2a -14 4096<PHONE_NUMBER>4, Success
[pvc-54109d48-de17-11e9-9239-005056b6cf83-e-711c06cb-b0b990d7] time="2020-08-14T06:35:57Z" level=error msg="Write timeout on replica <IP_ADDRESS>:10016 seq= 3087 size= 16 (kB)"
time="2020-08-14T06:35:57Z" level=error msg="Retry  1 on replica <IP_ADDRESS>:10016 seq= 3087 size= 16 (kB)"
time="2020-08-14T06:36:01Z" level=error msg="Write timeout on replica <IP_ADDRESS>:10016 seq= 3090 size= 4 (kB)"
time="2020-08-14T06:36:01Z" level=error msg="Retry  2 on replica <IP_ADDRESS>:10016 seq= 3090 size= 4 (kB)"
time="2020-08-14T06:36:01Z" level=error msg="Write timeout on replica <IP_ADDRESS>:10016 seq= 3091 size= 16 (kB)"
time="2020-08-14T06:36:01Z" level=error msg="Retry  2 on replica <IP_ADDRESS>:10016 seq= 3091 size= 16 (kB)"
time="2020-08-14T06:36:05Z" level=error msg="Write timeout on replica <IP_ADDRESS>:10016 seq= 3094 size= 4 (kB)"
time="2020-08-14T06:36:05Z" level=error msg="Write timeout on replica <IP_ADDRESS>:10016 seq= 3095 size= 16 (kB)"
time="2020-08-14T06:36:05Z" level=error msg="Setting replica tcp://<IP_ADDRESS>:10015 to ERR due to: r/w timeout"
time="2020-08-14T06:36:05Z" level=info msg="Set replica tcp://<IP_ADDRESS>:10015 to mode ERR"
time="2020-08-14T06:36:05Z" level=error msg="I/O error: tcp://<IP_ADDRESS>:10015: r/w timeout"
time="2020-08-14T06:36:05Z" level=info msg="Monitoring stopped tcp://<IP_ADDRESS>:10015"
time="2020-08-14T06:36:05Z" level=error msg="Setting replica tcp://<IP_ADDRESS>:10015 to ERR due to: r/w timeout"
time="2020-08-14T06:36:05Z" level=info msg="Ignore set replica tcp://<IP_ADDRESS>:10015 to mode ERR due to it's ERR"
time="2020-08-14T06:36:05Z" level=error msg="I/O error: tcp://<IP_ADDRESS>:10015: r/w timeout"
Aug 14 06:35:53.245374: -><IP_ADDRESS>:10016 W[ 16kB] pending
Aug 14 06:35:53.245231: -><IP_ADDRESS>:10016 W[  4kB] pending
Aug 14 06:36:01.245628: -><IP_ADDRESS>:10016 W[  4kB] pending
Aug 14 06:35:57.245458: -><IP_ADDRESS>:10016 W[  4kB] pending
Aug 14 06:36:01.245721: -><IP_ADDRESS>:10016 W[ 16kB] pending
Aug 14 06:35:57.245543: -><IP_ADDRESS>:10016 W[ 16kB] pending
Aug 14 06:35:53.245374: -><IP_ADDRESS>:10016 W[ 16kB] pending
Aug 14 06:36:01.245628: -><IP_ADDRESS>:10016 W[  4kB] pending
Aug 14 06:35:57.245458: -><IP_ADDRESS>:10016 W[  4kB] pending
Aug 14 06:36:01.245721: -><IP_ADDRESS>:10016 W[ 16kB] pending
Aug 14 06:35:57.245543: -><IP_ADDRESS>:10016 W[ 16kB] pending

I noticed that the error appears if the CPU limit is greater than 100%
$ kubectl describe node
<snip>
Allocated resources:
  (Total limits may be over 100 percent, i.e., overcommitted.)
  Resource           Requests           Limits
  --------           --------           ------
  cpu                11775m (84%)       17950m (128%)
  memory<PHONE_NUMBER>0 (39%)<PHONE_NUMBER>4 (69%)
  ephemeral-storage  0 (0%)             0 (0%)
  hugepages-2Mi      0 (0%)             0 (0%)
<snip>

@mpiexec , based on my understand, the Guaranteed Engine CPU parameter (=0.25) is the minimum suggestion. And for most of the cases when there is a timeout issue, they are because of lack CPU resource.
Could you help to capture the top output during this timeout happening? Command like this top -d 1 -b -c -w > top.log. Thanks.

Yes. Typically, the cause of the IO timeout can be one of the following:

there is in-cluster network latency/fluctuation
the pod instance-manager-r somehow gets stuck in processing the IO requests from instance-manager-e (CPU usage, implementation bugs...)
something is wrong with the disk used by the instance-manager-r

I am not sure which one is the culprit. And you can generate a support bundle (in the footer of the UI page) then if there are more clues in the logs.

Is it possible to increase r/w timeouts? We have the same issue
longhorn-support-bundle_fe9650ef-1c2c-41ad-bded-e0af7054ab48_2020-10-15T10-44-53Z.zip


kotlin의 apply, run, with, let, also 차이 비교

https://kotlinlang.org/docs/reference/scope-functions.html#run


Logic of with-react-i18next is incompatible with _app.js

Examples bug report / feature request
Example name

with-react-i18next
with-i18next (possibly)

Describe the bug  / feature request
Looks like with18next() HOC in with-react-i18next example is incompatible with _app.js (added in Next v6). Although wrapping each page into the HOC is still possible, this approach has at least these two drawbacks:

The layout defined in _app.js cannot be translated since the components end up above with18next(['ns'])(PageComponent).
Going between pages flushes the DOM tree since with18next() creates separate wrapper components on each page (I may be not 100% here).

The with-apollo example has been updated recently and ApolloProvider is now a part of _app.js, which is pretty neat. It'd be great if with-react-i18next could undergo a similar transformation. I've just tried to propose this change myself, but am giving up after over three hours 😅
There's one caveat that should be taken into account when implementing the new logic: a collection of namespaces used by a page needs to be passed into _app.js. I suggest that these namespaces can be either sourced from getInitialProps():
export default class MyPage extends Component {
  static getInitialProps() {
    return { i18nextNamespaces: ['ns1', 'ns2'] };
  }
  render() {
    return
{this.props.t('hello')}
;
  }
}

Alternatively, i18nextNamespaces can be defined in a static property to avoid implementing getInitialProps() in the simplest cases:
export default class MyPage extends Component {
  static public i18nextNamespaces = ['ns1', 'ns2'];
  render() {
    return
{this.props.t('hello')}
;
  }
}

const MyPage = ({t}) =>
{t('hello')}
;
MyPage.i18nextNamespaces = ['ns1', 'ns2'];
export default MyPage;

Ideally, these namespaces should be detected automatically depending on which ones are used down the tree (translate(['ns1'])(Component1), translate(['ns2', 'ns3'])(Component2)). This magic behaviour would be similar to what Apollo does with executing all queries in the tree on the server and building client-side cache based on that. However, I'm not sure how easy it would be to implement this trick in react-i18next.
System information

Version of Next.js: 6.0.3

cc @jamuhl

@kachkaev hm...not yet had a look at the next.js update - as i do not use next myself it's not my main focus - hopefully i get some time to check this out the next days - but do not expect to much right now.
Not sure how easily that parsing of all namespaces in tree could be....not done yet.

Another issue that I witnessed after moving Apollo to _app.ts is to do with the contents of initialI18nStore. For some reason, when a page has got a <Query /> component, initialI18nStore starts containing all namespaces and languages, thus making making __NEXT_DATA__ pretty large. I tried investigating this, but again, no solution after about three hours 😅
I believe that this behaviour originates from the fact that withApolloClient calls getDataFromTree(), which in turn renders the app twice. It may be the case that i18nInstance in one of these passes does not find initialI18nStore and thus populates it with all data. I'm not sure why removing <Query /> from a page ‘fixes’ i18nInstance though.
Here are a couple of odd things I noticed:

Calling deepFreeze(initialI18nStore) in i18n's getInitialProps causes an exception, even on a page that does not contain Apollo Queries.
/path/to/project/node_modules/i18next/dist/commonjs/utils.js:58
obj[k] = newValue;
        ^
TypeError: Cannot add property data-demo, object is not extensible
    at Object.setPath (/path/to/project/node_modules/i18next/dist/commonjs/utils.js:58:10)
    at ResourceStore.addResourceBundle (/path/to/project/node_modules/i18next/dist/commonjs/ResourceStore.js:129:11)
    at Connector.loaded (/path/to/project/node_modules/i18next/dist/commonjs/BackendConnector.js:132:18)
    at /path/to/project/node_modules/i18next/dist/commonjs/BackendConnector.js:241:14
    at /path/to/project/node_modules/i18next/dist/commonjs/BackendConnector.js:180:7
    at /path/to/project/node_modules/i18next-node-fs-backend/lib/index.js:125:9
    at /path/to/project/node_modules/i18next-node-fs-backend/lib/index.js:87:9
    at FSReqWrap.readFileAfterClose [as oncomplete] (fs.js:511:3)

I was expecting getInitialProps to produce a sufficiently complete version of initialI18nStore, so that it does not need to be changed later. Interestingly, adding console.log in a few bits of the the stack trace and removing deepFreeze reveals that all my translation files are loaded on every request 😨

It appears that import * as i18n from "i18next"; work differently in my custom TS server and on the client. The server uses commonjs while the client uses es distribution of the lib. This means that I18n = i18next.default is null on the server. This variable is used inside lib/withI18next.js , but things somehow work despite that. I replaced import * as i18n from "i18next";` with import * as i18n from "i18next/index";to ensurecommonjs` on both client and server and things kept working  🤷♂

OMG I need a rest from this 😅

yes...node.js imports commonjs bundle while browser prefers depending on bundler the es build for treeshaking...
not used apollo ever...so i totally have to pass :(

@jamuhl It’d be great if you could have a look at just using i18next in _app.js. If that works, I can nest Apollo into your wrapper and that will be it! In fact, Apollo does need to be inside i18n context, because things like GraphQL endpoint or query params can depend on the current language.

@kachkaev by using i18next in _app.js you mean having a provider / translate HOC which takes all the namespaces specified down the tree and load them in one place (the _app.js) instead of having multiple translate hocs down the tree?
Not sure if i can do much here. This is far from the regular use case done in react.
I guess translating content of _app.js works by wrapping itself into a with-i18next

I tried wrapping MyApp into the HOC like this:
// pages/_app.tsx
import App, { Container } from "next/app";
import { I18n } from "../i18n";
import PageHeader from "../lib/components/PageHeader";

class MyApp extends App {
  public props: any;

  public render() {
    const { Component, pageProps, t } = this.props;
    return (
      <Container>
          <PageLayout>
            <PageHeader t={t} /> // <-- this component uses translations from "common" namespace
            <Component {...pageProps} />
          </PageLayout>
      </Container>
    );
  }
}
export default translate(["common"], {
  i18n: I18n,
  wait: typeof window !== "undefined",
})(MyApp);

In addition to this, page components are still wrapped into with18next() as before to run getIntialProps logic etc.
In this case, rendering flickers and I get Warning: Did not expect server HTML to contain a
 in
. – that's because the first client-side render is empty because of wait and Next sees a mismatch two trees. If I remove wait, my client-side text does not translate (i.e. I see key as a result of t('key')). Next.js shows another warning: Text content did not match. Server: "Translated Key" Client: "key".
Can there be a way of grabbing the contents of __NEXT_DATA__.initialI18nStore without wait: true? I guess that's what the problem is about here.
In any case, it'd be great to see a simple example of translations in _app.tsx. Things like passing namespaces and linking this with apollo can be done later.

getting no translations means we get no initialI18nStore: https://github.com/i18next/react-i18next/blob/master/src/I18n.js#L19 -> guess you should not use translate but withI18next (https://github.com/zeit/next.js/blob/canary/examples/with-react-i18next/lib/withI18next.js) but idk...

I agreee that it’s likely that i need to go for withI18next in _app.js. I tried this a couple of days ago and gave up after a few hours of trying. There is a chance that i18next needs to be tweaked in order to make it workable so i’m asking for help :–)

I'm open for changes to react-i18next to support that use case - but honestly that's out of things i currently have time for - to much next.js internals for v6. react-i18next works as is for next.js, razzle and custom serverside renderers (so that _app.js support for additional shared layout is awesome - but can be easily solved by moving layout to a custom component and wrap every page with it). Having more comfort for next v6 is out of my personal work scope.

I also look forward to using the i18next example in nextjs v6

@imagine10255 @kachkaev this _app.js thing is a little weird - or i do not really understand it to much...a little pain as pageProps are rather inconsistent.
What i came up with - and seems to work - while not overly elegant (@kachkaev i'm sure you could improve that) is using render props and dependent on pageProps has i18n (i guess that's server render) or not using that or the ../i18n -> from root folder:
import App, { Container } from "next/app";
import { I18n as I18nR } from "react-i18next";
import { I18n } from "../i18n";

export default class MyApp extends App {
  render() {
    const { Component, pageProps } = this.props;
    return (
      <Container>
        <I18nR ns="common" i18n={pageProps && pageProps.i18n || I18n}>
          {
            (t) => (

{t('common:integrates_react-i18next')}

                <Component {...pageProps} />

            )
          }
        </I18nR>
      </Container>
    );
  }
}

:thinking: Interesting. How do you define pageProps.i18n and how do you pass pre-loaded namespaces to the client via __NEXT_DATA__? I'm also wondering if you have any warning saying that your client-rendered tree is different from the server one – that's what I got stuck with.

@jamuhl
I implemented your solution above to some success. Everything is fine for production mode, however, I started experiencing issues with the server and client being out of sync in developer mode. My initial assumption is that the i18n instance has changed due to HMR.
Is this something you also encountered?

@areddon as i personally have no project that i work active on - all i got is this small sample...so no - out of not using it extensively i did not had that...

Upon further inspection, it appears that pageProps.i18n and I18n can both be undefined.

how can I18n be undefined - seems i miss something...

It definitly is undefined, as it is followed by an error message ( server only )
TypeError: Cannot read property 'options' of undefined
    at new I18n (~node_modules/react-i18next/dist/commonjs/I18n.js:40:47)

That is a case were i18next was not initialized: https://github.com/i18next/react-i18next/blob/master/src/I18n.js#L12

Hi @jamuhl !
I'm having the same trouble than @areddon. I have upgraded Next version, then the console shows:
TypeError: Cannot read property 'options' of undefined
    at new I18n (~node_modules/react-i18next/dist/commonjs/I18n.js:56:20)
```
I think that the problem appears when Next wants to do SSR because the same page are working when I tap on the link to redirect there, but it doesn't work when I refresh the browser on this page.

@slorenzo Could you please test:
import App, { Container } from "next/app";
import { I18n as I18nR } from "react-i18next";
import { I18n } from "../i18n";

export default class MyApp extends App {
  render() {
    const { Component, pageProps } = this.props;
    return (
      <Container>
        <I18nR ns="common" i18n={pageProps && pageProps.i18n || I18n}>

why the I18n from import { I18n } from "../i18n"; is undefined...

Hi @jamuhl , Sorry i am fresh but i also met the issue:
TypeError: Cannot read property 'options' of undefined
    at new I18n (${path}\node_modules\react-i18next\dist\commonjs\I18n.js:56:20)

I need to create a page which use getInitialProps to fetch data from my backend. Hence i must use i18n services inside render method... Emmm...
I made a test project which could reproduce this issue, you may find it here, I just changed the way of rendering index page a little bit:
import React from 'react'
import Link from 'next/link'

import PureComponent from '../components/PureComponent'
import ExtendedComponent from '../components/ExtendedComponent'
import ComponentWithTrans from '../components/ComponentWithTrans'
import { withI18next } from '../lib/withI18next'

const TestContent =  withI18next(['home', 'common'])(({ t, initialI18nStore }) => (

{t('welcome')}

{t('common:integrates_react-i18next')}

{t('sample_test')}

          <button>{t('sample_button')}</button>

    <PureComponent t={t} />
    <ExtendedComponent />
    <ComponentWithTrans />
    <Link href='/page2'>
      {t('link.gotoPage2')}
    </Link>

))

const Test = () => {
    return(
        <TestContent/>
    )
};

export default Test;

This may not be doable cause I think it is a HOC and can not be used in render method as described here.
I am a little confused, could you please give a hand?

Just made a fast check and change in the ../lib/withI18next.js:
There I18n imported from '../i18n' is undefined...idk why we have that I18n and i18nextInstance there but seems to have been related to typescript usage...
finally changing in the HOC
import { translate, loadNamespaces } from 'react-i18next'
import { getInitialProps, I18n**, i18nInstance** } from '../i18n'
export const withI18next = (namespaces = ['common']) => ComposedComponent => {
const Extended = translate(namespaces, { i18n: I18n || i18nInstance, wait: process.browser })(
ComposedComponent
)
will make it work again...
No idea, evtl. @kachkaev has more insights as he did most of the next.js sample code and exports in i18n.js

👍  It works, thanks a lot @jamuhl

@LiangNex does @jamuhl's suggestion work for you together with other things in app.js (such as apollo client)? If so, could you please update the example?

@kachkaev Sorry but so far I only made the tests on component layer where I'm working on, which works as expected.  (I haven't touched anything in app.js, which is setup by next.js by defuault)
Besides I just start my trip on frontend with next.js,  I am afraid I can't do the testing on a high level aspect.
Here are the changes which follows @jamuhl 's suggestion. As he had mentioned that he would make it work again, I guess he might have some ideas in his mind to make it more flexible or something like that.

@LiangNex @kachkaev i will assist as i can - my personal problem is i do not use next myself - so there is no real project i test on...and on the sample given for my "test" cases it works by the above changes in withI18next.js and app.js....but still we get feedback on not being there yet to have it 100% working...

I have the same issue. Is there any other solution for use react-i18next with _app.js ?
There is my code of _app.js
`class MyApp extends App {
render() {
const { Component, pageProps, store } = this.props;
return (
  <Container>
    <Provider store={store}>
      <I18nR ns="common" i18n={(pageProps && pageProps.i18n) || i18nInstance}>
        {t => (

            {t('cta')}

            <ScreenClassRender
              render={screenClass => (
                <div className={`Layout ${isMobile(screenClass) ? 'Fixed' : ''}`}>
                  <Component {...pageProps} />

              )}
            />

        )}
      </I18nR>
    </Provider>
  </Container>
);

}
}
export default withRedux(configureStore)(MyApp);`
I wrap other pages with HOC withI18next. I also added fix in HOC (I18n || i18nInstance).
There is my log

So if I remove I18nR from _app it's working. But how can I translate layout?

@MaksRamenskiy interesting...from the log you see client renders before init which results in missingKey -> so the translations are not ready => no initialI18nStore set, no wait
cause:

wait gets only set in HOC: https://github.com/zeit/next.js/blob/canary/examples/with-react-i18next/lib/withI18next.js#L5
initialProps: https://github.com/zeit/next.js/blob/canary/examples/with-react-i18next/lib/withI18next.js#L9 (@kachkaev why you loadNamespaces there - the translate hoc does that anyway if it does not get it passed via initialI18nStore)

so i guess if using I18nR in _app.js we need to get initialI18nStore there - just how? As that pageProps seem unreliable...

@MaksRamenskiy @kachkaev @LiangNex @areddon  eventual there was an update to _app.js?!!?
https://nextjs.org/docs/#custom-<app>
setting pageProps via  async getInitialProps() { ... }:
import App, {Container} from 'next/app'
import React from 'react'

export default class MyApp extends App {
  static async getInitialProps ({ Component, router, ctx }) {
    let pageProps = {}

    if (Component.getInitialProps) {
      pageProps = await Component.getInitialProps(ctx)
    }

    return {pageProps}
  }

  render () {
    const {Component, pageProps} = this.props
    return <Container>
      <Component {...pageProps} />
    </Container>
  }
}

@MaksRamenskiy @LiangNex @imagine10255 @slorenzo @kachkaev
I removed the typescript stuff from i18n.js (having that default and instance export - so there is no mix depending on server or webpack - and made a new sample to checkout here: https://github.com/i18next/react-i18next/tree/master/example/nextjs_withAppJS
Feedback if you still encounter any issues on that with the changes done would be welcome ... if working i will update the sample here - if not PR on the sample would be welcome (or changes so i see the problem - as at my machine all seems to work)

just for credits...i took @LiangNex sample to work on

@jamuhl I tried you example (nextjs_withAppJS) and got error:
Warning: Did not expect server HTML to contain a
 in
.

@MaksRamenskiy i got that from time to time...not sure what that warning means at all

@MaksRamenskiy @jamuhl
I haven't had a chance to test out these changes yet, however that error usually occurs when the server rendered html does not match the client rendered html. It could be a result of using i18next in _app.js or something else within your application. When I get the chance to test on my bare bones implementation, I will let you know if I encounter the same issue.

@MaksRamenskiy @LiangNex @imagine10255 @slorenzo @kachkaev anyone had time to look deeper into - https://github.com/i18next/react-i18next/tree/master/example/nextjs_withAppJS
Would be great if we find a solution to this and update the sample provided here.

This seems to work okay:
https://github.com/ckeeney/with-react-i18next-app

@ckeeney did you also had a look at: https://github.com/i18next/react-i18next/tree/master/example/nextjs_withAppJS ?!?

There is my solution. But I only use one common namespace.
i18n.js file is same as in nextjs_withAppJS example.
_app.js
import React from 'react';
import { Provider } from 'react-redux';
import App, { Container } from 'next/app';
import withRedux from 'next-redux-wrapper';
import { I18nextProvider } from 'react-i18next';
import i18nR from '../i18n';

import Header from './../components/Header';
import Footer from './../components/Footer';

import configureStore from './../redux/configureStore';

class MyApp extends App {
  static async getInitialProps({ Component, ctx }) {
    const pageProps = Component.getInitialProps ? await Component.getInitialProps(ctx) : {};
    const i18nInitialProps = ctx.req ? i18nR.getInitialProps(ctx.req, 'common') : {};

    return { pageProps, i18nInitialProps };
  }

  render() {
    const {
      Component, pageProps, i18nInitialProps, store,
    } = this.props;

    const { i18n, initialI18nStore, initialLanguage } = i18nInitialProps;

    return (
      <Container>
        <Provider store={store}>
          <I18nextProvider i18n={i18n || i18nR} initialI18nStore={initialI18nStore} initialLanguage={initialLanguage}>

              <Component {...pageProps} />

          </I18nextProvider>
        </Provider>
      </Container>
    );
  }
}

export default withRedux(configureStore)(MyApp);

Pages wrapped by translate from 'react-i18next'


The editor crashes when clicking on a MenuButton while a pop-up is open

Godot version: Git https://github.com/godotengine/godot/commit/9e16f4a3704b76b3b7c236e29a141b3c33263667
OS/device including version: Fedora 28
Issue description: Clicking on a MenuButton while a pop-up dialog is open will crash the editor. It is likely to be a regression from https://github.com/godotengine/godot/pull/19726.

Steps to reproduce: Open the Project Settings or Editor Settings, then click on any of the editor's MenuButtons while a pop-up is open.

This does not seem to happen in v3.0.5 under Ubuntu 18.04. Instead the pop up closes and main editor window gains focus as expected.

yes. it happens with latest master. I'm facing same issue.

it also happens sometimes when closing editor settings.

It's likely a regression from https://github.com/godotengine/godot/pull/19726.

Hi,
Not happening here with master f778bd8 (which includes #19726)
Windows 7 x64, compiled with MONO
It does exactly like @johannesgunnar explained above

This is a regression from 0e29f7974b59e4440cf02e1388fb9d8ab2b5c5fd.

I'll have a look to see if I made an error in the cow pr

@hpvb #20475 this one looks definitely related to the COW pr.
would you take a look?

I'm looking into it now, it seems that there are some codepaths that rely on the previous 'copy on read' behavior of Vector to be safe in certain multi-threaded scenarios. Particularly things taking pointers too early, essentially bypassing CoW entirely.
It'll take a while to hunt all of these down and fix them I'll get going on it :)

While I'm not wrong this is a race condition the crash is present at 9423f23ffb80c946dec380f73f3f313ec44d0d18 which is one commit before the CoW fixes. :) I'll bisect some more but I think the problem is mousing over disabled icons. Probably the other crashes too. Still looking at the animation player.

This regression is caused by d1f5deabd8138fbfd56db2f850d96dca7b03cc8e or #19726


Cluster resource cannot be used if the cluster name is not DNS-1123 subdomain

Expected Behavior
My cluster name contains an underscore e.g. my_cluster. I should be able to define a cluster resource to use that.
Actual Behavior
Cluster name is taken from the resource metadata name, so it can only be set a valid DNS-1123 subdomain.
The PipelineResource "xyz" is invalid: metadata.name: Invalid value: "my_cluster": a DNS-1123 subdomain must consist of lower case alphanumeric characters, '-' or '.', and must start and end with an alphanumeric character (e.g. 'example.com', regex used for validation is '[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*')
Defaulting the cluster name to the resource name makes sense, but there should be a parameter to override that.
Steps to Reproduce the Problem

Create a cluster resource called my_cluster

Additional Info
https://github.com/knative/build-pipeline/blob/master/pkg/apis/pipeline/v1alpha1/cluster_resource.go#L57

whoops, good catch @afrittoli !

/assign @pivotal-nader-ziada


Keep blank lines in child nodes, too

Follow up of #63: The formatter of v4.0.1 keeps blank lines (thanks for this!), but only if they are all root nodes. It does not work for child nodes.
This...
%div
  %p First paragraph

  %p Second paragraph

...is formatted as...
%div
  %p First paragraph
  %p Second paragraph

Ahh shoot yeah I'll fix that too.


.Net: Keep context between Handlebars Calls

Hi I have been reading through some of the code here but I can't seem to come up with a way of passing the context between multiple plans. I am currently using RC3, any help appreciated thanks!
My code currently looks like:
var kernelSettings = KernelSettings.LoadSettings();

KernelBuilder builder = new();

builder.WithAzureOpenAIChatCompletion(
    kernelSettings.DeploymentId,
    kernelSettings.ModelId,
    kernelSettings.Endpoint,
    kernelSettings.ApiKey);

builder.WithPlugins(plugins =>
{
    plugins.AddPluginFromObject<Plugins.LightPlugin>();
    plugins.AddPluginFromObject<Plugins.Geometry.PointPlugin>();
});

Kernel kernel = builder.Build();

#pragma warning disable SKEXP0061 // Type is for evaluation purposes only and is subject to change or removal in future updates. Suppress this diagnostic to proceed.
#pragma warning disable SKEXP0060 // Type is for evaluation purposes only and is subject to change or removal in future updates. Suppress this diagnostic to proceed.

var planner = new HandlebarsPlanner(new HandlebarsPlannerConfig()
{
    AllowLoops = true
});

while (true)
{
    Console.ForegroundColor = ConsoleColor.DarkGreen;
    Console.Write("User > ");
    Console.ResetColor();
    string userRequest = Console.ReadLine()!;

    HandlebarsPlan plan = await planner.CreatePlanAsync(kernel, userRequest);

    string result = plan.Invoke(kernel, new KernelArguments());

    Console.ForegroundColor = ConsoleColor.DarkMagenta;
    Console.Write("Assistant > ");
    Console.ResetColor();
    Console.WriteLine(result.Trim());
}

#pragma warning restore SKEXP0060 // Type is for evaluation purposes only and is subject to change or removal in future updates. Suppress this diagnostic to proceed.
#pragma warning restore SKEXP0061 // Type is for evaluation purposes only and is subject to change or removal in future updates. Suppress this diagnostic to proceed.

The code inside the PointPlugin is two functions, one to create a (X, Y, Z) point in 3d space, and a function to calculate the length from (0, 0, 0) of said point.

To pass in context, you'll like need to create a string outside of your loop that you can use to store your overall context. During each loop of your while loop, you can then append to the string. You would then pass this in as part of the ask to the Handlebars planners.
As you make your app more advanced, you'll want to store the context in a vector memory provider, and then you could recall information at runtime to populate the correct context for the planner.

Reopening because it would be better if the planners could take in a chat history object to preserve context from a conversation.

This will likely be fixed +V1.0 in the new year.

To pass in context, you'll like need to create a string outside of your loop that you can use to store your overall context. During each loop of your while loop, you can then append to the string. You would then pass this in as part of the ask to the Handlebars planners.
As you make your app more advanced, you'll want to store the context in a vector memory provider, and then you could recall information at runtime to populate the correct context for the planner.

Sorry just a quick question here, so a lot of what I am trying to test out right now is building on having native types being constructed through conversation. So there is no way I can keep the native types in a Dictionary and have handlebars be able to refer to them instead of requiring parsing of the entire chat history on each execution?
Cheers,
Sanchez

Reopening because it would be better if the planners could take in a chat history object to preserve context from a conversation.

@matthewbolanos We should create a separate issue for this as a new feature request + details on how the chat history should be used by the planner (i.e., additional context at the end?)
Seems adjacent to feature request to inject custom domain knowledge https://github.com/microsoft/semantic-kernel/issues/4067 -- could we treat chat history as custom knowledge in its own partial?

To pass in context, you'll like need to create a string outside of your loop that you can use to store your overall context. During each loop of your while loop, you can then append to the string. You would then pass this in as part of the ask to the Handlebars planners.
As you make your app more advanced, you'll want to store the context in a vector memory provider, and then you could recall information at runtime to populate the correct context for the planner.

Sorry just a quick question here, so a lot of what I am trying to test out right now is building on having native types being constructed through conversation. So there is no way I can keep the native types in a Dictionary and have handlebars be able to refer to them instead of requiring parsing of the entire chat history on each execution?
Cheers, Sanchez

We have some work planned to split each section of the planner prompt into isolated partials that we'll structure together piece-by-piece, so users will have more control on the order / structure of the planner prompt (i.e., omit or add any custom sections of their choosing). You can track it here: https://github.com/microsoft/semantic-kernel/issues/4067
But for now, the only way you'd be able to add your native types are by concatenating it to the goal you pass to the planner.
If you take a look at CreatePlanPrompt.handlebars, this is how we inject complex type definitions.

By default, all complex types are extracted from native functions registered on the kernel and injected into the planner prompt.
If you want to inject other type definitions that aren't tied to a function, you can try an approach like this:
        // Create a set of arguments containing the native types definitions
        var arguments = new KernelArguments()
        {
            { "nativeTypeDefinitions", nativeTypesDictionary }
        };

        // Create custom prompt template and render using the Handlebars prompt template factory
        var customTypesPrompt = @"## Native types
... Some description of the native types, assuming they follow the `KernelParameterMetadata` definition

{{#each nativeTypeDefinitions}}
### {{Name}}:
{
  ""type"": ""object"",
  ""properties"": {
    {{#each Properties}}
    ""{{Name}}"": {
        ""type"": ""{{ParameterType.Name}}"",
    },
    {{/each}}
    }
}";
        var promptTemplateConfig = new PromptTemplateConfig()
        {
            Template = customTypesPrompt,
            TemplateFormat = HandlebarsPromptTemplateFactory.HandlebarsTemplateFormat,
            Name = "MyTypesDefinitionPrompt",
        };

        var handlebarsTemplate = new HandlebarsPromptTemplateFactory().Create(promptTemplateConfig);
        var definitionsCompiled = await handlebarsTemplate!.RenderAsync(kernel, arguments).ConfigureAwait(true);

        // Concatenate your native types definitions with the goal and pass it into the planner
        goal = $"Goal: {goal}\n\n {definitionsCompiled}";
        var plan = await planner.CreatePlanAsync(kernel, goal);

Sorry there's so many loops to jump through here, I'll work with @matthewbolanos on ways we can make the planner more customizable.

This should be addressed with partial support in #4067, closing as a dupe


Update datasource on Grafana website

The package at https://grafana.com/plugins/gridprotectionalliance-osisoftpi-datasource/installation needs to be updated to the latest code.

The PR for this update has been merged - as soon as they refresh their web site against the plug-in updates it should be available.
Thanks!
Ritchie

Great! It looks like it updated. I wasn't sure about the update procedure.


Retrieve full range historical data

Is there an existing issue for this?

[X] I have searched the existing issues

Is your feature request related to a problem? Please describe.
Currently the Python data client appears not to support retrieving all the data in the given time period. For example, if I query minute bars over a one year period, there will be only 10,000 data returned from the endpoint. This is ok since you've shown in the doc that the limit per request is 10,000. However, in this Python Client, I did not see means to get the next page token. Therefore, I cant retrieve the rest of the data.
Describe the solution you'd like.
Either of the two:

The BarSet object should have a field to store the next page token.

The client itself implements logic to retrieve the remaining data using the next page token.

Describe an alternate solution.
No response
Anything else? (Additional Context)
No response

@Chacoon3 thank you for the feedback.
You are right. Currently we have hardcoded limitation per request basis but no way to fetch further with considering continually. Seems we may need to change design/interface a bit which might also cause breaking change. Please let me consider this.
https://github.com/alpacahq/alpaca-py/blob/v0.30.1/alpaca/common/constants.py#L3

@Chacoon3 thank you for the feedback. You are right. Currently we have hardcoded limitation per request basis but no way to fetch further with considering continually. Seems we may need to change design/interface a bit which might also cause breaking change. Please let me consider this.
https://github.com/alpacahq/alpaca-py/blob/b5e13cd7f5c65cbf05e82c5b65c714b4d53bd840/alpaca/common/constants.py#L3

@hiohiohio  Thank you for your reply.
The REST endpoint accepts the limit parameter to be at most 10000, Changing the DATA_V2_MAX_LIMIT therefore does not solve my problem as the limit is fixed at server side.
To introduce minimal change to the current interfacing design, exposing the next page token on BarSet object could be a choice to consider, and users can use the exposed field to fetch the remaining data by themselves. Just a personal suggestion.
Thank you,

Your confusion is caused by the fact that the parameter called limit mean different things in the Python SDK and in the API. In the SDK it means the total number of data points to get. If you query bars and set the limit to 10 000 then you will get 10 000 bars and yes, you won't be able to retrieve the rest of the data without the page token. In the API, on the other hand, limit actually means the page size. You can't set the page size to greater than 10 000, but you can set the total limit in the SDK to any number. If you set it to 100 000, you will get (at most) 100 000 bars, possibly from 10 pages. If you set it to None, then you won't limit the number of data points, so effectively you'll get the full range of historical data without ever seeing the page token.

Your confusion is caused by the fact that the parameter called limit means different things in the Python SDK and in the API. In the SDK it means the total number of data points to get. If you query bars and set the limit to 10 000 then you will get 10 000 bars and yes, you won't be able to retrieve the rest of the data without the page token. In the API, on the other hand, limit actually means the page size. You can't set the page size to greater than 10 000, but you can set the total limit in the SDK to any number. If you set it to 100 000, you will get (at most) 100 000 bars, possibly from 10 pages. If you set it to None, then you won't limit the number of data points, so effectively you'll get the full range of historical data without ever seeing the page token.

I see. Thanks for clarifying!


add portuguese locale

Hi @ssshooter,
I added the Portuguese language to the locale file. Any doubts, let me know.
Thank you.
Regards,
Guilherme

Thanks for your PR 😺


Delete RMIT 2024 Postgraduate Study Areas

the file is already in the dataset folder

https://github.com/SkywardAI/cecilia/pull/30


Fix parsing of empty parentheses

This fix allows to parse () like (void) in the function parameters.
Another way to fix is to add void into following lines:
https://github.com/raysan5/raylib/blob/f62202198e35161a9fe394a14bbd1a7c655107ad/src/rlgl.h#L594-L595 these lines are from the commit: https://github.com/raysan5/raylib/commit/4b0e25d3af79ce4c5cd94e8279473764d969cca3

@Filyus Actually those functions need to be reviewed. C requires defining void if function should not receive parameters, empty parenthesis mean any number of input parameters.

@Filyus I'm merging in case of that malformed side-case but it shouldn't be required.


add error handling to send keys

this should remove some edge cases where ghostdriver will freeze.  specificity when the file element is not visible or when the file element has the multiple attribute.  hopefully this will help users debugging #282 .
edge cases covered:

log error if file does not exist
throw error on multiple file upload
throw error if clicking on file for file upload fails
throw error if focusing on the generic input element fails

@detro the second commit 4242d66 should fix multi-file upload.  it indirectly sends a click event to the head element which might not be desirable.

Is there a solution for the problem using python?

can somebody approve this one ?

Hi, @jesg, great work. Could you please create this pull request also in https://github.com/codeborne/ghostdriver. It seems they are that version is nowadays maintained.
Thanks.

@mariusstaicu i'm working on ghostdriver changes for the phantomjs 2.5 release.  the updated version of ghostdriver for that release will probably be from my repository.  the maintainer of codeborne/ghostdriver is free to pull in my commits.  this project is BSD.
ironically file upload is broken in phantomjs 2.5 beta.

Ha, nice!

Merge, merge, merge 💃

Is this part of #511 ?

Is this part of #511 ?

yes

closing since changes are included in #511


MISP computation

Hello!
Could you point me where in this repository's code do you compute the optimal solution to the input program's MISP, as described in Subotič et al's "Automatic Index Selection for Large-Scale Datalog Computation"?
From what I understood, HIR transforms each program's rule to a relational form, and then MIR...maps it to primitive searches?

This should be in the ind_rel provider of the byods branch. I am busy with some end-of-semester business now, but I will try to get a concrete pointer into the code by the end of the week. Arash is looking at merging the byods branch into the main one proper--but I think that's still up in the air as to timeline.

Thanks Kristopher! Looking forward to it.

Hi @brurucy, the index-sharing data structure provider has not been added to the repo yet. I'll try and rectify that whenever I get a chance.
In the meantime, you can check out the docker image https://hub.docker.com/r/arashsahebolamri/byods-artifact, which contains this code under /src/exps/ind-share

@s-arash could you also describe how do you go from Datalog program -> Indexes?
e.g. if you have the classic ancestor rule:
tc(?x, ?y) <- e(?x, ?y)
tc(?x, ?z) <- e(?x, ?y), tc(?y, ?z)
Are your indexes then ((key), (value)):
e [ ((1), (0)), ((0, 1), ) ]
tc [ ((0), (1)) ]

Hi Bruno,
Section 5.5 of this paper describes the key points of the implementation: https://kmicinski.com/assets/byods.pdf. There are a few differences compared to what Souffle is doing (e.g., using linked hashmaps rather than btrees/tries), but algorithmically it should follow https://www.vldb.org/pvldb/vol12/p141-subotic.pdf.

@brurucy, to add more context to Kris's answer, the Ascent compiler itself selects a set of logical indexes for each relation. In your example, it is as you described (i.e., for e the indexes are [{}, {1}, {0, 1}]). It is up to the data structure provider (index-sharing for example) to come up with physical indexes for this set. As Kris said, that process is described in the BYODS paper.

Perusing over byods was my main entertainment for a 13 hours flight that just landed. I think I get it now, and the index computation code is very portable. I'm snatching it.
Thanks @s-arash .
Could you also tell me where does ascent the compiler compute the indexes? I can always guess it correctly, but the logic seems to be buried beneath so much parsing that I'm struggling to find the seemingly simple code that does that.

Could you also tell me where does ascent the compiler compute the indexes?

Look for it in ascent_hir.rs (no parsing there). Specifically, compile_rule_to_ir_rule() should be a good starting point.


F6.0.5 | Responsive Menu & Drill down, menu doesn't drill down

On older iPhones like the iPhone 4s on 9.1iOS (within responsive navigation menu)  the drilldown menu  top level links do nothing still. Works lovely on iPad's, iPhone 5 and 6 though : /

Figured out why this doesn't work becuase the css transform value didn't have the -webkit- vendor applied:
These classes in _drilldown.scss need changing to:
&.is-active {
  z-index: 1;
  display: block;
  transform: translateX(if($global-text-direction == ltr, -100%, 100%));
  -webkit-transform: translateX(if($global-text-direction == ltr, -100%, 100%));
}

&.is-closing {
  transform: translateX(if($global-text-direction == ltr, 100%, -100%));
  -webkit-transform: translateX(if($global-text-direction == ltr, 100%, -100%));
}

Just a note

Just a note this was not a javascript bug in the end, just a styling issue.


fix an error in the description

Breaking Change:
The description of the dyson component to set the speed was telling something not possible.
As I only touched the description and not the service itself, i'll not fill the entire template :)

Hi @alain57,
It seems you haven't yet signed a CLA. Please do so here.
Once you do that we will be able to review and accept this pull request.
Thanks!

Thanks for the fix. You'll still need to sign the CLA.


Setup sonarcloud to check quality

Pending request approval on Github side to generate a token on sonarcloud
Pull Request checklist
🚨Please review the guidelines for contributing to this repository.

[x] Make sure you are requesting to pull a topic/feature/bugfix branch. Don't request your master!
[x] Make sure you are making a pull request against the master branch (left side).
[x] Check the commit's or even all commits' message styles matches our requested structure.
[x] Check your code additions will fail neither code linting checks nor unit test.

Pull request type
Please check the type of change your PR introduces:

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

Description
Please describe your Pull Request.
What is the current behavior?

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

Does this introduce a breaking change?

Yes
No

Other information

❤ Thank you!

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


Could you use this optimized version of your GIF?

Hey @vigneshRajakumar @anodaini @athy9193 @xudongyang2 ! Do you mind switching to this optimized versus of your gif? The dashboard showcase is having some performance degradation on Chrome from everyone's great gifs. This one is still pretty good quality and 2 MB instead of 8 MB.

Thank you so much, @joelostblom! This looks great! Sure we will definitely use this.

Thank you!!


http Request timeout not occurring

Steps to Reproduce

Run flutter create bug.
Update the files as follows: ...

Provider for Main Page.
Async function inside the Provider with an http request, and a timeout.

var response = await http.post(uri, headers: {
        "Content-Type": "application/x-www-form-urlencoded",
        "Authorization": token,
      }).timeout(Duration(seconds: 8));

Disable internet connection from the device. The http request will never return or fail.
This only occurred after I updated flutter from 1.12 to 1.17.

Expected results: A timeout occurring, leading to an exception or the "onTimeout" Callback being called
Actual results: The "onTimeout" Callback is never being called. Even without it, an exception is not thrown
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, v1.17.1, on Mac OS X 10.15.4 19E287, locale en-SY)

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
[✓] Xcode - develop for iOS and macOS (Xcode 11.3.1)
[✓] Android Studio (version 3.6)
[!] IntelliJ IDEA Community Edition (version 2020.1.1)
    ✗ Flutter plugin not installed; this adds Flutter specific functionality.
    ✗ Dart plugin not installed; this adds Dart specific functionality.
[!] VS Code (version 1.43.0)
    ✗ Flutter extension not installed; install from
      https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter
[!] Connected device
    ! No devices available

! Doctor found issues in 3 categories.
ucgmacmini@UCGs-Mac-mini flutter_alyamin % flutter doctor -v
[✓] Flutter (Channel stable, v1.17.1, on Mac OS X 10.15.4 19E287, locale en-SY)
    • Flutter version 1.17.1 at /Users/ucgmacmini/Library/flutter
    • Framework revision f7a6a7906b (5 days ago), 2020-05-12 18:39:00 -0700
    • Engine revision 6bc433c6b6
    • Dart version 2.8.2

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
    • Android SDK at /Users/ucgmacmini/Library/Android/sdk
    • Platform android-29, build-tools 29.0.2
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b4-5784211)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 11.3.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 11.3.1, Build version 11C505
    • CocoaPods version 1.9.1

[✓] Android Studio (version 3.6)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 45.1.1
    • Dart plugin version 192.8052
    • Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b4-5784211)

[!] IntelliJ IDEA Community Edition (version 2020.1.1)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    ✗ Flutter plugin not installed; this adds Flutter specific functionality.
    ✗ Dart plugin not installed; this adds Dart specific functionality.
    • For information about installing plugins, see
      https://flutter.dev/intellij-setup/#installing-the-plugins

[!] VS Code (version 1.43.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    ✗ Flutter extension not installed; install from
      https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter

[!] Connected device
    ! No devices available

! Doctor found issues in 3 categories.

Hi @ahmaducg
testing the code below with the latest master

code sample
import 'dart:async';
import 'package:flutter/material.dart';
import 'package:http/http.dart' as http;

// dependencies:
//   http: ^0.12.1

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: MyHomePage(),
    );
  }
}

class MyHomePage extends StatefulWidget {
  MyHomePage({Key key,}) : super(key: key);

  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {

  static const String _url = 'http://httpstat.us/200?sleep=50000';

  Future<http.Response> _test() async {
    print('calling "http get"');
     http.Response _res;
      _res = await http.get(_url)
      .timeout(Duration(seconds: 3),
        onTimeout: () => http.Response(
        'timeout',
        408,
        ),
      );
    print('done');
    return _res;
  }

  @override
  Widget build(BuildContext context) => Material(
    child: Center(
      child: FutureBuilder<http.Response>(
        future: _test(),
        initialData: null,
        builder: (BuildContext context, AsyncSnapshot<http.Response> snapshot) =>
          ! snapshot.hasData
            ? const CircularProgressIndicator()
            : snapshot.hasError
              ? const Text('error')
              : Text('${snapshot.data.body}')
      ),
    ),
  );
}

doctor
[✓] Flutter (Channel master, 1.19.0-2.0.pre.83, on Mac OS X 10.15.4 19E287, locale en-EE)
    • Flutter version 1.19.0-2.0.pre.83 at /Users/nevercode/development/flutter_master
    • Framework revision 8abf0a6d8c (2 days ago), 2020-05-16 15:07:34 -0700
    • Engine revision aaf9e79f1d
    • Dart version 2.9.0 (build 2.9.0-9.0.dev<PHONE_NUMBER>)

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
    • Android SDK at /Users/nevercode/Library/Android/sdk
    • Platform android-29, build-tools 29.0.2
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b4-5784211)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 11.3.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 11.3.1, Build version 11C504
    • CocoaPods version 1.9.0

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 3.6)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 45.1.1
    • Dart plugin version 192.7761
    • Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b4-5784211)

[✓] VS Code
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.10.2

[✓] Connected device (3 available)
    • iPhone 8   • D5F70F31-B488-4454-9539-320B5551D92A • ios            • com.apple.CoreSimulator.SimRuntime.iOS-13-3 (simulator)
    • Web Server • web-server                           • web-javascript • Flutter Tools
    • Chrome     • chrome                               • web-javascript • Google Chrome 81.0.4044.138

• No issues found!

works as intended
does this sample represent the issue you are describing?
Thank you

Maybe it is an issue with only 1.17?
Or the provider plugin?

Hi @ahmaducg
I can test it offline and it never prints timeout and always loading in offline
For issue related to the 3rd party plugin http you may want to open an issue in the dedicated GitHub.
Closing, as this isn't an issue with Flutter itself,
if you disagree please write in the comments and I will reopen it
Thank you


New class for generating and loading data

A new task to Orchestrate creating tempfiles, generating data, loading data, cleaning up tempfiles and batching.
I'll add some pytests after the initial review of the Task API.

I think that the test failures are unrelated.

I wanted to capture the information about the faker hack but in my testing it didn't make a big enough difference that I would want it to be a default behaviour of CCI. So I added a note about it in   694f83a9b1d557. Obviously the impact it makes varies widely based on how much you depend on Faker and so far it didn't make much difference to my test cases. If I find it makes a big difference in future test cases then maybe I will want to make it an official "option" or default behaviour.


add selector option

I added an option to supply a selector to the plugin to determine what to extract into the excerpt metadata property. Also, documentation on existence/usage of excerpt has been added to the README.

Any thoughts positive or negative on integrating this feature?

Just thought I'd follow up on this since it has been a few months. Bueller?

Closing since stale


Calendar not updated, when month is switched

When a month is changed, e.g. from May 31 to June 1, the calendar stays on May 31 for several days.
See https://forum.magicmirror.builders/topic/238/monthly-calendar/22

I managed to carve some time for this and had hoped I can merge it easily but immediately discovered another problem with the refresh rate as I stated in the reverted commit message. I'll take a closer look at it and work out a fix for the end of the month issue. Feel free to resubmit a fix if you manage to get to one before me.

Hi there. I am still having the same issue. Has this been fixed? The status is unclear to me from just this issue.

Hi @KirAsh4 - I would highly appreciate a fix for this issue. Could you take some time to have another look at it?


Event type removed in SSE messages

In a SSE subscription, when the subgraph returns data: {"username": "bobby", "time": "02:33:48"}, the prefix data:  is removed from the response. The json string {"username": "bobby", "time": "02:33:48"} is what's written by the engine, which I think is doing the wrong thing. It should write the event type too.

I'm not sure what the problem here is?

@jensneuse The expectation is that the graph router should not mutate the response from subgraph.
So in this case, the subgraph returns data: {"username": "bobby", "time": "02:33:48"}, the router should just write the exact string to the response.

I'm not sure I understand this. What router? This is a library that can resolve federated GraphQL operations.
If you want to expose the API via SSE, you can prefix a response like this:
https://github.com/wundergraph/wundergraph/blob/2e4ae8506558165a9bf3ada4b8f45cee55a9f18d/pkg/apihandler/apihandler.go#L1405
It's not really a concern of this library how you expose the API.


CCM_8 being not recommanded anymore, would be nice to open the cabalibities to use full size CCM (16)

Following https://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml, ccm_8 is not recommended anymore due to "potential" weakness in ccm_8 (not ccm, which uses 16bits tags)
Here is a good overview of the current concerns of the community:
https://mailarchive.ietf.org/arch/browse/core/?gbt=1&index=WnRInwF-j0uZmLggFh37ySljnwE
I’m not aware of practical PoC, but that would not be surprising to see something appearing a couple of years from now.
Using TLS_PSK_WITH_AES_128_CCM or, even better, TLS_ECDHE_PSK_WITH_AES_128_CCM would make the design safe for longer.
But as an Openthread user, you are stuck with CCM_8 even if MbedTLS support many more ciphersuites.

@jvermillard , thanks for raising this issue.
I assume you are referring to OpenThread's CoAP Security example. As noted in the README, this is simply an example of how to implement coaps using OpenThread's CoAP implementation. Note that this ciphersuite is not used anywhere within the Thread Protocol itself.
If you are willing, feel free to submit a PR with a proposed change. Thanks!

Thanks @jwhui for the clarification, I 'll take a deeper look


Template labels

This adds the ability to generate samples based on a template inside the extension, instead of generating them in the js and then passing them to the extension. The main benefit is performance.
Currently this is still missing documentation, that's why I opened it as draft only

can we though merge #11 as well either before merging this or quickly afterwards

sure, i'm not expecting any complicated merge conflicts, so i don't think the order matters much


EF Core improvements

Change how migrations work today (Data project will be just a class lib instead of a webapp) #77
Introduce EntityTypeConfiguration for each entity, so the DbContext file is clear of configuration
Use the package for camel case Postgres and remove our impl #85
Figure it out why we have a pending migration and try to "remove" it (there were no intentional model changes, but the enabling of null ref types + the new ef pkg versions introduced unwanted changes)

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

vai que da


Problem with ForeignKeyWidget

I'm following the docs on ForeignKeyWidget very closely, and am still getting an error when uploading an Excel file. My resource looks like this:
class AssignmentResource(resources.ModelResource):
	instruction_type = fields.Field(
		column_name='instruction_type',
		attribute='instruction_type',
		widget=ForeignKeyWidget(InstructionType, 'type')
	)

	class Meta:
		model = Assignment
		fields = ('instruction_type',)

type is a string field on the InstructionType model. When I try to upload a spreadsheet that has string values, I get this error:
Line number: 1 - Column 'instruction_type': invalid literal for int() with base 10: 'Research'
What am I doing wrong?

can you share first two lines of the excel file? (headers + example data)

Here's a sample:

id
client
keyword
special_instruction
instruction_type
quota
desktop quota
mobile quota
desktop pay
mobile pay

Alfred
assistants

Research
50
25
25
10
10

Hi @GregKaleka, try adding the 'id' field, we will probably need to modify the documentation again ;)
Let me know if you get the same error I get: DoesNotExist
fields = ('id', 'instruction_type',)

My bad with the test, after adding the 'id' field it seems to work for me.

I'm afraid adding 'id' did not fix the problem. I'm still getting the same invalid literal for int() with base 10 error.
I've been trying to dig through the source code to understand how the Resource attribute is used and can't quite follow how the widget is pulled in. Am I missing anything in my code above? That's the whole of my AssignmentResource class definition.

I'm afraid adding 'id' did not fix the problem. I'm still getting the same invalid literal for int() with base 10 error.
I've been trying to dig through the source code to understand how the Resource attribute is used and can't quite follow how the widget is pulled in. Am I missing anything in my code above? That's the whole of my AssignmentResource class definition.

:man_facepalming:
So... I never actually added the line resource_class = AssignmentResource to my AssignmentAdmin class.
Sorry for the runaround!

Please help me find a solution. I am going through the exact same issue and I have the resource class added in the admin class. Please see my code below:-
When I try importing in a table with a foreign key with datatype string, I get this error - invalid literal for int() with base 10, which I understand because the foreign key field has datatype int.
But for that before importing, do I have to edit the column in my csv with integer id values of the column being looked up for translating the foreign key value? Please share any working examples, I want to use a column of datatype string as foreign key and not the integer.
csv contains data like below:-
host_name,server_type,bay_location,ip
abc,virtual,abc,<IP_ADDRESS>
In models.py
class TypeOfServer(models.Model):
type= models.CharField(unique=True)
class Server(models.Model)
host_name = models.Charfield()
server_type =
models.ForeignKey('TypeOfServer',to_field='type',on_delete=models.CASCADE)
bay_location= models.Charfield()
ip= models.Charfield()
In admin.py
class ServerResource(resources.ModelResource):
class Meta:
model = Server
server_type = fields.Field(
column_name='server_type',attribute='server_type',
widget=ForeignKeyWidget(TypeOfServer,'type'))
fields = ('host_name','server_type','bay_location','ip')
skip_unchanged = True
report_skipped = False
When I try importing the csv, it has string in the column server_type, but actually the datatype of server_type created in table in Server is int since its a foreign key. How to deal with this?

🤦
So... I never actually added the line resource_class = AssignmentResource to my AssignmentAdmin class.
Sorry for the runaround!

I told myself I couldn't possibly have forgotten this and lo and behold I checked and...I also forgot to do this. THANK YOU!


Allow flipping healthy panic scenario behavior

Title: Allow changing healthy panic scenarios to failing all requests instead of routing to any host.
Description:
Currently, the only behavior possible when a cluster enters a panic state is that requests are routed to any host in the cluster regardless of the host's health. This behavior should be configurable to instead disallow requests completely, even with remaining healthy hosts in the cluster. This is useful in scenarios where it is more desirable to allow a failing service to recover, rather than attempt to allow even a small percentage of traffic to succeed.
I also have a draft patch which switches the behavior unconditionally and would be willing to work on adapting it to be configurable.
Relevant Links:
https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/upstream/load_balancing/panic_threshold.html

@snowp any thoughts here?

Seems like a reasonable request for very specific failure modes (e.g. if health checks are failing from the server being overloaded), so I can see the argument for adding this.
I'm a bit unsure how it would interact with per priority panic (would you ever want to fail requests if another priority is not in panic?), but maybe we could have this only kick in on global panic?

I would still love to see this feature. Anything I can do to help move it forward?


[Bug]: Performance problem on global model serving page

Is there an existing issue for this?

[X] I have searched the existing issues

Deploy type
Installing Dashboard directly (eg. v2.12.0, commit xyz, branch name)
Version
main
Current Behavior
It takes a long time to load when you switch between projects so you will probably see an empty state flickering when you do it. Especially when you switch from a specific project to "All projects".
Expected Behavior

You will fetch the list of all model servers and all models in 2 separate network calls, but not separate ones for every project
There should be loading state when you switch between projects

Steps To Reproduce

Go to the global model serving page
Select a project
Switch back to "All projects"
Look carefully at how the empty state changes and re-rendering

Workaround (if any)
No response
What browsers are you seeing the problem on?
No response
Anything else
No response

I'm investigating the issue right now

@vconzola we can talke here about the loading indicator between project switches.


A0-3032: Handle own blocks in sync

Description
Blocks created by us should go through sync and get broadcast as soon as we create them.
Type of change

New feature (non-breaking change which adds functionality)

Checklist:
(I might need to add tests, but I wanted to have this mostly done before my days off.)

I have made corresponding changes to the existing documentation
I have created new documentation

The issue this is dealing with is passing the blocks Aura produces through sync, so that they can be broadcast. The wrapper intercepts created blocks and first passes them through our sync, which only afterwards forwards them to the proper import queue.
Aura only makes very limited use of the results returned by the import queue we give it (as I outlined in one of the responses above), so intercepting the newly created blocks this way cannot impact its logic. I haven't checked whether check_block is used anywhere, but it does not modify the wrapped object and the current implementation returns the exact same thing as it did previously, so it should still work. The implementations of import_block do not usually call check_block in the first place, so that shouldn't be too weird – anyway, we let Aura perform all the necessary checks later, when it passes through the other import queue after going through our sync.


Way to save individual output metrics of linear regression?

Is there any way to save the R^2, AIC, F-statistic, etc. score from the linear regression estimator? Is there perhaps a method or variable that stores these values without the rest of the terminal output, so that I can append them to a list or write them to a file? I want to be able to pick out just one of these individual values by itself (such as R^2 only) and store it, without having to save the entirety of the output.
For example, I want to be able to save just the R-squared score from this terminal output, without the other variables:
`
OLS Regression Results
Dep. Variable:             Depression   R-squared:                       0.111
Model:                            OLS   Adj. R-squared:                  0.045
Method:                 Least Squares   F-statistic:                     1.682
Date:                Mon, 20 Jul 2020   Prob (F-statistic):              0.205
Time:                        11:37:05   Log-Likelihood:                -113.92
No. Observations:                  30   AIC:                             233.8
Df Residuals:                      27   BIC:                             238.0
Df Model:                           2
Covariance Type:            nonrobust
             coef    std err          t      P>|t|      [0.025      0.975]

const         20.6706      5.265      3.926      0.001       9.867      31.474
x1            -0.0082      0.005     -1.794      0.084      -0.018       0.001
x2             0.0001      0.016      0.009      0.993      -0.033       0.033
Omnibus:                       12.722   Durbin-Watson:                   1.937
Prob(Omnibus):                  0.002   Jarque-Bera (JB):               12.076
Skew:                           1.348   Prob(JB):                      0.00239
Kurtosis:                       4.547   Cond. No.                     2.65e+03
`

yes @gabeguo that is possible. Suppose that estimate is the returned object from model.estimate_effect() function. You can write: estimate.estimator to obtain the underlying statsmodels object for linear regression ( i believe it is a OLSResults object). Then you can use the statsmodels API to get any statistic of interest. E.g., to get R^2, you can write: estimate.estimator.rsquared. For more details, consult the statsmodels docs: https://www.statsmodels.org/stable/generated/statsmodels.regression.linear_model.OLSResults.html#statsmodels.regression.linear_model.OLSResults

@amit-sharma Thanks, but after testing it, I believe it is actually estimate.estimator._linear_model.rsquared


changing material of glb not working

@prideout Hi there again,
I am using
renderableManager.setMaterialInstanceAt(entity,0,goldmaterialInstance)
The output:

I am converting stl files to glb using this link
Why is the output like this? It works on normal GLB files but not on converted ones.How to fix this?

Screenshot of normal GLB file:

My material looks like this.
.material( "void material(inout MaterialInputs material) {\n" + " prepareMaterial(material);\n" + " material.baseColor.rgb = materialParams.baseColor;\n" + " material.roughness = 0.3;\n" + " material.metallic = 1.0;\n" + " material.clearCoat = 1.0;\n" + " material.reflectance = 0.3;\n" + "}\n" )

ok i fixed this by adding a material to the json stucture in convertor.py as show below.
...
  "nodes" : [
    {
      "mesh" : 0
    }
  ],

  "materials" : [
          {
              "doubleSided" : true,
              "emissiveFactor" : [
                  0,
                  0,
                  0
              ],
              "name" : "Material.001",
              "pbrMetallicRoughness" : {
                  "baseColorFactor" : [
                      0.8000000715255737,
                      0.1996239870786667,
                      0.054953426122665405,
                      1
                  ],
                  "metallicFactor" : 0.8869569897651672,
                  "roughnessFactor" : 0.14347800612449646
              }
          }
      ],

  "meshes" : [
    {
      "primitives" : [ {
        "attributes" : {
          "POSITION" : 1
        },
        "indices" : 0,
        "material" : 0
      } ]
    }
  ],
...

But my model structure gets bit messed up.
Any idea on y this is happening?

Looks like a coordinate system issue. Filament uses Y-up, other engines or tools uses Z-up sometimes. Looks like your exporter didn't properly convert as gltf should be Y-up.


MIC-731 status as reference data

Codecov Report
Attention: Patch coverage is 88.00000% with 3 lines in your changes missing coverage. Please review.

Project coverage is 91.67%. Comparing base (84b8f5a) to head (0a3aaba).
Report is 1 commits behind head on main.

Files with missing lines
Patch %
Lines

...ngesupportinterventionplanapi/domain/CsipRecord.kt
0.00%
0 Missing and 1 partial :warning:

...gesupportinterventionplanapi/domain/CsipSummary.kt
80.00%
1 Missing :warning:

...rtinterventionplanapi/service/CsipRecordService.kt
66.66%
0 Missing and 1 partial :warning:

Additional details and impacted files
@@            Coverage Diff            @@
##               main     #186   +/-   ##
=========================================
  Coverage     91.66%   91.67%
- Complexity      727      738   +11
=========================================
  Files           130      130
  Lines          2219     2233   +14
  Branches        160      162    +2
=========================================
+ Hits           2034     2047   +13
+ Misses          129      128    -1
- Partials         56       58    +2

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Where can I get clarification about POST and web services

I'm trying to Create an invoice through Dynamics 365'S API.
Right now I can access every invoices through a custom web service created in our Dynamics business central app.
However I can't seem to find a procedure on how to create/update content with web services, everything I tried returned me a 404 error. (Using postman to test)

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

ID: ac0b2912-a8e9-d42d-004f-58f9a203bd4d
Version Independent ID: 7c27e629-f0e4-10c5-2bec-fc3fa9f888d5
Content: OData Web Services Data Modification - Dynamics NAV
Content Source: dynamics-nav/Using-OData-Web-Services-to-Modify-Data.md
Product: dynamics-nav-2018
GitHub Login: @jswymer

Hello, thanks for your feedback. Please use your usual support channel to get help with this. Thanks.

Thanks for the feedback, we're sorry for not getting back sooner. This issue refers to NAV product documentation and we no longer update this docset.


fix issue #455

in python 3 all model must be have the str method because unicode doesn't exist
https://docs.djangoproject.com/en/1.7/topics/python3/#str-and-unicode-methods

Coverage increased (+0.03%) to 95.27% when pulling e2a52f1a0945edb144399d177e3e905121c09ab6 on leonardoo:master into b398e079989d19d11a6c87a2aeb1ecb48dda7d96 on bread-and-pepper:master.

Coverage increased (+0.34%) to 95.58% when pulling 1e506be697f5ecde761cd85f6e5558a916042dae on leonardoo:master into b398e079989d19d11a6c87a2aeb1ecb48dda7d96 on bread-and-pepper:master.

Great. I saw that you have simplified code for emails so I will need to take closer look on that. I will try to review it as soon as possible.

please close this pull, i will split it in two pulls


Support for using the id rule and reference them from $ref

Original author<EMAIL_ADDRESS>(November 07, 2012 11:55:09)
I have a json schema that uses $ref to reference id rules. I get the message "Path not present: internalDate" when trying to parse the schema.
An example:
{
  "properties": {
    "createDate": {
      "id" : "#internalDate",
      "type" : ["string", "null"],
      "format" : "date-time",
      "required" : true
    },
  },
  "userProfile" : {
    "createDate" : {
      "$ref" : "#internalDate"
    }
  }
}

Original issue: http://code.google.com/p/jsonschema2pojo/issues/detail?id=80

Currently I have no plan to implement this and given the complexity in $ref resolution I'd prefer to not support this in future either. Feel free to comment if you want to see this added, but for now I'm closing as wontfix.

Currently I have no plan to implement this and given the complexity in $ref resolution I'd prefer to not support this in future either. Feel free to comment if you want to see this added, but for now I'm closing as wontfix.


[Term Discussion] Study and Experiment

As the definition Experiment and Study, respectively:

Experiment is identifiable and reproducible activity with a clear start time and clear finish time conducted by Research User who uses one or more Instruments to investigate or produce Sample and collects Raw Data about it. Experiment consists of (or includes – in case of Sample Preparation) one or a series of Measurements. Experiment can be a computer simulation (computational experiment), or a combination of it with physical Measurements.

Study is a set of one or more experiments performed by one or more Research Users in one or more Laboratories using one or more Instruments for taking one or more Measurements of one or more Samples and corresponding Data analyses, which are part of the same Project.

According to the discussion, Experiment is a subclass of the Study, but if we read to the definition above the Study is a subclass of Experiment?
If we change the Study to the subclass of Experiment? How can we see also that Sample Preparation term is a subclass of Experiment?

Another, possibility Study as subclass of prov:Plan....

After the discussion between @rossellaaversa and @MehrdadJalali-KIT on 16.11, we decided that the Study and Experiment is connected by an ObjectProperty

Thus
Study : hasExperiment some Experiment


Permalink and Preview

(to be elaborated further)
There is still more work to do on simplifying what gets displayed here (as well as tidying it visually).
Context - the permalink Save is just one pluggable persistence mechanism, and later customisation could mean that adopters plug their own targets here.
https://github.com/digirati-co-uk/iiif-manifest-editor/wiki/Saving-IIIF

[ ] Eliminate intermediary modal for preview - launch target in new tab
[ ] Come back to more sophisticated preview later
[ ] Eliminate Save and Save as (for now)
[ ] Need to firm up the permalink service - now there is ONLY a permalink.

for now
There is no save or save as.
There's just "make a copy".
ME persists to local storage as a "buffer"
Something polls every x seconds for Vault changes and persists changes automatically to the permalink
can be forced with ctrl+s
No need for "you have unsaved changes"
If the DOM unloads, we make sure everything is persisted, then allow tab to close or whatever


Update list of Estonian cities

Add to the list of Estonian cities in presets.go

@WMRamadan the weekly update process should run over the weekend and take into account your changes. I tried to run it manually and forgot it's been 5 days since the last update, so it would start from scratch :see_no_evil:


update composer

Hi @rizkytegar thanks for your contribution, really appreciate it. Please explain further what is the Pull Request, or it will be considered as invalid and will be closed.
Thank you

Maybe you can make new branch for old version? So let the main branch as the default one, with min requirement.
i.e php-x  (x is the version name)

Since php5.x is really dead, I'm not recommend to lower the minimum requirement. If you need it for your purpose only, do not do PR. I suggest to make your own repo than connect it with composer.
What if main repo has update? Than it's your job as developer 😊
Cheers, Jamil

It's just opinion, take it easy. Still, everything is under the owner decision.

Hi, @mjamilasfihani  thanks for your thoughts. Yes, we do not recommend downgrading the PHP version. The reason we're still keeping the minimum version with PHP 5 is user backward compatibility.
Correct, if you need the specific PHP version for personal purposes, you can update it on your personal repo.
Will closed this PR due to lack of explanation from the submitter.
Thank you


Only indicate allocated data in heap_size

Prior to this change, calling heap_size on a region would reveal information about allocations that were not filled, i.e., did not own a valid heap allocation. This was not a problem as long as the caller did not count the number of callback invocations, but would invoke the callback more times than there are owned allocations.
After this change, we only call the callback if the allocation exists, for example if a vector has a capacity. This is aligned with the specification.

Test with zero-sized types.

Closing because the implementor of callback can distinguish allocations that aren't filled by looking at the capacity.


nixos/fcitx5: fix evalute

Description of changes
fcitx5 fails to evalute.
Actually it is partlly revert of 2c2cb598fe4e59edc310962517437cafe74d0896
Logs:https://gist.github.com/Bot-wxt1221/e5ac61e8d23638d15d9b1f6597d23b70
Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[x] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

the same as https://github.com/NixOS/nixpkgs/pull/338621


[FLINK-32406][table] Notify catalog modification listener for database ddl in CatalogManager

What is the purpose of the change
This PR aims to create event for database ddl and notify customized listener.
Brief change log

Create database modification event for database ddl
Notify customized listener for the above events in CatalogManager

Verifying this change
This change added tests and can be verified as follows:

Added CatalogManagerTest to check the listener is notified for database ddl

Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (yes / no) no
The public API, i.e., is any changed class annotated with @Public(Evolving): (yes / no) no
The serializers: (yes / no / don't know) no
The runtime per-record code paths (performance sensitive): (yes / no / don't know) no
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn, ZooKeeper: (yes / no / don't know) no
The S3 file system connector: (yes / no / don't know) no

Documentation

Does this pull request introduce a new feature? (yes / no) no
If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)

Hi @PatrickRen @leonardBang Please help to review this PR when you're free, thanks

@flinkbot run azure

The CI failed because of a known issue FLINK-32632. All table test cases passed so I'll give a green light


Issue/2605 bump db schema version

Description

Bump DB schema version to allow patch release of the ISO3 and ISO4 DB schema.
Add DB migration test (v7 -> v17)

closes #2605
Self Check:

[x] Attached issue to pull request
[x] Changelog entry
[x] Type annotations are present
[x] Code is clear and sufficiently documented
[x] No (preventable) type errors (check using make mypy or make mypy-diff)
[x] Sufficient test cases (reproduces the bug/tests the requested feature)
[x] Correct, in line with design
[ ] End user documentation is included or an issue is created for end-user documentation

Reviewer Checklist:

[ ] Sufficient test cases (reproduces the bug/tests the requested feature)
[ ] Code is clear and sufficiently documented
[ ] Correct, in line with design

It looks ok. however at least on the next bump we need to round the numbers because otherwise this gets way to complex. Like jump to 30 instead of 27
But leave it like this for now.

I agree.


Bump compiler_version to 2025.0

Description
Bump compiler version to 2025.0, because master diverged from iso7.
Self Check:

[ ] Attached issue to pull request
[ ] Changelog entry
[ ] Type annotations are present
[ ] Code is clear and sufficiently documented
[ ] No (preventable) type errors (check using make mypy or make mypy-diff)
[ ] Sufficient test cases (reproduces the bug/tests the requested feature)
[ ] Correct, in line with design
[ ] End user documentation is included or an issue is created for end-user documentation (add ref to issue here: )
[ ] If this PR fixes a race condition in the test suite, also push the fix to the relevant stable branche(s) (see test-fixes for more info)

Processing this pull request

Merged into branches master in 967cc6b4025ce80c450b8d18af863a0db0300a5b


Vibration not working on 'Nanco PS4 Revolution Pro Controller'

Tested versions

Reproducible in Godot Engine v4.2.1.stable.official [b09f793f5]

System information
Godot v4.2.1.stable - Windows 10.0.22631 - GLES3 (Compatibility) - NVIDIA GeForce RTX 3080 Laptop GPU (NVIDIA; <IP_ADDRESS>24) - AMD Ryzen 9 5900HX with Radeon Graphics (16 Threads)
Issue description
I am experiencing an issue with the Input.start_joy_vibration function in Godot Engine, specifically when attempting to utilize vibration features during gameplay. This problem arises exclusively when using the Nacon PS4 Revolution Pro Controller. Despite correctly implementing the vibration code, no feedback is observed with this particular controller.
However, when switching to a PS4 DualShock controller paired with an 8bitdo USB adapter, the vibration functionality operates flawlessly, indicating that the issue is not with the code itself but rather with compatibility between the Godot Engine and the Nacon controller.
Further investigation into this matter revealed that the Nacon PS4 Revolution Pro Controller functions as expected in other Steam games, providing proper vibration feedback. This observation leads me to believe that the root cause is a specific compatibility issue between the Godot Engine and the Nacon controller.
I have also conducted a thorough search on Google and reviewed the existing issues on this repository but found no mention of similar problems with the Nacon PS4 Revolution Pro Controller, though there are reports for other controllers. This absence of reports suggests that the issue might not be widely recognized or reported yet.
I am reaching out to the community for insights or solutions regarding this compatibility issue. Any assistance or guidance on resolving this problem would be greatly appreciated.
Steps to reproduce
extends  Node2D

func _process(delta):
	Input.start_joy_vibration(0, 1, 1, 1)

Minimal reproduction project (MRP)
extends  Node2D

func _process(delta):
	Input.start_joy_vibration(0, 1, 1, 1)

Does it work if you just start vibration once, with for example a button, the fact that constantly updating vibration like this works with one controller doesn't mean it is another controller that has issues, to ensure this isn't the case please try with a limited vibration period triggered by a button press for example, see here

Thank you for your suggestion. I've already attempted to initiate the vibration feature using a more controlled approach, specifically by triggering it with a single button press to activate a limited vibration period. Unfortunately, this method also did not yield any vibration feedback when using the Nacon PS4 Revolution Pro Controller.
extends  Node2D

func _input(event):
	if event.is_action_pressed('disparar'):
		Input.start_joy_vibration(0, 1, 1, 0.5)

I experienced the same issue in Godot 4.2.2 and Win10. My Xbox controller (in particular the XBO controller connected via usb) works in the editor, it rumbles.
DualShock4 (standard PS4 controller) and DualSense (standard PS5 controller) instead don't work, they don't rumble.
I'd say that vibration is limited to Xbox compatible gamepads, or it's broken for non-Xbox compatible pads. Which sucks, because I think PS3, PS4, PS5, Switch oficial gamepads should work in Windows.

Experiencing the same issue with the Google Stadia controller connected through bluetooth. Everything works except triggering vibrations on Godot 4.2.2.
Think I have to create a separate issue for that since it's a different controller.


fix: default to not showing errors for WaitForQuery

lyft/flyte#673
This updates WaitForQuery to render no content by default on errors (it still logs to the console) and updates the few cases where we do want to show an error to pass in a DataError component.
This fixes cases where we have small areas of the UI showing huge DataError components because they were waiting on a query that failed.
Before

After

:tada: This PR is included in version 0.19.4 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 0.19.4 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


[ZEPPELIN-1346] Add contribution guidelines to the website

What is this PR for?
Recreation of #1354
This PR is bringing Contribution guidelines to the website.
We also introduce a sidemenu on those pages allowing to create additional content.
As an example, for the Web Application Guidelines, we added a page about "Defining Components"
In a different PR, we will remove the contributing markdown, and change the links in the repository to the website.
What type of PR is it?
Documentation
What is the Jira issue?
https://issues.apache.org/jira/browse/ZEPPELIN-1346
How should this be tested?
Build the website locally and visit the community page
Screenshots (if appropriate)

Questions:

Does the licenses files need update? No
Is there breaking changes for older versions? No
Does this needs documentation? No

@AhyoungRyu Sorry you will have to re-do your PR here :(

@corneadoug Don't worry about that. Let me repush again :)

Alright LGTM

good to go now 👯

I've tested and it looks nice.
Some small feedback about sidemenu

When sidemenu is displayed, content area become little bit too narrow.
Items in Sidemenu is in consistent. i.e.

page /contribution/general.html, sidemenu

Documentation (/contribution/documentation.html)
Webapplication (/contribution/webapplication.html)

page /contribution/webapplication.html

Defining Components (/contribution/zeppelinweb/goodPracticeGuide01.html)

page /contribution/zeppelinweb/goodPracticeGuide01.html

Defining Components (/contribution/zeppelinweb/goodPracticeGuide01.html)

I think it'll better it sidemenu decide only one behavior either doesn't include current page, (like general.html,webapplication.html) or does include current page (like goodPracticeGuide01.html)

@Leemoonsoo
We can reduce the font and width of the menu, but we can't do much more than that since the width of the documentation is fixed.
The sidemenu is inconsistent indeed, mainly because other categories might need more content.
One possible change would be to have:

Contribution (general.html)
Documentation (documentation.html)
Webapplication (webapplication.html)

Showing as side menu for general.html, documentation.html
And to have:

Zeppelin-web (webapplication.html)
Defining Components (goodPracticeGuide01.html)

Showing as side menu for webapplication.html and goodPracticeGuide01.html

@felixcheung I don't think that adding Apache in front of every Zeppelin is necessary.
Especially since this is documentation for the project itself. It is fine to use the shorten name without Apache, and you can actually see that projects are doing it (Apache Mesos, Spark, Flink for example), and we've also been doing it.

@corneadoug Because of width of the documentation is already fixed, I'm not sure it's best idea to reduce contents width even more.
Could you elaborate some possible alternatives to effectively display links of related pages in consistent way while maximizing actual content width?

@felixcheung I agree with @corneadoug. If this document page need to be posted to the external resources, then we may need to attach Apache in front of every Zeppelin. But we don't need to say Apache Zeppelin every time in internal project page I guess :)

@Leemoonsoo Let me try playing a bit more with the layout, I will post screenshots once its done

@Leemoonsoo I made both general.html and webapplication.html appear on the sideMenu.
For the size issue, I think the best would be to simply have the documentation max-width bigger (1024px instead of ~960px), I didn't push the CSS yet but the screenshot below have it.
If you Compare with the screenshots of the PR description, it gives more space to the content

I pushed the last CSS changes, and Updated the description's screenshots

@Leemoonsoo Merging if there is no more feedbacks