How to match CJK vocabulary accurately, use keyword search directly, without word segmentation.

just match keyword without word segmentation.
How to configure this?
for example search "酒吧"
http://<IP_ADDRESS>:7700/indexes/books/search?q=%E9%85%92%E5%90%A7&attributesToHighlight=chapter

results
酒吧Review Dazzle Bar, 酒吧内/At Bar

酒吧内/At Bar this is not what i need

Thanks for reporting! We'll investigate 😊

Hey @jet10000,
This is totally normal, MeiliSearch is a search engine that support prefix search, therefore the second highlight is totally correct.

How to disable the prefix search feature?

We don't have any option to do that for now as the engine target typo-as-you-search, but you can add a space at the end of the queries, as prefix search is only done for the last word if it isn't finished.

Hello @jet10000! Sorry for the delay, we are currently working hard on the new search engine that should fix this issue! Is it possible to have the dataset? Or at least a sample of the dataset to reproduce the error.

My bad, this issue should be already fixed with the integration of the new tokenizer thanks to this PR -> https://github.com/meilisearch/MeiliSearch/pull/1091
If it's not, please feel free to re-open this issue

只匹配关键词，不分词。
如何配置这个？
for example search "酒吧"
http://<IP_ADDRESS>:7700/indexes/books/search?q=%E9%85%92%E5%90%A7&attributesToHighlight=chapter

结果
酒吧Review Dazzle Bar, 酒吧内/At Bar

\酒吧内\/At Bar这不是我需要的

@jet10000 你好啊，我现在也遇到这个问题了，我想根据搜索内容模糊搜索，但是会分词，把不相关的结果也会带出来，请问你是怎么解决的？

只匹配关键词，不分词。
如何配置这个？
for example search "酒吧"
http://<IP_ADDRESS>:7700/indexes/books/search?q=%E9%85%92%E5%90%A7&attributesToHighlight=chapter

结果
酒吧Review Dazzle Bar, 酒吧内/At Bar

\酒吧内\/At Bar这不是我需要的

@jet10000 你好啊，我现在也遇到这个问题了，我想根据搜索内容模糊搜索，但是会分词，把不相关的结果也会带出来，请问你是怎么解决的？

你好👋，后来我用了elastic， 不清楚meilisearch现在是否支持精确词汇检索。


After accept payment but it still not comfirm

After I click confirm

It don't show any mark

http://wepays.herokuapp.com/bill/24/

Fix thanks for your information.


Add SourceMap support when building TypeScript

I'm struggling with the TypeScript Rollup plugin to make this work. I'll take a look to this later but it would be great for development purpose to have it working.

Fixed by 2f3284784ea969fb12ee8e52a67d8c711428b56e


proof of concept: next.js

Proof of Concept: Location Pages with Next.js

Performance
Loading data for each location only
Static generation of content:

SEO & faster rendering

Routing
Routing in Next.js is defined by the folder structure of the pages directory. In this demo, the pages/index.tsx file represents the home page, and pages/us/[state]/county/[county].tsx represents a county page. The files or folders in square brackets [state] and [county].tsx represent dynamic parts of the URL
pages
├── index.tsx
└── us
    └── [state]
        └── county
            └── [county].tsx

Page
The Next.JS page is just a React component that takes props, with two additional exported functions, getStaticProps and getStaticPaths
function CountyPage({ region, locationSummary }) {
  // render the component
  return
{/* ... */}
;
}

export async function getStaticProps() {}
export async function getStaticPaths() {}
export default CountyPage;

getStaticPaths
This function returns all the possible paths for the CountyPage component and additional context information for the component that can be used to generate static props. In this case, it just uses the regions to generate the relative path of the county page. Note that common/regions is imported dynamically to make sure that is not a dependency of the CountyPage component (not included in the bundle)
export async function getStaticPaths() {
  const { default: regions } = await import('../../../../src/common/regions');

  const paths = regions.counties.map(
    county => `/us/${county.state.urlSegment}/county/${county.urlSegment}/`,
  );
  return { paths, fallback: false };
}

getStaticProps
This function uses the URL params and potentially more contextual information to generate static props for the component. In this case, we are dynamically importing the locationSummary for each county and the main region props. Note that the returned props need to be JSON serializable
export async function getStaticProps({ params }) {
  const { state, county } = params;
  const { default: regions } = await import('../../../../src/common/regions');

  const region = regions.findCountyByUrlParams(state, county);
  // get projections

  const locationSummaries = await import(
    '../../../../src/common/location_summaries'
  );
  const locationSummary = locationSummaries.getSummaryFromFips(region.fipsCode);

  return {
    props: {
      region: {
        fullName: region.fullName,
        name: region.name,
        fipsCode: region.fipsCode,
        population: region.population,
        state: {
          fipsCode: region.state.fipsCode,
          stateCode: region.state.stateCode,
        },
      },
      locationSummary,
    },
  };
}

Static Build
Next.Js uses the generateStaticPaths function to generate the tree of files for the county pages, and uses getStaticProps to pass the props which will end up being hardcoded in the resulting HTML file. The generated HTML file will have the values hardcoded + the JSON props in the HTML itself, along with the JS code to render the page

Adams County, Washington

        risk level: 2

          Overall risk:
          2

level: 0, value: 0.62

level: 0, value: 0.028

level: 4, value: null

level: 2, value: 14.3

level: 4, value: 0.105

The files in the out directory can be statically served. The generated HTML code render really fast (100 performance score), however, the demo is not realistic at all, since the demo page doesn't have any styling.
Testing

Run on dev yarn next:dev (open localhost:3000)
To create a static export: yarn next:build && yarn next:export
To serve the static export: yarn next:serve (served in port 5000 by default)

a few notes:

per the docs (https://nextjs.org/docs/basic-features/data-fetching) the page definition files can statically import anything you want, it won't affect load time, as they are just used on the server and to statically generate the client.  so no need to await import on those if you don't want to.

actually, that's the only note.  I think the performance is going to be good but I worry about the impact / amount of rework to deal with the router changes.  I'm also curious to see how much longer the build (which statically generates all of these) takes.

Closing to clean up our PRs, labelling it with performance to make it easier to find!


Keep the same name and type for "get" and "set"

@tony-xia Thanks for catching this!
Unfortunately, I just removed this code as part of a large code clean up - this was part of an older version of the comments API that has been deprecated.


⚠ Bofrost.lu has degraded performance

In 30b382c, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1057 ms

Resolved: Bofrost.lu performance has improved in 06e83a9 after 8 minutes.


t last? Moving from bs.send.pipe to just bs.send?

Given that fast piping is becoming the standard in Reason are there plans to make a t-first version of the library that doesn't use piping?

Hi. Thanks for asking.  I also don't think it's becoming standard in Reason because there are a lot of libraries and bindings that use the established pipe operator and they're not going to change just for the sake of change.
I absolutely understand the frustration of having to deal with multiple piping operators, and to always have to remember which function needs which operator, but this was brought up and well known before the new operator was introduced, and just ignored. The obvious solution is of course to revert the terrible decision, not to break the entire ecosystem, but I doubt that'll happen either as there seems to be too much pride involved.
I hope you can see where I'm coming from and understand my decision.

Thank you, that's good to know.
It seems like you're quite passionate about the issue, and I haven't heard such a strong dissenting opinion on the matter before. Other than the ecosystem fragmentation, is there anything else about fast-piping you don't like? I've mostly come to prefer it because type inference seems to be better when I use it compared to the regular pipe.

Well, first of all, t last and the pipe operator aren't established only in the Reason ecosystem. The pipe operator is also widely used in the OCaml ecosystem, and so if you want to leverage that you'd still have to deal with both even if the Reason ecosystem changes. The fast pipe operator also isn't actually Reason-specific, but BuckleScript-specific, which makes it difficult to write shared client/server code, or even just to mentally switch between the two worlds. The pipe operator is also established in other closely related languages, such as F# and Elm, and being different makes it difficult to transfer idioms between them and to learn from what these other communities are doing. For example, the pipe operator itself originated in F#, which is a much newer language than OCaml, and in fact OCaml was the primary inspiration for the design F#. It was therefore easy to bring the operator over, and if that hadn't happened it's not very likely we'd have the "fast pipe" either.
Even functional languages that don't have an established pipe operator, or something equivalent, still use t last because it enables function composition by partial function application, which is a pretty big part of being "functional" in the first place. The entire reason the pipe operator exists is because it follows quite naturally from composition of curried functions and can be implemented as an ordinary operator, whereas the "fast pipe" must be implemented as a syntactic transform. Note that in OCaml this could still work with t first if all other arguments are labelled, since labels can be applied in any order and when applied would effectively leave t last anyway. But even this proposal was just shut down and ignored.
As for pros, better type inference in some cases is a benefit, but there are other cases where t last works better and it's not clear to me that it's a net win. Another benefit is marginally better performance by default, partially because you can't partially apply a function "by accident" (whatever that means), and partially because it's a syntactic transform, while the ordinary pipe operator is treated as a function call that would have to be, and usually is, optimized away (or rather inlined) like any other function call might be. But even this benefit is debatable, since the ordinary pipe operator could be implemented as a syntactic transform as well. it just doesn't have to be. Lastly, I've heard it argued that it makes it more "natural" to interoperate with from JavaScript, since JS is not a functional language and therefore usually has t first. That's not much of a winning argument for me either, but YMMV.
I'm sure there are more subtle issue with it, and there might be more benefits as well. This is just off the top of my head, as there's never actually been a properly reasoned argument made for t first and the fast pipe operator. And in lieu of that, from what I've been able to gather on my own, both t first and the fast pipe operator add up to terrible design decisions.


Getting an Uncaught refrence error: $cookieExists is not defined

My cypress version cypress: 3.0.3
My cypress-cucumber-preprocessor : 0.2.0
The browser i am using Chrome
I am running cypress as like "test": "cypress open"
Login.feature
@ui
  @login
Feature: Users login to the ping page
  Scenario: Validate Ping Login Page
    Given the user enters to the  application url
    And the user will see the ping page
    And enters the username and password
    And clicks in the submit button.

Login.js
const url = 'https://mywebsite-url'
given('the user enters to the  application url', () => {
  cy.visit(url)
  cy.wait(3000)
})

given('the user will see the ping page', () => {
  cy.title().should('eq', 'Home Page')
})
given('enters the username and password', () => {
  cy.get('#username')
    .type(process.env.USERNAME).should('have.value', 'user')

  cy.get('#password')
    .type(process.env.PASSWORD).should('have.value', password)
})
given('clicks in the submit button.',()=>{
  cy.get('.button').click()
  cy.wait(4000)
})

This is the error i am getting after the button was clicked.
Error:
Uncaught ReferenceError: $rememberUsernameCookieExists is not defined
Note: With out the cucumber integration with cypress it was working fine but we need it with cucumber.
This is how our code looks without cucumber
context('Actions', () => {
  beforeEach(() => {
    cy.visit('HomeUrl')
  })

  // https://on.cypress.io/interacting-with-elements
  it('.type() - type into a DOM element', () => {
    // https://on.cypress.io/type
    cy.get('#username')
      .type('username').should('have.value', 'username')

    cy.get('#username')
      // Ignore error checking prior to type
      // like whether the input is visible or disabled
      .type('username').should('have.value', 'username')
    cy.get('.button').click()
  })
})

Any chance for a reproduction? :-)

