Automated install?

For instance on macOS, ideally you would be able to install with homebrew-cask…

@danielbayley Great idea. https://github.com/caskroom/homebrew-cask/pull/27694

@nparsons08 Ah that's a simple cask actually… I should have just done it myself only I had briefly looked at the Installation section of the README and figured it might be a bit more involved…
Nice one! 👍

@danielbayley Thanks! You can now run brew cask install winds to get the latest version of the native app!


[Bug]: Callback events are not enclosed within a trace

Bug Description
While building a callback and testing with an OpenAI chat agent, I noticed that the on_event_start and on_event_end callback hooks are called without being preceded by a call to start_trace and without being followed by a call to end_trace. I had implemented the flush logic inside of end_trace, so my accumulated trace data is not flushed at the end of the trace.

Version
latest main (3506143d)
Steps to Reproduce
Run the following script:
import sys
import logging
from gcsfs import GCSFileSystem
from llama_index import ServiceContext, StorageContext, load_index_from_storage
from llama_index.callbacks import CallbackManager
from llama_index.embeddings.openai import OpenAIEmbedding
from llama_index.graph_stores.simple import SimpleGraphStore
from llama_index.llms import ChatMessage, MessageRole, OpenAI
from llama_index.callbacks.base_handler import BaseCallbackHandler
from llama_index.callbacks.schema import CBEventType
from typing import Any, Dict, Optional, List

logger = logging.getLogger(__name__)

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

class DebugCallbackHandler(BaseCallbackHandler):
    def on_event_start(
        self,
        event_type: CBEventType,
        payload: Optional[Dict[str, Any]] = None,
        event_id: str = "",
        **kwargs: Any,
    ) -> str:
        logger.info(f"on_event_start: {event_type.value}")

    def on_event_end(
        self,
        event_type: CBEventType,
        payload: Optional[Dict[str, Any]] = None,
        event_id: str = "",
        **kwargs: Any,
    ) -> None:
        logger.info(f"on_event_end: {event_type.value}")

    def start_trace(self, trace_id: Optional[str] = None) -> None:
        logger.info(f"start_trace: {trace_id}")

    def end_trace(
        self,
        trace_id: Optional[str] = None,
        trace_map: Optional[Dict[str, List[str]]] = None,
    ) -> None:
        logger.info(f"end_trace: {trace_id}")

file_system = GCSFileSystem(project="public-assets-275721")
index_path = (
    "arize-assets/phoenix/datasets/unstructured/llm/llama-index/arize-docs/index/"
)
storage_context = StorageContext.from_defaults(
    fs=file_system,
    persist_dir=index_path,
    graph_store=SimpleGraphStore(),  # prevents unauthorized request to GCS
)
callback_handler = DebugCallbackHandler(
    event_ends_to_ignore=[], event_starts_to_ignore=[]
)
service_context = ServiceContext.from_defaults(
    llm=OpenAI(model="gpt-3.5-turbo", temperature=0),
    embed_model=OpenAIEmbedding(model="text-embedding-ada-002"),
    callback_manager=CallbackManager(handlers=[callback_handler]),
)
index = load_index_from_storage(
    storage_context,
    service_context=service_context,
)
agent = index.as_chat_engine(
    chat_mode="openai",
    callback_manager=CallbackManager(handlers=[callback_handler]),
)

response = agent.chat(
    "Can you explain what that means?",
    chat_history=[
        ChatMessage(role=MessageRole.USER, content="What is Arize?"),
        ChatMessage(
            role=MessageRole.ASSISTANT,
            content="Arize is a ML observability platform.",
        ),
    ],
)
print(response)

Relevant Logs/Tracbacks
DEBUG:asyncio:Using selector: KqueueSelector
DEBUG:google.auth._default:Checking None for explicit credentials as part of auth process...
DEBUG:google.auth._default:Checking Cloud SDK credentials as part of auth process...
DEBUG:gcsfs.credentials:Connection with method "google_default" failed
Traceback (most recent call last):
  File "/Users/xandersong/miniforge3/envs/llmapps/lib/python3.10/site-packages/gcsfs/credentials.py", line 232, in connect
    self.connect(method=meth)
  File "/Users/xandersong/miniforge3/envs/llmapps/lib/python3.10/site-packages/gcsfs/credentials.py", line 249, in connect
    self.__getattribute__("_connect_" + method)()
  File "/Users/xandersong/miniforge3/envs/llmapps/lib/python3.10/site-packages/gcsfs/credentials.py", line 88, in _connect_google_default
    raise ValueError(msg.format(self.project, project))
ValueError: User-provided project 'public-assets-275721' does not match the google default project 'primal-oxide-268801'. Either

  1. Accept the google-default project by not passing a `project` to GCSFileSystem
  2. Configure the default project to match the user-provided project (gcloud config set project)
  3. Use an authorization method other than 'google_default' by providing 'token=...'

DEBUG:gcsfs.credentials:Connection with method "cache" failed
Traceback (most recent call last):
  File "/Users/xandersong/miniforge3/envs/llmapps/lib/python3.10/site-packages/gcsfs/credentials.py", line 232, in connect
    self.connect(method=meth)
  File "/Users/xandersong/miniforge3/envs/llmapps/lib/python3.10/site-packages/gcsfs/credentials.py", line 249, in connect
    self.__getattribute__("_connect_" + method)()
  File "/Users/xandersong/miniforge3/envs/llmapps/lib/python3.10/site-packages/gcsfs/credentials.py", line 104, in _connect_cache
    raise ValueError("No cached tokens")
