[DEMO] Support updating environment variables instead of overwriting env-vars

Currently it's challenging add  "extra" env-vars to individual components because it overwrites their own env-vars, meaning you have to copy the existing env-var lists and put those in your own values.yaml. This is problematic because many of these env-vars are necessary for the component to even run, such as it's listen port, and it also means users doing this won't get new env-vars as the chart is updated upstream.
It was suggested in https://github.com/open-telemetry/opentelemetry-helm-charts/pull/423#discussion_r995157372 to that instead of defining env-vars in a list, we could use a map which would allow better merging behavior, instead of overwriting all env-vars, we can merge env-vars on the env-var name, making it possible to add new values or overwrite existing values per component without having to worry about copying the defaults.
This would then make it easy to override values like OTEL_EXPORTER_OTLP_ENDPOINT and OTEL_EXPORTER_OTLP_TRACES_ENDPOINT so that users can provide their own collector endpoint.

While implementation we realized in that thread https://github.com/open-telemetry/opentelemetry-helm-charts/pull/465#discussion_r1003388710 that the order of the map keys are not preserved in Helm. With that the resulting order of the env-var list can be deterministic (sorted alphanumerical) but different to the provided order.
In consequence you have problems with env variables having dependencies to other variables like the OTEL_RESOURCE_ATTRIBUTES in the defaultEnv list.
There seem to be no clean solution and we either need to find a hacky solution by treating dependent envs special or we accept that variables cannot be overridden.
In order to find a decision, I like to provide my motivation of having the envs overwritable. In our project we want to provide the collector infrastructure as part of the cluster setup. Now I want to leverage the demo app for tutorials and demos by having some few instructions in place to deploy the app using the provided collector and backend.
For that instructions I want to provide a pre-configured values.yaml to disable the collector and the jaeger backend in the chart and configure the components to use the provided collector. The result looks like that:

Expand me
  observability:
    otelcol:
      enabled: false
    jaeger:
      enabled: false

  components:
    redis:
      enabled: true

    adService:
      enabled: true
      env:
        - name: OTEL_EXPORTER_OTLP_ENDPOINT
          value: 'http://my-collector.my-system:4317'
        - name: AD_SERVICE_PORT
          value: "8080"

    cartService:
      enabled: true
      env:
        - name: ASPNETCORE_URLS
          value: http://*:8080
        - name: REDIS_ADDR
          value: '{{ include "otel-demo.name" . }}-redis:6379'
        - name: OTEL_EXPORTER_OTLP_ENDPOINT
          value: 'http://my-collector.my-system:4317'
        - name: CART_SERVICE_PORT
          value: "8080"

    checkoutService:
      enabled: true
      env:
        - name: CART_SERVICE_ADDR
          value: '{{ include "otel-demo.name" . }}-cartservice:8080'
        - name: CURRENCY_SERVICE_ADDR
          value: '{{ include "otel-demo.name" . }}-currencyservice:8080'
        - name: PAYMENT_SERVICE_ADDR
          value: '{{ include "otel-demo.name" . }}-paymentservice:8080'
        - name: PRODUCT_CATALOG_SERVICE_ADDR
          value: '{{ include "otel-demo.name" . }}-productcatalogservice:8080'
        - name: SHIPPING_SERVICE_ADDR
          value: '{{ include "otel-demo.name" . }}-shippingservice:8080'
        - name: EMAIL_SERVICE_ADDR
          value: 'http://{{ include "otel-demo.name" . }}-emailservice:8080'
        - name: OTEL_EXPORTER_OTLP_ENDPOINT
          value: 'http://my-collector.my-system:4317'
        - name: CHECKOUT_SERVICE_PORT
          value: "8080"

    currencyService:
      enabled: true
      env:
        - name: PORT
          value: "8080"
        - name: OTEL_EXPORTER_OTLP_ENDPOINT
          value: 'http://my-collector.my-system:4317'
        - name: CURRENCY_SERVICE_PORT
          value: "8080"

    emailService:
      enabled: true
      env:
        - name: APP_ENV
          value: production
        - name: PORT
          value: "8080"
        - name: OTEL_EXPORTER_OTLP_ENDPOINT
          value: 'http://my-collector.my-system:4317'
        - name: OTEL_EXPORTER_OTLP_TRACES_ENDPOINT
          value: 'http://my-collector.my-system:4318/v1/traces'
        - name: EMAIL_SERVICE_PORT
          value: "8080"

    featureflagService:
      enabled: true
      env:
        - name: FEATURE_FLAG_GRPC_SERVICE_PORT
          value: "50053"
        - name: FEATURE_FLAG_SERVICE_PORT
          value: "8081"
        - name: OTEL_EXPORTER_OTLP_TRACES_PROTOCOL
          value: grpc
        - name: DATABASE_URL
          value: 'ecto://ffs:ffs@{{ include "otel-demo.name" . }}-ffspostgres:5432/ffs'
        - name: OTEL_EXPORTER_OTLP_ENDPOINT
          value: 'http://my-collector.my-system:4317'

    ffsPostgres:
      enabled: true
      env:
        - name: POSTGRES_DB
          value: ffs
        - name: POSTGRES_PASSWORD
          value: ffs
        - name: POSTGRES_USER
          value: ffs
        - name: OTEL_EXPORTER_OTLP_ENDPOINT
          value: 'http://my-collector.my-system:4317'

    frontend:
      enabled: true
      env:
        - name: FRONTEND_ADDR
          value: :8080
        - name: AD_SERVICE_ADDR
          value: '{{ include "otel-demo.name" . }}-adservice:8080'
        - name: CART_SERVICE_ADDR
          value: '{{ include "otel-demo.name" . }}-cartservice:8080'
        - name: CHECKOUT_SERVICE_ADDR
          value: '{{ include "otel-demo.name" . }}-checkoutservice:8080'
        - name: CURRENCY_SERVICE_ADDR
          value: '{{ include "otel-demo.name" . }}-currencyservice:8080'
        - name: PRODUCT_CATALOG_SERVICE_ADDR
          value: '{{ include "otel-demo.name" . }}-productcatalogservice:8080'
        - name: RECOMMENDATION_SERVICE_ADDR
          value: '{{ include "otel-demo.name" . }}-recommendationservice:8080'
        - name: SHIPPING_SERVICE_ADDR
          value: '{{ include "otel-demo.name" . }}-shippingservice:8080'
        - name: OTEL_EXPORTER_OTLP_ENDPOINT
          value: 'http://my-collector.my-system:4317'
        - name: FRONTEND_PORT
          value: "8080"

    loadgenerator:
      enabled: true
      env:
        - name: FRONTEND_ADDR
          value: '{{ include "otel-demo.name" . }}-frontend:8080'
        - name: LOCUST_WEB_PORT
          value: "8089"
        - name: LOCUST_USERS
          value: "10"
        - name: LOCUST_HOST
          value: "http://$(FRONTEND_ADDR)"
        - name: LOCUST_HEADLESS
          value: "false"
        - name: LOCUST_AUTOSTART
          value: "true"
        - name: PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION
          value: python
        - name: OTEL_EXPORTER_OTLP_ENDPOINT
          value: 'http://my-collector.my-system:4317'
        - name: LOADGENERATOR_PORT
          value: "8089"

    paymentService:
      enabled: true
      env:
        - name: OTEL_EXPORTER_OTLP_ENDPOINT
          value: 'http://my-collector.my-system:4317'
        - name: PAYMENT_SERVICE_PORT
          value: "8080"

    productCatalogService:
      enabled: true
      env:
        - name: OTEL_EXPORTER_OTLP_ENDPOINT
          value: 'http://my-collector.my-system:4317'
        - name: PRODUCT_CATALOG_SERVICE_PORT
          value: "8080"
        - name: FEATURE_FLAG_GRPC_SERVICE_ADDR
          value: '{{ include "otel-demo.name" . }}-featureflagservice:50053'

    recommendationService:
      enabled: true
      env:
        - name: OTEL_PYTHON_LOG_CORRELATION
          value: "true"
        - name: PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION
          value: python
        - name: OTEL_EXPORTER_OTLP_ENDPOINT
          value: 'http://my-collector.my-system:4317'
        - name: FEATURE_FLAG_GRPC_SERVICE_ADDR
          value: '{{ include "otel-demo.name" . }}-featureflagservice:50053'
        - name: RECOMMENDATION_SERVICE_PORT
          value: "8080"
        - name: PRODUCT_CATALOG_SERVICE_ADDR
          value: '{{ include "otel-demo.name" . }}-productcatalogservice:8080'

    shippingService:
      enabled: true
      env:
        - name: PORT
          value: "8080"
        - name: OTEL_EXPORTER_OTLP_ENDPOINT
          value: 'http://my-collector.my-system:4317'
        - name: OTEL_EXPORTER_OTLP_TRACES_ENDPOINT
          value: 'http://my-collector.my-system:4317'
        - name: SHIPPING_SERVICE_PORT
          value: "8080"
        - name: QUOTE_SERVICE_ADDR
          value: 'http://{{ include "otel-demo.name" . }}-quoteservice:8080'

    quoteService:
      enabled: true
      env:
        - name: OTEL_TRACES_SAMPLER
          value: "parentbased_always_on"
        - name: OTEL_TRACES_EXPORTER
          value: "otlp"
        - name: OTEL_EXPORTER_OTLP_TRACES_PROTOCOL
          value: "grpc"
        - name: OTEL_PHP_TRACES_PROCESSOR
          value: "simple"
        - name: OTEL_EXPORTER_OTLP_ENDPOINT
          value: 'my-collector.my-system:4317'
        - name: QUOTE_SERVICE_PORT
          value: "8080"

The values.yaml should be as minimal as possible as I need to maintain it, so it should contain only mandatory customizations. The problem now is that I need to maintain ca 200 lines of yaml which are mainly copy/pasted and I need to verify them on every update of the chart vrsion.

Since most of the duplication is coming from components maybe we can get away with only component env var supporting map instead of list?  It will still have the problem of not allowing env vars to depend on each other, but at least we don't have any use cases for that right now like default env var does.

/cc @dmitryax @Allex1

That solution should work out but introduces an inconsistency in how to define the two different layers of env variables. I'm fine with that as I also don't see a better solution. Please let me know when/if this can be seen as agreed so that I can start adjusting my PR.

@dmitryax @Allex1 curious to hear your thoughts.