No one has reported the same problem in over a year, I think it's safe to close it. If this still is an issue please comment and tag me here or create a new one


[Workers] New Python Workers Example

Adds new example for:

CORS header proxy
Country code redirect
Custom Domain with Images

Please can you take a look @hoodmane. Thanks!

Thanks @megaconfidence!


@KafkaListener is not async?

Hi,
Is it possible to have async execution of @KafkaListenermethod in the same way as a method annotated with @Async works in Spring?
I have the following config...
    public KafkaListenerContainerFactory kafkaListenerContainerFactory() {
        ConcurrentKafkaListenerContainerFactory<String, String> factory = new ConcurrentKafkaListenerContainerFactory<>();
        factory.setConsumerFactory(consumerFactory());
        factory.setMessageConverter(new StringJsonMessageConverter());
        factory.getContainerProperties().setAckMode(kafkaProperties.ackMode());
        factory.getContainerProperties().setListenerTaskExecutor(myTaskExecutor());
        factory.getContainerProperties().setQueueDepth(20);
        return factory;
    }

...and my expectation was that the KafkaListenerContainer will spawn a thread for each message polled from the assigned partition and process them in parallel using myTaskExecutor rather than one by one.
To be clear, I don't want concurrency by increasing the number of partitions, I want to parallelize processing of all messages fetched in one poll request from one partition.
I can achieve that by adding @Async together with @KafkaListener but the side effect of that approach is that messages are being lost in case of a exception inside the @Async listener method.

That's how Apache Kafka Consumer works. See their documentation. The Consumer is not thread-safe and to retain the proper order all records from one partition have to be processed in a single thread.
Right, only the solution for you is @Async or ExecutorChannel from Spring Integration.
If you still have this concern, you should ask similar question somewhere on the Apache Kafka forum. That already out of Spring for Kafka scope.

That doesn't fit the Kafka model.
Individual messages are not acknowledged, just the offset in the log.
If you go async and process, say offset 1 and 2 concurrently; if 2 finishes first, it effectively will acknowledge both messages and 1 will be lost if its processing subsequently fails.
Furthermore, the Kafka Consumer is not thread-safe so offset commits must occur on the same thread that is poll()ing the consumer. It's a nightmare to coordinate that (we used to have to do it before they fixed heartbeats [KIP-62]).
For these reasons, we have no intention of adding such functionality to the framework; the proper way to achieve parallelism with Kafka is partitioning. If you want to go async on a single partition, with the inherent risks, you are on your own, I'm afraid.
Adding @Async to a @KafkaListener won't work either; there is no support for that.

Thank you @artembilan and @garyrussell for a details explanation.
I'm aware of how Kafka works, but setListenerTaskExecutor gave a false hope that the framework handles that complexity somehow.
I'm going to increase number of partitions, even though I was trying to avoid that option because I'll need to wait a few weeks probably to get my ticket approved. :)

@garyrussell I'm going to increase number of partition and to let the container to handle concurrency.
Can I check this basic math with you just to make sure that my understanding is correct.
For instance if I have 100 partitions and 20 instances of my application deployed, then make sense to factory.setConcurrency(5)?
Do I need to setConsumerTaskExecutor or setListenerTaskExecutor? What would be a use case for that?

I would generally recommend over-provisioning the partitions; e.g. 200 in this case so each consumer gets 2; that way you can increase the concurrency later without having to add more partitions.
It's generally not necessary to configure your own executor. In some environments (e.g. some JEE containers), the environment disallows creation of arbitrary threads and all threads must come from a managed pool.
I would also recommend moving to 1.3.3 or later (current release is 2.1.3). In 1.3.x we were able to get rid of the ListenerTaskExecutor, thanks to KIP-62.
This made the container threading model much simpler.

Thank you @garyrussell.
Well, I'm using
        <dependency>
            <groupId>org.springframework.kafka</groupId>
            <artifactId>spring-kafka</artifactId>
            <version>2.1.2.RELEASE</version>
        </dependency>

So thank you for spotting this, I have some dependency issue that I wasn't aware of...

@garyrussell It seems that 2.1.3 is not working with Boot 1.5.8.
Since I'm "stuck" with Boot 1.5.8 for the time being, I guess that 1.3.3 is my best option?

Correct. But Spring Boot 2.0 GA is due tomorrow.

We are trying to parallelise the consumed batch record's processing in the consumer:
We are getting the records in batch using ConcurrentKafkaListenerContainerFactory. Once we get the records in batch, we are making API calls in Async mode for each of the retrieved record.
We are waiting for all the Async calls to be done using
completableFutures.forEach(CompletableFuture::join)
We are assuming this will make the consumer thread wait till all the async calls are done. Once all the async calls are done we are marking the acknowledgment. This way we are trying to achieve parallelism in consumer.
@garyrussell Would there be any impact on making the consumer thread wait?

@jhansireddy Don't ask questions on old issues. And don't ask questions at GitHub issues at all; use Stack Overflow for that (tagged with spring-kafka).
When using this technique you should suspend the consumer thread to avoid the next batch being fetched.
The consumer thread can safely be suspended for up to max.poll.interval.ms which defaults to 5 minutes, but it can be increased to whatever you need.


disable type checking for default module in "production"

In #506, @blackxored has made a case for changing the default value of checkTypes from true to an expression involving process.env.NODE_ENV. I have long opposed this change, but when Aldwin disagrees with me it's wise to reconsider my position. I have done so, and I have changed my mind.
Requirements:

default Sanctuary module should perform type checking by default;
behaviour must be easy to understand; and
the user must be permitted to specify whether type checking should be performed.

Although not a requirement, it would be nice to reduce the proportion of users who find it necessary to use S.create. I believe this is your primary goal, Adrian.
The current rule is as follows:

Type checking is enabled for the default module.

This satisfies the requirements but forces many users to use S.create even though they are happy with the default environment.
The new rule is as follows:

Type checking is enabled for the default module unless process.env.NODE_ENV is 'production'.

This satisfies the requirements and obviates the need for S.create in many cases. :)

This looks great, thanks a lot for considering this.

Note that this could be a breaking change to some (those who have come to rely on type checking in production, if any).

This is well worth mentioning in the release notes.


Batch mode for fast sensor

Fitbit supports a batched reading mode to reduce the frequency of packets and send multiple readings at once.
https://dev.fitbit.com/build/guides/sensors/accelerometer/#batched-readings
Specifically, the sensor might be able to poll the data at a faster rate internally but unable to stream fast enough.
Practical example: measure forces when an object falls and hits the ground. It will typically a very short large spike which will probably be missed by the sampling.
How many devices can we sample on the bus when we are streaming at 100Hz?

We can batch multiple packets into a single frame (already supported in the protocol), but there are no timestamps. I guess we would need some way of configuring this.

Why would you do this event detection on the brain? have you currently got accel events?

the accel module probably won't run complex ML models, these may need to be run on the brain; in some cases you want high freq data to be streamed and it's good to be flexible here

Peli's use case was fall detection, which can easily be analysed without significant compute resource. If you're planning to stream accelerometer data for custom gesture detection, you'd have a dedicated module for gesture recognition would you not? When training you'd send batch data as described to reduce load on the bus.
I'm generally in favour of batching to improve bus, but it didn't seem necessary for fall detection!

I think the important bit is batching when sending data from accel to dedicated ML module during recognition. Training is secondary as long as we have enough bandwidth.


Deployment failed without error adding slack action to 'keystore:' property in values.yaml

Chart version:
7.3.0
Kubernetes version:
1.13.10
Kubernetes provider: E.g. GKE (Google Kubernetes Engine)
KUBESPRAY
Helm Version:
2.13.1
helm get release output
e.g. helm get elasticsearch (replace elasticsearch with the name of your helm release)
REVISION: 1
RELEASED: Thu Sep 12 01:33:16 2019
CHART: elasticsearch-7.3.0
USER-SUPPLIED VALUES:
{}

COMPUTED VALUES:
antiAffinity: hard
antiAffinityTopologyKey: kubernetes.io/hostname
clusterHealthCheckParams: wait_for_status=green&timeout=1s
clusterName: elasticsearch
esConfig:
  elasticsearch.yml: |
    xpack:
      security:
        enabled: false
esJavaOpts: -Xmx5g -Xms5g
esMajorVersion: ""
extraEnvs: []
extraInitContainers: ""
extraVolumeMounts: ""
extraVolumes: ""
fsGroup: ""
fullnameOverride: ""
httpPort: 9200
image: docker.elastic.co/elasticsearch/elasticsearch
imagePullPolicy: IfNotPresent
imagePullSecrets: []
imageTag: 7.3.0
ingress:
  annotations: {}
  enabled: false
  hosts:
  - chart-example.local
  path: /
  tls: []
initResources: {}
keystore: []
labels: {}
lifecycle: {}
masterService: ""
masterTerminationFix: false
maxUnavailable: 1
minimumMasterNodes: 2
nameOverride: ""
networkHost: <IP_ADDRESS>
nodeAffinity: {}
nodeGroup: master
nodeSelector: {}
persistence:
  annotations: {}
  enabled: true
podAnnotations: {}
podManagementPolicy: Parallel
podSecurityContext:
  fsGroup: 1000
priorityClassName: ""
protocol: http
readinessProbe:
  failureThreshold: 3
  initialDelaySeconds: 10
  periodSeconds: 10
  successThreshold: 3
  timeoutSeconds: 5
replicas: 3
resources:
  limits:
    cpu: 1000m
    memory: 12Gi
  requests:
    cpu: 100m
    memory: 4Gi
roles:
  data: "true"
  ingest: "true"
  master: "true"
schedulerName: ""
secretMounts: []
securityContext:
  capabilities:
    drop:
    - ALL
  runAsNonRoot: true
  runAsUser: 1000
service:
  annotations: {}
  nodePort: 30998
  type: NodePort
sidecarResources: {}
sysctlInitContainer:
  enabled: true
sysctlVmMaxMapCount: 262144
terminationGracePeriod: 120
tolerations: []
transportPort: 9300
updateStrategy: RollingUpdate
volumeClaimTemplate:
  accessModes:
  - ReadWriteOnce
  resources:
    requests:
      storage: 350Gi
  storageClassName: elkmgmtdevsc

HOOKS:
---
# elasticsearch-weicw-test
apiVersion: v1
kind: Pod
metadata:
  name: "elasticsearch-weicw-test"
  annotations:
    "helm.sh/hook": test-success
spec:
  containers:
  - name: "elasticsearch-pjpab-test"
    image: "docker.elastic.co/elasticsearch/elasticsearch:7.3.0"
    command:
      - "sh"
      - "-c"
      - |
        #!/usr/bin/env bash -e
        curl -XGET --fail 'elasticsearch-master:9200/_cluster/health?wait_for_status=green&timeout=1s'
  restartPolicy: Never
MANIFEST:

---
# Source: elasticsearch/templates/poddisruptionbudget.yaml
apiVersion: policy/v1beta1
kind: PodDisruptionBudget
metadata:
  name: "elasticsearch-master-pdb"