ValueError: No cached tokens
DEBUG:google.auth.transport.requests:Making request: GET http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/default/?recursive=true
DEBUG:urllib3.connectionpool:Starting new HTTP connection (1): metadata.google.internal:80
WARNING:google.auth.compute_engine._metadata:Compute Engine Metadata server unavailable on attempt 1 of 5. Reason: HTTPConnectionPool(host='metadata.google.internal', port=80): Max retries exceeded with url: /computeMetadata/v1/instance/service-accounts/default/?recursive=true (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x172985270>: Failed to establish a new connection: [Errno 8] nodename nor servname provided, or not known'))
DEBUG:google.auth.transport.requests:Making request: GET http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/default/?recursive=true
DEBUG:urllib3.connectionpool:Starting new HTTP connection (2): metadata.google.internal:80
WARNING:google.auth.compute_engine._metadata:Compute Engine Metadata server unavailable on attempt 2 of 5. Reason: HTTPConnectionPool(host='metadata.google.internal', port=80): Max retries exceeded with url: /computeMetadata/v1/instance/service-accounts/default/?recursive=true (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x172985570>: Failed to establish a new connection: [Errno 8] nodename nor servname provided, or not known'))
DEBUG:google.auth.transport.requests:Making request: GET http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/default/?recursive=true
DEBUG:urllib3.connectionpool:Starting new HTTP connection (3): metadata.google.internal:80
WARNING:google.auth.compute_engine._metadata:Compute Engine Metadata server unavailable on attempt 3 of 5. Reason: HTTPConnectionPool(host='metadata.google.internal', port=80): Max retries exceeded with url: /computeMetadata/v1/instance/service-accounts/default/?recursive=true (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x172985930>: Failed to establish a new connection: [Errno 8] nodename nor servname provided, or not known'))
DEBUG:google.auth.transport.requests:Making request: GET http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/default/?recursive=true
DEBUG:urllib3.connectionpool:Starting new HTTP connection (4): metadata.google.internal:80
WARNING:google.auth.compute_engine._metadata:Compute Engine Metadata server unavailable on attempt 4 of 5. Reason: HTTPConnectionPool(host='metadata.google.internal', port=80): Max retries exceeded with url: /computeMetadata/v1/instance/service-accounts/default/?recursive=true (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x172985e70>: Failed to establish a new connection: [Errno 8] nodename nor servname provided, or not known'))
DEBUG:google.auth.transport.requests:Making request: GET http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/default/?recursive=true
DEBUG:urllib3.connectionpool:Starting new HTTP connection (5): metadata.google.internal:80
WARNING:google.auth.compute_engine._metadata:Compute Engine Metadata server unavailable on attempt 5 of 5. Reason: HTTPConnectionPool(host='metadata.google.internal', port=80): Max retries exceeded with url: /computeMetadata/v1/instance/service-accounts/default/?recursive=true (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x1729863b0>: Failed to establish a new connection: [Errno 8] nodename nor servname provided, or not known'))
DEBUG:gcsfs.credentials:Connection with method "cloud" failed
Traceback (most recent call last):
  File "/Users/xandersong/miniforge3/envs/llmapps/lib/python3.10/site-packages/google/auth/compute_engine/credentials.py", line 115, in refresh
    self._retrieve_info(request)
  File "/Users/xandersong/miniforge3/envs/llmapps/lib/python3.10/site-packages/google/auth/compute_engine/credentials.py", line 88, in _retrieve_info
    info = _metadata.get_service_account_info(
  File "/Users/xandersong/miniforge3/envs/llmapps/lib/python3.10/site-packages/google/auth/compute_engine/_metadata.py", line 287, in get_service_account_info
    return get(request, path, params={"recursive": "true"})
  File "/Users/xandersong/miniforge3/envs/llmapps/lib/python3.10/site-packages/google/auth/compute_engine/_metadata.py", line 216, in get
    raise exceptions.TransportError(
google.auth.exceptions.TransportError: Failed to retrieve http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/default/?recursive=true from the Google Compute Engine metadata service. Compute Engine Metadata server unavailable

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/Users/xandersong/miniforge3/envs/llmapps/lib/python3.10/site-packages/gcsfs/credentials.py", line 97, in _connect_cloud
    self.credentials.refresh(req)
  File "/Users/xandersong/miniforge3/envs/llmapps/lib/python3.10/site-packages/google/auth/compute_engine/credentials.py", line 121, in refresh
    six.raise_from(new_exc, caught_exc)
  File "<string>", line 3, in raise_from
google.auth.exceptions.RefreshError: Failed to retrieve http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/default/?recursive=true from the Google Compute Engine metadata service. Compute Engine Metadata server unavailable

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/Users/xandersong/miniforge3/envs/llmapps/lib/python3.10/site-packages/gcsfs/credentials.py", line 232, in connect
    self.connect(method=meth)
  File "/Users/xandersong/miniforge3/envs/llmapps/lib/python3.10/site-packages/gcsfs/credentials.py", line 249, in connect
    self.__getattribute__("_connect_" + method)()
  File "/Users/xandersong/miniforge3/envs/llmapps/lib/python3.10/site-packages/gcsfs/credentials.py", line 99, in _connect_cloud
    raise ValueError("Invalid gcloud credentials") from error
ValueError: Invalid gcloud credentials
DEBUG:gcsfs.credentials:Connected with method anon
DEBUG:llama_index.storage.kvstore.simple_kvstore:Loading llama_index.storage.kvstore.simple_kvstore from arize-assets/phoenix/datasets/unstructured/llm/llama-index/arize-docs/index/docstore.json.
DEBUG:gcsfs:GET: b/{}/o/{}, ('arize-assets', 'phoenix/datasets/unstructured/llm/llama-index/arize-docs/index/docstore.json'), None
DEBUG:fsspec:<File-like object GCSFileSystem, arize-assets/phoenix/datasets/unstructured/llm/llama-index/arize-docs/index/docstore.json> read: 0 - 1678221
DEBUG:gcsfs:GET: https://storage.googleapis.com/download/storage/v1/b/arize-assets/o/phoenix%2Fdatasets%2Funstructured%2Fllm%2Fllama-index%2Farize-docs%2Findex%2Fdocstore.json?alt=media, (), {'Range': 'bytes=0-1678220'}
DEBUG:llama_index.storage.kvstore.simple_kvstore:Loading llama_index.storage.kvstore.simple_kvstore from arize-assets/phoenix/datasets/unstructured/llm/llama-index/arize-docs/index/index_store.json.
DEBUG:gcsfs:GET: b/{}/o/{}, ('arize-assets', 'phoenix/datasets/unstructured/llm/llama-index/arize-docs/index/index_store.json'), None
DEBUG:fsspec:<File-like object GCSFileSystem, arize-assets/phoenix/datasets/unstructured/llm/llama-index/arize-docs/index/index_store.json> read: 0 - 107263
DEBUG:gcsfs:GET: https://storage.googleapis.com/download/storage/v1/b/arize-assets/o/phoenix%2Fdatasets%2Funstructured%2Fllm%2Fllama-index%2Farize-docs%2Findex%2Findex_store.json?alt=media, (), {'Range': 'bytes=0-107262'}
DEBUG:gcsfs:GET: b/{}/o/{}, ('arize-assets', 'phoenix/datasets/unstructured/llm/llama-index/arize-docs/index/vector_store.json'), None
DEBUG:llama_index.vector_stores.simple:Loading llama_index.vector_stores.simple from arize-assets/phoenix/datasets/unstructured/llm/llama-index/arize-docs/index/vector_store.json.
DEBUG:gcsfs:GET: b/{}/o/{}, ('arize-assets', 'phoenix/datasets/unstructured/llm/llama-index/arize-docs/index/vector_store.json'), None
DEBUG:fsspec:<File-like object GCSFileSystem, arize-assets/phoenix/datasets/unstructured/llm/llama-index/arize-docs/index/vector_store.json> read: 0 - 43966360
DEBUG:gcsfs:GET: https://storage.googleapis.com/download/storage/v1/b/arize-assets/o/phoenix%2Fdatasets%2Funstructured%2Fllm%2Fllama-index%2Farize-docs%2Findex%2Fvector_store.json?alt=media, (), {'Range': 'bytes=0-43966359'}
[nltk_data] Downloading package punkt to
[nltk_data]     /Users/xandersong/Library/Caches/llama_index...
[nltk_data]   Unzipping tokenizers/punkt.zip.
INFO:llama_index.indices.loading:Loading all indices.
INFO:__main__:start_trace: index_construction
INFO:__main__:end_trace: index_construction
INFO:__main__:on_event_start: llm
DEBUG:openai:message='Request to OpenAI API' method=post path=https://api.openai.com/v1/chat/completions
DEBUG:openai:api_version=None data='{"messages": [{"role": "user", "content": "What is Arize?"}, {"role": "assistant", "content": "Arize is a ML observability platform."}, {"role": "user", "content": "Can you explain what that means?"}], "stream": false, "model": "gpt-3.5-turbo", "temperature": 0, "max_tokens": null, "functions": [{"name": "query_engine_tool", "description": "Useful for running a natural language query\\nagainst a knowledge base and get back a natural language response.\\n", "parameters": {"title": "DefaultToolFnSchema", "description": "Default tool function Schema.", "type": "object", "properties": {"input": {"title": "Input", "type": "string"}}, "required": ["input"]}}], "function_call": "auto"}' message='Post details'
DEBUG:urllib3.util.retry:Converted retries value: 2 -> Retry(total=2, connect=None, read=None, redirect=None, status=None)
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): api.openai.com:443
DEBUG:urllib3.connectionpool:https://api.openai.com:443 "POST /v1/chat/completions HTTP/1.1" 200 None
DEBUG:openai:message='OpenAI API response' path=https://api.openai.com/v1/chat/completions processing_ms=4666 request_id=5136dd250bd363ef02e6331851a3eaeb response_code=200
INFO:__main__:on_event_end: llm
Certainly! ML observability refers to the ability to understand and monitor the behavior and performance of machine learning models in production. It involves tracking and analyzing various metrics, such as model accuracy, latency, and resource utilization, to ensure that the models are performing as expected and to identify any issues or anomalies.

Arize is a platform that provides ML observability tools and capabilities. It helps data scientists, machine learning engineers, and AI practitioners gain insights into their models' performance and behavior in real-world scenarios. Arize allows users to monitor and analyze key metrics, visualize model performance, and detect any drift or degradation in model performance over time.

By using Arize, organizations can ensure that their machine learning models are delivering accurate and reliable results, identify and troubleshoot any issues that may arise, and ultimately improve the overall performance and effectiveness of their ML systems.

@axiomofjoy so the reason is

we moved callbacks to the base LLM object -- which means their events get tracked everywhere, even in agents/chat engines
We don't have specific traces to the agent yet

I guess the solution here is to add trace events to the chat engines/agents
I can try and tackle that tomorrow morning 👍🏻 Shouldn't be too bad

Sounds good, thanks @logan-markewich!

@axiomofjoy created a PR to tackle this!
https://github.com/jerryjliu/llama_index/pull/7304

@sourabhdesai Nice, excited to try it out!


FileMode and FileAttribute not exported

Even tough FileMode and FileAttribute are public:

https://github.com/GabrielMajeri/uefi-rs/blob/9bce39c5dbb6299d4ead161c06ae4b1721a5ceec/src/proto/media/file.rs#L176
https://github.com/GabrielMajeri/uefi-rs/blob/9bce39c5dbb6299d4ead161c06ae4b1721a5ceec/src/proto/media/file.rs#L184

they are not exported to external users of the library:

https://github.com/GabrielMajeri/uefi-rs/blob/9bce39c5dbb6299d4ead161c06ae4b1721a5ceec/src/proto/media/mod.rs#L7

Is there another way to get access to these bitfields that I'm missing?

I think this is just a visibility oversight, which wasn't seen because this part doesn't have tests yet. We should probably fix both of these problems at the same time.
To prevent filesystem tests from having a long-lasting impact on the testing environment (even if there's a bug in them), it would be good to have them operate on a throwaway ramdisk which QEMU discards at the end.

@GabrielMajeri I have a number of things enqueued at the moment and will not be very available in the coming days, feel like taking this one?


show preview not working

when I click on show preview it give this notification and do not show the review -   Error loading WebView: Error: Could not register service worker: InvalidStateError: Failed to register a ServiceWorker: The document is in an invalid state.

Are you using a code tunnel or codespaces?

Thanks for creating this issue! We figured it's missing some basic information or in some other way doesn't follow our issue reporting guidelines. Please take the time to review these and update the issue.
Happy Coding!

when i  change the by default IP address then its show the " the IP address is not formatted correctly" even when i done all things right..

Error loading webview: Error: Could not register service worker: InvalidStateError: Failed to register a ServiceWorker: The document is in an invalid state..

when i change the by default IP address then its show the " the IP address is not formatted correctly" even when i done all things right..

see https://github.com/microsoft/vscode-livepreview/issues/588

Are you using a code tunnel or codespaces?

^


Memory per vCPU is confusing

Memory per vCore	1x	2x Basic	2x General Purpose
Can you explain??

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

ID: f0f76399-d904-03fe-f033-94c00edda853
Version Independent ID: f79ccda7-bd6e-3204-b8a6-a48840ee6123
Content: Pricing Tiers in Azure Database for MySQL
Content Source: articles/mysql/concepts-pricing-tiers.md
Service: mysql-database
GitHub Login: @jan-eng
Microsoft Alias: janeng

@janeng @ajlam  Could you please take a look at this question. Thanks ~Jason #in-process

@vikaskumawat80 Thanks for the feedback! I have assigned the issue to the content author to investigate further and update the document as appropriate.

@vikaskumawat80 Thanks for providing this feedback. We will work on making this more clear int he document. What we mean to say here is that basic is the baseline and that General Purpose gets twice as much memory compared to basic and Memory Optimized gets twice as much as General Purpose (so four times as much as basic) for the same amount of provisioned cores.


async completion widget is sometimes later shown than it is closed

I think this picture illustrates the problem quite well:

I tried to analyse the problem a little bit, and I think the following is going on:

The completion is started when I press i.
When I press ; the completion widget is not yet inserted. Which means that this eventListener is also not loaded: this.cm.on("cursorActivity", activity);. Normally the activity functions check is the widget has to be removed on user activity.
Now somewhat later the widget is inserted, and the event listener is added. But ; is already pressed, and the event listener didn't catch that.

I guess a solution could be to register a event listener for cursorActivity already before the widget is inserted, and then if (widget == null), it could check similarly as in the activity function if the completion popup has to be cancelled.

That's a good point. Could you see whether patch 0a83a4b solves the issue for you?

@marijnh thanks, that patch solves it for me :)

0a83a4b broke completeSingle: true.

Oops, I routed all calls around the method that was supposed to handle that and did not notice. Attached patch should fix this.


Allow an isolate to have a simple random uuid

The jsg::Lock::getUuid() will lazily create a random uuid for the
isolate instance. It is expected that this will primarily be used for
logging/diagnostics in DO cases. The uuid is generated lazily so there
is zero cost if the uuid is never used.
( Prompted by a chat with @bcaimano )
Another option would be to just log the memory address of the isolate itself but the requirement here is that the uniqueness be relatively guaranteed for the lifetime of the process, which we can't guarantee with the pointer address. We could also use a simple counter but that would likely require a lock. lazily creating the uuid here seems Good Enough (tm).

Exposing on js::Lock is just a convenience for some cases. You can get the uuid without acquiring the lock by going directly to IsolateBase... e.g. IsolateBase::from(isolate).getUuid()

Yeah I'll fix that test up in a bit. Can you look at the internal PR also so I can get this landed once CI comes up green?


Resting response

Under some circumstances, saying nothing is a valid response. I am considering experimenting with adding functionality for a special response type that indicates that the bot should not respond. It would also be interesting to see if a long pause in a conversation with a user could be interpreted as a non-response in which case the bot could learn to reply with something like "Are you still there?".

Possible attributes

duration - the length of time that the pause lasts

Use cases

An adapter needs a default response for a case where it should not respond (0 confidence)
A filter removes all possible responses

I think this can turned into questions bot-user,

If user repeating same questions asking Are you a robot?
Restrict users flooding with chat message other than corpus data


Extract Optimistic Mutex Future Into A Separate Crate

Unless a better solution comes along for N way locking in a future, I think this would remain useful for us.
Updating the architecture to where we avoid this synchronization would actually be more painful in many cases, and the alternative is to not allow many of our manager (disk/peer/handshake) sinks to be cloneable (which is painful for clients to deal with).

Ref #107 where we added such code.


Add extension system for the GCPLineage transport

This would allow further customization of the GRPC connection settings

thanks for your contribution @jphalip !
a few notes:

would you mind adding some more context to the description on what kind of customization this enables, for reference.
can you also follow the DCO guidelines?
the build for the client is failing.

Thanks @harels

This would allow customizing the gRPC connection, for example by setting specific request headers in some environments.
I've just resubmitted the commit with the signoff.
I'm not sure I could see the failures. Could you please share the error messages?

UPDATE: Actually, I could see that it was failing because of Spotless. I've just updated the commit to included the spotlessApply'ed code. Hopefully that fixes it.

All the customisations can be achieved with ServiceLoader and loading custom classes. On the other hand, I think we should try to limit the amount of extensions allowed and try to implement them as generic as possible. The interface:
public interface GCPLineageTransportExtension {
  void updateSettings(com.google.cloud.datacatalog.lineage.v1.LineageSettings.Builder builder);
}

seems tightly-coupled with gcp classes.
Perhaps you can write few more lines about the problem, so that we could think if there is some more generic solution to this.
If a problem is: in my runtime I would like to inject extra transport settings which cannot be passed through standard configuration way (like env properties, spark config or yml file), then the solution would be to allow providing custom extensions to overwrite SparkOpenlineageConfig, which contains transport config entries you need.

in my runtime I would like to inject extra transport settings which cannot be passed through standard configuration way (like env properties, spark config or yml file)

This is indeed the problem we're trying to solve for.
I'm unclear about the solution you're proposing:

the solution would be to allow providing custom extensions to overwrite SparkOpenlineageConfig, which contains transport config entries you need.

Could you clarify?

Sure, I can clarify on this.
Within Spark integration, there is ArgumentParser class with a parse method:
https://github.com/OpenLineage/OpenLineage/blob/1403415145213da5a7f76fadd29e473a1966ef24/integration/spark/app/src/main/java/io/openlineage/spark/agent/ArgumentParser.java#L67
This methods tries reading configuration from the yaml file:
https://github.com/OpenLineage/OpenLineage/blob/1403415145213da5a7f76fadd29e473a1966ef24/integration/spark/app/src/main/java/io/openlineage/spark/agent/ArgumentParser.java#L71
and environment variables:
https://github.com/OpenLineage/OpenLineage/blob/1403415145213da5a7f76fadd29e473a1966ef24/integration/spark/app/src/main/java/io/openlineage/spark/agent/ArgumentParser.java#L71
and Spark config as well:
https://github.com/OpenLineage/OpenLineage/blob/1403415145213da5a7f76fadd29e473a1966ef24/integration/spark/app/src/main/java/io/openlineage/spark/agent/ArgumentParser.java#L77
Configuration objects are merged by mergeWith method.
One could create CustomConfigExtractor interface with a method:
SparkOpenLineageConfig extract()

and try instantiating it with ServiceLoader. In case it was present, one can merge SparkOpenLineageConfig returned from CustomConfigExtractor  with the already created SparkOpenLineageConfig instance.

Thanks for the clarification. If I understand correctly, this would require adding attributes to the SparkOpenLineageConfig class (and other descendants of OpenLineageConfig for other integrations), is that correct? If so, then I would prefer not using that route as this could pollute those classes with lots of attributes that no one should really ever care about. Do I make sense?


chore(package): update eslint to version 3.9.0

https://greenkeeper.io/

This pull request is now managed with CodeReviewHub. Refresh.


Sentence case: IT'S -> it s

First of all, thank you for developing such a useful plugin. It has been incredibly helpful.
I encountered an issue when using command 'Sentence case' on the text IT'S. The output produced was It s, whereas I expected it to be It's.
Could you please look into this and provide any guidance or fixes necessary to resolve the issue?
Thank you!

probably related to this is that it's stripping - from strings as well.
James - sit down
becomes
James Sit Down


keep the polarity on spirals with doped slabs on the bends

How can we keep the polarity on spirals with doped slabs on the bends?
import gdsfactory as gf

if __name__ == "__main__":
    c = gf.components.spiral_inner_io(
        cross_section=gf.cross_section.pin, waveguide_spacing=25, radius=30
    )
    c.show()

@SkandanC

if __name__ == "__main__":

    c = gf.components.spiral_inner_io(
        cross_section=gf.cross_section.pin,
        waveguide_spacing=25,
        radius=30,
        cross_section_bend=gf.partial(gf.cross_section.pin, mirror=True),
        asymmetric_cross_section=True
    )
    c.show()

See #1049 and #1433

It would be nice to take another look at the general solution at some point https://github.com/gdsfactory/gdsfactory/issues/1049#issuecomment-1366908027


[4.0] [tvOS] Basic tvOS Support

Same as #45829 for master and basic Metal Support (via MoltenVK)

Added basic tvOS support.
Implements already closed but not implemented proposal: https://github.com/godotengine/godot-proposals/issues/224
Platform code is based on iOS platform code with minor changes (some iOS stuff isn't available on tvOS).
Audio interruption was also removed - AppleTV don't seem post interruption notification correctly or in right order, which results in game freezing after application loses focus.
Keyboard input backed was changed so keyboard input actually works.
Input is handled by controllers. Apple/Siri Remote are also considered controller (micro)
Export code (including plugins) is also based on iOS platform since both of them export into Xcode project.
But export is also simpler:

Launch screen is storyboard based (no need for launch images)
tvOS project supports empty Apple Team ID
Icons, Signatures and certificates are handled by Xcode project

Core code has been modified to address tvOS unsupported features - no fork and execvp.
Rendering code has been modified for tvOS to use same paths/methods as iOS's.
Mono haven't been ported.
GDNative uses same configuration as iOS platform.

Is there an option to change this so the iOS platform can be used or is this a case once again that Apple will flat out reject your bundle if it contains code not applicable to the platform you're deploying on?
It feels very messy to have a complete duplication of the iOS platform just to apply a few minor changes. It will be a nightmare to keep them in sync.

Is there an option to change this so the iOS platform can be used or is this a case once again that Apple will flat out reject your bundle if it contains code not applicable to the platform you're deploying on?
It feels very messy to have a complete duplication of the iOS platform just to apply a few minor changes. It will be a nightmare to keep them in sync.

We could probably try hiding platform's tvOS/iOS only methods behind TVOS_ENABLED flag as well as using objc availability API - this would allow to use same godot_view for both platforms. We can probably also use some stuff without changes that's currently are the same between platforms - joypad should be among them. But I'm not sure how well it could be supported/scaled if thing become more separate between this platforms. There are also plugin that can only partially be migrated without changes.
Xcode project also should be separate - there are stuff that don't share as well as works differently. We can probably work it out by using targets, but it would really be a mess to support.
And I'm also not sure how App Store will react to it - fighting bitcode stuff is hard already :)

When i submit a version to apple (Apple TV) i got this problem. Can anyone check it this problem still?
https://github.com/godotengine/godot/issues/46565

Coming back to this PR I now think, that keeping single code base might be a better solution after all.
But would it be possible to have two different exporters for iOS and tvOS in this case?

Coming back to this PR I now think, that keeping single code base might be a better solution after all.

If we can keep a single code base that would look much better to me indeed, like we do with Linux/FreeBSD/OpenBSD/NetBSD.

But would it be possible to have two different exporters for iOS and tvOS in this case?

Depending on how similar the export presets would be, this could be hacked in like it's done for JavaScript's three separate templates (regular, threads, gdnative) to have a checkbox or an enum to select tvOS support while using the common preset.
If the presets need to be fully separate, then some additional work might be needed. That's probably something we want to consider anyway if we ever want to provide some official form of support for *BSD platforms (currently to export for those platforms you have to replace the Linux templates by custom builds made for the BSD platform you want to target), or for Linux embedded (Raspberry Pi, etc.).

Hi,
Any news when it will be available?

Any news when it will be available?

I stumbled on this thread while researching why someone would pick Godot Engine over other game development software. I think the better question is, "What needs to be done?"
So far, I see a few issues...

And I'm also not sure how App Store will react to it - fighting bitcode stuff is hard already :)

Heh, that's a constant issue with Apple. 😄
I think that's a testing problem. Someone is going to have to try and get their game through Apple's review process. Actually, probably a few someones, to show that Apple TV games built with Godot Engine are consistently approved.
But, it looks like this Pull Request needs some work first. I'm not quite sure where it's at.

The only problem I see right now is detect.py file that is made specifically for iOS export. I don't see any way of changing methods like can_build, get_name to support both platforms in single configuration.

So, if I'm understanding this correctly, it looks like there's a debate of a single iOS / tvOS codebase, but there's a blocker with configuration. New to this, I had to figure out what that meant... is this an issue with Swift / Xcode or Godot Engine. Apparently, after seeing this webpage, it's the latter.
I don't think I'll be able to help with that problem right now, as I should actually try installing the Godot Engine first. HA HA! 😄
...but this is interesting! It looks like it's a milestone for version 4.0 — nice!

Hi,
I have two games running on my Apple TV, but godot don't publish support for it.
There is any way to get a recent editor version with tvos support?
Thanks.

@paulo-coutinho you should be able to fork and build editor and template using branch from this PR https://github.com/godotengine/godot/pull/45829.
It might be necessary to rebase from Godot's 3.x before building to have all newest features and changes.

Superseded by https://github.com/godotengine/godot/pull/58976 and https://github.com/godotengine/godot/pull/58977


(Chore) descrease amount of jwt login calls to server

During high load times there's a large number of login calls that fail with timeout or network error
Currently call to server auth endpoint is called on every app refresh, there's no need.
Lets reduce the number of calls according to the JWT expiration date or if no jwt exists.

@sirpy there is no exp field on the token on iat (issued at) to determined if the token is expired i need to know how old can the token be before it is considered expired?

@sirpy there is no exp field on the token on iat (issued at) to determined if the token is expired i need to know how old can the token be before it is considered expired?

also there is the auth/eth call to get jwt and auth/ping
what I am currently doing only takes care of the auth/eth call and not auth/ping

also there is the auth/eth call to get jwt and auth/ping
what I am currently doing only takes care of the auth/eth call and not auth/ping

@sirpy @serdiukov-o-nordwhale please review these PRs

@sirpy @serdiukov-o-nordwhale please review these PRs


[BUG] Unable to run deepspeed comm TestDistInitNoEnv test with 0.9.3 onwards

Describe the bug
Unable to run deepspeed comm TestDistInitNoEnv test with 0.9.3 onwards, getting keyError Rank.
To Reproduce
Run comm tests from Deepspeed repo with deepspeed 0.9.3 or higher:
pytest -v --forked tests/unit/comm/test_dist.py::TestDistInitNoEnv

The test fails with the following error:
  File "/opt/conda/envs/ptca/lib/python3.8/site-packages/deepspeed/comm/comm.py", line 148, in init_deepspeed_backend
    rank = int(os.environ["RANK"])
  File "/opt/conda/envs/ptca/lib/python3.8/os.py", line 675, in __getitem__
    raise KeyError(key) from None
KeyError: 'RANK'

Detailed steps for reproduction:

Use image: mcr.microsoft.com/azureml/aifx/stable-ubuntu2004-cu117-py38-torch1131
Update deepspeed to 0.9.3: pip install -U deepspeed==0.9.3
Install pytest-forked: pip install pytest-forked
Clone Deepspeed repo
Run tests from deepspeed repo with the below command:

pytest -v --forked tests/unit/comm/test_dist.py::TestDistInitNoEnv

Expected behavior
The test should pass.
ds_report output
Setting ds_accelerator to cuda (auto detect)
--------------------------------------------------
DeepSpeed C++/CUDA extension op report
--------------------------------------------------
NOTE: Ops not installed will be just-in-time (JIT) compiled at
      runtime if needed. Op compatibility means that your system
      meet the required dependencies to JIT install the op.
--------------------------------------------------
JIT compiled ops requires ninja
ninja .................. [OKAY]
--------------------------------------------------
op name ................ installed .. compatible
--------------------------------------------------
async_io ............... [NO] ....... [OKAY]
cpu_adagrad ............ [NO] ....... [OKAY]
cpu_adam ............... [NO] ....... [OKAY]
fused_adam ............. [NO] ....... [OKAY]
fused_lamb ............. [NO] ....... [OKAY]
quantizer .............. [NO] ....... [OKAY]
random_ltd ............. [NO] ....... [OKAY]
 [WARNING]  please install triton==1.0.0 if you want to use sparse attention
sparse_attn ............ [NO] ....... [NO]
spatial_inference ...... [NO] ....... [OKAY]
transformer ............ [NO] ....... [OKAY]
stochastic_transformer . [NO] ....... [OKAY]
transformer_inference .. [NO] ....... [OKAY]
utils .................. [NO] ....... [OKAY]
--------------------------------------------------
DeepSpeed general environment info:
torch install path ............... ['/opt/conda/envs/ptca/lib/python3.8/site-packages/torch']
torch version .................... 1.13.1
deepspeed install path ........... ['/opt/conda/envs/ptca/lib/python3.8/site-packages/deepspeed']
deepspeed info ................... 0.9.3, unknown, unknown
torch cuda version ............... 11.7
torch hip version ................ None
nvcc version ..................... 11.7
deepspeed wheel compiled w. ...... torch 1.13, cuda 11.7

Screenshots

System info (please complete the following information):

OS: Ubuntu 20.04
Python version: 3.8
Torch: 1.13.1, 2.0.0, 2.1.0 (nightly)

Docker context
Shared above

PR https://github.com/microsoft/DeepSpeed/pull/3642 should fix this issue.


bump go module version to v2

Signed-off-by: Zbynek Roubalik<EMAIL_ADDRESS>
Provide a description of what has been changed
Fixes #1319

@n3wscott PTAL


Entrypoint undefined = extract-text-webpack-plugin-output-filename after upgrade to webpack 4

I got this error

My webpack.config file
const path = require("path");
const webpack = require("webpack");
const ExtractTextPlugin = require("extract-text-webpack-plugin");
const UglifyJSPlugin = require("uglifyjs-webpack-plugin");

module.exports = {
  entry: {
    main: "./wwwroot/frontend/js/main.js"
  },
  output: {
    path: path.resolve(__dirname, "wwwroot/dist"),
    filename: "[name].js",
    publicPath: "/dist/"
  },
  plugins: [
    new ExtractTextPlugin({
      filename: "cmscore.css"
    }),
    new UglifyJSPlugin({
      sourceMap: true
    })
  ],
  module: {
    rules: [
      {
        test: /\.scss$/,
        use: ExtractTextPlugin.extract({
          fallback: "style-loader",
          use: "css-loader!sass-loader"
        })
      },
      {
        test: /\.(js|jsx)$/,
        exclude: /node_modules/,
        use: ["babel-loader", "eslint-loader"]
      }
    ]
  },
  watch: true
};

Am I missing something or webpack 4 is not ready to use with this plugin ?

Webpack 4's new tapable plugin library broke some of the existing plugins. The fix should be relatively simple

I get this error in dev mode not sure about prod mode may be the same lol @RussGlover

I get this same error in Webpack 4. Regardless of mode.

Somebody can create minimum reproducible test repo?

Same error here,
The build is performed properly but when I enter the local server the entry point is not loaded.

Same issue here. The fix probably isn't that big of a task. If I had more knowledge on this I would make a PR. Is there any ETA for the fix. I now have to downgrade to Webpack 3 just for this plugin.

Is Webpack 4 even ready for production use? I feel like they need to delay a few more weeks to allow some of the most important plugins to be updated?

@leereichardt After using it for a couple of days, my survey would be no. It still works, but for a program as reliant on plugins as webpack is (especially those under the quasi-official webpack contrib), I would expect the release of v4 to correspond to all the important plugins being updated to v4.

@leereichardt

Webpack 4's new tapable plugin library broke some of the existing plugins. The fix should be relatively simple

So it has been said on various issues for the past 50 odd days. Yet this relatively simple fix hasn’t been fixed?

not sure why is take so long

Responding here because I'm being notified of your recent comment. How about instead of complaining here, you contribute by helping in fixing the broken tests in the v4 compatibility PR ?
Thanks to the maintainers that have provided our project with smooth upgrade paths from the early days of webpack. We are experiencing the same issue and will appreciate it being fixed as soon as the maintainers can handle it.

We just raise the concern, not complain. Also If I knowledge I would make Pr and fix it for you guys

Same issue here, with webpack 4

We have a lot of issue when webpack@4 was shipped. :disappointed:
Feel free to PR to fix this.

I can look on ETWP only on next week, sorry

Same issue in Webpack 4. Regardless of mode

Maybe entrypoint undefined = xxx is a unfinished feature of webpack 4.  ? ? ?

CSS Module Type — CSS as Entry (Goodbye ExtractTextWebpackPlugin)

HTML Module Type — HTML as Entry

And Javascript EntryPoint doesn't have any errors.

    stats: {
        ...
        children: false,
        ...
    },

Setting the property children to false will show off the log info.
But I don't what happened.

Is there any updated on this? Any solution to resolve the issue "entrypoint undefined"? Thanks.

Same error with webpack 4 :    Entrypoint undefined = extract-text-webpack-plugin-output-filename.

Alot of people are having this issue. Can this be resolved please?

I have experiencing those messages for all non-js entrypoints, like css or html(how I undestand this), but with js entypoint I specified manually it shows correct output Entrypoint main [big] = js/main.3bf77c.js ./css/main.f871d2.css js/main.3bf77c.js.map and it's not causing any real problems, just those messages. Application is working as it suppose to. So what's real problem with that?

If you're only using the extract-text plugin for CSS, you can use this plugin instead: https://github.com/webpack-contrib/mini-css-extract-plugin
It's compatible with webpack 4.

Works perfectly with https://github.com/webpack-contrib/mini-css-extract-plugin. Thanks !

TL;DR Use mini-css-extract-plugin instead :)
The webpack >= v4.0.0 'support' for extract-text-webpack-plugin was moved to mini-css-extract-plugin as more lightweight approach for webpack >= v4.0.0 and ETWP entered maintenance mode. We are sorry for the inconvenience here, but ETWP reached a point where maintaining it become too much of a burden and it's not the first time upgrading a major webpack version was complicated and cumbersome due to issues with ETWP. The mid-term plan is integrate CSS support directly into webpack to avoid this kind of issue in the future

@mauriciofergo Did you find the solution I have the same entry point in my application.

Sorry @maphi88 but I'm not continuing with the migration, good luck!

@mauriciofergo #759 about compatibility section in the README file

@michael-ciniawsky
mini-css-extract-plugin not working for me, because I needed to set publicPath in config.
ETP prodive this posibility
 use: ExtractTextPlugin.extract({
                        publicPath: '../',

But mini-css-extract-plugin has no options(
Any ideas how to fix "Entrypoint undefined = extract-text-webpack-plugin-output-filename" ?

@7iomka check my pr to help you config webpack 4
https://github.com/Awesome-CMS-Core/Awesome-CMS-Core/pull/71/files

mini-css-extract-plugin currently doesn't work with this error:
Module build failed: TypeError: this[NS] is not a function
I'd stay with extract-text-webpack-plugin, it's better to just see a warning :)

Is this issue closed, Is there a solution for this issue? Moving to other plugin is the only solution.

Switching to mini-css-extract-plugin brings a whole new set of problems and doesn't solve the build issues.

I just tried mini-css-extract-plugin again, version 0.4.0 and it works well with SCSS extraction. As authors of extract-text-webpack-plugin has suggested, you'd better to use  mini-css-extract-plugin for CSS now :)

@samboustani what are your problems? did you raise issues?

Hi @tiendq
Entrypoint mini-css-extract-plugin = *
When i use mini-css-extract-plugin I got above entry point. And it still stop bundling.
{
test: /.(sa|sc|c)ss$/,
use: [
MiniCssExtractPlugin.loader,
'css-loader',
'sass-loader',
],
}
new MiniCssExtractPlugin({
  filename: '[name].min.css'
}),

+1

Well done @ngohungphuc , your solution was the only one that worked and helped me not pulling all my hair out. Thanks a lot buddy!

@wp-kitten no problem glad that I can help 😄

Hy !!!
do not forget to exclude node_modules, it was OK for me :
module: {
rules: [
{
test: /.scss$/,
exclude: /node_modules/,
use: ExtractTextWebpackPlugin.extract({
fallback: 'style-loader',
use: [{
loader: 'css-loader',
options: {minimize: true}
}, 'sass-loader', 'postcss-loader', 'import-glob-loader']
})
},


Fall back to jquery.i18n v1.0.4

I'm not sure if this is necessary or not. I updated to v1.0.7 as part of the fix for #2700. The speculation about the jQuery version was a red herring, but I'm not sure how closely coupled jquery.18n is to the base jQuery. v1.0.4, which we had before, is a reasonably close match for the vintage of jQuery that we run.
@wetneb Any opinions on the lowest risk path forward? v1.0.4 (our previous version) or v1.0.7 (the current version which lists a dependency of jquery 3.5.1) or perhaps an intermediary version?

Not sure about this! Perhaps it was indeed a bit of a bold move to update a dependency at this stage in the release process of 3.4, but I would be inclined to keep the new version now.
The previous JS file we had for this library was minified, the new one is not. Was this intentional?
I am thinking that minified files have two advantages:

they are lighter
they discourage our own contributors from editing them (we should stick to official releases as much as possible)
That being said that is clearly not a hill I will die on. The proper solution would be to have a real package manager to handle our JS dependencies and stop copying them in the repository, I would say.

OK. Logically there shouldn't really be much/any coupling between the i18n library and the underlying version of jQuery.
Is there a distribution with minified files? I didn't see anything obvious. Or did you minify them by hand?
Doesn't everything get bundled together and minified as part of the packaging? That would be the other way to address this, but I haven't looked into how the packaging is done.

I am not sure where I got the minified version from, I do not remember doing the minification myself.
There is no minification in our packaging process at the moment.

Closing for now. We can resurrect the branch we run into problems with v1.0.7, but hopefully it'll be fine.


add missing 'io.kompose.service' label to Route and Ingress

This was caussing 'kompose down' not to delete Route and Ingress
fixes #510

@kadel I tried this out but seems it doesn't delete the route in OpenShift :(

really?
I just tried that again, and it is working for me.

@kadel , @procrypt I tried this and it works for me :)
@procrypt , I think you created route manually.

ping @cdrage @procrypt @surajssd

Ah this works for me now, tested again, @kadel LGTM.

LGTM :+1:


Cal-Heatmap Data inputs

Fetch request to db to get data displayed correctly on cal.

Starting this.


Document the project design

Contributors and integrators need to have a clear view of how the project works.

It is important that we have table which maps for each annotation the type of ressources generated
| Name | Generated resource | Optional resources (included with configurator | visitor)|
| ---- | ---- | ---- |
| @KubernetesApplication | K8s Deployment  | Label, Annotation, Env, Port, Mount, SecretVolume, ConfigMapVolume, PersistentVolumeClaimVolume, AzureFileVolume, AzureDiskVolume, AwsElasticBlockStoreVolume |
| @KubernetesApplication | K8s Deployment | N/A |


Mav class

This is more or less what we discussed. Compared to before:

it is easier to see which parameters, telemetry messages and tasks are associated with each module
the main files are shorter
you can inherit from a MAV class and override only the parts you need

TODO:

[x] Make init functions virtual to allow easy inheritance
[x] Move creation of tasks to init functions
[ ] Create a minimalistic MAV_base class that contains no logic, no filters, no controllers
[ ] let LEQuad inherit from MAV_base

This is a nice clean up! :+1:

@mdouglas90 @ndousse @GregoireH @alexcherpi Here is the LEQaud class.
Please have a look and let me know what you think.

If you like it I propose to merge it like this.
The next step will be the MAV_base. It can come later and will be transparent if you inherit from LEQuad in your project.

@GregoireH I will fix the documentation and misalignment. But for the rest, I just copy pasted what was in central_data.cpp, mavlink_telemetry.cpp, and tasks.cpp.

I'm fine with these changes. Does everyone else think that this is ready to merge?

Nice! I love it


Add resource type and editor plugin for text files

Add RawText to handle text files as resources.
Add RawTextEditorPlugin to edit text files with code highlight.

Supported code highlight:

Bash Shell
C/C++
C#
CSS
JSON
Javascript/ECMAScript 6
Python
INI/TOML configuration files
XML When XML_ENABLED is not defined
YAML

@djrm Could you please add an icon to RawText after this is merged?

Seems to have missed the discussion in #1390.
While this is very cool I'd rather have it in the same place of the script editor, listing the open text files along with scripts and help.

The problem is that ScriptEditor is designed to work with ScriptTextEditor, which only works with scripts. However, this should be doable, but with some refactoring effort :P

@vnen Sounds great about that.
More features may be implemented in another day or by other guy because I have no enough time and energy in the few days.

I actually looked into this and the reason I didn't make the feature is because it's a great deal of work, but it is totally possible to refactor the ScriptEditorPlugin to allow another text editor. It already works with the help pages. I didn't do it because we're quite late for 2.1 and I wanted to focus on other things so this release can be finished.
I'm not sure if I want this PR's editor as it is, because it is kinda off-place. And there's the problem discussed in #1390 about whether it should handle any text file or just a bunch of recognized extensions. Maybe the user has their own text format for their game data and want to use the in-engine text editor.
The code highlighting from here is quite good though, and it can certainly be used if/when the text editor in script tab is implemented.

@vnen OK, I will keep this PR open before the new ScriptEditor release.
Please feel free to take code from this PR if it is usable.
2016年6月20日 23:13，"George Marques"<EMAIL_ADDRESS>
I actually looked into this and the reason I didn't make the feature is
because it's a great deal of work, but it is totally possible to refactor
the ScriptEditorPlugin to allow another text editor. It already works with
the help pages. I didn't do it because we're quite late for 2.1 and I
wanted to focus on other things so this release can be finished.
I'm not sure if I want this PR's editor as it is, because it is kinda
off-place. And there's the problem discussed in #1390
https://github.com/godotengine/godot/issues/1390 about whether it
should handle any text file or just a bunch of recognized extensions. Maybe
the user has their own text format for their game data and want to use the
in-engine text editor.
The code highlighting from here is quite good though, and it can certainly
be used if/when the text editor in script tab is implemented.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/pull/5311#issuecomment-227172327,
or mute the thread
https://github.com/notifications/unsubscribe/AGpFTESFqj8-TU9pk1wAMl4JgNxoB1vrks5qNq4sgaJpZM4I5jwr
.

@vnen OK, I will keep this PR open before the new ScriptEditor release.
Please feel free to take code from this PR if it is usable.
2016年6月20日 23:36，写道：

@vnen OK, I will keep this PR open before the new ScriptEditor release.
Please feel free to take code from this PR if it is usable.
2016年6月20日 23:13，"George Marques"<EMAIL_ADDRESS>
I actually looked into this and the reason I didn't make the feature is
because it's a great deal of work, but it is totally possible to refactor
the ScriptEditorPlugin to allow another text editor. It already works with
the help pages. I didn't do it because we're quite late for 2.1 and I
wanted to focus on other things so this release can be finished.
I'm not sure if I want this PR's editor as it is, because it is kinda
off-place. And there's the problem discussed in #1390 about whether it
should handle any text file or just a bunch of recognized extensions. Maybe
the user has their own text format for their game data and want to use the
in-engine text editor.
The code highlighting from here is quite good though, and it can
certainly be used if/when the text editor in script tab is implemented.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Yeah, the script editor needs a refactor, and this is not the only thing that has to change.. should do a document specifying everything that has to change

Discussed this one again with @reduz today, it seems it won't be merged in its current state, as it would be better to instance expand ScriptEditor to support other formats instead. Keeping it around as reference implementation and reminder that there is interest in such a feature though :)

Closing this, we should probably make this properly, by adding support in ScriptEditorPlugin


Unity Frontend Development

Design the Front-end part according to the Designs

@Siddhant-Patil0203 I want to work on the front-end development part of our project.

Alright
Please contact me,
or schedule a meet with me


Improve for Accumulo testing

Was using fluo-deploy to test Accumulo 1.7.0 RCs.   Need to make the following improvements

If local accumulo file exists, just use it (not just snapshot files)
Need to write accumulo logs to ephemeral storage or change logging config.   Default config filled up root drive.

Ran into another issue while trying to test Accumulo.  No local ssh keys are setup.  I started the Accumulo agitation script and when I logged off it could not longer ssh between machines.  It would be nice to setup a throwaway ssh key pair on the cluster and add it to the authorized keys files of all the nodes.


Backwards compatibility with Python 3.6 and upper.

Basically substitutes APIs unavailable in lower versions.
I have tested these changes with Python 3.6.8, should any problems arise with other versions please let me know.

Any updates?

I am not really interested in maintaining backwards compatibility with older python versions. Especially since our recommended install method involves using Docker.
Having backward compatibility means that we risk having to use verbose ways of doing things, which in my opinion, is very anti-python.


add loyalty card in apple wallet

are you working on that feature where we can add loyalty card into apple wallet?

Duplicate #30


Any crash in pgml.train poisons global

Any error in pgml.train() poisons the Lazy instance of global state, e.g.
select pgml.train('test user', 'classification', 'pgml.digits', 'target');

[...]

ERROR:  Lazy instance has previously been poisoned

Do you have an example for testing?

Yeah, in the latest version, remove catboost from the venv, and run:
SELECT pgml.load_dataset('digits');
SELECT pgml.train('test', 'classification', 'pgml.digits', 'target'); -- run this line twice


getDiskUsage() won't count only my own tiles

getDiskUsage() would count up all files in the folder, not necessarily filtering by the filename matching the L.TileLayer's name option. As such, two L.TileLayer.Cordova instances which share the same folder but have distinct name options would have their usage "blended together"
This may have implications for Issue #1 (ability to delete tiles) if this same code is used to calculate what tiles to delete: deletion of one layer's tiles may in fact delete them for all layers.
This may be a feature if we document and expect that all tiles sharing the same folder option will share the same usage pool and deletion pool. I've been thinking about the need for a "L.TileLayer.Cordova.Manager" to handle multiple L.TileLayer.Cordova instances and tally up their disk usage, delete them all, etc. This current behavior may be exactly what we want, if it's made clear that getDiskUsage() operates on a folder and not a specific layer

Per the documentation, ability to use "folder" to separate layers into storage pools (or not) is pretty cool, so let's keep it as long as it's well documented.


"Reuse Parameters" does not replace the current LoRAs when the reused image has none

Expected Behavior
When the reused image does not contain any LoRAs, the currently selected LoRAs should be removed to "match" the LoRAs used in the reused image.
Actual Behavior
Any currently selected LoRAs remain selected, even though they were not used in the reused image.
Steps to Reproduce

Select at least 1 LoRA
Select an image which does not contain any LoRAs and click "Reuse Parameters"
See the LoRA from step 1 is still selected

Debug Logs
N/A

Other
No response

Fixed


Machile learning

Description 📜
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context.
Fixes # ML_1_12_Confusion_Matrix

Type of change 📝

-[x ] Documentation (Content Creation in the form of codes or tutorials)

Domain of Contribution 📊

[x ] Machine Learning

Checklist ✅

[x ] I follow Contributing Guidelines & Code of conduct of this project.
[ x] I have performed a self-review of my own code or work.
[ x] I have commented my code, particularly in hard-to-understand areas.
[ x] My changes generates no new warnings.
[ x] I'm GWOC'21 contributor

Screenshots / Gif (Optional) 📸

Create a fresh PR in the machine learning branch @tanvideshmukh29


Please add support for https://noe.orf.at/

Checklist

[x] I'm reporting a new site support request
[x] I've verified that I'm running youtube-dl version 2020.03.24
[x] I've checked that all provided URLs are alive and playable in a browser
[x] I've checked that none of provided URLs violate any copyrights
[x] I've searched the bugtracker for similar site support requests including closed ones

Example URLs

Single video: https://noe.orf.at/player/20200419/NN/1587280144000
Single video: https://noe.orf.at/player/20200419/NN/1587280585000
Playlist: https://noe.orf.at/player/20200419/NN

Description

This is a radio station often featuring interesting interviews and stories I wish to store. Please consider adding support.

I think the logic is already there in https://github.com/ytdl-org/youtube-dl/blob/master/youtube_dl/extractor/orf.py but it has to be wired to that url ...

@dstftw What is the proposed pull request missing? Is there something left to do in your eyes?


Can I remove everything but faces?

Hi, as part of a student games dev project, I'm looking for a linux solution which will remove everything but a face from the image, leaving only the face, and transparent alpha channel ideally.
Can backscrub extract just faces?
The virtual cam output can then be read within a browser 2D platform game for further processing (using players face on their actual player character) .

Interesting question - this won't work out-of-the-box, because all the ML models are trained to segment persons and not faces. But you could try a two-step approach, where you take the person outline from backscrub, and then run a dedicated face detector such as described in https://docs.opencv.org/4.2.0/db/d28/tutorial_cascade_classifier.html (and then just take the intersection of the two regions).

Also if you take a compatible model that only marks faces in the image this might even work with backscrub directly. But depending on the model you will likely need to adapt some stuff to properly integrate the model with the internal processing pipeline we use.

Thanks for the comments. interesting things to look into!


Investigate removing xunit-with-logs in favor of mocha-junit-reporter

Arun found https://www.npmjs.com/package/mocha-junit-reporter. XML result files indicate it successfully collects log data, though at first glance, I'm not sure how.

web team's experience says this is a bad idea


Unified messaging

Description
Changes proposed in this pull request:

...
...
...

Related issue(s)

/test all


Firebase phone auth OTP no longer being read automatically

Android device: Any device
Android OS version: Any version
Google Play Services version: com.google.gms:google-services:4.3.8
Firebase/Play Services SDK version: com.google.firebase:firebase-auth:21.0.1
FirebaseUI version: com.firebaseui:firebase-ui-auth:7.1.1

Step 3: Describe the problem:
Steps to reproduce:
OTP was being read automatically in my app for many months now. It has suddenly stopped working in the last few weeks. There are no specific steps to reproduce - OTP is never read automatically anymore.
I have verified that the SMS template being used is correct and matches the OTP received. I have also enabled Android SafetyNet  / app verification, to no avail.

I'm having the same issue, any clue on how to solve this?

@vijtheveg without specific steps to reproduce, this is impossible to debug. It sounds like if there is a bug it would be in the Firebase Android SDK not FirebaseUI since the base SDK is responsible for reading the OTPs.
If you can gather enough information to make this debuggable, please file an issue on the firebase-android-sdk repo.

Hi Sam,
Instead of closing this issue, can you please let me know what further information you need to debug the issue? I can then try to provide logs, code snippets, etc.
Please do let me know.
Thanks!

The issue template has the information required:
https://github.com/firebase/FirebaseUI-Android/issues/new


Python 2 package incorrectly installed over Python 3 version

[x] I am on the latest Poetry version.
[x] I have searched the issues of this repo and believe that this is not a duplicate.
[x] If an exception occurs when executing a command, I executed it again in debug mode (-vvv option).

OS version and name: Ubuntu 18.04
Poetry version: 1.0.0a2
Link of a Gist with the contents of your pyproject.toml file:

[tool.poetry]
name = "poetry_bug"
version = "0.1.0"
description = ""
authors = ["Steven Pate<EMAIL_ADDRESS>
[tool.poetry.dependencies]
python = "^3.6"
django = "^2.1"

[tool.poetry.dev-dependencies]
pytest = "^4.2"

[build-system]
requires = ["poetry>=0.12"]
build-backend = "poetry.masonry.api"

Issue

Once again, thanks for your work on poetry. I really enjoy using it.
Using the above pyproject.toml, I run poetry add django-allauth which outputs this:
Writing lock file

  - Installing certifi (2018.11.29)
  - Installing chardet (3.0.4)
  - Installing idna (2.8)
  - Installing urllib3 (1.24.1)
  - Installing oauthlib (3.0.1)
  - Installing requests (2.21.0)
  - Installing python-openid (2.2.5)
  - Installing requests-oauthlib (1.2.0)
  - Installing django-allauth (0.38.0)

The key part is Installing python-openid (2.2.5). I'm using python 3.6, and my expectation is that python3-openid would be installed. Here's the relevant line from django-allauth's setup.py.
https://github.com/pennersr/django-allauth/blob/master/setup.py#L106
Any idea why the Python 2 version is being installed? I'm not sure if this is on the poetry end or the django-allauth end.

I took a look at the .tar.gz published, I might have an idea that poetry maintainer will be able to confirm.
In the setup.py, there's this segment:
IS_PY2 = sys.version_info[0] < 3

if IS_PY2:
    openid_package = 'python-openid >= 2.2.5'
    test_requirements.append('mock >= 1.0.1')
else:
    openid_package = 'python3-openid >= 3.0.8'

# ... skipping some code ...

    install_requires=['Django >= 1.11',
                               openid_package,  # My note: The variable defined above.
                               'requests-oauthlib >= 0.3.0',
                               "requests"],

But in django_allauth.egg-info/requires.txt there's:
Django>=1.11
python-openid>=2.2.5
requests-oauthlib>=0.3.0
requests

So in short, the metadata from django_allauth's requires.txt simply list the Py2 variant of the dependencies, not the Py3 ones. A side effect of having custom code in setup.py which depends on which version of python used.
I think that poetry relies on the information in the .egg-info rather than executing the setup.py as pip does. @sdispater Could you confirm this?
django_allauth maintainers could address this by using some standard environment markers in their install_requires list instead of some custom code in setup.py which relies on setup.py always being executed (the World is moving away from that assumption, slowly).
TL;DR django_allauth maintainers should probably update their packaging practices to some newer, better practices.

The authors of django-allauth need to use environment markers instead of custom code in setup.py.

Closing since this is not a poetry issue.


Pipeline in CortexM3

I'm conducting a study about execution time in the Cortex-M3, and your simulator is proving to be very helpful. Is it possible to disable the three pipeline stages of the Cortex-M3 in the simulator? I couldn't find any reference to the pipeline in the code.

The simulator (or emulator) is not really a cycle-accurate simulator, the pipeline is not actually simulated -- instead it works at bit higher level of abstraction.


Fix bug in backing out of a replace

Previously when backing out from a replace, the empty instance in the
placement is not being cleaned up, this diff fixes that.
@xichen2020 @robskillington

Coverage increased (+0.2%) to 90.36% when pulling 80e5bef318bb4ef33d4801bcb7bff31615124b02 on chao-back-off-replace into 9ad5235dfe1d93ac23806492028cae7710f7d0b8 on master.

Coverage decreased (-0.04%) to 90.132% when pulling 8f56b71978b678b0e89f7da67a20d90627f28c04 on chao-back-off-replace into 9ad5235dfe1d93ac23806492028cae7710f7d0b8 on master.


Linode csi plugin added

cc: @tamalsaha

@displague , we have updated the FlexVolume to CSI driver. Also tests added using cs-test https://github.com/pharmer/csi-test/tree/linode


Create CompatHelper.yml

This setup is taken from https://github.com/JuliaRegistries/CompatHelper.jl.

Codecov Report
Base: 13.33% // Head: 13.33% // No change to project coverage :thumbsup:

Coverage data is based on head (310459f) compared to base (eab9587).
Patch has no changes to coverable lines.

Additional details and impacted files
@@           Coverage Diff           @@
##           master      #57   +/-   ##
=======================================
  Coverage   13.33%   13.33%
=======================================
  Files           6        6
  Lines         105      105
=======================================
  Hits           14       14
  Misses         91       91

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

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


Expanded the capabilities of the PushAPI

Changes included:
Downgraded codebase to Java 11. This mostly entailed altering records to traditional Java classes.
Added missing endpoint integrations, particularly for pushing batches of Security Identities, deleting documents, pushing binary files to a File Container, and setting Push API Status.
Added support for multiple environments, each having a different domain.

Hi @brianlangeland , thanks for the contribution, looks good overall 👍
I'm a bit dubious concerning the downgrade from Java 16 to 11, what does motivate the downgrade in your opinion?

There were two reasons why I needed to downgrade the Java version to 11:

The project that will utilize this API is built on Java 11. I'm not able to update it to Java 16 because...
The end application it will all build into runs an OSGi 11 container. The OSGi container would not permit a bundle compiled in a newer version of Java from installing/running (trust me, I tried).

There were two reasons why I needed to downgrade the Java version to 11:

The project that will utilize this API is built on Java 11. I'm not able to update it to Java 16 because...
The end application it will all build into runs an OSGi 11 container. The OSGi container would not permit a bundle compiled in a newer version of Java from installing/running (trust me, I tried).

Hey @brianlangeland , thanks for your answer, I've been documenting myself a bit on the matter.
You're totally right, we should support Java 11, Java 16 is way too early in its adoption. 👍
I checked your changes, they seem fine to me, but for clarity's sake, I'd like you to separate this PR into two if that's okay with you;  One for the new Java Version, another for the new endpoints.
Thanks a lot again for your contr> There were two reasons why I needed to downgrade the Java version to 11:

The project that will utilize this API is built on Java 11. I'm not able to update it to Java 16 because...
The end application it will all build into runs an OSGi 11 container. The OSGi container would not permit a bundle compiled in a newer version of Java from installing/running (trust me, I tried).

Hey @brianlangeland , thanks for your answer, I've been documenting myself a bit on the matter.
You're totally right, we should support Java 11, Java 16 is way too early in its adoption. 👍
I checked your changes, they seem fine to me, but for clarity's sake, I'd like you to separate this PR into two if that's okay with you;  One for the new Java Version, another for the new endpoints.
Thanks again for your contribution 👍

I've created this new PR to handle the shift to Java 11. Once that is merged, I will push an update to this branch/PR which will include just the API changes.

I've updated this branch to just have the remaining changes for the new endpoint functionality, etc, and it is now ready for review.


Sarajevo School of Science and Technology

https://ssst.edu.ba/page/5/computer-science

Okay @philipto, thank you :smiley:

@AmilM7 Pull request merged. Thank you.


v5 full good run test

Add a test that exercises all the v5 validations on a good XML feed. Updates the v5_sample_feed.xml file to include data to check tests that would otherwise not have data to work on.

Is the idea that once this lands, we should add new valid elements (if they aren't already there) to v5_sample_feed.xml in subsequent validation PRs to keep this in sync?

@cap10morgan yeah, we should strive to keep it as full of testable elements as reasonable.

LGTM


Add an example of using multi query

The concept is that a query involves multiple objects instead of just one. We aim to retrieve results for all these objects simultaneously. A straightforward approach is to use frequency voting:

First, we obtain N results for each sub-query, yielding N*X results.
Then, we retain only the N most frequent results.

As the result, we should have an example similar to "Using a trained model for retrieval" (https://github.com/OML-Team/open-metric-learning?tab=readme-ov-file#examples)

The first simplest approach may be voting by frequency.

Hope I understood correctly.
My variante.

responded in DM :)

waiting for https://github.com/OML-Team/open-metric-learning/issues/522

DRAFT (works on oml_3.0_release)
from collections import defaultdict

import numpy as np
import torch
from torch import FloatTensor, LongTensor

from oml.retrieval import RetrievalResults

rr = RetrievalResults(
    distances=[
        FloatTensor([0.1, 0.3, 0.6, 0.9]),
        FloatTensor([0.5, 0.8]),
        FloatTensor([0.1, 0.2]),
        FloatTensor([]),
    ],
    retrieved_ids=[
        LongTensor([0, 1, 2, 3]),
        LongTensor([4, 2]),
        LongTensor([10, 20]),
        LongTensor([])
    ],
    gt_ids=[
        LongTensor([0, 2, 50]),
        LongTensor([0, 2, 50]),  # todo: it may be not consisted
        LongTensor([10, 30]),
        LongTensor([50])
    ]
)

query_groups = [[0, 1], [2], [3]]

rr_expected = RetrievalResults(
    distances=[
        FloatTensor([0.1, 0.3, 0.5, 0.7, 0.9]),
        FloatTensor([0.1, 0.3, 0.5, 0.7, 0.9]),
        FloatTensor([0.1, 0.2]),
        FloatTensor([]),
    ],
    retrieved_ids=[
        LongTensor([0, 1, 4, 2, 3]),
        LongTensor([0, 1, 4, 2, 3]),
        LongTensor([10, 20]),
        LongTensor([])
    ],
    gt_ids=[
        LongTensor([0, 2, 50]),
        LongTensor([0, 2, 50]),
        LongTensor([10, 30]),
        LongTensor([50])
    ]
)

distances_upd, retrieved_ids_upd = dict(), dict()
for group in query_groups:
    group_lens = [len(rr.retrieved_ids[ig]) for ig in group]
    if set(group_lens) == {0}:
        for ig in group:
            distances_upd[ig] = FloatTensor([])
            retrieved_ids_upd[ig] = LongTensor([])

    else:
        dist_group = torch.concat([rr.distances[ig] for ig in group])
        ri_group = torch.concat([rr.retrieved_ids[ig] for ig in group])
        gt_ids = torch.concat([rr.gt_ids[ig] for ig in group])

        ri2dist = defaultdict(list)
        for d, ri in zip(dist_group, ri_group):
            ri2dist[int(ri)].append(float(d))

        ri_dist = [(ri, float(np.mean(d))) for ri, d in ri2dist.items()]
        ri_dist = sorted(ri_dist, key=lambda x: x[1], reverse=False)
        ri_upd, dist_upd = zip(*ri_dist)

        for ig in group:
            distances_upd[ig] = FloatTensor(dist_upd)
            retrieved_ids_upd[ig] = LongTensor(ri_upd)

distances_upd_final = []
retrieved_ids_upd_final = []
for iq in range(len(rr.retrieved_ids)):
    distances_upd_final.append(distances_upd[iq])
    retrieved_ids_upd_final.append(retrieved_ids_upd[iq])

rr_produced = RetrievalResults(distances=distances_upd_final, retrieved_ids=retrieved_ids_upd_final, gt_ids=rr.gt_ids)

print(rr_expected)
print(rr_produced)


Fix missing close body

Please provide a description of this PR:
Fix missing close body when failed scraping envoy metrics

/test release-test

/test release-test


locked nixpkgs index is redownloaded every hour

Describe the bug
Expected behavior: the locked index should be cached as long as the GC root is pinned.
Observed: [155.8 MiB DL] downloading 'https://github.com/NixOS/nixpkgs/archive/ae5c332cbb5827f6b1f02572496b141021de335f.zip' after an hour.
I think this is an upstream issue, maybe the one discussed in https://discourse.nixos.org/t/pinned-nixpkgs-keeps-getting-garbage-collected/12912, but as honestly this is a huge usability papercut for devenv (I'd like to use it broadly, but these frequent refetches are too much) it seems wise to track here to move towards a solution. LMK if this is a dupe or something peculiar to my nix config. My devenv.yaml looks like:
inputs:
  nixpkgs:
    # use nixpkgs from system registry.
    url: nixpkgs

Should be fixed in #745

Ok, I'll start testing the python impl and report back. Thanks Domen!

Let me know if it does :)

Sorry for leaving this open for so long.
This issue is with nix itself, and isn't devenv-specific. Absent a link to a proper writeup, for anyone else struggling with frequent nixpkgs index refreshes, here's what to do:

Assuming you're using a flake to build the output that configures nix itself (either nixos, home-manager).
Use a direct path (skip the registry) for the nixpkgs input to that flake, like nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
Set nix.registry.nixpkgs.flake = inputs.nixpkgs; in your system config module (nixos, hm, darwin, nix-on-droid, etc). This says "use the locked version in the current flake at build time as the system registry nixpkgs". It results in a registry entry (nix registry list) that points at a store path, which ensures no network traffic.

There is a helper nix.generateRegistryFromInputs in the flake-utils-plus module that will do this for all your system flake inputs, which is handy but I haven't implemented it yet.


Invoke make in silent mode

And use the $(MAKE) variable where relevant instead of calling make directly.

/override ci/prow/scorecard
/override ci/prow/integration-ocp


Prioritize Workload which fits in its CQ's Nominal Capacity

What type of PR is this?
/kind bug
What this PR does / why we need it:
We fix the calculation of borrowing in FlavorAssignment for Preemption fit mode. Now, it matches how we calculate borrowing for Fit mode. This ensures that a workload which fits within its CQ's nominal capacity is sorted before an earlier created workload which pushes its CQ over nominal capacity. This sorting is important as this borrowing workload may invalidate the non-borrowing workload's preemption calculations
Which issue(s) this PR fixes:
Fixes #3405
Special notes for your reviewer:
We tweak an integ test which relied on details of FlavorAssigner's borrowing calculations for ordering. By updating the priority of pendingWl, we ensure that it reservers resources and prevents  blockedWl from scheduling.
Does this PR introduce a user-facing change?
Determine borrowing more accurately, allowing preempting workloads which fit in nominal quota to schedule faster

I synced with @gabesaba and did review on a call. The main changes since the initial version were:

added && a.cq.HasParent() to borrow := a.cq.BorrowingWith(fr, val) && a.cq.HasParent()
improve readability of the new test case scenario by matching the workload names to the issue description

Hope this helps, feel free to ask more question in comments if you feel so.
/lgtm
/approve

We are going to cherry-pick this PR along with https://github.com/kubernetes-sigs/kueue/pull/3536

/cherry-pick release-0.9


Delta login & download issue

Describe the bug
Trying to access this data on Delta: https://bbp.epfl.ch/nexus/web/studios/public/thalamus/studios/e9ceee28-b2c2-4c4d-bff9-d16f43c3eb0f
Cannot add data to cart, and csv downloads return empty. Login doesn't work either.
What part of Nexus is affected
Delta
To Reproduce
Steps to reproduce the behavior, e.g. for Fusion:

Go to https://bbp.epfl.ch/nexus/web/studios/public/thalamus/studios/e9ceee28-b2c2-4c4d-bff9-d16f43c3eb0f
Select a file to download and add to cart
Click on cart. It doesn't open.
Try to download CSV instead. click "Download CSV". Downloaded CSV is empty.

Expected behavior

You can add the files to the cart and download them compressed
OR
You can download the files as CSV and the fields are populated.

Screenshots
Screen recording included via this OneDrive link
Additional information
My IP is in Canada. I don't know if that has anything to do with anything, but thought it might be useful.

Dear @tmorshed,
Thanks a lot for taking the time to give us such a detailed feedback, I was able to reproduce the issue and you have identified a bug.
I think the best for now would be for you to open the Single Cell Models one by one, open the Preview plugin and download the ZIP file attached. There are less than 25 of them so it will only take you a few minutes, it's clearly not the user experience we would want you to have but this work around will unblock you faster this way.
Best regards
Samuel


(PUP-11649) Remove Ruby support for less then 2.7

This PR removes the older version of Ruby that are no longer supported. We also remove the pinning of bundler since we are not on Ruby 2.5 anymore.

Superseded in https://github.com/puppetlabs/puppet/pull/8984


explicit provider secrets are shown as plaintext in CLI output

What happened?
Explicit providers sourcing plaintext values from the environment for accessKey, secretKey, token are showing up in the CLI output (pre and up) as plaintext.
Expected Behavior
Regardless if plaintext values are provided to provider or not, they should be marked as secrets (outputs masked).
Steps to reproduce
Create an aws typescript project with the following:
const awsProvider = new aws.Provider("aws-provider", {
        accessKey: process.env["AWS_ACCESS_KEY_ID"],
        secretKey: process.env["AWS_SECRET_ACCESS_KEY"],
        token: process.env["AWS_SESSION_TOKEN"],
        region: <aws.Region>process.env["AWS_REGION"],
    });

set the applicable environment variables with plaintext values. Those plaintext values will show up in the CLI output.
Output of pulumi about
<EMAIL_ADDRESS>Additional context
No response
Contributing
Vote on this issue by adding a 👍 reaction.
To contribute a fix for this issue, leave a comment (and link to your pull request, if you've opened one already).

Related to https://github.com/pulumi/pulumi/issues/10319.

My understanding is if a provider input is marked as Sensitive in the upstream provider, inputs should automatically be marked as Secrets, but it seems that is not true? @lukehoban

@phillipedwards That was also my understanding. I'll take a deeper look into this.

Looks like we still don't have a good fix here, escalating so our team takes a look. Apologies for the wait.

@phillipedwards do you have a reference for "showing up in the CLI output (pre and up) as plaintext." are you perchance running Pulumi with some parameters? on a very simple pulumi up I'm currently not seeing these values exposed on stdout/stderr on the latest version of the provider.
However! I do see the values exposed as plaintext in the statefile which is very bad.
I seem to be able to easily fix that behavior by configuring  the following config options as secret in resources.go:
			"access_key": {
				Secret: tfbridge.True(),
			},
			"secret_key": {
				Secret: tfbridge.True(),
			},
			"token": {
				Secret: tfbridge.True(),
			},

They are not marked sensitive upstream but we can make them secret in the pulumi projection. Doing so encrypts them in the state both in output and in input position, so state is then clear.
I think it's a good change we should take, but if there's any additional leak in the stdout/stderr I would love a repro.


Add Business Goals

Consider implementing a loyalty program or another incentive to grow brand reputation and get the company off the ground.

Added business goals.