@TylerHelmuth sorry for the delay . TBH even though it seems cumbersome(and I get it's not ideal to maintain a 200 line yaml values file), I actually prefer providing the env vars as an array instead of a dict as that is the way they end up on the pod themselves and the way Kubernetes docs refer to env vars in general.
To me it seems that the complexity comes from the way the multiple components of the stack have been written in the first place.
Maybe we could rewrite some of the services to use cli arguments instead of env vars, or provide each with a configMap where we can set these values.

@Allex1 @TylerHelmuth My understanding is that it is recommended to configure the otel-sdk from outside via env variables to have a consistent approach across the used languages, see https://opentelemetry.io/docs/reference/specification/sdk-environment-variables. So switching to args sounds not like a recommended approach and with that is bad for a demo app. It is more a flaw of the used package manager which does not support a proper way of overriding arrays.
Unfortunately I don't see any use case where you want to replace all env variables of a component, you always want to change a particular settings or add new ones. And that will not work with Helm.
However, maybe we should go back to the initial discussion of https://github.com/open-telemetry/opentelemetry-helm-charts/pull/423 and think about introducing a dedicated setting just for the collector. So having a template definition which knows the default value for the collector domain and allows to override it via a dedicated setting, but do it only for the basic domain of the collector, not protocol specific. That template is then used in the envs to build the collector URL.
Something like:
observability:
  otelcol:
    enabled: false
    baseDomain: "" # allow to override the definition of newTemplate

components:
  adService:
    env:
      - name: OTEL_EXPORTER_OTLP_ENDPOINT
        value: 'http://{{ include "otel-demo.newTemplate" . }}:4317'

The downside is, that it will not configure the actual baseDomain/service for the collector if the collector is actually enabled. The service of the collector is using the .fullname template and with that cannot really be influenced from the main chart via a dedicated setting. So probably it will be better to not have it as part of the otelcol section but on root level as already suggested in the linked PR.

I need to review each component, but could OTEL_EXPORTER_OTLP_ENDPOINT be made a default env var? That way to override it you'd only need to modify the default env var list instead of each component's.

That will improve the situation for sure. Only the redis component is not using the env variable, so applying it by default to all will not harm.
However, there are some few component (I think 2 at the moment) which additionally specify the trace endpoint (OTEL_EXPORTER_OTLP_TRACES_ENDPOINT). I can imagine that there will be more added in future for example for metrics to showcase how to configure them individual and using the different protocols. They should use by default all the same base domain and again you would need to start to override the envs per component.

but could OTEL_EXPORTER_OTLP_ENDPOINT be made a default env var

Not entirely, not every component uses the same protocol (gRPC vs HTTP), and the ports for these vary, so the same variable needs potentially different values. My PR mentions this.

@dmitryax I'm not quite following. Are you saying we allow setting a values like --set components.adService.env/OTEL_EXPORTER_OTLP_ENDPOINT=some-value and then the helm chart knows to apply that to the adservice's env list?

Correct, but you still need value or valueFrom. e.g.:
components:
  adService:
    env/OTEL_EXPORTER_OTLP_ENDPOINT:
      value: 'http://{{ include "otel-demo.name" . }}-otelcol:4317'
    env/OTEL_K8S_POD_NAME:
      valueFrom:
        fieldRef:
          apiVersion: v1
          fieldPath: metadata.name

We should also fail if user provides an override for not existing env var.

Actually instead of failing we can append new env var to the list

If that idea seems too hacky, another option is to have a map with keys that are used only for preserving the order and not being used in the templating at all. This is one is explicit and easy to understand:
default:
  env:
    1_OTEL_SERVICE_NAME:
      name: OTEL_SERVICE_NAME
      valueFrom:
        fieldRef:
          apiVersion: v1
          fieldPath: "metadata.labels['app.kubernetes.io/component']"
    2_OTEL_K8S_NAMESPACE:
      name: OTEL_K8S_NAMESPACE
      valueFrom:
        fieldRef:
          apiVersion: v1
          fieldPath: metadata.namespace
    3_OTEL_K8S_NODE_NAME:
      name: OTEL_K8S_NODE_NAME
      valueFrom:
        fieldRef:
          apiVersion: v1
          fieldPath: spec.nodeName
    4_OTEL_K8S_POD_NAME:
      name: OTEL_K8S_POD_NAME
      valueFrom:
        fieldRef:
          apiVersion: v1
          fieldPath: metadata.name
    5_OTEL_RESOURCE_ATTRIBUTES:
      name: OTEL_RESOURCE_ATTRIBUTES
      value: service.name=$(OTEL_SERVICE_NAME),k8s.namespace.name=$(OTEL_K8S_NAMESPACE),k8s.node.name=$(OTEL_K8S_NODE_NAME),k8s.pod.name=$(OTEL_K8S_POD_NAME)

@dmitryax if we allow something like .Values.components.adService.env/OTEL_EXPORTER_OTLP_ENDPOINT then I would opt instead for the solution @chancez proposes in https://github.com/open-telemetry/opentelemetry-helm-charts/pull/423.  Both require an extra field specifically for setting the collector endpoint.
I think the numeric ordering of default env var keys would also work (although its hacky as well).

The .Values.components.adService.env/OTEL_EXPORTER_OTLP_ENDPOINT approach does not introduce any extra fields in the default values.yaml, it'll stay exactly the same as it is right now. We will just support overriding the env items with these artificial fields if users supply them in their custom values.yamls.

If we are confident that OTEL_EXPORTER_OTLP_ENDPOINT and OTEL_EXPORTER_OTLP_TRACES_ENDPOINT are the only env vars that user would need to override, then I'm good with applying https://github.com/open-telemetry/opentelemetry-helm-charts/pull/423

Also instead of those compound env/... keys we can have env_override group which is empty by default. Custom user config would be something like this if they want to change OTEL_EXPORTER_OTLP_ENDPOINT and OTEL_K8S_POD_NAME:
components:
  adService:
    env_override:
      OTEL_EXPORTER_OTLP_ENDPOINT:
        value: 'http://{{ include "otel-demo.name" . }}-otelcol:4317'
      OTEL_K8S_POD_NAME:
        valueFrom:
          fieldRef:
            apiVersion: v1
            fieldPath: metadata.name

@dmitryax Ok I see what you mean about supporting overriding values.  If we do a generic solution (which I like bc with the way the demo changes I doubt the collector would be the only value to change in the future), how are you thinking we adjust the service's env list?  A helper that loops through the list and replaces matching name fields?

A helper that loops through the list and replaces matching name fields?

Yes, and appends an env var in case of mismatch.
We can also support null for removals

@chancez @a-thaler is this idea something either of you have time to work on?

Sounds like a good idea and I like to work on that this week. To be aligned here, I imagine such final values.yaml.
default:
  # list of environment variables applied to all components
  env:
    - name: OTEL_SERVICE_NAME
      valueFrom:
        fieldRef:
          apiVersion: v1
          fieldPath: "metadata.labels['app.kubernetes.io/component']"
   - ...
   # list of environment variables which get applied to all components additional to the list provided with the "env" section.
   # Use this section to override or add environment variables selectively
   envOverrides: []
   # - name: OTEL_SERVICE_NAME
   #   value: "myValue"

components:
  adService:
    # list of environment variables applied to the adservice component, additional to the default.envs
    env:
       - name: OTEL_EXPORTER_OTLP_ENDPOINT:
          value: 'http://{{ include "otel-demo.name" . }}-otelcol:4317'

    # list of environment variables which get applied to the adservice component additional to the list provided with the "env" section.
    # Use this section to override or add environment variables selectively
    envOverride: []
    # - name: OTEL_EXPORTER_OTLP_ENDPOINT:
    #    value: 'http://myCustomDomain:4317'

I can try to support overriding a default.env in a components envOverride as well, as outlined in the example of @dmitryax, so overridding the OTEL_SERVICE_NAME in the component, let's see

@TylerHelmuth I don't have time atm, but someone else can pick it up

@a-thaler sounds good. Thanks! I was thinking of envOverrides to be a map, but list probably is a better option, just in case user wants additional env vars to preserve their order

Also to add: I think the approach suggested by @a-thaler would for for me and, using a list for the override makes sense to me.

Created PR https://github.com/open-telemetry/opentelemetry-helm-charts/pull/484 which implements the discussed proposal. As outlined in the PR description I skipped support for overriding default envs in the component specific envOverride section as I found no clean solution. Please have a look and also check if you have a better idea on how to implement the actual merge logic while preserving the order.


feat: Implement federated logout with custom session termination flow

Description:
Implemented federated logout functionality, allowing users to sign out both locally and from the external identity provider (IDP). The custom logout flow handles session termination and redirects to the federated logout endpoint when available.
Issues:
UI changes
No UI changes involved.
Checklist:

[x] the pull request name complies with Conventional Commits
[ ] the pull request name starts with fix(<scope>):, feat(<scope>):, feature(<scope>):, chore(<scope>):, hotfix(<scope>): or e2e(<scope>):. If contains breaking changes then the pull request name must start with fix(<scope>)!:, feat(<scope>)!:, feature(<scope>)!:, chore(<scope>)!:, hotfix(<scope>)!: or e2e(<scope>)!: where <scope> is name of affected project: chat, chat-e2e, overlay, shared, sandbox-overlay, etc.
[ ] the pull request name ends with (Issue #12345) (comma-separated list of issues)
[x] I confirm that I do not share any confidential information like API keys or any other secrets and private URLs

/deploy-review

/deploy-review

/deploy-review


Chapter 2 explodes

In the first line of code:
import pymc as pm

I got this error message:
---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-3-290dd01c5432> in <module>()
----> 1 import pymc as pm

/usr/local/lib/python3.4/dist-packages/pymc/__init__.py in <module>()
     42 from . import utils
     43 append = utils.append
---> 44 from . import CommonDeterministics
     45 from . import NumpyDeterministics
     46 from .CircularStochastic import *

ImportError: cannot import name 'CommonDeterministics'

¿?

Can you provide what version of pymc you are using?

pymc (2.3.4)
As reported by sudo pip list


RegExMatch_StartingPos.ah2

RegExMatch_StartingPos.ah2

V1:
Func1() {
	local Match
	StartingPos := 0
	RegExMatch("", "", Match, StartingPos)
	RegExMatch("", "", Match, 0)
	RegExMatch("", "", Match, 1-1)
}
Func1()

Func2() {
	local NotMatch, Match0, Match1, Match2, MatchAbc, NotMatch
}

V2 (Converted):
Func1() {
	local Match
	StartingPos := 0
	RegExMatch("", "", &Match, (StartingPos)<1 ? (StartingPos)-1 : (StartingPos))
	RegExMatch("", "", &Match, -1)
	RegExMatch("", "", &Match, (1-1)<1 ? (1-1)-1 : (1-1))
}
Func1()

Func2() {
	local NotMatch, Match0, Match1, Match2, MatchAbc, NotMatch
}

V2 (Expected):
Func1() {
	local Match
	StartingPos := 0
	RegExMatch("", "", &Match, (StartingPos)<1 ? (StartingPos)-1 : (StartingPos))
	RegExMatch("", "", &Match, -1)
	RegExMatch("", "", &Match, (1-1)<1 ? (1-1)-1 : (1-1))
}
Func1()

Func2() {
	local NotMatch, Match, MatchAbc, NotMatch
}

The converted code above is with function masking implemented, and looks correct to me. However, the expected result is what happens when function masking is NOT implemented, and looks wrong to me. The current code shows it as correct, but I disagree. Once the masking was implemented, the test shows broken, but I think the converted shown above is correct (Func2 local vars are not changed).
Am I correct or wrong?

So if I'm correct the converter is deleting variables? Doesn't seem very intended.
I'll look into it when I get home

So if I'm correct the converter is deleting variables? Doesn't seem very intended.

Looks like it?


5.3.0 not yet published on npm

Hi, could you publish the latest version on npm too? Thx in advance.

Yes please :)

Thx @AveVlad


Receiving ValueError When Trying to Build GPTChromaIndex

After the 'ServiceContext' update (and subsequent removal of 'embed_model=' as an argument to GPTChromaIndex), I have been consistently getting errors when I try to use GPTChromaIndex to build an index. I am 100% sure that the issue is coming from ServiceContext since I didn't have this issue until I updated the package today. The error I am getting is as follows, and it happens when I try to run the "except FileNotFoundError" -> "self.index = ..." code:
ValueError: Cannot use llm_token_counter on an instance without a service context
Below is the part of the code that I am having issues with. I did a bit of copy and pasting to remove code not applicable to this issue that was in between.
def initialize_database(self):  # initializing chromadb database
    self.collection_name = "quickstart"  # chroma collection
    self.corpus_location = './corpus/archive/train_data_transformer_preproc.txt'

    if self.embed_model_name == "SentenceTransformer":  # huggingface transformer (runs locally)
        self.chromadb_folder = f'{self.index_dir}/huggingface/chromadb'  # creating path to chromadb files
        self.model_dir = f'{self.index_dir}/huggingface'  # creating path to save index
        self.index_json = f'{self.index_dir}/huggingface/index_small.json'  # file path where index is saved
        self.hugface_embed_model = "all-MiniLM-L6-v2"  # defining embedding model to use
        self.chromadb_embed_model = embedding_functions.SentenceTransformerEmbeddingFunction(
            model_name=self.hugface_embed_model)
        self.gptindex_embed_model = LangchainEmbedding(HuggingFaceEmbeddings(model_name=self.hugface_embed_model))
        self.llm_predictor = LLMPredictor(llm=HuggingFacePipeline.from_model_id(model_id='gpt2',
                                                                                task='text-generation'))
        self.service_context = ServiceContext.from_defaults(embed_model=self.gptindex_embed_model,
                                                            llm_predictor=self.llm_predictor)
    #  .. code setting/loading chroma collection ..
    # Loading index if it exists, and creating it if it doesn't
    try:
        self.index = GPTChromaIndex.load_from_disk(self.index_json,
                                                   chroma_collection=self.collection,
                                                   embed_model=self.gptindex_embed_model)
    except FileNotFoundError:
        print('no index.json found, building new one from scratch')

        self.index = GPTChromaIndex([],  # defining empty index list
                                    chroma_collection=self.collection,  # setting chroma collection to use w/ index
                                    # embed_model=self.gptindex_embed_model)  # setting embedding model for index
                                    service_context=self.service_context)
        knowledge_management.read_data_from_directory(self.corpus_location,
                                                      self.index)
        self.index.save_to_disk(f'{self.model_dir}/index_small.json')  # saving index to appropriate folder

Could you try checking if self.service_context is initialized properly (e.g. print its value) before passing it in?

Same issue:
requirements.txt  (latest llama_index)
llama_index==0.5.15
gpt_index==0.5.15

app.py  (just load index from disk and make a query with turned on logging to debug openAI requests)
import os

os.environ['OPENAI_API_KEY'] = "sk-123..."

from llama_index import GPTSimpleVectorIndex
import logging
import sys

logging.basicConfig(stream=sys.stdout, level=logging.DEBUG)
logging.getLogger().addHandler(logging.StreamHandler(stream=sys.stdout))

index = GPTSimpleVectorIndex.load_from_disk('articles.index')

from gpt_index.logger import LlamaLogger
from gpt_index import ServiceContext

llama_logger = LlamaLogger()
service_context = ServiceContext.from_defaults(llama_logger=llama_logger)

response = index.query(
    "Some question about topics in articles",
    service_context=service_context,
    similarity_top_k=2,
    # response_mode="tree_summarize"
)
print(response)

on index.query() it got:
ValueError: Cannot use llm_token_counter on an instance without a service context.

and before index.query() there is such initialized ServiceContext:
ServiceContext(
  llm_predictor=<gpt_index.llm_predictor.base.LLMPredictor object at 0x7f6450394310>,
  prompt_helper=<gpt_index.indices.prompt_helper.PromptHelper object at 0x7f640d5a7280>,
  embed_model=<gpt_index.embeddings.openai.OpenAIEmbedding object at 0x7f6450395210>,
  node_parser=<gpt_index.node_parser.simple.SimpleNodeParser object at 0x7f640d5a7430>,
  llama_logger=<gpt_index.logger.base.LlamaLogger object at 0x7f6450395630>,
  chunk_size_limit=None
)

I'm not good at python yet, but may be the problem is that QueryRunner expects _service_context with prefix underscore, m?
        query_runner = QueryRunner(
            index_struct=self._index_struct,
            service_context=self._service_context,

Just found that QueryRunner uses ServiceContext from llama_index.indices.service_context
So, changing:
#from gpt_index import ServiceContext
from llama_index.indices.service_context import ServiceContext

fixed my issue
@michelle-wheatley may be your issue will also disappear after this import change?

@michelle-wheatley rather than trying to pass in the service context, just set a global one :)
from llama_index import set_global_service_context

set_global_service_context(service_context)


Snap 851

Changes proposed in this pull request
use default schema name "APP" when no schema  is specified.
default connection schema is used for the session when non qualified table name is used.
Patch testing
precheckin
Other PRs
yes
https://github.com/SnappyDataInc/snappy-aqp/pull/62
https://github.com/SnappyDataInc/snappydata/pull/278

@ymahajan

@kneeraj @dshirish also please review w.r.t to our new catalog policy.

@kneeraj  , @dshirish  please review

Looks ok.


Fix app design in iOS

What is this project?
DAV (Decentralized Autonomous Vehicles) is a new foundation working to build an open-source infrastructure for autonomous vehicles (cars, drones, trucks, robots, and all the service providers around them) to communicate and transact with each other over blockchain.
The specific project you are looking at is Missions. Missions is the client facing side of the marketplace connecting DAV users looking to ship packages, with autonomous vehicles such as drones.
How you can help
The app should look good on mobile devices and tablets. The current version of the app works great on Chrome. You can load it in Chrome and turn on mobile emulation, and it will look like this:

Fix the HTML and CSS so that it looks good on iOS as well.
P.S. I just checked it on the latest Safari and it looks good. But when I tested it on iOS (iPhone and iPad) it had some issues (e.g., the order pickup button was stretched to full width)
Contributing to Missions

[ ] Make sure no one has commented below that they are starting to work on this already.
[ ] Comment in this issue that you would like to do it.
[ ] Fork the repository from the Missions GitHub page.
[ ] Clone a copy to your local machine with $ git clone git@github.com:YOUR-GITHUB-USER-NAME/missions.git
[ ] If you would like to see some simulated drones appear on the map, you will also need to set up the Mission Control project.
[ ] Code, code, code!
[ ] Once you've made sure all your changes work correctly and committed all your changes, push your local changes back to github with $ git push -u origin master
[ ] Visit your fork on GitHub.com (https://github.com/YOUR-USER-NAME/missions) and create a pull request for your changes.
[ ] Make sure your pull request describes exactly what you changed and references this issue (include the issue number in the title like this: #6)

How do you test this for iOS? I just want to be able to fork, clone, and then see the clone on my iPhone.

Hi @alexjamesmalcolm  perhaps these might offer insight:

https://stackoverflow.com/questions/3132105/how-do-you-access-a-website-running-on-localhost-from-iphone-browser
https://www.sitepoint.com/community/t/view-site-on-computer-from-iphone/43344/7
https://www.andreasnorman.com/how-to-browse-to-localhost-using-your-iphone/
https://apple.stackexchange.com/questions/91398/view-local-html-files-using-web-browser-on-ipad

Hope that helps - LMK if it doesn't.

Sorry @srfrnk , I'm coming from the background of using JavaScript for frontend and Java+Spring for the backend. I've cloned my fork am unable to even view it properly on my laptop. I've opened index.html in the src folder but there's just a blank div:

.

Hi @alexjamesmalcolm  - any estimation as to when you can get this issue fixed?

Hi @srfrnk and @alexjamesmalcolm, I could help out with this issue— just let me know.  Thanks! 😀

Thanks, @srfrnk! I'm going to pull down the latest. :thumbsup:

@sblasa Good luck!

Thanks @alexjamesmalcolm !

@srfrnk just an update I'm working on it still

Hi @srfrnk I've grabbed the latest repo, ran the DAV site locally, and the order pickup button looks fine in my iPhone 6SE and iPad Pro. I was using both Chrome and Safari in both devices. I also used the dev tools in Chrome and Safari, and they look fine in those as well.
Screenshots are shown from my iPhone /iPad connecting to my local machine.
Please let me know if I'm missing something in the UI, or I misunderstood the issue.
Thanks! :smile:
--Sussette
This one is using Safari in iPhone 6SE below:

This one is using Safari in iPad Pro below:

This one is using Chrome in iPhone 6SE below:

This one is using Chrome in iPad Pro below:

@liorshkoori Does this look ok?

Hi @sblasa, you are right, these were probably fixed on another Github issue. Thanks for the taking the time to update us.
cc @srfrnk

Hi, @liorshkoori, that's what I thought as well. :smile:  Thank you for confirming! 👍


SketchElementImpl::ReadidPositionDirection became new SketchElement

SketchElement/Minimizer objects are not used anymore. IndexGPU internally relies on SketchElementImpl::ReadidPositionDirection. Its output consists of the content of SketchElementImpl::ReadidPositionDirection split into three separate arrays.
Look into ways to:

Change the interface of Index so that SketchElementImpl::ReadidPositionDirection does not have to be split into three arrays
Refactor the code to reflect the current state of not using SketchElement objects

@mimaric is this task relevant anymore?

Point 1 is definitely still relevant, not really sure about point 2


Page isn't rendered correctly

Checklist

[x] I have read the tutorials and know the correct effect of the functional design.
[x] There are no similar question on existing issues (including closed ones).
[x] I searched the Internet for related problems, but still couldn't solve it.
[ ] My question is based on the latest code of master branch.

Description

OS: windows10 64
Version(branch): 3.3 stable
What I did:

Downloaded 3.3 stable branch and unzipped into my local directory
Created git repository https://github.com/lyra95/lyra95.github.io
Edited _config.yml as follows:
baseurl: '/lyra95.github.io'
title: Test
url: 'https://lyra95.github.io'
Everything else unchanged.
Changed .github\workflows\pages-deploy.yml.hook to .github\workflows\pages-deploy.yml.
My default branch is master, and the value of on.push.branches is master indeed.
Executed bundle exec jekyll s and confirmed everything works perfectly on local.
commited and pushed. Confirmed the branch gh-pages generated.
Set the source of my github pages to gh-page branch.

Confirmed https://lyra95.github.io/ is not rendered correctly on both Firefox and Edge.

Even dark/light theme toggle button doesn't work.

Could you please give some advice on this problem?

Why set baseurl?

Why set baseurl?
Because that's what the comment says in the _config.yml?
# Only if your site type is GitHub Project sites and doesn't have a custom domain,
# change below value to '/projectname'.
baseurl: '/lyra95.github.io'

I've rolled back baseurl to ''. Still the same problem

Oh, it takes time. Confirmed working successfully.

Do you really understand what GitHub Project sites is?
<EMAIL_ADDRESS>


Migrate to new NetworkChannel interface

Closes #83
Closes #88

Okay this should be finished now.
I am not sure why these tests fail. It seems my unit test cannot find the tcp_ip_channel.c file, but locally it compiles and runs on my computer.
The client and server seem to be non blocking now I added tests for this also.
The way the test works is a bit rough for now: If the tcp_ip_channel blocks even though not allowed, the test will probably never finish. I am not sure if the CI has timeouts for that.
But as long as everything finishes running at least we know it is non-blocking. :) 🤓

Okay I added some comments to explain some important code parts

About the test name:
I named it network channel test because except the setup function the test is implementation independent.
In theory once we have more channels we could run these tests all in one place and share the code.
We only need to call the correct constructors accordingly in setup
But it is okay to call it tcp for now. Maybe we can revisit once we have more channels

This looks great to me. A good first step towards stabilizing the NetworkChannel!


HDDS-4570. Reduce memory footprint of OMUpdateEventBatch for Recon

What changes were proposed in this pull request?

Reduce new object creation when Recon is consuming batches OM events (consumeOMEvents())
Improve OMUpdateEventBatch#filter to reduce memory usage.

What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-4570
How was this patch tested?
All existing UTs shall pass.

Here the problem is that we fetch too much DB update events to apply to recon db, right? How about doing the update event size limitation each time we get from OM? I see currently we just fetch all update events since from last sequence number.

Getting smaller batches is indeed another viable approach.
The current plan is to reduce the number of array copy when Recon is processing those events. At the moment the memory usage is very bloated (may use >2.0x memory).

@linyiqun A good point. Currently, we can control the number of events implicitly through the Recon-OM delta updates sync interval. We are also bound by the RPC buffer limit (~128MB). But, in the future we may add more downstream tasks in Recon to act on OM data, and we cannot scale the number of copies of the event data based on number of tasks :)

Marking this PR as ready for review.
Existing UTs should cover. No new UTs added.

Marking this PR as ready for review.
Existing UTs should cover. No new UTs added.

The changes look good.
is it possible to get some stats as to how much memory footprint is reduced for some sample run (pre/post these changes) ?

The changes look good.
is it possible to get some stats as to how much memory footprint is reduced for some sample run (pre/post these changes) ?

Ci failures are not related with the changes.

Ci failures are not related with the changes.

@smengcl can you check if the integration test failures are related to the patch?

@smengcl can you check if the integration test failures are related to the patch?

Thanks @prashantpogde and @arp7 for checking the CI. TestContainerStateMachine and TestKeyInputStream looks unrelated. I'm running them locally to add confidence to that.
I'm removing ReconOmTask#getTaskTables from the interface as @avijayanhwx suggested. Should just take another few hours to get a new CI run done.

Thanks @prashantpogde and @arp7 for checking the CI. TestContainerStateMachine and TestKeyInputStream looks unrelated. I'm running them locally to add confidence to that.
I'm removing ReconOmTask#getTaskTables from the interface as @avijayanhwx suggested. Should just take another few hours to get a new CI run done.

Here the problem is that we fetch too much DB update events to apply to recon db, right? How about doing the update event size limitation each time we get from OM? I see currently we just fetch all update events since from last sequence number.

btw just filed https://issues.apache.org/jira/browse/HDDS-4678 for this.

Here the problem is that we fetch too much DB update events to apply to recon db, right? How about doing the update event size limitation each time we get from OM? I see currently we just fetch all update events since from last sequence number.

btw just filed https://issues.apache.org/jira/browse/HDDS-4678 for this.

~@smengcl can you check if the integration test failures are related to the patch?~
Looks like @prashantpogde already checked that. @avijayanhwx does your review comment need to be addressed prior to merge? Wasn't sure since you also added a +1. 🙂

I am OK with the approach in this patch. Just had a minor suggestion for @smengcl :)