spec:
  maxUnavailable: 1
  selector:
    matchLabels:
      app: "elasticsearch-master"
---
# Source: elasticsearch/templates/configmap.yaml
apiVersion: v1
kind: ConfigMap
metadata:
  name: elasticsearch-master-config
  labels:
    heritage: "Tiller"
    release: "elasticsearch"
    chart: "elasticsearch-7.3.0"
    app: "elasticsearch-master"
data:
  elasticsearch.yml: |
    xpack:
      security:
        enabled: false
---
# Source: elasticsearch/templates/service.yaml
kind: Service
apiVersion: v1
metadata:
  name: elasticsearch-master
  labels:
    heritage: "Tiller"
    release: "elasticsearch"
    chart: "elasticsearch-7.3.0"
    app: "elasticsearch-master"
  annotations:
    {}

spec:
  type: NodePort
  selector:
    heritage: "Tiller"
    release: "elasticsearch"
    chart: "elasticsearch-7.3.0"
    app: "elasticsearch-master"
  ports:
  - name: http
    protocol: TCP
    port: 9200
    nodePort: 30998
  - name: transport
    protocol: TCP
    port: 9300
---
# Source: elasticsearch/templates/service.yaml
kind: Service
apiVersion: v1
metadata:
  name: elasticsearch-master-headless
  labels:
    heritage: "Tiller"
    release: "elasticsearch"
    chart: "elasticsearch-7.3.0"
    app: "elasticsearch-master"
  annotations:
    service.alpha.kubernetes.io/tolerate-unready-endpoints: "true"
spec:
  clusterIP: None # This is needed for statefulset hostnames like elasticsearch-0 to resolve
  # Create endpoints also if the related pod isn't ready
  publishNotReadyAddresses: true
  selector:
    app: "elasticsearch-master"
  ports:
  - name: http
    port: 9200
  - name: transport
    port: 9300
---
# Source: elasticsearch/templates/statefulset.yaml
apiVersion: apps/v1beta1
kind: StatefulSet
metadata:
  name: elasticsearch-master
  labels:
    heritage: "Tiller"
    release: "elasticsearch"
    chart: "elasticsearch-7.3.0"
    app: "elasticsearch-master"
  annotations:
    esMajorVersion: "7"
spec:
  serviceName: elasticsearch-master-headless
  selector:
    matchLabels:
      app: "elasticsearch-master"
  replicas: 3
  podManagementPolicy: Parallel
  updateStrategy:
    type: RollingUpdate
  volumeClaimTemplates:
  - metadata:
      name: elasticsearch-master
    spec:
      accessModes:
      - ReadWriteOnce
      resources:
        requests:
          storage: 350Gi
      storageClassName: elkmgmtdevsc

  template:
    metadata:
      name: "elasticsearch-master"
      labels:
        heritage: "Tiller"
        release: "elasticsearch"
        chart: "elasticsearch-7.3.0"
        app: "elasticsearch-master"
      annotations:

        configchecksum: cc2628938eb56d53baa8671bfcd8fa6f85ba6b849066b8ee6a70d147b2e8b82
    spec:
      securityContext:
        fsGroup: 1000

      affinity:
        podAntiAffinity:
          requiredDuringSchedulingIgnoredDuringExecution:
          - labelSelector:
              matchExpressions:
              - key: app
                operator: In
                values:
                - "elasticsearch-master"
            topologyKey: kubernetes.io/hostname
      terminationGracePeriodSeconds: 120
      volumes:
        - name: esconfig
          configMap:
            name: elasticsearch-master-config
      initContainers:
      - name: configure-sysctl
        securityContext:
          runAsUser: 0
          privileged: true
        image: "docker.elastic.co/elasticsearch/elasticsearch:7.3.0"
        command: ["sysctl", "-w", "vm.max_map_count=262144"]
        resources:
          {}

      containers:
      - name: "elasticsearch"
        securityContext:
          capabilities:
            drop:
            - ALL
          runAsNonRoot: true
          runAsUser: 1000

        image: "docker.elastic.co/elasticsearch/elasticsearch:7.3.0"
        imagePullPolicy: "IfNotPresent"
        readinessProbe:
          failureThreshold: 3
          initialDelaySeconds: 10
          periodSeconds: 10
          successThreshold: 3
          timeoutSeconds: 5

          exec:
            command:
              - sh
              - -c
              - |
                #!/usr/bin/env bash -e
                # If the node is starting up wait for the cluster to be ready (request params: 'wait_for_status=green&timeout=1s' )
                # Once it has started only check that the node itself is responding
                START_FILE=/tmp/.es_start_file

                http () {
                    local path="${1}"
                    if [ -n "${ELASTIC_USERNAME}" ] && [ -n "${ELASTIC_PASSWORD}" ]; then
                      BASIC_AUTH="-u ${ELASTIC_USERNAME}:${ELASTIC_PASSWORD}"
                    else
                      BASIC_AUTH=''
                    fi
                    curl -XGET -s -k --fail ${BASIC_AUTH} http://<IP_ADDRESS>:9200${path}
                }

                if [ -f "${START_FILE}" ]; then
                    echo 'Elasticsearch is already running, lets check the node is healthy'
                    http "/"
                else
                    echo 'Waiting for elasticsearch cluster to become cluster to be ready (request params: "wait_for_status=green&timeout=1s" )'
                    if http "/_cluster/health?wait_for_status=green&timeout=1s" ; then
                        touch ${START_FILE}
                        exit 0
                    else
                        echo 'Cluster is not yet ready (request params: "wait_for_status=green&timeout=1s" )'
                        exit 1
                    fi
                fi
        ports:
        - name: http
          containerPort: 9200
        - name: transport
          containerPort: 9300
        resources:
          limits:
            cpu: 1000m
            memory: 12Gi
          requests:
            cpu: 100m
            memory: 4Gi

        env:
          - name: node.name
            valueFrom:
              fieldRef:
                fieldPath: metadata.name
          - name: cluster.initial_master_nodes
            value: "elasticsearch-master-0,elasticsearch-master-1,elasticsearch-master-2,"
          - name: discovery.seed_hosts
            value: "elasticsearch-master-headless"
          - name: cluster.name
            value: "elasticsearch"
          - name: network.host
            value: "<IP_ADDRESS>"
          - name: ES_JAVA_OPTS
            value: "-Xmx5g -Xms5g"
          - name: node.data
            value: "true"
          - name: node.ingest
            value: "true"
          - name: node.master
            value: "true"
        volumeMounts:
          - name: "elasticsearch-master"
            mountPath: /usr/share/elasticsearch/data

          - name: esconfig
            mountPath: /usr/share/elasticsearch/config/elasticsearch.yml
            subPath: elasticsearch.yml

Describe the bug:
Tried to set the 'keystore: []' property in value and elasticsearch are failing
Steps to reproduce:

Set 'keystore: []' in values.yaml
Set 'keystore: []' like this,

keystore:
   - xpack.notification.slack.account.monitoring.url: 'https://webhook_url...'

Deployed failed with no error message as the three pods never gets deploy
Need example to add xpack.notification.slack.account name through keystore

Expected behavior:
The key/value format is not clear in the chart
Provide logs and/or server output (if relevant):
No error or log is returned at the time of 'helm install...'
Any additional context:

The configuration you are using for the keystore values is not correct. If you take a look at https://github.com/elastic/helm-charts/blob/master/elasticsearch/README.md#how-to-use-the-keystore there are a few examples of the formatting.
CHART: elasticsearch-7.3.0 does not yet contain the keystore feature. I'll be releasing a new version of the chart today or tomorrow (still catching up from my vacation)

If you want to test it out before I release you will need to deploy directly from the master branch.

Closing this issue.  User error.

@Crazybus Sure.  Let me know when the new code is ready.

Did you mean to reopen this issue again? In any case I'll ping you once the next release is live.

@Crazybus Sure. Let me know when the new feature is ready.

Latest release has just gone out (7.3.2) which contains this feature.

@crazybus Looks looks like the volumeMounts for keystore is not working.  The elasticsearch pods is in CrashLoopBackOffs status never started.  Can't seem to get any log from kubectl, journalctl, or docker.  Once I comment out the 'keystore: []' the pods works correctly.
$ kubectl get po -n elk -o wide
NAME                       READY   STATUS                  RESTARTS   AGE    IP             NODE                            NOMINATED NODE   READINESS GATES
elasticsearch-master-0     0/1     Init:CrashLoopBackOff   8          21m    <IP_ADDRESS>   ark2-westeuropedops05-node-02   <none>           <none>
elasticsearch-master-1     0/1     Init:CrashLoopBackOff   8          21m    <IP_ADDRESS>    ark2-westeuropedops05-node-01   <none>           <none>
elasticsearch-master-2     0/1     Pending                 0          21m    <none>         <none>                          <none>           <none>

$ helm get elasticsearch
REVISION: 1
RELEASED: Mon Sep 23 13:43:17 2019
CHART: elasticsearch-7.3.2
USER-SUPPLIED VALUES:
{}

COMPUTED VALUES:
antiAffinity: hard
antiAffinityTopologyKey: kubernetes.io/hostname
clusterHealthCheckParams: wait_for_status=green&timeout=1s
clusterName: elasticsearch
esConfig:
  elasticsearch.yml: |
    xpack:
      security:
        enabled: false
esJavaOpts: -Xmx2g -Xms2g
esMajorVersion: ""
extraEnvs: []
extraInitContainers: ""
extraVolumeMounts: ""
extraVolumes: ""
fsGroup: ""
fullnameOverride: ""
httpPort: 9200
image: docker.elastic.co/elasticsearch/elasticsearch
imagePullPolicy: IfNotPresent
imagePullSecrets: []
imageTag: 7.3.2
ingress:
  annotations: {}
  enabled: false
  hosts:
  - chart-example.local
  path: /
  tls: []
initResources: {}
keystore:
- secretName: elastic-config-slack
labels: {}
lifecycle: {}
masterService: ""
masterTerminationFix: false
maxUnavailable: 1
minimumMasterNodes: 2
nameOverride: ""
networkHost: <IP_ADDRESS>
nodeAffinity: {}
nodeGroup: master
nodeSelector: {}
persistence:
  annotations: {}
  enabled: true
podAnnotations: {}
podManagementPolicy: Parallel
podSecurityContext:
  fsGroup: 1000
  runAsUser: 1000
podSecurityPolicy:
  create: false
  name: ""
  spec:
    fsGroup:
      rule: RunAsAny
    privileged: true
    runAsUser:
      rule: RunAsAny
    seLinux:
      rule: RunAsAny
    supplementalGroups:
      rule: RunAsAny
    volumes:
    - secret
    - configMap
    - persistentVolumeClaim
priorityClassName: ""
protocol: http
rbac:
  create: false
  serviceAccountName: ""
readinessProbe:
  failureThreshold: 3
  initialDelaySeconds: 10
  periodSeconds: 10
  successThreshold: 3
  timeoutSeconds: 5
replicas: 3
resources:
  limits:
    cpu: 1000m
    memory: 5Gi
  requests:
    cpu: 100m
    memory: 2Gi
roles:
  data: "true"
  ingest: "true"
  master: "true"
schedulerName: ""
secretMounts: []
securityContext:
  capabilities:
    drop:
    - ALL
  runAsNonRoot: true
  runAsUser: 1000
service:
  annotations: {}
  httpPortName: http
  nodePort: 30998
  transportPortName: transport
  type: NodePort
sidecarResources: {}
sysctlInitContainer:
  enabled: true
sysctlVmMaxMapCount: 262144
terminationGracePeriod: 120
tolerations: []
transportPort: 9300
updateStrategy: RollingUpdate
volumeClaimTemplate:
  accessModes:
  - ReadWriteOnce
  resources:
    requests:
      storage: 10Gi
  storageClassName: elkdops05sc

HOOKS:
---
# elasticsearch-jrwvt-test
apiVersion: v1
kind: Pod
metadata:
  name: "elasticsearch-jrwvt-test"
  annotations:
    "helm.sh/hook": test-success
spec:
  containers:
  - name: "elasticsearch-uwrcd-test"
    image: "docker.elastic.co/elasticsearch/elasticsearch:7.3.2"
    command:
      - "sh"
      - "-c"
      - |
        #!/usr/bin/env bash -e
        curl -XGET --fail 'elasticsearch-master:9200/_cluster/health?wait_for_status=green&timeout=1s'
  restartPolicy: Never
MANIFEST:

---
# Source: elasticsearch/templates/poddisruptionbudget.yaml
apiVersion: policy/v1beta1
kind: PodDisruptionBudget
metadata:
  name: "elasticsearch-master-pdb"
spec:
  maxUnavailable: 1
  selector:
    matchLabels:
      app: "elasticsearch-master"
---
# Source: elasticsearch/templates/configmap.yaml
apiVersion: v1
kind: ConfigMap
metadata:
  name: elasticsearch-master-config
  labels:
    heritage: "Tiller"
    release: "elasticsearch"
    chart: "elasticsearch"
    app: "elasticsearch-master"
data:
  elasticsearch.yml: |
    xpack:
      security:
        enabled: false
---
# Source: elasticsearch/templates/service.yaml
kind: Service
apiVersion: v1
metadata:
  name: elasticsearch-master
  labels:
    heritage: "Tiller"
    release: "elasticsearch"
    chart: "elasticsearch"
    app: "elasticsearch-master"
  annotations:
    {}

spec:
  type: NodePort
  selector:
    heritage: "Tiller"
    release: "elasticsearch"
    chart: "elasticsearch"
    app: "elasticsearch-master"
  ports:
  - name: http
    protocol: TCP
    port: 9200
    nodePort: 30998
  - name: transport
    protocol: TCP
    port: 9300
---
# Source: elasticsearch/templates/service.yaml
kind: Service
apiVersion: v1
metadata:
  name: elasticsearch-master-headless
  labels:
    heritage: "Tiller"
    release: "elasticsearch"
    chart: "elasticsearch"
    app: "elasticsearch-master"
  annotations:
    service.alpha.kubernetes.io/tolerate-unready-endpoints: "true"
spec:
  clusterIP: None # This is needed for statefulset hostnames like elasticsearch-0 to resolve
  # Create endpoints also if the related pod isn't ready
  publishNotReadyAddresses: true
  selector:
    app: "elasticsearch-master"
  ports:
  - name: http
    port: 9200
  - name: transport
    port: 9300
---
# Source: elasticsearch/templates/statefulset.yaml
apiVersion: apps/v1beta1
kind: StatefulSet
metadata:
  name: elasticsearch-master
  labels:
    heritage: "Tiller"
    release: "elasticsearch"
    chart: "elasticsearch"
    app: "elasticsearch-master"
  annotations:
    esMajorVersion: "7"