~@smengcl can you check if the integration test failures are related to the patch?~
Looks like @prashantpogde already checked that. @avijayanhwx does your review comment need to be addressed prior to merge? Wasn't sure since you also added a +1. 🙂

I am OK with the approach in this patch. Just had a minor suggestion for @smengcl :)

Thanks @prashantpogde and @avijayanhwx for reviewing. Got a green run on the latest commit. I will merge this shortly.

Thanks @prashantpogde and @avijayanhwx for reviewing. Got a green run on the latest commit. I will merge this shortly.


Update hashicorp/terraform

/kind enhancement
<EMAIL_ADDRESS>is not able to fetch the latest versions of the terraform providers:
$ terraform-0.12.29 init

Initializing the backend...

Initializing provider plugins...
- Checking for available provider plugins...

No provider "aws" plugins meet the constraint "3.43.0".

The version constraint is derived from the "version" argument within the
provider "aws" block in configuration. Child modules may also apply
provider version constraints. To view the provider versions requested by each
module in the current configuration, run "terraform providers".

To proceed, the version constraints for this provider must be relaxed by
either adjusting or removing the "version" argument in the provider blocks
throughout the configuration.

Warning: registry.terraform.io: This version of Terraform has an outdated GPG key and is unable to verify new provider releases. Please upgrade Terraform to at least 0.12.31 to receive new provider updates. For details see: https://discuss.hashicorp.com/t/hcsec-2021-12-codecov-security-event-and-hashicorp-gpg-key-exposure/23512