spec:
  serviceName: elasticsearch-master-headless
  selector:
    matchLabels:
      app: "elasticsearch-master"
  replicas: 3
  podManagementPolicy: Parallel
  updateStrategy:
    type: RollingUpdate
  volumeClaimTemplates:
  - metadata:
      name: elasticsearch-master
    spec:
      accessModes:
      - ReadWriteOnce
      resources:
        requests:
          storage: 10Gi
      storageClassName: elkdops05sc

  template:
    metadata:
      name: "elasticsearch-master"
      labels:
        heritage: "Tiller"
        release: "elasticsearch"
        chart: "elasticsearch"
        app: "elasticsearch-master"
      annotations:

        configchecksum: 52f70be383267d2de2f36a6ba60c556c9542a826e0c5d1f8f886fdbb8230050
    spec:
      securityContext:
        fsGroup: 1000
        runAsUser: 1000

      affinity:
        podAntiAffinity:
          requiredDuringSchedulingIgnoredDuringExecution:
          - labelSelector:
              matchExpressions:
              - key: app
                operator: In
                values:
                - "elasticsearch-master"
            topologyKey: kubernetes.io/hostname
      terminationGracePeriodSeconds: 120
      volumes:
        - name: esconfig
          configMap:
            name: elasticsearch-master-config
        - name: keystore
          emptyDir: {}
        - name: keystore-elastic-config-slack
          secret:
            secretName: elastic-config-slack

      initContainers:
      - name: configure-sysctl
        securityContext:
          runAsUser: 0
          privileged: true
        image: "docker.elastic.co/elasticsearch/elasticsearch:7.3.2"
        command: ["sysctl", "-w", "vm.max_map_count=262144"]
        resources:
          {}

      - name: keystore
        image: "docker.elastic.co/elasticsearch/elasticsearch:7.3.2"
        command:
        - sh
        - -c
        - |
          #!/usr/bin/env bash
          set -euo pipefail

          elasticsearch-keystore create

          for i in /tmp/keystoreSecrets/*/*; do
            key=$(basename $i)
            echo "Adding file $i to keystore key $key"
            elasticsearch-keystore add-file "$key" "$i"
          done

          # Add the bootstrap password since otherwise the Elasticsearch entrypoint tries to do this on startup
          [ ! -z "$ELASTIC_PASSWORD" ] && echo "$ELASTIC_PASSWORD" | elasticsearch-keystore add -x bootstrap.password

          cp -a /usr/share/elasticsearch/config/elasticsearch.keystore /tmp/keystore/
        env:
          []

        resources:
          {}

        volumeMounts:
          - name: keystore
            mountPath: /tmp/keystore
          - name: keystore-elastic-config-slack
            mountPath: /tmp/keystoreSecrets/elastic-config-slack

      containers:
      - name: "elasticsearch"
        securityContext:
          capabilities:
            drop:
            - ALL
          runAsNonRoot: true
          runAsUser: 1000

        image: "docker.elastic.co/elasticsearch/elasticsearch:7.3.2"
        imagePullPolicy: "IfNotPresent"
        readinessProbe:
          failureThreshold: 3
          initialDelaySeconds: 10
          periodSeconds: 10
          successThreshold: 3
          timeoutSeconds: 5

          exec:
            command:
              - sh
              - -c
              - |
                #!/usr/bin/env bash -e
                # If the node is starting up wait for the cluster to be ready (request params: 'wait_for_status=green&timeout=1s' )
                # Once it has started only check that the node itself is responding
                START_FILE=/tmp/.es_start_file

                http () {
                    local path="${1}"
                    if [ -n "${ELASTIC_USERNAME}" ] && [ -n "${ELASTIC_PASSWORD}" ]; then
                      BASIC_AUTH="-u ${ELASTIC_USERNAME}:${ELASTIC_PASSWORD}"
                    else
                      BASIC_AUTH=''
                    fi
                    curl -XGET -s -k --fail ${BASIC_AUTH} http://<IP_ADDRESS>:9200${path}
                }

                if [ -f "${START_FILE}" ]; then
                    echo 'Elasticsearch is already running, lets check the node is healthy'
                    http "/"
                else
                    echo 'Waiting for elasticsearch cluster to become cluster to be ready (request params: "wait_for_status=green&timeout=1s" )'
                    if http "/_cluster/health?wait_for_status=green&timeout=1s" ; then
                        touch ${START_FILE}
                        exit 0
                    else
                        echo 'Cluster is not yet ready (request params: "wait_for_status=green&timeout=1s" )'
                        exit 1
                    fi
                fi
        ports:
        - name: http
          containerPort: 9200
        - name: transport
          containerPort: 9300
        resources:
          limits:
            cpu: 1000m
            memory: 5Gi
          requests:
            cpu: 100m
            memory: 2Gi

        env:
          - name: node.name
            valueFrom:
              fieldRef:
                fieldPath: metadata.name
          - name: cluster.initial_master_nodes
            value: "elasticsearch-master-0,elasticsearch-master-1,elasticsearch-master-2,"
          - name: discovery.seed_hosts
            value: "elasticsearch-master-headless"
          - name: cluster.name
            value: "elasticsearch"
          - name: network.host
            value: "<IP_ADDRESS>"
          - name: ES_JAVA_OPTS
            value: "-Xmx2g -Xms2g"
          - name: node.data
            value: "true"
          - name: node.ingest
            value: "true"
          - name: node.master
            value: "true"
        volumeMounts:
          - name: "elasticsearch-master"
            mountPath: /usr/share/elasticsearch/data

          - name: keystore
            mountPath: /usr/share/elasticsearch/config/elasticsearch.keystore
            subPath: elasticsearch.keystore

          - name: esconfig
            mountPath: /usr/share/elasticsearch/config/elasticsearch.yml
            subPath: elasticsearch.yml

@dcvtruong Which command did you use to create the secret? And can you also make sure you are looking at the logs from the initContainer and not the main pod? The command should be something like kubectl logs elasticsearch-master-0 -c init. If the secret hasn't been created correctly then it is expected that the init container will fail with an error.
Could you also try running the example from here: https://github.com/elastic/helm-charts/tree/master/elasticsearch/examples/config just to be sure its not something funky with your secret? Running make from this directory will be enough to deploy and test it.

@Crazybus Use the following command,
kubectl create secret generic elastic-config-slack --from-literal=xpack.notification.slack.account.monitoring.secure_url='https://hooks.slack.com/services/..../..../....'

I had the same problem.  There's a bug with the keystore initContainer that is failing whenever custom keystore settings are defined.  A proposed fix is in #301.

@ravishivt How were you able to debug the keystore error? I was not able to see the error?

I had the same problem. There's a bug with the keystore initContainer that is failing whenever custom keystore settings are defined. A proposed fix is in #301.

Just to clarify on this one (and explain why the automated integration test still passes) that this bug only affects anybody that doesn't have security enabled (if ELASTIC_PASSWORD is not set which it is in the automated test).

@ravishivt How were you able to debug the keystore error? I was not able to see the error from the pod?

Do you get an error when trying to get the logs? I suggested running the command like this in my previous reply.
kubectl logs elasticsearch-master-0 -c init

@crazybus Not able to get the log from the initContainer
NAMESPACE     NAME                                                      READY   STATUS     RESTARTS   AGE     IP              NODE                              NOMINATED NODE   READINESS GATES
elk           elasticsearch-master-0                                    0/1     Init:1/2   1          4m13s   <IP_ADDRESS>     .....-node-03     <none>           <none>
elk           elasticsearch-master-1                                    0/1     Init:1/2   1          4m13s   <IP_ADDRESS>   .....-node-02     <none>           <none>
elk           elasticsearch-master-2                                    0/1     Init:1/2   1          4m13s   <IP_ADDRESS>    .....-node-01     <none>           <none>

$ kubectl logs elasticsearch-master-0 -n elk -c init
Error from server (BadRequest): container init is not valid for pod elasticsearch-master-0

Just to clarify on this one (and explain why the automated integration test still passes) that this bug only affects anybody that doesn't have security enabled (if ELASTIC_PASSWORD is not set which it is in the automated test).

Ack, makes sense!

Not able to get logs from the initContainer

Try keystore instead of init for the container name.  See if you get the same log errors as I did in #301.
kubectl logs elasticsearch-master-0 -c keystore


Completing addition of Nuget Installation Wizard to all .vstemplate files

This change adds the NugetInstaller wizard to the C++ item template classes and the C# class library.

/azp run

I'm a bit confused - why do item templates need package references?

/azp run


Knock, knock, knock

pennypenny
Sent using Gush

Ok that command wasn't working as expected :joy:


fix: Stop shuffle on like and share

Fixes #1486
Changes: Made items not shuffle on adding to favorites and sharing.
Screenshots for the change:

Which issue are you mentioning?

#1486

#1486

Already closed.

It was closed by removing shuffling, to resolve the bug. Read my comment on #1486


When will the training code be released？

When will the training code for the retargeting part chould be released? Could you give me a rough date?

Sorry for our delay. It will be released before the end of this week. Thank you for your patience.


chore(Algebra.Module.LocalizedModule): use IsLocalization instead of Localization

The construction of LocalizedModule is done using IsLocalization rather than Localization. The corresponding instances for Localization are deduced automatically by Lean. One drawback is that many instances are now marked noncomputable.

I wonder if this should be done with IsLocalizedModule?

In #9210 Mathlib/RingTheory/Localization/Module.lean imports Mathlib/Algebra/Module/LocalizedModule.lean instead, which IMO is the right direction. What in that file does this PR need?

Oh I see. We should probably find a better home for IsLocalizedModule.isBaseChange then.

Oh I see. We should probably find a better home for IsLocalizedModule.isBaseChange then.

Yes, as you can see most of the heavy lifting is done in #9210. This PR is just about replacing Localization by IsLocalization.

This is strictly more general than the current situation, right?

This is strictly more general than the current situation, right?

Yes, the result about Localization can be recovered since we have the instance Localization.isLocalization. In particular, Lean can automatically infer the instance about Localization from the ones about IsLocalization.

This is strictly more general than the current situation, right?

Yes, the result about Localization can be recovered since we have the instance Localization.isLocalization. In particular, Lean can automatically infer the instance about Localization from the ones about IsLocalization.

Thanks, let's merge this and maybe improve things later.
bors merge


Kibosh should default to a VM with more memory

With nano on vSphere (512mb) kibosh dies with out of memory errors. Bumped it up to small (2gb) and it fixed the issue.

kibosh package type is not supported anymore.


Question on Instances

@tmatsuo
If I have one instance created and want to create multiple wordpress sites, do I have to create each instance for each project?
Can I run more than one database on a single instance?
What is the benefit and disadvantage of either?

Hi @jgacuca567!
The database used with the App Engine Wordpress deployment script is CloudSQL, so MySQL does not run on the instances.  As far as the instances go, once you deploy a single instance, App Engine automatically scales to multiple instances as needed depending on your traffic.
I'm closing this issue for now, but let me know if you have any more questions!

Hi @jgacuca567 Sorry for the late reply from me.
Also there is a multi site plugin for WordPress, I wrote a small blog post about that at:
https://wp.gaeflex.ninja/2016/03/25/using-wordpress-multisite/
Hope it helps!


Remove CLIOps datatype

Removing the CLIOps datatype is the first step towards implementation of the Partial Options Monoid design pattern in cardano-cli.hs.  Having several modular pure functions is preferable to the larger "swiss army knife" style CLIOps m data type that has to be instantiated in IO.

Having several modular pure functions is preferable to the larger "swiss army knife" style CLIOps m data type that has to be instantiated in IO.

Can you explain more about this preference, @Jimbo4350 ?
From my perspective, we previously had a pre-decided dictionary, and one had to go to extra lengths to get behavior for a different protocol -- you couldn't pick up the methods directly.
So I think we actually slightly regressed the modularity / separation of concerns here, because the user code now has to ensure it picks the correct protocol value, which is a simple enumeration type.
Also, regarding purity -- If we wanted to switch to pure functions, we could have simply changed the signature of the particular methods -- the definitions of the functions were already pure, in fact.

@deepfire Avoiding the swiss army knife approach is needed because the explorer node also needs to use this config code and the explorer does not need the vast majority of the config options the node uses. Having the swiss army knife approach makes is a huge pain in the neck for the explorer. If on the other hand the node uses a bunch of smaller configuration options, then the explorer can use the ones it needs and ignore the rest.

So I think we actually slightly regressed the modularity / separation of concerns here, because the user code now has to ensure it picks the correct protocol value, which is a simple enumeration type.

I think this is a reasonable requirement in that the user should specify the right protocol to use the relevant functions (serialiseSigningKey, serialiseDelegateKey etc)

can I ask you to comment on how this is related to the Partial Options Monoid?
It's not directly related. I'll revise the commit message.

The chairman continues to fail in CI. I'm still not sure why so I have re-opened this PR here: https://github.com/input-output-hk/cardano-node/pull/266


Commands sent in groups with topics make the bot reply in the wrong topic

If you send a command in a chat topic, the bot will always reply in the principal topic, but it should reply in the same topic in which the command has been sent. The only way to circumvent this behaviour is to always specify the messageThreadId, but I do think it would be a great idea if it was specified by default.

Just a quick update, this has been added in v1.9.12 ✨


Incorrect contributors when trying to @ in issues

Because issue.screen.js uses state.repository, if visit issues from home or notifications tabs, incorrect contributors are shown.

Hmm doesn't a call fire to update state.repository when navigating through home or notifications though? :thinking:

Closed by #332.


Split ViewComplexTest to avoid timeouts after being moved away from '…

…long' junits
patch by Berenguer Blas; reviewed by Ekaterina Dimitrova for CASSANDRA-16711

CI j11
CI j8


Unable to discover test

Hi, I encountered an issue discovering tests in Visual Studio 2013 Update 5.  My teammate who also has the same set up as mine did not encounter this issue.
------ Discover test started ------
Logger initialized. Logging to C:\USERS\SomeUser\APPDATA\LOCAL\MICROSOFT\VISUALSTUDIO\12.0\EXTENSIONS\CK5IRDWE.3CK\BoostTestAdapter.dll.log
Discovering (SourceCodeDiscoverer):   -> [C:\Users\SomeUser\MyProject\build\bin\Test-gd.exe]
Exception caught while discovering tests: IRunningObjectTable::GetObject returned with code:-2147220997 (-2146233088)
at BoostTestAdapter.Utility.NativeMethods.get_RunningObjectTable()
at BoostTestAdapter.Utility.VisualStudio.DefaultVisualStudioInstanceProvider.GetSolutionObject(String processId)
at BoostTestAdapter.Utility.VisualStudio.DefaultVisualStudioInstanceProvider.get_Instance()
at BoostTestAdapter.Discoverers.SourceCodeDiscoverer.PrepareTestCaseData(IEnumerable1 sources)    at BoostTestAdapter.Discoverers.SourceCodeDiscoverer.DiscoverTests(IEnumerable1 sources, IDiscoveryContext discoveryContext, IMessageLogger logger, ITestCaseDiscoverySink discoverySink)
at BoostTestAdapter.BoostTestDiscoverer.DiscoverTests(IEnumerable`1 sources, IDiscoveryContext discoveryContext, ITestCaseDiscoverySink discoverySink)
========== Discover test finished: 0 found (0:00:00.3090309) ==========

Hi @candychiu,
This seems to be an CO_E_OBJNOTREG COM error code. This happens when trying to access the current Visual Studio running instance so that we can iterate over the project files. Will look further into this when we have the time.

The problem went away on itself own.  Thanks.


Dependency injection in flutter

Dependency injection in flutter(Provider Package)
Article checklist
ATTENTION: In your PR - add the ISSUE (topic form) # that this PR corresponds to. You can do this by also adding a comment that states "This fixes #(enter your Idea Content Form #)" to link and close your Idea Content (issue) when the PR is merged.
NOTE: (Please ensure that you have only one open issue + linked pull request at a time. This will ensure that we complete the article in a timely manner from inception to publishing.)
If you have not already please go over our Resources Page for more tips and tricks on how to improve our overall technical writing.
Preliminary Checks - Formatting and Structure

[x] Is the article you are submitting an in-depth and unique article? Does it go beyond what is in the official docs and what is covered in other blog sites. See these articles as examples.
[x] Does your article follow any of the suggested structure formats? - see example formats
[x] Is your article properly formatted in Markdown? - see Github Markdown guide
[x] Have you used the correct folder and file structure? - see Contribution Guidelines
[x] Is your article over 750 words? - Tool: Wordcounter.net
[x] Have you used our preferred heading structure? - H3 (###) and up
[x] Does your article provide enough value and detail about your topic? - Articles should be clear, accurate, and fully explained.
[x] Can your article be understood by beginners? - Assume the audience is smart but has no prior exposure to the common terminology in your article.
[x] Have you included a hero image that is 600x400 pixels and have the copyright to use it? - Tools: Pixlr Image Editor for resizing and Unsplash for Creative Commons images
[x] In your PR - add a comment that states "This fixes #(enter your Idea Content Form #)" to link and close your Idea Content (issue) when the PR is merged.

Grammar & plagiarism checks

[x] Have you spellchecked and grammar checked your article? - Tools: Write&Improve - ProWritingAid -  Grammarly
[x] Please place your article through a 3rd party plagiarism checker? We suggest using Quetext, this tool is free and has a daily limit. We typically accept articles with 10% or less.
[x] Have you checked your article for readability? - Tool: Hemmingway
[ ] Have you added sources for quotes and images that aren't yours?

Technical checks

[x] Are your code snippets properly formatted for syntax highlighting - see Syntax guide

Contribution guidelines
For first-time contributors and for more details, see Contributing Guidelines
This fixes #3146

@NdoloBonface
Dependency injection in flutter #3359.pdf
👋 Good afternoon - and welcome to the EngEd program.
I'll be running a final review on your PR when ready.
Upon running your article through our 3rd party plagiarism checker it seemed to raise a few flags and the % was higher than we typically accept.
Please see attached PDF - and revisit the article to ensure we are contributing wholly unique and original content.
Be sure to see our resources page to see more info on plagiarism and what is considered as such.

@hectorkambow
I have revisited the article and did the changes.
Thank you.

@NdoloBonface, kindly user an image of size 600*400 and for your hero image and rename it using lowercase

Hello @NdoloBonface, the hero image for the article is not in the correct size, make it 600*400 and I said earlier.

@jerimkaura ,
Done. thank you

The image you used doesn't look free besides having an inappropriate resolution. Please try to keep images as close to 600X400 pixels (images can be resized using Pixlr Image Editor) and make sure you have the appropriate copyright to use it. Sites like Unsplash have Creative Commons images which you can use for free.

I will look for one and change in a minute, @jerimkaura

@jerimkaura , done. Thank you

Done, @jerimkaura

Please change your hero image and I will publish your article. @NdoloBonface
You can use this template, design your own, or use Unsplash to find one.

Please change your hero image and I will publish your article. @NdoloBonface
You can use this template, design your own, or use Unsplash to find one.

I have decided to use the template.
Thank you

If you want to use the template, then you have to edit the text. Follow the instructions in the GitHub repo please. @NdoloBonface

@ahmadmardeni1, i have used a new one from Unsplash. Thanks

Welcome to Section EngEd and congrats on your first article 🎉 @NdoloBonface
Thank you for the review @jerimkaura
Please go over the changes I made here 88d22ce and here 88dab48


Fix Japanese docs

Related Issues
fixes #3732

Checklist
Before you create this PR confirm that it meets all requirements listed below by checking the relevant checkboxes ([x]).

[ ] I have updated the CHANGELOG.md of the relevant packages.
Changelog files must be edited under the form:
## Unreleased fix/major/minor

- Description of your change. (thanks to @yourGithubId)

[ ] If this contains new features or behavior changes,
I have updated the documentation to match those changes.

Thanks!


Lr2

JDBC -> JPA
Added Tasks
Task cleanup by Delete /projects/{projectId}/tasks/finished
TaskRepo some manual queries

@Das-dasein


[6.0] Formatting the attributes for Editor buttons.

The Editor buttons used for Datatables Editor when added to attribute list generates Javascript JSON code that has editor variable wrapped around with double quotes. which is treated as string in javascript instead of variable. This code change removes additionally added double quotes.
For more detailed information you can look at issue "Adding Editor buttons" #1095

Is editor always the variable name for editor? Do not have license on editor and can't really test this one. Thanks!

You are right, it is not always editor, user can define there own variable names. See this link for sample code  (specially javascript) https://editor.datatables.net/examples/inline-editing/simple.html.
Now I am not sure, how to easily handle user defined variables.
Any pointer where I can look for solutions. Something like in getBuilderParameters datatables parameters I can add a param 'editor' =>[ 'variable'=>'editor1'], and use that in Builder@parameterize function.
Or even better is, if I add a parameter 'editor' =>[ 'enabled' => true, 'ajax' => '../php/staf.php', 'table' =>'#example', 'fields'=>[['label'=>'First Name','name'=>'first_name'],['label'=>'Last Name','name'=>'last_name']]]  it will generate the following editor script making sure the variable name is editor.
editor = new $.fn.dataTable.Editor( {
    ajax: "../php/staff.php",
    table: "#example",
    fields: [ {
            label: "First name:",
            name: "first_name"
        }, {
            label: "Last name:",
            name: "last_name"
        }
    ]
} );

PS: Sorry for late response, got busy with other projects.

Datatables Editor gives a 15 days trail license, if you haven't exhausted yours for your email id, you can register on datatables site and download the editor js.

My trial license already expires. What I suggest is to make a dedicate decode method that allows plain script on editor key like on this line:
$json = $this->decodeCallbackFunctions($callbackFunctions, $json);

I updated the code as you suggested, i added encodeEditorButtons and decodeEditorButtons, and it works like a charm. Let me know if you have more suggestions.

@yajra Anything else you want me to update with this PR? It will be really helpful for my project if this goes in. Thanks Again.

Not really sure yet how to test this since I don't have editor license. Can I trust you on this one?
Anyone reading this can confirm this PR please? Thanks! :)
Anyways, the PR looks good. Give me your confirmation that this works on your side and I think I will merge this. Thanks!

I tested it seems right to me, it is working fine on my Laravel 5.1 project.

@karmendra trusting you on this one. Released on v6.28.1.
BTW: can you also please submit the same PR on https://github.com/yajra/laravel-datatables-html for v7.0 support? Thanks a lot 👍


fix: pin tempy to 3.0.0 to prevent a webpack error

close https://github.com/cybozu/duck/pull/864
The latest<EMAIL_ADDRESS>has temp-dir@3 in the deps.
https://github.com/sindresorhus/tempy/commit/5a4cb2b63db90cc353b5c649a0a59419432c8d00
temp-dir@3 includes top-level await.
https://github.com/sindresorhus/temp-dir/blob/v3.0.0/index.js
But webpack@4 in faastjs@6 doesn't allow it and duck throws an error for batch compilation.
ref: https://github.com/cybozu/duck/actions/runs/5952268350/job/16143868194?pr=864

ref: https://github.com/sindresorhus/tempy/issues/49


Request: Play Button on Pull Down Menu

Would be nice to have a play/pause button on the android pull down menu available, so you can pause/play there directly without going into the app. I hope you know what I mean, it's the menu you can pull down by swiping down from the top of the screen while any app or no app is running in the foreground. An entry is already there, I think it should be possible to add a button for that, like Google Music has.

Thanks for the suggestion. This is already planned (#39) but it's unknown when this can be implemented. Feel free to submit a pull request if you're able to implement this ;)


[bootstrap] Remove deprecated "--build-tests"

The "--build-tests" option is marked "deprecated" in the SwiftPM bootstrap script and is no longer used by the script. It is also no longer used by any systems calling the bootstrap script; its only usage in the Swift build script has been removed in https://github.com/apple/swift/pull/1547.
Remove the option to reduce confusion.

This is trivial and safe change so I'm going to merge it.
I've tested that  ./Utilities/bootstrap test works as expected both on MacOS and Linux and we don't need  "--build-tests"

Thanks, @kostiakoval! :bow:


Travis MacOS cpp build fails due to timeout

Example run:
https://travis-ci.org/Microsoft/bond/jobs/168399167

Something else is going on, increasing the timeout still didn't made finish in time.


when click the button it seems not working

Godot version
4.2 beta
System information
windows11-godot4.2 mono
Issue description
main.cs  as following:
using Godot;
using System;

public partial class main : Node2D
{
	// Called when the node enters the scene tree for the first time.
	public GraphEdit ge;
	public override void _Ready()
	{
		Button btn = this.GetNode<Button>("btn1");
		btn.Text = "add data";
		btn.Pressed += btnclc;

	}

	private void btnclc()
	{
		var cs = GD.Load<PackedScene>("res://addons/easy_charts/examples/line_chart/Control.tscn");
		var node=cs.Instantiate();
                node.SetScript((GDScript)GD.Load("res://addons/easy_charts/examples/line_chart/Control.gd"));
               GetTree().ChangeSceneToPacked(cs);
               node.GetScript().AsGodotObject().Get("f1").AsGodotObject().Call("add_point", 1, 5);
      }

    // Called every frame. 'delta' is the elapsed time since the previous frame.
    public override void _Process(double delta)
	{
	}
}

the script of scene Control is control.gd  as following:
extends Control

@onready var chart: Chart = $VBoxContainer/Chart

# This Chart will plot 3 different functions
var f1: Function

func _ready():
	# Let's create our @x values
	#var x: PackedFloat32Array = ArrayOperations.multiply_float(range(-10, 11, 1), 0.5)

	# And our y values. It can be an n-size array of arrays.
	# NOTE: `x.size() == y.size()` or `x.size() == y[n].size()`
	#var y: Array = ArrayOperations.multiply_int(ArrayOperations.cos(x), 20)

	# Let's customize the chart properties, which specify how the chart
	# should look, plus some additional elements like labels, the scale, etc...
	var cp: ChartProperties = ChartProperties.new()
	cp.colors.frame = Color("#161a1d")
	cp.colors.background = Color.TRANSPARENT
	cp.colors.grid = Color("#283442")
	cp.colors.ticks = Color("#283442")
	cp.colors.text = Color.WHITE_SMOKE
	cp.draw_bounding_box = false
	cp.title = "Air Quality Monitoring"
	cp.x_label = "Time"
	cp.y_label = "Sensor values"
	cp.x_scale = 5
	cp.y_scale = 10
	cp.interactive = true # false by default, it allows the chart to create a tooltip to show point values
	# and interecept clicks on the plot

	var x:PackedFloat32Array=[0]
	var y:PackedFloat32Array=[0]
	# Let's add values to our functions
	f1 = Function.new(
		x, y, "Pressure", # This will create a function with x and y values taken by the Arrays
						## we have created previously. This function will also be named "Pressure"
						## as it contains 'pressure' values.
						## If set, the name of a function will be used both in the Legend
						## (if enabled thourgh ChartProperties) and on the Tooltip (if enabled).
		## Let's also provide a dictionary of configuration parameters for this specific function.
		{
			color = Color("#36a2eb"), 		# The color associated to this function
			marker = Function.Marker.CIRCLE, 	# The marker that will be displayed for each drawn point (x,y)
											# since it is `NONE`, no marker will be shown.
			type = Function.Type.LINE, 		# This defines what kind of plotting will be used,
											# in this case it will be a Linear Chart.
			interpolation = Function.Interpolation.STAIR	# Interpolation mode, only used for
															## Line Charts and Area Charts.
		}
	)

	# Now let's plot our data
	chart.plot([f1], cp)

	# Uncommenting this line will show how real time data plotting works
	set_process(false)

var new_val: float = 4.5

func _process(delta: float):
	# This function updates the values of a function and then updates the plot
	#new_val += 5

	# we can use the `Function.add_point(x, y)` method to update a function
	#f1.add_point(new_val, cos(new_val) * 20)
	#f1.remove_point(0)
	chart.queue_redraw() # This will force the Chart to be updated

func _on_CheckButton_pressed():
	set_process(not is_processing())

Steps to reproduce

create a 2d node and save as main scene
create a button on the node
add asset of easy-chats
change the script as above
you will see

Minimal reproduction project
test.zip

Hi! You seem to be looking for help to analyze why your code doesn't work the way you want it to be.
This may be due to an engine bug, but the more likely option would be a logic bug in your code. To find out about this, you should use one of the other community platforms listed on https://godotengine.org/community/ where Godot users might be willing to help you figure this out.
The issue tracker on GitHub is only for well-defined bug reports which can be clearly seen as such. Engine contributors can't afford to spend much time debugging your code to see if there's an engine bug or not.
If/when a more minimal reproducer is made that confirms that something would be wrong with the engine, then it's definitely suitable to open as a bug report.

I am Sorry，but the community web address is blocked in China, do you have another way to talk about the the issues?
At 2023-11-11 04:31:01, "Rémi Verschelde" @.***> wrote:
Hi! You seem to be looking for help to analyze why your code doesn't work the way you want it to be.
This may be due to an engine bug, but the more likely option would be a logic bug in your code. To find out about this, you should use one of the other community platforms listed on https://godotengine.org/community/ where Godot users might be willing to help you figure this out.
The issue tracker on GitHub is only for well-defined bug reports which can be clearly seen as such. Engine contributors can't afford to spend much time debugging your code to see if there's an engine bug or not.
If/when a more minimal reproducer is made that confirms that something would be wrong with the engine, then it's definitely suitable to open as a bug report.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: @.***>


Update README.md

Fix the hyperlink error in "Downloading an App Container Image (ACI)" section:
In Documentation, you can find a detailed, step-by-step guide for the signing procedure.

LGTM


Is m1 max natively supported?

and meta api supported

I'm not sure, but it should be supported, the engine works pretty well on Apple M1.


Allow contracts to be created using offer name

Updated the client to support creation of contracts
by the name field of an Offer.

I made a pr on esi-leap to address the get_first_availability issue


1434-docker-compose - backend selection on startup

See: https://github.com/guacsec/guac/issues/1435
and  https://github.com/guacsec/guac/issues/1434

@lumjjb worth to mention the other backends options here (ent/neo4j/arango) ?

@mihaimaruseac

@lumjjb worth to mention the other backends options here (ent/neo4j/arango) ?

Not yet. Once those are fully supported, we can call them out.

@desmax74 please reopen this PR once the revert PR has gone through and we can get the changes in for next release.


Fix case when sAMAccountName is not set

Thank you for your contribution!
Could you show me the object you had with an objectSID without sAMAccountName?

It occured only when resolving the security descriptor of a cross-domain certificate template, so some objects in it could apparently not be properly resolved. Unfortunately I cannot share it though.

In this case it seems this PR would only hide the real issue. It would be more interesting to have code to fix this cross domain resolution issue, what do you think?

You're right, but to do this the ForeignSecurityPrincipals object would need to be properly resolved, by retriving the object from the corresponding forest before returning the sAMAccountName. Unfortunately I currently don't have the time, so this pull request would serve as a first workaround until that is properly implemented.

Yes I have to work on some cross domain function helpers to solve easily this kind of situations.
Waiting for that I will add this change so user can still have information displayed.


ItemList signals additional documentation

Signals:

item_selected
item_rmb_select

Resolves #17588

Thanks!

Cherry-picked for 3.0.7.


New PR to test SignCLA at 2018-03-26 10:05:47.16242634 -0700 PDT m=+6.690105198

Body of PR

indiv-pass-staging: test succeeded


feat(deps): updates and adds support for rollup v3

I think this should be a somewhat simple PR but let me know if there are additional things I should test for... the existing plugins seem to hold up.
Addresses #24

My first choice would be to support both Rollup v2 & v3 with testing, raised #26 to track this.
I can merge this PR for a new minor release if we remove the Rollup v2 option, and resolve #26 whenever someone has time to work on this.
Thanks!

Sounds good, thanks.


Bare minimal scanner in Rust

Any way to prefetch batches async?

yes, we can later maintain the runtime / prefetch threads in Scanner.


[BUG?] Osram CLA60 TW

I recently got this osram device: Amazon.
This is the device signature:
{
  "node_descriptor": "NodeDescriptor(logical_type=<LogicalType.Router: 1>, complex_descriptor_available=0, user_descriptor_available=0, reserved=0, aps_flags=0, frequency_band=<FrequencyBand.Freq2400MHz: 8>, mac_capability_flags=<MACCapabilityFlags.AllocateAddress|RxOnWhenIdle|MainsPowered|FullFunctionDevice: 142>, manufacturer_code=48042, maximum_buffer_size=64, maximum_incoming_transfer_size=0, server_mask=0, maximum_outgoing_transfer_size=0, descriptor_capability_field=<DescriptorCapability.ExtendedSimpleDescriptorListAvailable|ExtendedActiveEndpointListAvailable: 3>, *allocate_address=True, *is_alternate_pan_coordinator=False, *is_coordinator=False, *is_end_device=False, *is_full_function_device=True, *is_mains_powered=True, *is_receiver_on_when_idle=True, *is_router=True, *is_security_capable=False)",
  "endpoints": {
    "3": {
      "profile_id": 49246,
      "device_type": "0x0220",
      "in_clusters": [
        "0x0000",
        "0x0003",
        "0x0004",
        "0x0005",
        "0x0006",
        "0x0008",
        "0x0300",
        "0x1000",
        "0xfc0f"
      ],
      "out_clusters": [
        "0x0019"
      ]
    }
  },
  "manufacturer": "OSRAM",
  "model": "CLA60 TW OSRAM",
  "class": "cla60tw.CLA60TW"
}

It paired in ZHA fast and without problem, but got this error:
2022-02-16 23:58:05 WARNING (MainThread) [zigpy_znp.api] Failed to parse broken GeneralFrame(header=CommandHeader(id=0x9F, subsystem=Subsystem.ZDO, type=CommandType.AREQ), data=b'\xD4\x9B\x84\x01\x8B') as <class 'zigpy_znp.types.commands.ZDO.ParentAnnceRsp.Callback'>
2022-02-16 23:58:05 DEBUG (MainThread) [zigpy_znp.api] Received command: ZDO.MsgCbIncoming.Callback(Src=0x9BD4, IsBroadcast=<Bool.false: 0>, ClusterId=32799, SecurityUse=0, TSN=3, MacDst=0x0000, Data=b'\x84\x01\x8B')
2022-02-16 23:58:05 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
File "/usr/local/lib/python3.9/site-packages/zigpy_znp/zigbee/application.py", line 654, in on_zdo_message
args, data = list_deserialize(data, types)
File "/usr/local/lib/python3.9/site-packages/zigpy/types/__init__.py", line 9, in deserialize
value, data = type_.deserialize(data)
File "/usr/local/lib/python3.9/site-packages/zigpy/types/basic.py", line 622, in deserialize
item, data = cls._item_type.deserialize(data)
File "/usr/local/lib/python3.9/site-packages/zigpy/types/basic.py", line 648, in deserialize
item, data = cls._item_type.deserialize(data)
File "/usr/local/lib/python3.9/site-packages/zigpy/types/basic.py", line 140, in deserialize
raise ValueError(f"Data is too short to contain {byte_size} bytes")
ValueError: Data is too short to contain 1 bytes

Now I thought this is a problem with the quirk since there isn't one for this device, so I created one:
"""Osram CLA60 TW device."""
from zigpy.profiles import zll
from zigpy.quirks import CustomDevice
from zigpy.zcl.clusters.general import (
    Basic,
    Groups,
    Identify,
    LevelControl,
    OnOff,
    Ota,
    Scenes,
)
from zigpy.zcl.clusters.lighting import Color
from zigpy.zcl.clusters.lightlink import LightLink

from zhaquirks.const import (
    DEVICE_TYPE,
    ENDPOINTS,
    INPUT_CLUSTERS,
    MODELS_INFO,
    OUTPUT_CLUSTERS,
    PROFILE_ID,
)
from zhaquirks.osram import OSRAM, OsramLightCluster

class CLA60TW(CustomDevice):
    """Osram CLA60 TW device."""

    signature = {
        # <SimpleDescriptor endpoint=3 profile=49246 device_type=544
        # device_version=2 input_clusters=[0, 3, 4, 5, 6, 8, 768, 4096, 64527]
        # output_clusters=[25]>
        MODELS_INFO: [(OSRAM, "CLA60 TW OSRAM")],
        ENDPOINTS: {
            3: {
                PROFILE_ID: zll.PROFILE_ID,
                DEVICE_TYPE: zll.DeviceType.COLOR_TEMPERATURE_LIGHT,
                INPUT_CLUSTERS: [
                    Basic.cluster_id,
                    Identify.cluster_id,
                    Groups.cluster_id,
                    Scenes.cluster_id,
                    OnOff.cluster_id,
                    LevelControl.cluster_id,
                    Color.cluster_id,
                    LightLink.cluster_id,
                    OsramLightCluster.cluster_id,
                ],
                OUTPUT_CLUSTERS: [Ota.cluster_id],
            }
        },
    }

    replacement = {
        ENDPOINTS: {
            3: {
                PROFILE_ID: zll.PROFILE_ID,
                DEVICE_TYPE: zll.DeviceType.COLOR_TEMPERATURE_LIGHT,
                INPUT_CLUSTERS: [
                    Basic.cluster_id,
                    Identify.cluster_id,
                    Groups.cluster_id,
                    Scenes.cluster_id,
                    OnOff.cluster_id,
                    LevelControl.cluster_id,
                    Color.cluster_id,
                    LightLink.cluster_id,
                    OsramLightCluster,
                ],
                OUTPUT_CLUSTERS: [Ota.cluster_id],
            }
        }
    }

Now with this quirk applied I cant controll color temperature anymore and the errors are still there.

Also, I noticed that always when sending a command to the device, there is an exception even though the device is accepting the command:
2022-02-17 00:06:51 DEBUG (MainThread) [homeassistant.core] Bus:Handling <Event call_service[L]: domain=light, service=turn_off, service_data=entity_id=light.fabian_deckenlicht_on_off>
2022-02-17 00:06:51 DEBUG (MainThread) [zigpy_znp.api] Sending request: AF.DataRequestExt.Req(DstAddrModeAddress=AddrModeAddress(mode=<AddrMode.NWK: 2>, address=0x9BD4), DstEndpoint=3, DstPanId=0x0000, SrcEndpoint=1, ClusterId=6, TSN=57, Options=<TransmitOptions.SUPPRESS_ROUTE_DISC_NETWORK|ACK_REQUEST: 48>, Radius=30, Data=b'\x01\x39\x00')
2022-02-17 00:06:51 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.DataRequestExt.Rsp(Status=<Status.SUCCESS: 0>)
2022-02-17 00:06:51 DEBUG (MainThread) [zigpy_znp.api] Received command: ZDO.SrcRtgInd.Callback(DstAddr=0x9BD4, Relays=[])
2022-02-17 00:06:51 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.DataConfirm.Callback(Status=<Status.SUCCESS: 0>, Endpoint=1, TSN=57)
2022-02-17 00:06:51 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.IncomingMsg.Callback(GroupId=0x0000, ClusterId=6, SrcAddr=0x9BD4, SrcEndpoint=3, DstEndpoint=1, WasBroadcast=<Bool.false: 0>, LQI=65, SecurityUse=<Bool.false: 0>, TimeStamp=3000158, TSN=0, Data=b'\x18\x3D\x0A\x00\x00\x10\x00', MacSrcAddr=0x9BD4, MsgResultRadius=29)
2022-02-17 00:06:51 DEBUG (MainThread) [zigpy.zcl] [0x9bd4:3:0x0006] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=61 command_id=Command.Report_Attributes>
2022-02-17 00:06:51 DEBUG (MainThread) [zigpy.zcl] [0x9bd4:3:0x0006] ZCL request 0x000a: [[Attribute(attrid=0, value=<TypeValue type=Bool, value=Bool.false>)]]
2022-02-17 00:06:51 DEBUG (MainThread) [zigpy.zcl] [0x9bd4:3:0x0006] Attribute report received: on_off=0
2022-02-17 00:06:51 DEBUG (MainThread) [homeassistant.core] Bus:Handling <Event state_changed[L]: entity_id=light.fabian_deckenlicht_on_off, old_state=<state light.fabian_deckenlicht_on_off=on; min_mireds=153, max_mireds=370, supported_color_modes=['color_temp'], color_mode=color_temp, brightness=51, color_temp=208, hs_color=(26.842, 21.929), rgb_color=(255, 224, 199), xy_color=(0.379, 0.352), off_brightness=None, friendly_name=On/Off, supported_features=43 @ 2022-02-17T00:05:54.294599+01:00>, new_state=<state light.fabian_deckenlicht_on_off=off; min_mireds=153, max_mireds=370, supported_color_modes=['color_temp'], off_brightness=None, friendly_name=On/Off, supported_features=43 @ 2022-02-17T00:06:51.797585+01:00>>
2022-02-17 00:06:51 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.IncomingMsg.Callback(GroupId=0x0000, ClusterId=8, SrcAddr=0x9BD4, SrcEndpoint=3, DstEndpoint=1, WasBroadcast=<Bool.false: 0>, LQI=65, SecurityUse=<Bool.false: 0>, TimeStamp=3000802, TSN=0, Data=b'\x18\x3E\x0A\x00\x00\x20\x33', MacSrcAddr=0x9BD4, MsgResultRadius=29)
2022-02-17 00:06:51 DEBUG (MainThread) [zigpy.zcl] [0x9bd4:3:0x0008] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=62 command_id=Command.Report_Attributes>
2022-02-17 00:06:51 DEBUG (MainThread) [zigpy.zcl] [0x9bd4:3:0x0008] ZCL request 0x000a: [[Attribute(attrid=0, value=<TypeValue type=uint8_t, value=51>)]]
2022-02-17 00:06:51 DEBUG (MainThread) [zigpy.zcl] [0x9bd4:3:0x0008] Attribute report received: current_level=51
2022-02-17 00:06:51 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x9BD4:3:0x0008]: received attribute: 0 update with value: 51
2022-02-17 00:06:52 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.IncomingMsg.Callback(GroupId=0x0000, ClusterId=8, SrcAddr=0x9BD4, SrcEndpoint=3, DstEndpoint=1, WasBroadcast=<Bool.false: 0>, LQI=72, SecurityUse=<Bool.false: 0>, TimeStamp=3024988, TSN=0, Data=b'\x18\x3F\x0A\x00\x00\x20\x33', MacSrcAddr=0x9BD4, MsgResultRadius=29)
2022-02-17 00:06:52 DEBUG (MainThread) [zigpy.zcl] [0x9bd4:3:0x0008] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=63 command_id=Command.Report_Attributes>
2022-02-17 00:06:52 DEBUG (MainThread) [zigpy.zcl] [0x9bd4:3:0x0008] ZCL request 0x000a: [[Attribute(attrid=0, value=<TypeValue type=uint8_t, value=51>)]]
2022-02-17 00:06:52 DEBUG (MainThread) [zigpy.zcl] [0x9bd4:3:0x0008] Attribute report received: current_level=51
2022-02-17 00:06:52 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x9BD4:3:0x0008]: received attribute: 0 update with value: 51
2022-02-17 00:06:56 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x9BD4:3:0x0006]: command failed: 'off' args: '()' kwargs '{}' exception: ''
2022-02-17 00:06:56 DEBUG (MainThread) [homeassistant.components.zha.entity] light.fabian_deckenlicht_on_off: turned off:

Ok im Swedish and not "so young" (=one AS) but i can only recommending OSRAM light and plugs to person that is my enemies of some reason !!
Z2M have sniffing some OSRAM devices that is sending corrupted packages and i think you have the same problem.
Pleas do one sniff then sending the same commands to the device so we can taking o looking what is sending in the radio layer.
The next is trying finding updated firmware for the device if they have released one and if its still online (i think they was taking some server down in the new year) and updating it if you can.
As im one AS i can only recommending returning it if you can and getting somthing that is having better working firmware in there device but can being good having as "reference device" in the future.
Edit: its looks like one update is online for it from 2019 if using this link https://update.ledvance.com/firmware-overview?submit=all and putting in CLA60.
Configuring local OTA in HA and putting the file in the directory and restart HA and re power the light and see if its like the update.
The Image Type you is getting in the log then the device is responding to OTA request so you is knowing if its right firmware you is trying updating it with.

I think you can changing the topic to "undocumented future" its sounds better then bug ;-)


bug(dockerfile): apt-get Missing '-y' To Avoid Manual Input`

When linting a Dockerfile that has an apt-get install command I get the error 77783205-c4ca-4f80-bb80-c777f267c547 # APT-GET Missing '-y' To Avoid Manual Input.  This is a false positive when using apt-get --quiet --quiet install sl or  apt-get --yes install sl
Expected Behavior

No error is shown when using apt get --quiet --quiet as it implies -y/--yes
No error is shown when using apt get --yes which is the long form of -y

Actual Behavior
[Severity: LOW, Query description: Check if apt-get calls use the flag -y to avoid user manual input.] Problem found on 'docker/local-toolbox/Dockerfile_test' file in line 2. Expected value: {{RUN apt-get --yes install sl}} sould avoid manual input. Actual value: {{RUN apt-get --yes install sl}} doesn't avoid manual input.

Hi @SpikePy ,
Thank you for your inputs!
Our internal AppSec team soon will check it.
We will keep you updated.
(APPSEC-2556)


progressUpdateInterval ignored with aggressive seeking

Current behavior
progressUpdateInterval is ignored and onProgress is fired extensively when seeking aggressively. Think of a fast-forward button being pressed 4-5 times. This will do it.

Related to #1320

Related to #1564


HTTP Client is currently not applying the base URL to pool requests

Laravel Version: 9.6.0
PHP Version: 8.1.3
Database Driver & Version: Irrelevant

Description:
HTTP Client is currently not applying the base URL to pool requests.
Steps To Reproduce:
use Illuminate\Http\Client\Pool;
use Illuminate\Support\Facades\Http;

$client = Http::baseUrl('https://blockstream.info/api/');

$responses = $client->pool(fn (Pool $pool) => [
    $pool->get('tx/173a7bce237dabe4a806b3dda1df52b8f9a4abc3f15679a5f5d7ca0d29d30154'),
    $pool->get('tx/be78293aa29da520a3a33bd9f32a65559bbd9f9acea973acf0060a821f04c951'),
    $pool->get('tx/ebe215defd53eba5a0e36c12a6cb3fbab211e827ac7b24d88639686f5c56fc23'),
]);

dd($responses);

// cURL error 6: Could not resolve host: tx (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for tx/9dc88b187b846bbd670ef7db46b928ed08089431f47a49794cfb0b534784c24e

Seeing the section even they are using absolute URL instead of using relative url.
https://laravel.com/docs/9.x/http-client#concurrent-requests

Thanks @SachinBahukhandi

Sorry for commenting on a closed issue - but I ran into the exact same issue just now... it also seems you cannot use ->baseUrl on the Pool object as it breaks it - does one really need to use an absolute URL for this functionality? Or has it just been an oversight?

@ThaDaVos Yes, you need to use the absolute path and Laravel don't want to make this feature works or add a comment warning about this lack of feature on their documentation.

@ThaDaVos This issue seems to be from guzzle. Maybe you can post it as an issue there as an enhancement.

To make it worse, retry and timeout options will fail silently, as they are not applied:
$responses = Http::pool(fn (Pool $pool) => [
    $pool->timeout(50)->get('tx/173a7bce237dabe4a806b3dda1df52b8f9a4abc3f15679a5f5d7ca0d29d30154'),
    $pool->timeout(50)->get('tx/be78293aa29da520a3a33bd9f32a65559bbd9f9acea973acf0060a821f04c951'),
    $pool->timeout(50)->get('tx/ebe215defd53eba5a0e36c12a6cb3fbab211e827ac7b24d88639686f5c56fc23'),
]);

neither
$responses = Http::timeout(50)->pool(fn (Pool $pool) => [
    $pool->get('tx/173a7bce237dabe4a806b3dda1df52b8f9a4abc3f15679a5f5d7ca0d29d30154'),
    $pool->get('tx/be78293aa29da520a3a33bd9f32a65559bbd9f9acea973acf0060a821f04c951'),
    $pool->get('tx/ebe215defd53eba5a0e36c12a6cb3fbab211e827ac7b24d88639686f5c56fc23'),
]);

@binbyz no, only hard typing the url.

So why has this been closed because this seems odd that you suddenly have to manually specify the base url.
Why not pass in the current PendingRequest to the Pool so asyncRequests are based of the client with whatever the options are at that time?
If you have created an API client to consume an API and you have set up a client this is a pretty big hassle to all of a sudden having to switch back to absolute urls.


Add GitHub actions

Adds Github actions so tests will automatically run on push.
Tests will be run on Laravel 6, 7 and 8 and PHP 7.2, 7.3 and 7.4
PHP minimum version has to be set to 7.2 as this is what Laravel 6 requires.
Also added dummy tests so actions will not fail - warning because no tests present.

Thanks for your pull request, I really need this kind of contribution I looking forward to writing the unit tests for the traits.
I'll be thankful if you help me with it :)
Btw, I'll be happy to add you as a first contributor, welcome to Laraimage :)


feat: make create light account and multi owner light account to be strong type inferred

Before:

After:

Pull Request Checklist

[ ] Did you add new tests and confirm existing tests pass? (yarn test)
[ ] Did you update relevant docs? (docs are found in the site folder, and guidelines for updating/adding docs can be found in the contribution guide)
[ ] Do your commits follow the Conventional Commits standard?
[ ] Does your PR title also follow the Conventional Commits standard?
[ ] If you have a breaking change, is it correctly reflected in your commit message? (e.g. feat!: breaking change)
[ ] Did you run lint (yarn lint:check) and fix any issues? (yarn lint:write)
[ ] Did you follow the contribution guidelines?

PR-Codex overview
This PR updates account versions to use a new GetLightAccountVersion type.
Detailed summary

Updated account versions to utilize GetLightAccountVersion type
Refactored multiple functions to accommodate the new type
Updated imports and type definitions in various files

The following files were skipped due to too many changes: packages/accounts/src/light-account/accounts/base.ts, packages/accounts/src/light-account/types.ts, packages/accounts/src/light-account/utils.ts

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

@dphilipson @moldy530 @avasisht23 can you guys please review this PR? was out since last weekend. Thanks!
@dphilipson might want to work based on this branch.


Show only hostnames as labels when multiple hosts were selected

...while keeping setAlias() working. The variable system was hard to debug and I didn't have time to spend on studying Grafana in detail.
This is my final solution for my problems described in #205. I'm opening this just as a suggestion/proof of desireability, please feel free to close this PR if you disagree with this way of doing things or see usablity problems (I do, e.g. when using different kinds of metrics in the same graph).

@2ion ok, thanks!


[19.03 backport] Remove TestSearchCmdOptions test

backport of https://github.com/moby/moby/pull/39257 for 18.09
built on top of https://github.com/docker/engine/pull/226 to get a clean cherry-pick

ping @kolyshkin @cpuguy83 PTAL - I decided to backport this one, pending the discussion on https://github.com/moby/moby/pull/39258


Update url

Coverage remained the same at 83.582% when pulling de1037a588106e72a028581c6c5f0d0a8d584a18 on sunpoet:master into 47bf4f524c1239c651bf3ceb8ce10be42c83be3b on i3thuan5:master.

Thanks~


Fixes autosupportImage being prepend with image registry url

Should fix https://github.com/NetApp/trident/issues/459

Hi @vnandha,
Thank you for your PR submission. The team decided to solve this issue in a different way as can be found in commit c7570c2.