Error: no suitable version is available

For more details about the issue, see https://discuss.hashicorp.com/t/terraform-updates-for-hcsec-2021-12/23570.
This PR updates the terraform version to 0.12.31 that has the updated public keys and can fetch even the new versions of the terraform providers.
Required for https://github.com/gardener/gardener-extension-provider-aws/issues/319
Release note:

The terraform version for the alicloud, all, aws, azure, gcp, openstack, slim images is updated:
- hashicorp/terraform: 0.12.29 -> 0.12.31

Merging, as the TM bot is currently having troubles. We still have the release test


It is possible for an attacker to accept their commitment without supermajority due to the [race condition]

Auditor: Ottersec
Code: MCR Settlement Contract

It is possible for an attacker to accept their commitment without supermajority due to the race condition in submitBlockCommitmentForAttester. Consider a scenario where attacker has 100 stake and other users have 100 as well and current epoch is 10. Attacker calls submitBlockCommitmentForAttester and the block gets assigned epoch

Attacker then unstakes all of their stake for epoch 11. Once the current epoch switches to 11, the computeAllTotalStakeForEpoch(11) is now equal to 100, since attacker’s funds are unstaked. But attacker-submitted commitment still has value of 100 in commitmentStakes, which is supermajority for the current total stake, which means contract will accept the attacker’s commitment without them having supermajority vote in reality.

Instead of msg.sender domain, attesters[i] is passed to getCurrentEpoch in slash. This could lead to the refund amount miscalculation due to wrong epoch and subsequently loss of funds.

It’s possible for current epoch to go beyond yet uncommited block’s epoch assignments: Let’s assume there’s two commitments in queue: A(H=5, blockHeightEpochAssignments=10) and B(H=6, blockHeightEpochAssignments=10). The time based rollover in _acceptBlockCommitment here might roll over to the 11th epoch when accepting the first block, causing a Denial of Service for the contract since the epoch check here can never pass once this happens.

Malicious attester might be able to fully control accepted blockId with small stake. Let’s assume Commitment(H, C, BID) is expected to get the supermajority soon. Malicious attester can submit a commitment: Commitment(H, C, BID_CORRUTED). Since commitment is the same, all the former votes will technically also count towards the attacker’s submission. If attacker gets lucky and is stored on the first index of attesters array, their commitment with corrupted blockId will be accepted and used (code here).

nits/questions:
5. In stake, _addStake is called with getNextEpochByBlockTime but AttesterStaked event records getNextEpoch which could be different. Same for unstake.

Could use getMaxTolerableBlockHeight here to make code clearer

The submission confusingly lists several unrelated issues, although items 1-2 is a single scenario.

5. Malicious attester might be able to fully control accepted blockId with small stake. Let’s assume Commitment(H, C, BID) is expected to get the supermajority soon. Malicious attester can submit a commitment: Commitment(H, C, BID_CORRUTED). Since commitment is the same, all the former votes will technically also count towards the attacker’s submission. If attacker gets lucky and is stored on the first index of attesters array, their commitment with corrupted blockId will be accepted and used (code here).

I believe this is the same as #448.

Marking as decentralized because MCR does not need to be safe for centralized launch. See #499.


Error when archiving android project

Severity	Code	Description	Project	File	Line	Suppression State
Error		Mono.Linker.MarkException: Error processing method: 'System.Void Plugin.FirebaseAuth.UserWrapper/d__28::MoveNext()' in assembly: 'Plugin.FirebaseAuth.dll' ---> Mono.Cecil.ResolutionException: Failed to resolve Firebase.FirebaseApp Firebase.Auth.FirebaseUser::Zzc()
at Mono.Linker.Steps.MarkStep.HandleUnresolvedMethod(MethodReference reference)
at Mono.Linker.Steps.MarkStep.MarkMethod(MethodReference reference)
at Mono.Linker.Steps.MarkStep.MarkInstruction(Instruction instruction)
at Mono.Linker.Steps.MarkStep.MarkMethodBody(MethodBody body)
at Mono.Linker.Steps.MarkStep.ProcessMethod(MethodDefinition method)
at Mono.Linker.Steps.MarkStep.ProcessQueue()
--- End of inner exception stack trace ---
at Mono.Linker.Steps.MarkStep.ProcessQueue()
at Mono.Linker.Steps.MarkStep.ProcessPrimaryQueue()
at Mono.Linker.Steps.MarkStep.Process()
at Mono.Linker.Steps.MarkStep.Process(LinkContext context)
at MonoDroid.Tuner.MonoDroidMarkStep.Process(LinkContext context)
at Mono.Linker.Pipeline.ProcessStep(LinkContext context, IStep step)
at Mono.Linker.Pipeline.Process(LinkContext context)
at MonoDroid.Tuner.Linker.Process(LinkerOptions options, ILogger logger, LinkContext& context)
at Xamarin.Android.Tasks.LinkAssemblies.Execute(DirectoryAssemblyResolver res)
at Xamarin.Android.Tasks.LinkAssemblies.RunTask()
at Xamarin.Android.Tasks.AndroidTask.Execute()	FitterrProject.Android

Hi, @Egehanozsoy
I have the same error. something new?
Thanks

Hey @nnovalbos , go to your android options and then make sure linking is set to none. After that go to the top and enable Multi-Dexing that fixed it for me.

@Egehanozsoy thanks for answering
Do you think it is correct not to use the linker? I will use it temporarily but will try to find some other alternative.
If I find something, I'll let you know

@nnovalbos Thanks, appreciate it

Hi @Egehanozsoy @nnovalbos  Have you found a solution ? I am also having this issue

Hi @AswinPG ,
when i updated the VS for mac to version 8.10.2 build 17, the error disappeared ....

Hi @AswinPG ,
when i updated the VS for mac to version 8.10.2 build 17, the error disappeared ....

I am having this issue on VS 2019 on windows

https://github.com/f-miyu/Plugin.FirebaseAuth/pull/34 this fixed the issue for me


fix: 8879 - To handle Comma delimited float values

Google Sheet issue with comma delimited values

Fix for values with Comma

Fixes #8878
Type of change

Bug fix (non-breaking change which fixes an issue)

How Has This Been Tested?

Manually tested
Existing @Tests were checked to work fine

Checklist:

[X] My code follows the style guidelines of this project
[X] I have performed a self-review of my own code
[X] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[X] I have added tests that prove my fix is effective or that my feature works
[X] New and existing unit tests pass locally with my changes

This issue is resolved by another PR
https://github.com/appsmithorg/appsmith/pull/11207
So closing this PR without any merges


Unable to activate greenlight email notifications

I did a fresh greenlight installation today and email notifications are not working anymore, even if I set  bbb_allow_mail_notifications: true.
The .env file generated by ansible contains :
[...]
ALLOW_MAIL_NOTIFICATIONS=True
[...]

And it is ignored by greenlight that expects a lowercase true value (see here and here).

guess this is the same problem as #38 ?

guess this is the same problem as #38 ?

No, this is not. #39 was put in place as a fix for #38. This problem is related to #38.

I have put a quickfix in place, although we maybe need to think about a better way as proposed in #30.


[computer use] Left side of the screen should be expandable

The Computer Use (left) iframe takes 1/3 of the screen.  It would be nice to have the option to give the user the option to give it more real estate.
Proposed solution PR is incoming.  Idea is a button that lets the user toggle the prominent side.

I pulled your PR into my local today. Delightful! 🚀

@p-i- thrilled to hear someone's using it (besides me)!


Laravel Logging-Aes-Blob

Laravel Version: 5.6.28
PHP Version: 7.1.10
Database Driver & Version:  mysql version: 10.1.28-MariaDB

Description:
We have a problem with the log-in of laravel.
Currently we have the credentials in database stored in Blob type (username and password) and aes encrypted.
For some reason, when you login with some users, laravel indicates that the credentials don´t match.
We believe that the error comes from converting the blob type to utf-8 because changing that username to another one works correctly.
ex: 'RAHERGARCONSULTINGSL' => don´t work.
ex: 'RAKBELS' => it´s works (an another also works fine).
We suppose that when decrypting this user we encrypted it with the function "openssl_encrypt($string, 'aes-128-ecb', $key, OPENSSL_RAW_DATA);" returns a different result than it should.
We have tried to change the length, bigger or smaller, without generating the error.
Steps To Reproduce:
Login and password with Blob type, in the database.
I´ve created one method to hash the password in the user model:
public function getAuthPassword()
{
return \Hash::make($this->pass);
}
Without this function, the logging function doesn´t work properly.
In our LoginController, we have add this functions:
public function username() {
return 'login';
}
protected function credentials(Request $request) {
$credentials = $request->only($this->username(), 'password');
$credentials['login'] = mysql_AES_ENCRYPT($credentials['login'], env('DB_AES_PASSWORD', 'doc3w_apli'));
    return $credentials;

}
In the credentials function, only encrypt the username because our ddbb´s login is encrypted with aes. (password really too, but we don´t know how it returns both)
This is ours aes encrypt and decript functions:
function mysql_AES_ENCRYPT($cadena, $key) {
return openssl_encrypt($cadena, 'aes-128-ecb', $key, OPENSSL_RAW_DATA);
}
function mysql_AES_DECRYPT($cadena_cifrada, $key) {
return openssl_decrypt($cadena_cifrada, 'aes-128-ecb', $key, OPENSSL_RAW_DATA);
}

Encrypting the password, instead of hashing them, goes against normal security practices.
It sounds like you should build your own UserProvider implementation, with a custom validateCredentials method. So far I don't see how your issue is a problem with the framework.
https://github.com/laravel/framework/blob/ab62f037fe7d2b611722801f73f2541a1c7553ec/src/Illuminate/Auth/EloquentUserProvider.php#L138-L143

We actually have our password encrypted and we use hash too.
We think the problem is something about special chars because when we change the login, it works.
NEW INFO:
I have encrypted the string that generates the error and compared it to that same string with small modifications:
ORIGINAL STRING ( DOESN'T WORKS )
b"`ÌO\x07F@À¬G╝ej£\x1F%╝\x1Dö"½Æ:b¶P¼ì│\x1E╚X³"
ORIGINAL STRING WITH ONE MORE CHAR ( WORKS )
b"`ÌO\x07F@À¬G╝ej£\x1F%╝+*'ØM®¬&\x00§¥ bÌë¹"
ORIGINAL STRING REMOVING ONE CHAR ( WORKS )
b"`ÞO\x07F@·ªG¼ejœ\x1F%¼ã1\x1A¢áqšŸ%Nª\efØ°÷"

You have not yet shown how this is a bug or problem in the framework. It appears to be an issue in your application code.
I have no idea why your random attempts at manually editing the ciphertext is relevant or changes anything.
It's unclear what the problem is, why you're using the framework's bug reporting tool to tell us about it, and what you expect to get out of it.


RAS-638 Investigate how "Ready for live" button works, when replacing sample file (track time)

What and why?
Review changes for the collection exercise part of the card
https://github.com/ONSdigital/rm-collection-exercise-service/pull/319
How to test?
Jira
RAS-638

/deploy scorfs


Bug - Settings page won't load

Hi, in the latest master2 branch the settings page no longer loads.  When trying to navigate to that page I get a 500 Internal Server Error.  Same thing happens in both latest Safari and Chrome on Mac.  Tried on two different computers.
Here are the logs I  was able to pull.  All the errors points at the info module object being unable to find an attribute for "get_users".
http://pastebin.com/HTLCx3xn

What psutil version and os? I haven't changed anything.

Disregard this - after a few restarts and re-logins of htpc it's now working fine on both computers. Not sure what the issue was but seems to have fixed itself.

Good :)


OAuth samples for Xamarin platforms

Stand-alone projects under the Samples/Security folder. Forms uses custom page renderers to provide platform-specific logic.
Assigned to @macca400, but feel free to pass it off (to Antti, etc.) if you don't have time.

@ThadT Apologies this has taken a while to review...
Samples look good! Add ReadMes for the three platforms then feel free to merge.

Thanks @macca400, good suggestions. I polished it up and merged.


cannot run npm install without errors

Receiving errors for attempts to run npm install no modification of code or attempts to do anything with the project when this happens. Started as git clone on windows.
using node 8.10.0
c:\Code\pdfkit>npm install
npm WARN prepublish-on-install As of npm@5, `prepublish` scripts are deprecated.
npm WARN prepublish-on-install Use `prepare` for build steps and `prepublishOnly` for upload-only.
npm WARN prepublish-on-install See the deprecation note in `npm help scripts` for more information.

><EMAIL_ADDRESS>prepublish c:\Code\pdfkit
> make js

'make' is not recognized as an internal or external command,
operable program or batch file.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>prepublish: `make js`
npm ERR! Exit status 1
npm ERR!

There are more warnings and errors but this is the showstopper.

This will be resolved once the ES6 PR is merged in (#859), since it replaces the Makefile with npm scripts.

Is this project even maintained anymore?

@ggaabe It would seem so; lots of commits lately.

This issue could be closed; npm install on tip of master works now.


theme watch --notify not notifying

I'm trying to get theme watch to notify my browsersync instance, however whenever a file is changed and uploaded it doesn't notify the file I specify (theme watch --notify=/tmp/theme.update). The file doesn't even get created. I've tried giving it a different file and directory, but it still does nothing.
Watch works perfectly, uploads the file just as it should, but notify does nothing. Am I doing it wrong or am I misinterpreting what notify does? I can't find anything on notify other than the docs.

hey @derekmorash it seems in a previous refactor, the notify file functionality was broken. I will look into it.

I had the same issue. To be honest, I don't think the flag makes that much sense. Will pick up discussion on other issues.

@cameronroe This issue was solved. If you want to use it please use the command theme watch --notify=mynotify.tmp This file will be touched when watch become idle.

I might add all of this is in the documentation http://shopify.github.io/themekit/commands/#watch That is what it is there for.

It's been working great for my team and I, we use it everyday to notify gulp/browsersync. Currently writing a blog post about our process and how we use it. Priceless feature!

@derekmorash awesome! I would love it if you sent me a link when you are finished!

sorry this is still broken for me. i realized some time has gone by but...is it working for everybody else?


COVID RUN CodeChef

The pull request contains the solution to October Challenge CovidRun in C++ language

The solution seems blank...Were you planning on adding only the problem?
If no, then please add the solution. Separate PRs for solution and problem will not be encouraged.

The solution seems blank...Were you planning on adding only the problem?
If no, then please add the solution. Separate PRs for solution and problem will not be encouraged.
if you only wanted to add the problem, then reply to this with 👍 and I will merge

Added the solution and logic, guess i forgot mb


R2DBC artifacts should include license and notice files

R2DBC artifacts should include NOTICE and LICENSE files in their binary and source archives to comply with Apache license requirements. Currently, none of these files are included (same for driver implementations).
Screenshot of the SPI JAR structure:

@mp911de Can you please put in a target layout example, say from spring-core?

Spring Data and Spring Framework are not consistent.
Apache HTTP Components:

Spring Framework:

Spring Data

I think I would go for the one in Spring Framework (license.txt and notice.txt at META-INF) as this aligns somehow with what Apache Http Client does.


[wip] native Kubernetes client

This adds a native Kubernetes client to replace the kubectl proxy subprocess. That is, a kubeconfig parser with some integration with reqwest to configure proxies and auth, or the rust equivalent of tiny-kubernetes. It only strictly needs serde_yaml, reqwest, and base64.
Ideally this should end up being much smaller than a 'proper' client and can easily support the few functions we actually care about (auth, proxies, streamed responses, websockets, exotic kubeconfig formats, ...).
This at least properly parses all the kubeconfigs I have handy, including minikube, microk8s, eks, kubeadm, and a few others.
Closes #28

I can at least auth against DigitalOcean now (uses embedded client + CA certs). Minikube and some kubeadm clusters are broken since rustls doesn't support IP address hosts (https://github.com/ctz/hyper-rustls/issues/56#issuecomment-446122851). Also, native-tls (via reqwest, at least) doesn't support PEM certificates so we're stuck with it.
Should look into whether or not ClientBuilder::danger_accept_invalid_hostnames() is enough to at least make this functional, otherwise we'll need to keep kubectl proxy support around...

Also, still need some in-cluster auth support...

More TLS issues...

native-tls can't build Identity structs from PEMs: https://github.com/sfackler/rust-native-tls/issues/77
potential workaround for using native-tls with PEM certificates: https://github.com/sfackler/rust-native-tls/issues/27#issuecomment-324262673
the rustls backend doesn't support danger_accept_invalid_hostnames() (though I'm not sure this would work if it did)

This is all to say, there is probably a path forward with native-tls, however it:

requires vendored openssl

this massively increases build times and binary size (adds ~1 MiB per cargo-bloat)
complicates Windows and macOS builds

still requires ugly hacks to even read certs

I think rustls + the kubectl proxy hack will continue to be the best solution, and hopefully we can drop the hack if/when rustls gets IP address support.

Additional ssl-related complications if we want websocket support:

neither rust-websocket nor ws-rs support rustls, so native-tls is required
use of client/server certs is undocumented in either library; may just mean configuring native-tls's TlsConnectorBuilder

So the only way forward if we want websockets looks like:

use native-tls and accept the increased static linux binary size
figure out some hack to convert pem client certs into der for native-tls / reqwest, preferably without vendoring openssl
implement separate auth codepaths for reqwest and websocket/ws

Frankly, I'm tempted to sit on this a while and see if the library situation improves.

Not a ton of movement over the last 8 months, unfortunately:

there's been a hint of movement on webpki so ip hostnames may be supported in the near future.
native-tls still doesn't support .pem certificates
no websocket libraries support rustls


AutoFlushTargetWrapper - Added IgnoreExplicitFlush property

Skips flush on reload-config and application-shutdown. Resolve #3512
To be used in combination with BufferingWrapper and overflowAction=Discard

Notice PR is configured to be merged directly into master!

Codecov Report

Merging #3513 into master will decrease coverage by <1%.
The diff coverage is 100%.

@@           Coverage Diff           @@
##           master   #3513    +/-   ##
=======================================
- Coverage      80%     80%   -<1%
=======================================
  Files         361     361
  Lines       28684   28702    +18
  Branches     3828    3831     +3
=======================================
+ Hits        22971   22976     +5
- Misses       4608    4623    +15
+ Partials     1105    1103     -2

Notice PR is configured to be merged directly into master!

Thanks! This isn't visible on mobile view. Anyway, I expected it was on master (good choice) :)

Updated wiki: https://github.com/NLog/NLog/wiki/AutoFlushWrapper-target


Onboarding Stijn

[ ] Read the process documentation
[ ] Obtain a build environment
[ ] Check calendar for meetings
[ ] Solve Book Club challanges (https://discord.com/channels/401396655599124480/1060874663514865764)

Such issues should not be reported in the code-related repository. Closing.


Implement Caravel

To prove OpenLane 2's ability to implement complex designs, Caravel should be implemented using OpenLane 2.

Done at https://github.com/efabless/caravel_user_project_ol2/


Concurrent sorting

Proposal:
Replacing standard library's sort with a concurrent sorting library like sorty.
Note: I am the author of sorty.
Current behavior:
standard sort is not concurrent and runs in a single goroutine. This is very slow.
Also sort.Interface is slower than sorty's lesswap() as a way to access generic collections.
Desired behavior:
As a time series database, InfluxDB can benefit a lot from concurrent sorting (with sorty or one of alternative libraries.)
Alternatives considered:
See the benchmarks in sorty readme.
Use case:
I have inspected InfluxDB code: standard sort is heavily used. sorty can cover all of it except calls to Stable().

@jfcg thanks for the issue and the library! We discussed this internally and we already do concurrent sorting in the places where it is most critical. Thanks!

Hi Ross,
Just out of curiosity, I would like to examine how InfluxDB does concurrent sorting so that I can grab an idea or two. This query did not yield any result that looks like it (I checked them all). Am I looking at the wrong files, or using a wrong keyword?
Thanks a lot..

Hey @jfcg thanks so much for the suggestion for your library (which looks very interesting by the way!).
InfluxDB is ran by ourselves on thousands of nodes as part of our Cloud and Enterprise products, and we continuously profile all nodes, archiving profiles for later review. Typically Go's sort does not appear in CPU profiles for ours and our users' usecases.
Historically sorting did become a problem in one place, which is the in-memory cache (which is very similar to a memtable if you're familiar with LSM-like databases). What used to happen was for very high cardinality use-cases the number of keys in the cache would be a problem when we needed to snapshot the cache to a TSM file (which is very similar to an SSTable). Each TSM file has an index that contains all the keys in that file, and they must be sorted. For very high cardinality cases we sort Go's sort dominating there (for millions of keys).
To address this we shard the cache using heuristics based on cardinality at runtime. So instead of creating one TSM file we create, e.g., four concurrently using shards of the cache keyspace (which basically means we're doing a concurrent sort there). This solved the problem and we don't see sort much at all in many profiles.
Here is a link to the code: https://github.com/influxdata/influxdb/blob/master/tsdb/tsm1/compact.go#L840-L860
I appreciate that there may be some further performance gains to be had using your library but in general we do not find sorting to be a performance bottleneck for us.
Hope that helps!

Thanks for the detailed explanation Edd.


contextualise ML use of the dataset

in the use cases section, metrics like precision and recall are quoted. IMHO, these need to come with some hint how these numbers were obtained, e.g.

... precision of 0.75 on the test set.

I left comments where I found this. Links to Jupyter Notebooks that perform this analysis might be worthwhile too.

I now removed the use of precision and recall and went for a simple confusion matrix instead. Hope that solves the issue?

Err, that was not my intention. But having the full confusion matrix is an option as well. I'll have a look.

... well, I guess I also wanted to include a BBQ icon somewhere... 😃


[DEVOPS-906] Update cardano-sl to tip of release/1.3.0

Cardano SL release/1.3.0 branch exists now. This is the current version of that branch.

to help @rvl approve this merge (nikola was delayed by a power outage) i have verified the hash matches the 1.3.0 commit in cardano-sl


Why perform interpolation on pitch?

https://github.com/ming024/FastSpeech2/blob/7011fa1b86239a49a9154a5fcea45474c947acb1/preprocessor/preprocessor.py#L207

As far as I know, pitch(F0) is the bottom yellow line on the spectrogram, and the pitch before interpolation looks similar to it. What's the reason to perform interpolation on pitch?

@OlaWod I do this trick because the F0 detecting algorithm is not always accurate, sometimes it cannot detect the F0 of a voiced frame and give it a zero. It is also arguable if it is reasonable to set the F0 of an unvoiced frame to zero. However, this is only an engineering trick and I believe there are better solutions to this problem.


command 'changes-counter.setComparisonBranch' not found

I'm trying to set initial values using command palette but getting the following error:
command 'changes-counter.setComparisonBranch' not found

The same "not found" error is shown for the lines threshold command as well.
macOS 14.3.1
VS Code 1.87.0
Changes Counter 1.5.5

Thanks for creating the issue! I tried but I couldn't reproduce this bug. Does this error that you mentioned appear on the extension's output channel or somewhere else? Could you please check, if you haven't done so already, the extension's output channel to see if there are some messages there?


[BEAM-8338] Support ES 7.x for ElasticsearchIO

R: @dmvk
ElasticsearchIO used operations:
reader
GET /<index>/<type>/_search
GET _search/scroll
DELETE _search/scroll
https://www.elastic.co/guide/en/elasticsearch/reference/7.0/search.html
https://www.elastic.co/guide/en/elasticsearch/reference/7.0/search-request-scroll.html
writer
POST /<index>/<type>/_bulk
https://www.elastic.co/guide/en/elasticsearch/reference/7.0/docs-bulk.html
GET (for version info)
These are not in https://www.elastic.co/guide/en/elasticsearch/reference/7.0/breaking-changes-7.0.html
Post-Commit Tests Status (on master branch)

Lang
SDK
Apex
Dataflow
Flink
Gearpump
Samza
Spark

Go

---
---

---
---

Java

Python

---

---
---

XLang
---
---
---

---
---
---

Pre-Commit Tests Status (on master branch)

---
Java
Python
Go
Website

Non-portable

Portable
---

---
---

See .test-infra/jenkins/README for trigger phrase, status and link of all Jenkins jobs.

cc @aromanenko-dev @echauchot

I'll check that :sdks:java:io:elasticsearch-tests:elasticsearch-tests-7:test problem

Yes, I agree with that duplication. It definitely can be done. I could try it but I don't know all the internals about tests mechanism in gradle and how that integration test with use of create_elk_container.sh works (I can run that docker manually).
So maybe for someone experienced in this it would be peace of cake.
In the meantime I will try.

Ok, there will be couple of additional changes because of some v7 changes ...

Also, please take a look on failing tests in Java PreCommit

@echauchot At rest level (I mean requests) there is no breaking changes. I found couple of them at RestClient level itself when I upgraded es client dependency and that is what I'm working on now (almost finished).
But at all I don't like this concept of ifing several versions in one class. Wouldn't it be better to have multiple ElasticsearchIO clients and ElasticsearchIO will use the one it needs (this will needs some shading or if it is some other possibility in gradle (I'm not familiar with it)). I think that it is not sustainable in this state (for example if some big breaking change in RestClient will come and some of older versions (v2) will stop work).

I'm not a big fan of ifs either but the aim was to have a single production code (for maintenance) in a single module (for users) . And as there were only some located differences (mainly split), a simple if could do.
Also please note 2 things: discrete versions are used instead of > x in the code to avoid running on non-tested versions. Also we used a very low level ES client (rest client) which is (was?) the only one compatible with all the versions of ES, specially to have a single production code base of ESIO.
If you want, you can submit a refactor PR to improve it. I'll be happy of it.

@regfaker I'm deeply sorry but the PR below was submitted 1 day before yours and addresses the same (+ the maxRetryTimeout deprecation).
https://github.com/apache/beam/pull/10010
I need to close one of the PRs and the only valid criteria is the first submitted PR.
I know it can be frustrating, and I'm sorry.
Thanks anyway for your work and I hope you would not be reluctant to submitting other PRs to Beam in the future, the Beam community would love to see your future work.

It's ok. I'm glad that ES 7 support will make it to release. Maybe next time I can help more.


Fix: update mycred and updateroles commands to use new Sourcecred files

The arrival of Sourcecred v0.8 came with some breaking changes on their file structure as well as API methods, I updated the !hny mycred and !hny updateroles bot commands to fetch the right files as well as using the latest API methods.

@befitsandpiper @felixbbertrand


gencode using a .net core Console project base on template

Hi,
I'm have a little code to make some files base on "src/MvcTemplate.Web/Templates/Module" files folder.
It work like below video:
https://www.youtube.com/watch?v=A09oRUOY_Ac
It just a .net core Console project and I wanna share it but i don't known how to share with you. Are you interest and help me?
Thanks.

You can share code on github, but I'm not sure what will this achieve?

Hi,
I let it here:
https://github.com/VoTranThi/MVC6.Template/tree/develop/src/MvcTemplate.GenCode
Usage:

Make folder for area and controller in MvcTemplate.Objects project

Make Model file

using Pakage manager console ( Visual Studio) or command Prompt window. run follow command:
3.1.  locate to mvcTemplate.GenCode:
cd src\MvcTemplate.GenCode
3.2. Restore nuget Package (skip if you restored, just in first time)
dotnet restore
3.3. build it to ensure have newest MvcTemplate.Objects.dll file
dotnet build
3.4 make files by command
dotnet run [Model] [Controller] [Area]

You got it.

Thank for the example project on code genning, maybe someone will find it helpful.


Fix EOF error for downloading zip files

What this PR does / why we need it:
This PR fixed the problem that zip files are not downloaded correctly to /mnt/models.
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #4080
Type of changes
Please delete options that are not relevant.

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

Feature/Issue validation/testing:
Please describe the tests that you ran to verify your changes and relevant result summary. Provide instructions so it can be reproduced.
Please also list any relevant details for your test configuration.

[ ] Test A

[ ] Test B

Logs

Special notes for your reviewer:

Please confirm that if this PR changes any image versions, then that's the sole change this PR makes.

Checklist:

[ ] Have you added unit/e2e tests that prove your fix is effective or that this feature works?
[ ] Has code been commented, particularly in hard-to-understand areas?
[ ] Have you made corresponding changes to the documentation?

Release note:

Re-running failed tests

/rerun-all - rerun all failed workflows.
/rerun-workflow <workflow name> - rerun a specific failed workflow. Only one workflow name can be specified. Multiple /rerun-workflow commands are allowed per comment.

/rerun-all

@Jonas-Bruns Can you help fix the lint error ?

/rerun-all

/rerun-all

@Jonas-Bruns Can you help fix the lint error ?

Should be fixed. Unfortunately I can't run the linter locally because it produces other errors


2.0 Html5 Nightly Build (09/28/15) Issues

While giving a test run with the HTML 5 Export, I've noticed a few things that were not working, this was from the 09/28/15 Nightly Build version:
-default_clear_color doesn't show the right background color,
-Input map from project settings doesn't receive or send any new input or accept any new custom import maps to the exported Html5 game, mostly stays on on the regular ui mapping keys.
And
-The mouse isn't captured or hidden.

Please submit issues that are unrelated to each other individually. It's easier to manage.

I split up the former two issues described into #2761 and #2766.
Mouse capturing works for me with Lock/hide mouse pointer on in fullscreen.


UUID support

Added a bi directional decoder support for cassandra uuid columns

Current coverage is 97.65%

Merging #142 into master will increase coverage by +0.07% as of 661d4ff

Powered by Codecov. Updated on successful CI builds.

@sammyrulez thanks for your contribution! The build is failing with this error:
https://travis-ci.org/getquill/quill/builds/107082608#L3586

tests are green I think the build just timed out

the cassandra tests seem ok
... is it a coverage issue? There are errors in the build that do not seems related to this PR

The coverage error doesn't fail the build. The problem is this other error:
https://travis-ci.org/getquill/quill/builds/107088293#L3674
But it doesn't seem related to your change. I've tried to trigger the build multiple times to fix it, but it doesn't work. Maybe travis is using a bad worker for your branch. I'm going to merge it and see how it goes on master.

The merge commit didn't pass, but a following build with the changes passed. It seems to be a travis-ci issue.


rename .Net Core 5 to .Net Core (1.0)

Rrenaming shenanigans..

Hi @vreye, I'm your friendly neighborhood .NET Foundation Pull Request Bot (You can call me DNFBOT). Thanks for your contribution!

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. Real humans will now evaluate your PR.

TTYL, DNFBOT;

Can you re-open this PR against the dev branch?

We are not doing any renames in master till we release updated bits for rc2


fab deploy meets error in ghp-import

I just used command 'fab deploy' to deploy my wiki, but a error came.  From the error info it is something wrong with ghp-import. I have tried to solve it via google, but I was failed. I hope you guys can help me, thanks a lot!
[localhost] local: which ghp-import > /dev/null 2>&1; echo $?
[localhost] local: ghp-import -p -m "Update output documentation" -r origin -b gh-pages output
Counting objects: 116, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (88/88), done.
Writing objects: 100% (116/116), 33.11 KiB | 0 bytes/s, done.
Total 116 (delta 15), reused 114 (delta 13)
error: RPC failed; curl 18 transfer closed with outstanding read data remaining
fatal: The remote end hung up unexpectedly
fatal: The remote end hung up unexpectedly
Everything up-to-date
Traceback (most recent call last):
File "/usr/local/bin/ghp-import", line 198, in
main()
File "/usr/local/bin/ghp-import", line 194, in main
sp.check_call(['git', 'push', opts.remote, opts.branch])
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 540, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['git', 'push', 'origin', 'gh-pages']' returned non-zero exit status 1
Fatal error: local() encountered an error (return code 1) while executing 'ghp-import -p -m "Update output documentation" -r origin -b gh-pages output'
Aborting.

Hello, that seems you can't push your commit to your remote repository.
You can give me more info with below:

run command git remote -v
display your deploy section in _config.yml
your remote repository url

I have pushed these files in "output/" directory manually, and it was successful.  Furthermore I have given the infos which you need as follow.

➜  mywiki git:(gh-pages) ✗ git remote -v
origin	https://github.com/wiekern/wiki.git (fetch)
origin	https://github.com/wiekern/wiki.git (push)

➜  mywiki git:(gh-pages) ✗ cat _config.yml
Document:
http://simiki.org/docs/configuration.html
url: http://wiekern.github.io
title: wiekern's WIKI
keywords:
description:
author: wiekern
root: /wiki/
default_ext: md
pygments: true
debug: false
deploy:

type: git
remote: origin
branch: gh-pages

remote repository url: https://github.com/wiekern/wiki

Try to change your repo's url with git protocol instead of https.
git remote set-url --push origin git@github.com:wiekern/wiki.git

https require input username/password manually.

Thank you! You are right. It works now.  I have changed my remote repo url without https as follow:

➜  mywiki git:(master) git remote -v
origin	http://github.com/wiekern/wiki.git (fetch)
origin	http://github.com/wiekern/wiki.git (push)

Closed this issue.

@wiekern http/https should be the same problem, did you really can push to remote?

As you mentioned, I have changed "http" to "https", it is in order. I can not repeat this issue now.
I remember that I have deleted my local repository and initiated a new local repository with git init && git pull. Then everything is right.  It's weird.
I added my configurations.

1.
➜  mywiki git:(master) git remote -v
origin	http://github.com/wiekern/wiki.git (fetch)
origin	http://github.com/wiekern/wiki.git (push)

2.
➜  mywiki git:(master) cat _config.yml
# Document:
# http://simiki.org/docs/configuration.html

url: http://wiekern.github.io/wiki
title: wiekern's Wiki
keywords: Linux, Java, C/C++, Android, Web
description:
author: wieKern
root: /wiki/

default_ext: md
pygments: true
debug: false

deploy:
  - type: git
    remote: origin
    branch: gh-pages

There is no change in my wiki,  but I still ran `fab deploy`, I got this message
➜  mywiki git:(master) fab deploy
[localhost] local: which ghp-import > /dev/null 2>&1; echo $?
[localhost] local: ghp-import -p -m "Update output documentation" -r origin -b gh-pages output
Counting objects: 1, done.
Writing objects: 100% (1/1), 196 bytes | 0 bytes/s, done.
Total 1 (delta 0), reused 1 (delta 0)
To http://github.com/wiekern/wiki.git
   900b8ba..b863972  gh-pages -> gh-pages

Done.

I am aware of one point. It may caused by .ssh/know_hosts in which there  is no matched ssh item for remote repository.

.ssh/know_hosts only work with git(ssh) protocol, and not work if you use http/https.
From what your pasted:

error: RPC failed; curl 18 transfer closed with outstanding read data remaining
fatal: The remote end hung up unexpectedly
fatal: The remote end hung up unexpectedly

It looks like the network problem.
However, if you write your wiki in your personal environment, I suggest to use git protocol instead of http/https.


Dashboard does not display test and collector data - UI and api connected

Hi I'm following this straightforward Hygieia Dashboard Tutorial  on installing Hygieia locally in my Windows computer. (I actually want to have it working with docker, but I will post a separate issue regarding the problems I'm running into on that).
I have the UI and API connected. When I run the test data: gulp serve --local true
I see the names of the table, but not the data.

There seems to be a bower issue?:
bower.js:sourcemap:13113 TypeError: mydata[x].type.toLowerCase is not a function
at processMyDashboardResponse (site.js:160)
at processQueue (bower.js:sourcemap:14725)
at bower.js:sourcemap:14741
at Scope.$eval (bower.js:sourcemap:15977)
at Scope.$digest (bower.js:sourcemap:15793)
at Scope.$apply (bower.js:sourcemap:16082)
at done (bower.js:sourcemap:11132)
at completeRequest (bower.js:sourcemap:11322)
at XMLHttpRequest.requestLoaded (bower.js:sourcemap:11263)
(anonymous) @ bower.js:sourcemap:13113
login.js:56 appinfo:2.0.4-SNAPSHOT
bower.js:sourcemap:13113 TypeError: mydata[x].type.toLowerCase is not a function
at processMyDashboardResponse (site.js:160)
at processQueue (bower.js:sourcemap:14725)
at bower.js:sourcemap:14741
at Scope.$eval (bower.js:sourcemap:15977)
at Scope.$digest (bower.js:sourcemap:15793)
at Scope.$apply (bower.js:sourcemap:16082)
at done (bower.js:sourcemap:11132)
at completeRequest (bower.js:sourcemap:11322)
at XMLHttpRequest.requestLoaded (bower.js:sourcemap:11263)
(anonymous) @ bower.js:sourcemap:13113
When I try to connect my jenkins collector and run gulp serve, I also don't see any data or information on the dashboard, but I don't get any errors when I run the collector:

@DimsumPanda - I noticed you are running an older version (2.0.4) of the code. Can you please pull the latest version and try running again?


Asset transfer private data test case asset_transfer_test.go filing

=== RUN   TestAgreeToTransferSuccessful
2022/06/19 13:18:22 ReadAsset: collection assetCollection, ID id1
2022/06/19 13:18:22 AgreeToTransfer Put: collection Org1TestmspPrivateCollection, ID id1
2022/06/19 13:18:22 AgreeToTransfer Put: collection assetCollection, ID id1, Key transferAgreementid1
asset_transfer_test.go:215:
Error Trace:	asset_transfer_test.go:215
Error:      	Not equal:
expected: []byte{0x6d, 0x79, 0x4f, 0x72, 0x67, 0x31, 0x55, 0x73, 0x65, 0x72, 0x69, 0x64}
actual  : []byte{0x9b, 0x23, 0xab, 0x83, 0x55, 0x2c, 0x7a, 0xb8, 0x9d}
Diff:
--- Expected
+++ Actual
@@ -1,3 +1,3 @@
-([]uint8) (len=12) {
- 00000000  6d 79 4f 72 67 31 55 73  65 72 69 64              |myOrg1Userid|
+([]uint8) (len=9) {
+ 00000000  9b 23 ab 83 55 2c 7a b8  9d                       |.#..U,z..|
}
Test:       	TestAgreeToTransferSuccessful
--- FAIL: TestAgreeToTransferSuccessful (0.00s)
=== RUN   TestTransferAssetSuccessful
2022/06/19 13:18:22 TransferAsset: verify asset exists ID id1
2022/06/19 13:18:22 ReadAsset: collection assetCollection, ID id1
asset_transfer_test.go:264:
Error Trace:	asset_transfer_test.go:264
Error:      	Received unexpected error:
failed transfer verification: error: submitting client identity does not own asset
Test:       	TestTransferAssetSuccessful
--- FAIL: TestTransferAssetSuccessful (0.00s)
=== RUN   TestTransferAssetWithoutAnAgreement
2022/06/19 13:18:22 TransferAsset: verify asset exists ID id1
2022/06/19 13:18:22 ReadAsset: collection assetCollection, ID id1
asset_transfer_test.go:328:
Error Trace:	asset_transfer_test.go:328
Error:      	Error message not equal:
expected: "BuyerID not found in TransferAgreement for id1"
actual  : "failed transfer verification: error: submitting client identity does not own asset"
Test:       	TestTransferAssetWithoutAnAgreement
--- FAIL: TestTransferAssetWithoutAnAgreement (0.00s)
=== RUN   TestTransferAssetNonMatchingAppraisalValue
2022/06/19 13:18:22 TransferAsset: verify asset exists ID id1
2022/06/19 13:18:22 ReadAsset: collection assetCollection, ID id1
asset_transfer_test.go:355:
Error Trace:	asset_transfer_test.go:355
Error:      	"failed transfer verification: error: submitting client identity does not own asset" does not contain "failed transfer verification: hash for appraised value"
Test:       	TestTransferAssetNonMatchingAppraisalValue
--- FAIL: TestTransferAssetNonMatchingAppraisalValue (0.00s)

PR https://github.com/hyperledger/fabric-samples/pull/771 addresses the above test case issue.


Additional hardcoded table value in subquery

Forgot to also update the hardcoded AS locations in the subquery to also look at the Model table.

Thanks for this, I had just changed it when I accepted another pull request so this should all be good.


Add ability to animate elements in and out of list

[ ] Add ReactCSSTransitionGroup as a wrapper to the rendered items.
[ ] Add a prop to enable/disable it.
[ ]  Filter remaining props to ReactCSSTransitionGroup.

This is very much needed in my usage of this dependency :)
You could check out https://github.com/natenorberg/react-css-stagger for the desired effect. I tried to use both redux-infinite-scroll and react-css-stagger together, but that did not work..
Could you implement this so that we can control the css transitions, like react-css-tagger ?
A little background to my request: I would like to use infinite scroll and the staggering sequence like the Google Material Design choreography here: https://material-design.storage.googleapis.com/publish/material_v_9/0B14F_FSUCc01MlpxcWE2X1VVNU0/CreationChoreo_03_StaggerDo_v3.mp4


feat: upgrade stylelint to v16

:tada: This PR is included in version 3.15.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Dead Link

the link to LocBaml Tool Sample, is dead. It goes to a url that times out. I had to go get it from here: https://github.com/JeremyDurnell/locbaml

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

ID: 72e544a8-3979-26ea-39fb-316eafa71cdb
Version Independent ID: 5b84e3b3-e09f-be5d-8936-ed1ceb81203c
Content: How to: Localize an Application
Content Source: docs/framework/wpf/advanced/how-to-localize-an-application.md
Service: unspecified
Product: dotnet-framework
GitHub Login: @dotnet-bot
Microsoft Alias: dotnetcontent

Thanks for your feedback @fotoguy42. This is a duplicate of another existing issue #3623 so I'm going to be closing this one. We're still trying to determine the right replacement link with the product team.


Wrong information about docker agent on AKS version

Hi MS team
Correct me if I am wrong!
In the document, you said that

Please, consider that any docker based tasks will not work on AKS 1.19 or earlier due to docker in docker restriction. Docker was replaced with containerd in Kubernetes 1.19, and Docker-in-Docker became unavailable.

Why it did not work on AKS 1.19 and earlier ? MUST be AKS 1.19 and above (or after). Because docker in docker can not work with containerd. And containerd was staring to use from AKS 1.19

For Linux node pools, containerd is used on Kubernetes version 1.19 and higher. For Windows Server 2019 and 2022 node pools, containerd is generally available and is the only runtime option on Kubernetes version 1.23 and higher. Docker is being retired and won't be supported as of May 2023

https://learn.microsoft.com/en-us/azure/aks/cluster-configuration#container-runtime-configuration
Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: b31d4f6c-d16d-2ba1-1294-6aa94e328046
Version Independent ID: 88aec599-4410-697d-1002-1c41b1c17bb6
Content: Run a self-hosted agent in Docker - Azure Pipelines
Content Source: docs/pipelines/agents/docker.md
Service: azure-devops-pipelines
Sub-service: azure-devops-pipelines-agents
GitHub Login: @steved0x
Microsoft Alias: sdanie

@tatdatpham -- Dat, thank you for your well-researched feedback.  Please consider these resources:

Azure DevOps Services
Azure DevOps on Stack Overflow

@steved0x -- Steve, please look into this issue.


Watch does work only for test files, does not refresh for project files

I have this strange issue, when mocha reloads only when I update a "test" file. When I update a project file (SUT) the mocha keeps the original version somehow cached. I tried different approaches and nothing works. Any ideas?
Here is how I run it:
mocha --colors --watch imports/test/browser.js imports/**/tests/**/*.js* --compilers js:babel-core/register

probably because babel gives mocha a transpiled file, and mocha watches the transpiled file instead of the source file.  try it with --require babel-register instead of --compilers; if that doesn't help you, you'll need to have some other tool help you do this.

at any rate, #1780 is a thing, and I'd rather not build on top of it in its current state, and instead extract the functionality into a separate module.

I heard npm-watch is a thing

@boneskull thanks for your comment. I solved it along those lines. I used the watch-run lib and here is my solution extracted from package.json
scripts: {
      "test": "mocha --colors imports/**/tests/**/*.js* --require babel-register",
      "test-watch": "watch-run -i -p 'imports/**/tests/**/*.js*,imports/ui/*.jsx' npm run test"
}

run it as
npm run test-watch


any way to generate array checkboxes?

hi. tnx for your awesome tool.
i have a problem. i want to save block data as an array.
my case is a table selector, then i want to list table fields as an array of checkbox inputs.
in a raw html we can handle this by brackets. ex: name=fields[]
i created a method to generate a list by click on table.
data holds like this: <input type='checkbox' class='block-checkbox' df-fields[" + field + "]>
i can select them, and they will save in data. but problem is that i can not uncheck them.
when i uncheck them, they still on in data saved by node.
i show you by a screen capture.
tnx again.
2020-11-30_10-35-52.zip

Hello @samankarbasi
Thanks! 🎉
You can pass the code of the checkbox node.
To test.
Jero

Hello @samankarbasi
Thanks! 🎉
You can pass the code of the checkbox node.
To test.
Jero

here is the complete clone mix.
Drawflow-master.zip
tnx.

Hello @samankarbasi
Try override function updateNodeValue. Add function before editor.start()
Change value to false on unchecked.

  editor.drawflow = {
        "drawflow": {
            "Home": {
                "data":
                    {}
            }, "Other": {
                "data": {}
            }
        }
    }

    editor.updateNodeValue = function(event) {
      console.log("yeah");
      if(event.target.type === "checkbox") {
        if(event.target.checked === false) {
          event.target.value = false;
        }
      }
      var attr = event.target.attributes
      for(var i= 0; i < attr.length; i++) {
        if(attr[i].nodeName.startsWith('df-')) {
          this.drawflow.drawflow[this.module].data[event.target.closest(".drawflow_content_node").parentElement.id.slice(5)].data[attr[i].nodeName.slice(3)] = event.target.value;
        }

      }

    }
    editor.start();

Example:

Other option  is override the data of node using updateNodeDataFromId
The checkbox always return the value "on".
Try and tell us

tnx very much.
yea it would work in this way, but when you export, then import it got an error about fields.
i mean there is a need to parse input variables as array.
df-field is very ok in single variable. but it could not cover arrays
name='post' => df-name='post'
name='posts[]' => there is no way to handle this by drawflow.
`function blockCheckboxChanged(e, nodeId) {
let node = editor.getNodeFromId(nodeId)
let fieldValue = e.target.value;
let selectedFields = node.data.fields;
if (e.target.checked) {
//checkbox is checked and must be in DATA
if (!selectedFields.includes(fieldValue)) {
selectedFields.push(fieldValue)
}
}
else {
//checkbox is unchecked and must not be in DATA
if (selectedFields.includes(fieldValue)) {
let indexToDelete = selectedFields.indexOf(fieldValue);
selectedFields.splice(indexToDelete, 1)
}
}
    //update fields
    editor.drawflow.drawflow['Home'].data[nodeId].data.fields = selectedFields;
}`

i created this method when ever any generated checkbox checked. and directly update node data from root.
updateNodeDataFromId not working. actually there is not such method named this, or i cant find.
tnx very much for answering.

updateNodeDataFromId is added in 0.0.31. (Yesterday). Try download new version.

Are you solved?
It's possible close?


Fix infinite loop when ignore_errors is used with TFRecordDataset

This fix tries to address the issue raised in #25700 where
ignore_errors combined with TFRecordDataset will have a infinite loop.
The issue was that when ignore errors happen, the index of the file names
are not moved forward with error returned. So the same file is repeated.
This fix is a short solution to fix it.
This fix fixes #25700.
Signed-off-by: Yong Tang<EMAIL_ADDRESS>

Not very familiar with this part of the code, maybe there are some better ways of fixing it? /cc @mrry

Thanks for the contribution! I'm reassigning this to @jsimsa to make a call on what the right semantics should be here.


Adding code that trains on different LLM models and added the introduction to GLayout notebook

We train on phi, mistral, and codestral
Added introduction to GLayout notebook that introduces many of the functions that the participants will use
Edited workflow scripts to downgrade numpy to version 1.23.3
Added a convo parser

The CI is failing for these. Is this normal? @chetanyagoyal and @srpathen

The CI failing is unintended behaviour, we will look into this

Glayout changes are okay, they are previously unmerged changes to llm

@srpathen scipy conflicts with the numpy version you're installing, we need numpy==1.23.5 or greater

Updated the numpy version to 1.23.5

Is this ready for a second review?

@msaligane this can be merged


Switch to Rails UJS

jquery_ujs is deprecated.

So what's the replacement now? (Or is it just gone?). Send in a PR please.

Rails UJS is the replacement, it's built into Rails 5.2 so we simply need to //= require rails_ujs instead of //= require jquery_ujs. Will send a PR.


Do not watch folders like "c:/users/username", "c:/users/username/folderAtRoot"

Fixes Microsoft/vscode#51139

We should port this to release-2.9 as well


Mark kusk-gateway-envoy-fleet as Default on installation and upgrade

Re-opening just so we can discuss more the upgrade flow

I believe #731  should deal with this

@jasmingacic I dont see how switching from helm to manifests will solve this. When you upgrade it will use the latest chart which will have the default setting

A webhook should deal with this for the users. Less than ideal
Also having default envoy fleet doesn't really do much. So far it is used in generate and deploy to pick the default one and if not available we prompt users to make one fleet default.

Also having default envoy fleet doesn't really do much.

I think it's not about the current functionality, but the one to come 🤔
Also, currently we're not using default field in the generate command, we've hardcoded it: https://github.com/kubeshop/kusk-gateway/blob/main/cmd/kusk/cmd/generate.go#L289-L295

@jasmingacic just pending test by @jasmingacic

After running
./kusk cluster install
✅ installing kusk...
✅ installing Envoyfleet...
✅ installing API Server...
✅ installing Dashboard...

🎉 installation complete

💡 Access the dashboard by using the following command
👉 kusk dashboard

💡 Deploy your first API
👉 kusk deploy -i <path or url to your api definition>

💡 Access Help and useful examples to help get you started
👉 kusk --help

# kubectl get envoyfleet -A -o json | jq .items[].spec.default
true
null

I manually change the default fleet
# kubectl get envoyfleet -A -o json | jq .items[].spec.default
null
null

And then ran
# ./kusk cluster upgrade
✅ Checking if kusk is already installed...
✅ kusk is already installed. Upgrading...
✅ kusk upgraded
✅ kusk API server is already installed. Upgrading...
✅ API Server installed
✅ Envoy Fleets upgraded
✅ kusk Dashboard is already installed. Upgrading...
✅ Dashboard upgraded
✅ Envoy Fleets upgraded

and it added default envoyfleet:
 kubectl get envoyfleet -A -o json | jq .items[].spec.default
true
null


Vault PKI Backend Integration

Some features that would be useful while interacting with the PKI  backend:

command for safe to generate a signed certificate (it would then store serial, cert, and key in the secret backend - keys aren't stored in the pki backend after they're created)
command for safe to revoke a signed certificate based on a secret backend path (or a serial number). If path was provided, look up the serial number stored there, and revoke that cert.
command to grab the CRL pemfile
command to grab the CA pemfile

Potentially other features for working with PKI roles, configuration, and CA creation?

Is this handled by #38 ? (just merged)


Class diagram

Description
Provide class diagram generated from source code
Fixes #219
Type of change
Please delete options that are not relevant.

Documentation update

Testing steps
N/A

Codecov Report

Merging #220 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #220   +/-   ##
=======================================
  Coverage   70.95%   70.95%
=======================================
  Files          12       12
  Lines         730      730
=======================================
  Hits          518      518
  Misses        208      208
  Partials        4        4

Continue to review full report at Codecov.

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