Text with markups for easier styling

Is there an existing issue for this?

[X] I have searched the existing issues
[X] I have read the guide to filing a bug

Use case
Sometimes we're writing something like
"This is the place where you can change your password. Etc etc etc etc"
and all we want is to make one single word bold like the example. We can't do that today without changing our widget to TextSpan and creating a lot more code and stuff.
Proposal
So I would like to suggest a feature to make it easier to write text with different styles other than TextSpan.
My suggestion is that we can use the same markups we use here in git "**text**" "_text_" for bold/italic text.
so the previous example in flutter would be much easier to implement.

Text markup is out of scope of flutter, there are a lot of great packages to handle it. And every solution will end with TextSpan usage, as it's the only way to have a paragraph of text where different parts have different styling.

Thanks for your input @moffatman. @Fernandomr88 As I suggested, you can make use of https://pub.dev/packages/flutter_markdown which is a first-party flutter package and per https://github.com/flutter/flutter/issues/131255#issuecomment-1650033295, Text markup is out of scope of flutter. Closing this issue based on these.


feat: rename client localai to openai-compatible

BREAKING CHANGE: rename client localai to openai-compatible

clients:
--  type: localai
++  type: openai-compatible


EJoshuaS - Reinstate Monica: Watch breezendtech.com

EJoshuaS - Reinstate Monica requests the watch of the watch_keyword breezendtech\.com. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

breezendtech\.com has been seen in 0 true positives, 0 false positives, and 0 NAAs.

breezendtech\.com has been seen in 0 true positives, 0 false positives, and 0 NAAs.

Approved by Jeff Schaller in Charcoal HQ

Approved by Jeff Schaller in Charcoal HQ


Multi Device conversation issue in java speech sdk

Describe the bug
Conversation Host's transcribed/transcribing listeners not trigger when a java client participant join conversation with AudioConfig.fromDefaultMicrophoneInput(); But java client participant's transcribed/transcribing listeners work properly,transcribed/transcribing callback received correct result text from self speech
To Reproduce

create Conversation using java sdk
Join this conversation using java sdk with DefaultMicrophoneInput

Expected behavior

both two role in the conversation can receive participant's speech result callback from transcribing/transcribed listener

Version of the Cognitive Services Speech SDK
java sdk: 'com.microsoft.cognitiveservices.speech:client-sdk:1.22.0'
Platform, Operating System, and Programming Language

OS: Mac os
Hardware - ARM, ...
Programming language:  Java

Additional context

none

@jeason789  Thanks for the report, could you please provide a log based on the instructions here ? https://docs.microsoft.com/en-us/azure/cognitive-services/speech-service/how-to-use-logging.
That would help us to understand better what happens.

2022.7.9.log
this is a java participant log, i create a conversation using "https://translator.microsoft.com/chatroom/" demo, and  join this conversation with java client, java client participant can receive speech translation text from remote client and self speech, but remote client (chatroom demo) can receive speech text from java client

`private void joinConversation() throws ExecutionException, InterruptedException {
// Replace these values with the details of your Cognitive Speech subscription
String subscriptionKey = "my subscription key";
    // Replace below with your region identifier from here: https://aka.ms/speech/sdkregion
    String region = "japaneast";

    // Sets source and target languages.
    // Replace with the languages of your choice, from list found here: https://aka.ms/speech/sttt-languages
    String fromLanguage = "zh-CN";
    String toLanguage = "zh-CN";

    // Set this to the display name you want for the conversation host
    String displayName = "900187";

    // Create an instance of the speech translation config
    var config = SpeechTranslationConfig.fromSubscription(subscriptionKey, region);
    config.setProperty(PropertyId.Speech_LogFilename, "/Users/xinda/log/xx.log");
    config.setSpeechRecognitionLanguage(fromLanguage);
    config.addTargetLanguage(toLanguage);

    // Create the conversation
    var conversation = Conversation.createConversationAsync(config,"RPHKZ").get();
    // Start the conversation so the host user and others can join
    conversation.startConversationAsync();

    // Get the conversation ID. It will be up to your scenario to determine how this is shared with other participants.
    String conversationId = conversation.getConversationId();
    System.out.println("Created " + conversationId + " conversation");

    // At this point, you can use the conversation object to manage the conversation.
    // For example, to mute everyone else in the room you can call this method:
    conversation.muteAllParticipantsAsync();

    // Configure which audio source you want to use. If you are using a text only language, you
    // can use the other overload of the constructor that takes no arguments
    var audioConfig = AudioConfig.fromDefaultMicrophoneInput();
    var conversationTranslator = new ConversationTranslator(audioConfig);
    // You should connect all the event handlers you need at this point
    conversationTranslator.sessionStarted.addEventListener((s, e) ->
    {
        System.out.println("Session started: " + e.getSessionId());

    });
    conversationTranslator.canceled.addEventListener((s, e) ->
    {
        switch (e.getReason()) {
            case EndOfStream:
                System.out.println("End of audio reached");
                break;

            case Error:
                System.out.println("\"Canceled due to error. {" + e.getErrorCode() + "}: {" + e.getErrorDetails() + "}");
                break;
        }
    });
    conversationTranslator.conversationExpiration.addEventListener((s, e) ->
    {
        System.out.println("Conversation will expire in {" + e.getExpirationTime() + "} minutes");

    });

    conversationTranslator.participantsChanged.addEventListener((s, e) ->
    {
        System.out.println("The following participant(s) have");
        switch (e.getReason()) {
            case JoinedConversation:
                System.out.println("joined");
                break;

            case LeftConversation:
                System.out.println("left");
                break;

            case Updated:
                System.out.println("been updated");
                break;
        }
        System.out.println(":");

        for (Participant participant : e.getParticipants()) {
            System.out.println(participant.getDisplayName());

        }
    });
    conversationTranslator.textMessageReceived.addEventListener((s, e) ->
    {
        System.out.println("Received an instant message from " + e.getResult().getParticipantId() + ": '{e.Result.Text}'");
        for (Map.Entry<String, String> entry : e.getResult().getTranslations().entrySet()) {

            System.out.println("Received an instant message from " + entry.getKey() + ": " + entry.getValue() + "");

        }
    });
    conversationTranslator.transcribed.addEventListener((s, e) ->
    {
        System.out.println("Received a transcription from " + e.getResult().getParticipantId() + ": " + e.getResult().getText() + "");
        for (Map.Entry<String, String> entry : e.getResult().getTranslations().entrySet()) {

            System.out.println("Translated into " + entry.getKey() + ": " + entry.getValue() + "");

        }
    });
    conversationTranslator.transcribing.addEventListener((s, e) ->
    {
        System.out.println("Received a partial transcription from " + e.getResult().getParticipantId() + ": " + e.getResult().getText() + "");

        for (Map.Entry<String, String> entry : e.getResult().getTranslations().entrySet()) {
            System.out.println("Translated into " + entry.getKey() + ": " + entry.getValue() + "");
        }
    });
    // Enter the conversation to start receiving events
    conversationTranslator.joinConversationAsync(conversation, displayName).get();
    // You can now send an instant message to all other participants in the room
    conversationTranslator.sendTextMessageAsync("The instant message to send");

    // If specified a speech-to-text language, you can start capturing audio
    conversationTranslator.startTranscribingAsync();
    System.out.println("Started transcribing. Press Ctrl + c to stop");

}`

this is my java code

it happened since July 6，2022，it worked well before

Thanks for reporting the issue. We were able to reproduce the issues you are seeing.
We are in the process of fixing these service issues but don't have an exact ETA at this time. We will post a follow-up message here once the issue is resolved.
In the meantime, you can use the following work around:

If you are creating a new conversation using the Java speech SDK, please add the following to your SpeechConfig:
    speechConfig.setServiceProperty("usePipelineVersion", "1", ServicePropertyChannel.UriQueryParameter);
If you are joining an existing conversation using the Java speech SDK, please add the following to your AudioConfig:
    audioConfig.SetProperty(PropertyId.SpeechServiceConnection_Endpoint, "wss://" + region +      .s2s.speech.microsoft.com/speech/translation/cognitiveservices/v1?usePipelineVersion=1");
where region is the region of your Cognitive Speech subscription

samTest.log
Line 220 of the log is the conversation removeparticipantasync method, which was successfully executed but did not respond correctly.
Line 221 of the log is the conversation mutepartitionasync method, which was successfully executed and received the correct return.
Line 225 of the log is the conversation unmutepartitionasync method, which was successfully executed and received the correct return.
The problem is 220 lines.

Thanks for reporting the issue. We were able to reproduce the issues you are seeing.
We are in the process of fixing these service issues but don't have an exact ETA at this time. We will post a follow-up message here once the issue is resolved.
In the meantime, you can use the following work around:

If you are creating a new conversation using the Java speech SDK, please add the following to your SpeechConfig:
speechConfig.setServiceProperty("usePipelineVersion", "1", ServicePropertyChannel.UriQueryParameter);
If you are joining an existing conversation using the Java speech SDK, please add the following to your AudioConfig:
audioConfig.SetProperty(PropertyId.SpeechServiceConnection_Endpoint, "wss://" + region +  .s2s.speech.microsoft.com/speech/translation/cognitiveservices/v1?usePipelineVersion=1");
where region is the region of your Cognitive Speech subscription

it works， thanks！

Thanks for reporting the issue. We were able to reproduce the issues you are seeing.
We are in the process of fixing these service issues but don't have an exact ETA at this time. We will post a follow-up message here once the issue is resolved.
In the meantime, you can use the following work around:

If you are creating a new conversation using the Java speech SDK, please add the following to your SpeechConfig:
speechConfig.setServiceProperty("usePipelineVersion", "1", ServicePropertyChannel.UriQueryParameter);
If you are joining an existing conversation using the Java speech SDK, please add the following to your AudioConfig:
audioConfig.SetProperty(PropertyId.SpeechServiceConnection_Endpoint, "wss://" + region +  .s2s.speech.microsoft.com/speech/translation/cognitiveservices/v1?usePipelineVersion=1");
where region is the region of your Cognitive Speech subscription

Hi Ralph, thanks for your prompt response. Can I apply the same workaround to the iOS SDK?

You can use the same workaround across all platforms and/or programming languages supported by the Cognitive Speech Services SDK. The documentation for the Objective C version of the APIs can be found here.
For the audio issue your seeing, could you please share the SDK client logs?

Hi Ralph,
The canceled event is reporting the following error:
0x5 (SPXERR_INVALID_ARG)
[CALL STACK BEGIN]

  # 0: 0x78bb31ef5431  ???
  # 1: 0x78bb31ef48ef  ???
  # 2: 0x78bb31ef3332  ???
  # 3: 0x78bb31ef2b1d  ???
  # 4: 0x78bb31ef2192  ???
  # 5: 0x78bb31ef1e6b  ???
  # 6: 0x78bb31f27ece  ???
  # 7: 0x78bb31f2946b  ???
  # 8: 0x78bb31f28cf8  ???
  # 9: 0x78bb31fa4c36  ???
  #10: 0x78bb31fa4362  ???
  #11: 0x78bb31fa58a0  ???
  #12: 0x78bb31fa43ec  ???
  #13: 0x78bb31fa693d  ???
  #14: 0x78be5957358b  ???
  #15: 0x78be5950bd88  ???

[CALL STACK END]

Here you will find the speech.log, and also here you have the URL we are using: wss://centralus.s2s.speech.microsoft.com/speech/translation/cognitiveservices/v1?usePipelineVersion=1.

Looking through the logs, the SPXERR_INVALID_ARG is not related to the microphone not working for guests. Those errors are happening after Leave...() has been called.
The cause for the microphone issues was an authorization error:
[25520]: 10821ms SPX_TRACE_INFO:  usp_connection.cpp:908 TS:1016, TransportError: connection:0x6d8918f0, code=1, string=WebSocket upgrade failed: Authentication error (401). Please check subscription information and region name.
[25520]: 10822ms SPX_TRACE_ERROR:  usp_reco_engine_adapter.cpp:2134 Response: On Error: Code:1, Message: WebSocket upgrade failed: Authentication error (401). Please check subscription information and region name..
[25520]: 10822ms SPX_DBG_TRACE_VERBOSE:  usp_reco_engine_adapter.cpp:2841 TryChangeState; audioState/uspState: 2/1000 => 2/-1 USP-ERRORERROR

Subscription keys are region specific so it is likely that the region that the conversation host is using doesn't match that used for the guest.
The simplest solution here: The service issues causing issues with the language codes is now resolved. This means you don't need to specify the endpoint anymore which should resolve your issue.
Alternatively, you need to specify an endpoint for some other reason, you can use a string with placeholders for the region to allow the SDK to automatically substitute the same region as the host is using:
audioConfig.setProperty(PropertyId.SpeechServiceConnection_Endpoint, "wss://{region}.s2s.speech.microsoft.com/speech/translation/cognitiveservices/v1?usePipelineVersion=1");

Other supports placeholders are:
{language}      The speech language you are using (e.g. en-US)
{meetingId}     The current conversation ID (e.g. ABCDE)

Hi Ralph, thanks for the update.
Yesterday we tested our application and seems that the issue has been fixed.


Add istioctl profile list test

Adds test for istioctl profile list command. Also changes fmt.Print to cmd.Print in various places to allow for better testing (fmt.Print will not capture command output with SetOut).
[ ] Configuration Infrastructure
[ ] Docs
[ ] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[ ] Security
[x] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
Pull Request Attributes
Please check any characteristics that apply to this pull request.
[ ] Does not have any changes that may affect Istio users.

@Monkeyanator: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

release-notes_istio
fab61266b6f360545380fcf74d5365ac4e367443
link
/test release-notes_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/test release-notes_istio

@Monkeyanator: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

unit-tests_istio
fab61266b6f360545380fcf74d5365ac4e367443
link
/test unit-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@Monkeyanator: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

unit-tests_istio
fab61266b6f360545380fcf74d5365ac4e367443
link
/test unit-tests_istio

gencheck_istio
fab61266b6f360545380fcf74d5365ac4e367443
link
/test gencheck_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@Monkeyanator: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

unit-tests_istio
fab61266b6f360545380fcf74d5365ac4e367443
link
/test unit-tests_istio

gencheck_istio
8519e181406e25673f1dc9fdb4e5dc07296350e3
link
/test gencheck_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@Monkeyanator: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

unit-tests_istio
fab61266b6f360545380fcf74d5365ac4e367443
link
/test unit-tests_istio

gencheck_istio
b1df6e7a9311b992500cae043565c238c116e164
link
/test gencheck_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@Monkeyanator: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

gencheck_istio
b1df6e7a9311b992500cae043565c238c116e164
link
/test gencheck_istio

unit-tests_istio
b1df6e7a9311b992500cae043565c238c116e164
link
/test unit-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@Monkeyanator: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

unit-tests_istio
b1df6e7a9311b992500cae043565c238c116e164
link
/test unit-tests_istio

gencheck_istio
f8d6ec2541b77e8ef338f8e7e2de85d32640ab64
link
/test gencheck_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@Monkeyanator: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

unit-tests_istio
b1df6e7a9311b992500cae043565c238c116e164
link
/test unit-tests_istio

gencheck_istio
f8d6ec2541b77e8ef338f8e7e2de85d32640ab64
link
/test gencheck_istio

lint_istio
f8d6ec2541b77e8ef338f8e7e2de85d32640ab64
link
/test lint_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@Monkeyanator: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

gencheck_istio
f8d6ec2541b77e8ef338f8e7e2de85d32640ab64
link
/test gencheck_istio

lint_istio
f8d6ec2541b77e8ef338f8e7e2de85d32640ab64
link
/test lint_istio

unit-tests_istio
f8d6ec2541b77e8ef338f8e7e2de85d32640ab64
link
/test unit-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@Monkeyanator you are still working on it or you want to remove hold?


Constraints should support comparison between features

e.g. where session/ds=transaction/ds
Currently constraints only compare measures to specific values

e.g. shorthand for distinguishing columns from strings


Hook evaluation specification clarity

This is in reference to the hooks evaluation order in Requirement 4.4.2. This reads:

Hooks MUST be evaluated in the following order:

before: API, Client, Invocation, Provider
after: Provider, Invocation, Client, API
error (if applicable): Provider, Invocation, Client, API
finally: Provider, Invocation, Client, API

Currently this is implemented differently between the Python and JavaScript SDKs, but neither is technically wrong based on the loose specification.
The JS SDK generates the before list of hooks, then reverses it for the after, error, and finally. This appeases the overall ordering of hook executions as listed above. Hence, the before is [...API, ...Client, ...Invocation, ...Provider]. The after is [...API, ...Client, ...Invocation, ...Provider].reverse(). So the after hooks will have all of the Provider hooks execute before the Invocation hooks, those before the Client hooks, and those before the API hooks.
The Python SDK generates the before list of hooks and the after/error/finally list of hooks by spreading them in their own declarations. So, before is API + Client + Invocation + Provider and the after is Provider + Invocation + Client + API. So the after hooks satisfy the same as mentioned above for the JS SDK.
The issue here is that the overall hook execution order would vary if any of these hooks have more than one entry. For example:
API = [A, B]
Client = [C, D]
Invocation = [E, F]
Provider = [G, H]

# `before` list
before_hooks = API + Client + Invocation + Provider

# spreading directly (like Python)
list1 = Provider + Invocation + Client + API
# results in [G, H, E, F, C, D, A, B]

# reversing the before list (like JavaScript)
list2 = before_hooks[:]
list2.reverse()
# results in [H, G, F, E, D, C, B, A]

This detail should be clear from the specification so there is not any discrepancy between implementations of the API.

I think this was a conscious choice, not an oversight. Every specified behavior means tests and maintenance so there's a cost associated with specifying in such detail. It would take some time to dig up the conversation, but we felt specifying ordering of hooks between stages was a bad idea.
The main reason is it implies that hooks might have (side)-effects that impact the current stage (for example, Hook1.before performs some activity that Hook2.before depends on). We believed this was a bad pattern, and encouraged poor separation of concerns. Due to the fact that we did not want to encourage this, the ordering of hooks within a particular stage was intentionally unspecified.
I'm open to changing this, but I'd like a fairly wide consensus if we do.

My initial reaction is that we should specify order explicitly in the spec. I seem to recall that hooks were expected to run first-in-last-out.

My initial reaction is that we should specify order explicitly in the spec. I seem to recall that hooks were expected to run first-in-last-out.

In your opinion, what value does this buy us if we don't want to establish dependencies between hooks in the same stage? Or has the opinion on that changed?

I think the issue is primarily in the expected behavior of an OpenFeature SDK pertaining to hook execution. If I have Python, PHP, and JavaScript services, I would expect the execution of these to be the same in each of these.
Furthermore, there is already a dependency between hooks in the current behavior defined in the specification. If a before hook throws an error, subsequent before hooks will not execute. Similarly this is true for after hooks. The fact that the behavior of one can impact further hooks is a dependency.
Referencing 4.4.2: Suppose I had a logging hook registered for each SDK, but Python and PHP follow hook ordering as the original hook arrays of each component instead of the before hook array entirely reversed. Now, it's possible that the after log hook does not occur for Python and PHP, but it does for JavaScript, solely due to the opinion of the SDK implementation.
Do I now have to register my hooks differently for different languages just to provide reproducible behavior? And even then, it's still not possible to entirely avoid this scenario if you're using these at the API layer- it will inevitably vary between languages.

I think the issue is primarily in the expected behavior of an OpenFeature SDK pertaining to hook execution. If I have Python, PHP, and JavaScript services, I would expect the execution of these to be the same in each of these.

This has sold me on the idea. I can't see any harm in having the execution order behaviour defined, the ordering can be disregarded if not important to the developer.

OK @tcarrio I'm sold on this change then, if @skyerus also agrees.

@toddbaert can do quickly audit which SDKs would be affected by this change? I think it's worth doing but I would like to understand the impact.

An audit would be good. We similarly updated the PHP SDK to follow the reverse pattern, and I believe I updated Python to do the same. But an official review of all of them would be a good idea.

@tcarrio can you confirm PHP and Python behave this way already? I can double-check JS but I'm nearly positive it's using the reverse pattern as well.

As Tom stated above, the JS SDK does reverse the order in the after, error, and finally stages.
https://github.com/open-feature/js-sdk/blob/main/src/client.ts#L192

PHP SDK uses the reversal approach
Reference

We should perhaps roll this into whatever release includes the new client changes.

Hey @tcarrio, would you be willing to add this to the spec? It sounds like we have consensus that it should be explicitly defined and the reverse order is preferred approach.


♻ ReentrancyGuard: avoid using magic numbers and initialize slot inside of constructor

Description
Initializes ReentrancyGuard to non-zero value in constructor to move cost to deployer, not first caller.
Introduces _NOT_ENTERED and _ENTERED flags to avoid magic numbers - this should come at no additional gas cost.
Checklist
Ensure you completed all of the steps below before submitting your pull request:

[x] Ran forge fmt?
[x] Ran forge snapshot?
[x] Ran forge test?

Pull requests with an incomplete checklist will be thrown out.

Hmm... 2 and 1 are very obvious tho.

Hmm... this saves gas for the first minter, but the total amount of gas used by the deployer and first minter will be higher. Over the super long term, users of Solady (deployers + users) will be burning more gas overall. Not sure if the extra bytecode is worth it if people are trying to sneak under the spurious dragon limit.

May revert.

May revert.

No worries! Your reasoning makes sense to me. Libraries ultimately make different trade-offs than implementations.


If you require the Claude based on this prompt try to understand and modify the code of an existing project, there will be many error situations.

I have found through practice that the current prompt has good performance for tasks that require starting from scratch. However, when it comes to understanding and modifying code for existing projects, many error situations may arise.

Yes its reasonable, since the instruction a) is probably not well written, b) does not guarantee definite higher performance in all use cases than raw 3.5 Sonnet (new). But you are right about it! it need more iterations, thx for feedback.


Support OPTIONAL ARGUMENT in user defined macro by \newcommand

Is your feature request related to a problem? Please describe.
It seems that optional arguments are not supportes by user defined \newcommand.
Just see the following code.
\newcommand \foo [2] [bar] {{#1}^{#2}}
\foo {1}
\foo [baz]{2}

Describe the solution you'd like:
Would this optional argumant feature be implemented just like \sqrtmacro? this is a predefined macro in KaTeX with optional argument support.
Link to or name of a (La)TeX package that provides the same feature:
N/A
Describe alternatives you've considered:
N/A
Additional context:
N/A

Indeed, this shouldn't be too hard to implement, because KaTeX already internally supports optional arguments (without default values).  A small extension to \newcommand ought to do it.  A pull request would be welcome; otherwise, I can try to get to it eventually...

I am not very familiar with this project, hope for the pull request in the future.

Any update on this? Does KaTeX support optional argument now?

Alas, no. When there are updates, they will appear here.


Does this still work?

Just tried to use this in Sketch 53. Open blank doc, tap A, draw artboard, run plugin... nothing happens.
Any idea what's going on?
If you're busy I'd be happy to fix it up -- some guidance would be helpful -- cheers!

Hi @schkolne . Thanks for your comment. I haven't updated or tested this plugin in a really long time. I believe that the old ways of accessing objects (that are being used in this plugin) are not consistent with Sketch's latest API documentation. Feel free to fix it. These pages should have some examples for going through the DOM. https://developer.sketchapp.com/reference/api
Personally I've been using https://overflow.io which solves the use case more elegantly.


fix(composables): reactivity in local shared state

Changes

closes #1727
Fix reactivity issues, when the new reactivity keys were added after the initial page render (for example on page change). The reactive object does not allow to dynamically add new keys. This PR fixed the issue.

When will this be released in the next release or will u make it available to 1.0.0?


How to download and process the videos for Internvid

For those data samples in VideoChat2-IT/video/conversation/videochat2/train.json, I'm wondering how these videos are downloaded and processed. I found the original Internvid(the source videos for videochat2) has different naming patterns for videos. For example, your data sample in this json file is  'LLP1dosmfIw_683.24.mp4', while the one I downloaded is '0ABL-ETtK44_00:01:55.680_00:02:00.880.mp4 '.

Please check https://github.com/OpenGVLab/Ask-Anything/issues/86#issuecomment-1882529070


DateRangeSelection UTC: true doesn't work

OpenUI5 version: initially found on 1.60.6 but valid for the latest version 1.68 as well
Browser/version (+device/version): Chrome
Any other tested browsers/devices(OK/FAIL): same behaviour
URL (minimal example if possible): https://next.plnkr.co/edit/9AdLQkPKASV0uQhQ
Steps to reproduce the problem:

Select today's date and some other date of future for DateRangeSelection
Select today's date in Date Picker

What is the expected result?
Since 'UTC: true' is set in format option of both the controls, today's date should have been  formatted in the same way for DateRangeSelection and DatePicker.
What happens instead?
DatePicker considers the UTC: true flag but DateRangeSelection doesn't. Due to this, DatePicker shows the correct UTC formatted Time and is received correctly (same date) on ABAP backend where both are binded with DATS type but dates coming from DateRangeSelection are yesterday's dates.
Any other information? (attach screenshot if possible)
type:'sap.ui.model.type.Date' is set on DatePicker but when used with DateRangeSelection, the values are null in the binding.

Hi @ekansh005,
This is how the control was designed to work. It is designed to take into account only the dates and set the first hour of the first day and the last hour of the second data.
Best Regards,
Hristo

Hi @hristop,
I just checked the fiori design guidelines and API reference of this control and didn't find a mention of this way of working (first and last hour). Even if this is how it is ought to be working, still it could support the UTC format when developer sets it to true. In terms of UTC support, it should behave exactly how DatePicker works (specially since it extends the DatePicker).
My requirement use case is completely satisfied by this control except the fundamental error of UTC support which results in wrong date in backend.

Hello @ekansh005 ,
I have created an internal incident<PHONE_NUMBER>.
This way the colleagues can have a look into this and provide further information.
The status of the issue will be updated here in GitHub.
Regards,
Hristo

Hi @ekansh005 ,
We have updated the documentation with described above behavior of DateRangeSelection.
Kind Regards,
Gery

Thanks @gerym  for updating the documentation.
But don't you think that developers should have this functionality as an option in this control? a possible enhancement?
BR, Ekansh

But the issue raised by @ekansh005 is still existing, how format date to UTC for DateRangeSelection control?

How to format date to UTC for DateRangeSelection control?

@TroyEdwardLee Does this help? --> https://stackoverflow.com/a/53524645/5846045
From the answer:
<DateRangeSelection xmlns="sap.m" xmlns:core="sap.ui.core"
  core:require="{
    DateInterval: 'sap/ui/model/type/DateInterval',
    DateTimeOffset: 'sap/ui/model/odata/type/DateTimeOffset'
  }"
  binding="{/People('russellwhyte')/Trips(0)}"
  value="{
    parts: [
      {
        path: 'StartsAt',
        type: 'DateTimeOffset',
        formatOptions: { UTC: true }
      },
      {
        path: 'EndsAt',
        type: 'DateTimeOffset',
        formatOptions: { UTC: true }
      }
    ],
    type: 'DateInterval',
    formatOptions: { UTC: true }
  }"
/>

Hi @ekansh005 ,
We have updated the documentation with described above behavior of DateRangeSelection.
Kind Regards, Gery

But what if you want only actual dates in the selection and don't care about the times?
But now, because you are forced to have times in there, you are forced to worry about timezones, and having to cater for all that is incredibly messy.
You do realize that people are supposed to be able to write world-class enterprise solutions in SAP UI5, right?
As an SAP customer, I consider merely updating the documentation and saying this is how it was designed is a crappy cop-out.

This issue shouldn't be closed.


[core-auth] need down level dts to work with lower versions of typescript compiler

tried to compile a sample with typescript 3.1.6 and got this error
node_modules/@azure/core-auth/types/core-auth.d.ts:28:9 - error TS1086: An accessor cannot be declared in an ambient context.

28     get key(): string;

Will is working on a fix

@jeremymeng does hotfix release is planned? or do we have any workaround until then?

@sgosulazc Yes, we will release a hotfix soon.

@sgosulazc Yes, we will release a hotfix soon.

Ok. Do we expect Today or Tomorrow?

Today

Awesome!

core-auth 1.1.1 has been released.  Closing.


Versions do not work on collections with custom IDs

Link to reproduction
No response
Describe the Bug
This is a breaking bug.
Versions do not work on collections with custom IDs, on mongodb. (have not tested postgres)
You can create multiple versions, and list them, but when trying to access any version item you get a CastError:

It happens whether you are using the admin UI or the REST API. This is because the system is trying to cast the _id of the version to the id type of the parent, and they obviously don't match. The issue lies in the db-mongodb package.
I found the solution, will submit a PR soon.
To Reproduce

Create a collection with Number IDs and versions active.
Create a document
Create a new version for that document
Try to access the version.

Payload Version
2.11.2
Adapters and Plugins
db-mongodb

I ran into this issue using PostgreSQL -- it is not a MongoDB only issue.


path missing

i cant seem to find the path examples/rust/dip721-nft-container specified here
https://internetcomputer.org/docs/current/developer-docs/build/agents/javascript/nodejs/

This refers to this folder: https://github.com/dfinity/examples/tree/master/rust/dip721-nft-container
Was this a simple misunderstanding or are there more fundamental issues here?

To me it's not clear from the text that we are in a different repository now. There's no mention of the examples repo at all, just the psychedelic dip721 repo. How should a user know she has to clone the examples repo and then cd into the folder that is mentioned?

Ah, I see now. @krpeacock since you wrote this recently: would you mind revisiting this? The text starts out by cloning Psychedelic/DIP721, but later assumes it works with the Rust DIP-721 example from our examples repo.

This sample page was recently updated to include this information: https://internetcomputer.org/docs/current/references/samples/rust/dip721-nft-container/#nft-sample-code-tutorial


Rename parameter -Tags to -Tag

In version 0.0.2, the -Tag parameter is translated to -Tags instead of -Tag:
Find-PSResource: A parameter cannot be found that matches parameter name 'Tags'.

This is not accepted by the latest versions of PowerShellGet and shall be fixed in CompatPowerShellGet.

Thanks for opening this issue @jpawlowski!  This should be resolved as of the 0.0.4.  If you're still encountering this problem feel free to open up a new issue.


add branch mapping

Codecov Report

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

@@           Coverage Diff           @@
##           master      #43   +/-   ##
=======================================
  Coverage   77.32%   77.32%
=======================================
  Files          26       26
  Lines         644      644
  Branches       87       87
=======================================
  Hits          498      498
  Misses         99       99
  Partials       47       47

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 6824d92...2ee9788. Read the comment docs.


Use stdlib deprecation

This requires https://github.com/puppetlabs/puppetlabs-stdlib/pull/694 on puppet3


Updated documentation based on type mappings

This PR resolves issue #18
Please review timestamp (rowversion) is right.
Not decoded types indicated with ---

I don't know if we should divide this into categories???

How would categories look like? Right now, the representation is simple and comprehensible.

Like an index on top of it and seperate tables

Exact numerics
Approximate numerics
Date and Time
Character strings
...

On MSSQL there is not a lot of types. But over PostgresSql there is almost every type has array type. And that will create a very long list.

Well also we can put * near type to express array supoorted type in Postgres??

Thanks for the clarification. Let's start with Postgres with a similar format as SQL Server and then see what it takes to represent all Postgres-specifics. We can then see how this would map to SQL Server.

I added two last comments. Care to address these and squash your changes to a single commit?

All done now.

Thanks a lot. I'll do the merge tomorrow.

That's merged and polished now.


[BUG]: error: type "serial" does not exist

What version of drizzle-orm are you using?
0.30.8
What version of drizzle-kit are you using?
0.20.16
Describe the Bug
After generating a migration with drizzle-kit, running drizzle-kit push:pg results in error: type "serial" does not exist
Schema:
export const someEntities = pgTable("some_entity", {
    id: serial("id").primaryKey(),
    name: text("name").notNull(),
    userId: text("userId").notNull().references(() => users.id),
})

Migration:
ALTER TABLE "some_entity" ALTER COLUMN "id" SET DATA TYPE serial;

Full error:
error: type "serial" does not exist
    at /Users/xxx/Code/xxx/node_modules/drizzle-kit/bin.cjs:43518:21
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async PgPostgres.query (/Users/xxx/Code/xxx/node_modules/drizzle-kit/bin.cjs:62439:21)
    at async Command.<anonymous> (/Users/xxx/Code/xxx/node_modules/drizzle-kit/bin.cjs:66122:9) {
  length: 89,
  severity: 'ERROR',
  code: '42704',
  detail: undefined,
  hint: undefined,
  position: undefined,
  internalPosition: undefined,
  internalQuery: undefined,
  where: undefined,
  schema: undefined,
  table: undefined,
  column: undefined,
  dataType: undefined,
  constraint: undefined,
  file: 'parse_type.c',
  line: '270',
  routine: 'typenameType'
}

Expected behavior
Expect migration to be run and table alteration to complete successfully.
Environment & setup
macOS 14.4.1
Vercel Postgres: PostgreSQL 15
@vercel/postgres: 0.8.0

I'm also facing the same issue, @realmikesolo. However, I added the 'drizzle-kit'
.

same problem

I also have this issue if you delete the table in the database it then works

i have the same issue

I'm facing the same issue.

error: type "serial" does not exist
    at C:\Users\ADMIN\Desktop\my office\zuvy-server\node_modules\pg-pool\index.js:45:11
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async Object.query (C:\Users\ADMIN\Desktop\my office\zuvy-server\node_modules\drizzle-kit\bin.cjs:71837:26)
    at async pgPush (C:\Users\ADMIN\Desktop\my office\zuvy-server\node_modules\drizzle-kit\bin.cjs:74783:13)
    at async Object.handler (C:\Users\ADMIN\Desktop\my office\zuvy-server\node_modules\drizzle-kit\bin.cjs:83642:9)
    at async run (C:\Users\ADMIN\Desktop\my office\zuvy-server\node_modules\drizzle-kit\bin.cjs:82009:7) {
  length: 89,
  severity: 'ERROR',
  code: '42704','
  detail: undefined,
  hint: undefined,

Any updates here?

Facing the same issue.

Same

Same issue here

+1

+1

+1

+1


Epic: Storage as an LSM tree

Status
If you squint a little, our layered repository format already forms the bottom layer of an LSM tree. And that bottom layer is partitioned by SegmentTag. To turn that into a proper LSM tree, we need to make that partitioning dynamic, so that each layer can hold a range of SegmentTags, and add the upper levels.
Tasks

[ ]  #931
[ ] Partition the key space statically. System catalogs are mostly bundled together into one partition, and other rels can be in separate partitions
[ ] Partition the key space dynamically, based on relation sizes. Target is 1 GB of key space in each partition
[ ] Add Level 1 of the LSM tree, on top of the bottom layer we have now. Implement compaction from Level 1 to bottom level
[ ] Add support for more levels

this could influence the implementation of #999

Related presentation from  December: https://docs.google.com/presentation/d/1sWBECwju7JYkk1U-xQpZ0ttlwwLX6PWCrig4SUfNR5s/edit?usp=sharing
@kelvich


Feature: Execution Report

Still very much WiP
Here's a few screenshots of what the report described in #14 could look like:

Unfortunately, showing exit codes seems a bit pointless, since at least in my test yarn always seemed to be returning 1 on error, no matter what code the underlying script returned. I'll look into this a bit more.
What do you think? @spion

Looks cool!
What are your thoughts on a more condensed report? I like the count but for the listing, how about this?

Failed: package-a, package-e
Succeeded: package-b, package-c
Missing script: package-d

I like it:

@spion Had to move a few things around, give it a read and review what I did if you don't mind. Seems to be working fine to me so far.

It looks awesome. Give me some time to play with it and I'll merge!

p.s. we can bump to version 2.0 immediately, its no big deal :grin:

In this case, do you mind if I add a fix to #16 to this PR? :-)

Don't mind at all.

addendum: actually let me double check something first... will edt

With --fast-exit:

Without --fast-exit:


New PR to test SignCLA at 2020-03-24 15:44:03.663814084 -0700 PDT m=+3.916397509

Body of PR

corp-pass-staging: test succeeded


Add Azure Cloud Driver

Add an Azure Cloud Driver.

Planning on doing this, if someone else hasn't already.

A few people mentioned it, but there isn't one in the works as far as I know. I'd say go for it !

Status update: Very close to completion of this cloud provider.  Current issue, Azure nodes only support the latest SSH KEX algorithm, but the paramiko python package does not have an official release that supports that.   There is a paramiko PR in-flight, but appears stalled.

Thanks for the update @mikeln - could you paste the paramiko issue so that we can track it ? There is quite a few with kex word in them.

https://github.com/paramiko/paramiko/issues/1329
and the in-flight PR:
https://github.com/paramiko/paramiko/pull/1258

Trying the above PR by hand with powerfulseal...then yields: Incompatible ssh server (no acceptable macs)
Very old issue in paramiko: https://github.com/paramiko/paramiko/issues/161

I'm wondering if it wouldn't be easier to find a paramiko alternative.

I've been looking a little, but paramiko seems to be it.

found another that may fix the issues: https://github.com/paramiko/paramiko/pull/1233
should add the KEX and MAC EtM algorithms.

Issue with some return strings (e.g.  docker XX ps).   Needs to have explicit utf-8 decode declared.

https://github.com/bloomberg/powerfulseal/pull/124

paramiko has fixed the issue in the latest release 2.5.0.

PR is done and needs review merge:  https://github.com/bloomberg/powerfulseal/pull/124

Awesome. I'll get to that ASAP! Sorry for the delay.
On Wed, 19 Jun 2019 at 20:18, Mikel Nelson<EMAIL_ADDRESS>wrote:

PR is done and needs review merge: #124
https://github.com/bloomberg/powerfulseal/pull/124
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/bloomberg/powerfulseal/issues/101?email_source=notifications&email_token=AADVIOWXVMQEKFZ2QTLHLW3P3JZ6LA5CNFSM4G572YNKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODYCXDZY#issuecomment-503673319,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AADVIOWWWQPZYX27UOXV47LP3JZ6LANCNFSM4G572YNA
.

--
Best regards,
Mikolaj Pawlikowski
+44<PHONE_NUMBER>

PR Merged.


Private conversations created from text chat should be Ephemeral

If you click on the camera-+ icon in a chat to spin off a new private
room for a conversation, the room should be created in Ephemeral mode, not
Persistent.
However, the fact that only one person at ICFP seems to have created
a room in this way -- and that person was following BCP's instructions! --
suggests that this feature is not obvious to people!  We should make it
easier to find -- at a minimum, choose a more intuitive icon for it.

We lost the "Create video room from text chat" feature in the new UI - we should add that back in.

Yes!


version 0.28.24 broken

OK, what just happened here? My Atom upgraded to atom-beautify 0.28.24, and suddenly my HTML files are formatted crazy!!!! Everything looks horrible; even stuff that was already formatted:

<dfn>annotated tag</dfn>

<dfn>detached HEAD</dfn>

...now looks like this!

    <dfn>annotated tag</dfn>

    <dfn>detached
      HEAD
    </dfn>

I have a .jsbeautifyrc file, so no custom settings should have changed. But it seems to be completely ignoring this settings file, now.
Looking in the config, I don't even see a Language Config - HTML section anymore.
What just happened? Somebody majorly broke something. It could have been me---but I'm pretty sure all I did was upgrade to the latest atom-beautify version...

Would you mind going through the template: https://github.com/Glavin001/atom-beautify/blob/master/ISSUE_TEMPLATE.md
The debug log would be really helpful so that we can know which beautifier you are using, options are selected, and steps to reproduce.

Maybe we could start out with something simple first. Could you or @Glavin001 kindly tell me:

Have there been major changes in 0.28.24?
Should I expect to see the Language Config - HTML section, or has it been removed in 0.28.24?
Should atom-beautify still honor my .jsbeautifyrc file?

(Yes, I did an uninstall and then a reinstall.)

So I'm trying to downgrade to a lower version. I notice that https://github.com/Glavin001/atom-beautify/releases indicates there was a 0.28.22 version, but apm doesn't seem to find it; maybe someone removed it.

I downgraded to version 0.28.22, and it "works" again (and by "works" I mean it mostly formats HTML, using all the workarounds for all the other bugs I've reported here and on js-beautify.
So in my opinion you have a huge, breaking bug in 0.28.4. No, @prettydiff , I'm sorry but this time I'm not going through all the template stuff; this one you and @Glavin001 should be able to track down without the template, although I'll be happy to answer any questions you may have. Good luck.

I downgraded to version 0.28.22, and it "works" again

Excellent. Thank you for confirming it is after v0.28.22.
Did you restart or reload Atom between installation/updates? I used to find that apm would cache sometimes and updating would break, and a clear restart/reload of Atom would resolve all of the issues for users. Therefore I now always recommend at least reloading Atom between installs/updates.

apm doesn't seem to find [version 0.28.23]

v0.28.23 was unpublished from apm.

Have there been major changes in 0.28.24?

I reverted a commit in v0.28.23 that was mistakenly merged and pushed: https://github.com/Glavin001/atom-beautify/compare/v0.28.23...v0.28.24
Many small changes occurred in v0.28.23:
https://github.com/Glavin001/atom-beautify/compare/v0.28.22...v0.28.23
Which would also be relevant to v0.28.24 with exception of the commit I reverted: https://github.com/Glavin001/atom-beautify/commit/d97b2d2e4db3e52e62b5509b7bacbbcc3bea0e56

Should I expect to see the Language Config - HTML section, or has it been removed in 0.28.24?

Yup, it definitely should be there. Applicable code is still in v0.28.24: https://github.com/Glavin001/atom-beautify/blob/v0.28.24/src/beautifiers/index.coffee#L256-L288
Can anyone (/cc @prettydiff ) else confirm that Language Config or other options are missing in their Atom Beautify package settings in v0.28.24? I see everything as expected and cannot reproduce this.

Should atom-beautify still honor my .jsbeautifyrc file?

Yes, it definitely still should. None of that core code has been touched.

So in my opinion you have a huge, breaking bug in 0.28.4.

Atom Beautify definitely did in v0.28.23 -- my mistake, sorry about that everyone -- however it was reverted with v0.28.24.

I'm sorry but this time I'm not going through all the template stuff; this one you and @Glavin001 should be able to track down without the template, although I'll be happy to answer any questions you may have.

You have pretty much answered most of what the Issue template asks (Description, Expected Results, sample input, etc), except not as organized with headings. I can live with that. You've provided great information so far, and I thank you for that. The Issue Template is not so much targeting users like yourself so much as users who actually create issues with the title "Bug" and no description, etc... :stuck_out_tongue_winking_eye:
However, I do draw the line at the debug.md for the editor debugging information, especially for issues like this.
It takes a few seconds to create a debug.md file that will answer most, if not all, questions I will be asking to help diagnose this or similar issues. Help me help you, and please provide your debugging information by following the instructions found at https://github.com/Glavin001/atom-beautify/blob/master/ISSUE_TEMPLATE.md#how-to-create-debugmd-gist
Using your sample input above is sufficient.
Thank you.

Notes
What I will be looking at in the debug.md is how the options are being picked up and flowing through Atom Beautify. It sounds like the options are not being carried through to the beautifier, or not even being detected from either package settings or .jsbeautifyrc file.
Travis CI would be passing for v0.28.24 if not for 2 failing tests for LESS and Riot.js that are unrelated issues (Pretty Diff update causing LESS code to be different).
While the tests currently do not test the package settings, they do test the .jsbeautifyrc. So since @garretwilson is using a .jsbeautifyrc then even the bug in v0.28.23 -- which changed the package settings -- should not influence and cause this unexpected behaviour.

v.0.28.24 "Language config - HTML" is not visible, only the HTML formatting options.

Actually there is a strange "Language config - XTemplate" between Haskell and Java. Should that be HTML?

debug.md: https://gist.github.com/ttsirkia/3279f596987c08fa2d83

Thank you @ttsirkia.
Comparing the expected beautified code against your expected code I would suggest the option you need is unformatted.
Looking at your Final Options I see that it is missing. However, looking at your Pre-Transformed Options I do see the unformatted option. This tells me that the beautifier is transforming the options and likely does not support the unformatted option.
I see that the beautifier selected for beautification is Pretty Diff: https://gist.github.com/ttsirkia/3279f596987c08fa2d83#original-file-to-be-beautified
Looking at the Pretty Diff beautifier code I can confirm that unformatted option is not supported: https://github.com/Glavin001/atom-beautify/blob/master/src/beautifiers/prettydiff.coffee#L8-L36
My recommendation is to switch to using JS-Beautify for HTML.
However, in saying that I notice in that Language Config - HTML is also missing from the documentation found at https://github.com/Glavin001/atom-beautify/blob/master/docs/options.md
So this leads me to check again how the Language Config -  options are built: https://github.com/Glavin001/atom-beautify/blob/master/src/beautifiers/index.coffee#L256-L285
It is important to note that there is not currently a check to see if an existing option is being overridden.

Actually there is a strange "Language config - XTemplate" between Haskell and Java. Should that be HTML?

This is the line that makes it all clear!
I investigate XTemplate language and discover that it uses the same namespace as HTML!!!
See https://github.com/Glavin001/atom-beautify/blob/master/src/languages/xtemplate.coffee#L4
I should have reviewed Pull Request https://github.com/Glavin001/atom-beautify/pull/758 more thoroughly and I apologize for this.
I will be:

[ ] fixing XTemplate language
[ ] Adding a check to throw error message to user that there is a conflicting option that overrides an existing option

Great work everyone. Thanks for your input. I'll be publishing fixes shortly.

The setting I used are more or less the default options. The current conflict also prevents changing the engine. Nice to hear that the information was helpful!

Published fix to v0.28.25. Thank you for your feedback and patience.


Require support DALL-E model

Greeting, Please consider add support DALL-E and in Azure OpenAI, the API route will be :
https://xxx.openai.azure.com/openai/images/generations:submit?api-version=2023-06-01-preview

#22

import requests import time import os api_base = 'https://aceplaying.openai.azure.com/' api_key = os.getenv("OPENAI_API_KEY") api_version = '2023-06-01-preview' url = "{}openai/images/generations:submit?api-version={}".format(api_base, api_version) headers= { "api-key": api_key, "Content-Type": "application/json" } body = {     "prompt": "USER_PROMPT_GOES_HERE",     "n": 2,     "resolution": "1024x1024" } submission = requests.post(url, headers=headers, json=body) operation_location = submission.headers['Operation-Location'] retry_after = submission.headers['Retry-after'] status = "" while (status != "Succeeded"):     time.sleep(int(retry_after))     response = requests.get(operation_location, headers=headers)     status = response.json()['status'] image_url = response.json()['result']['contentUrl']
Just saw it from Azure Portal, does it help?

This is not a valid API document, and I cannot rely on it to complete the task. I have studied the differences between OpenAI's DALLE API and Azure's preview API previously, and they are quite significant, making it impossible to act as a proxy.

Alright, thank you for your working.
Let's wait for MS release full DALLE API.

Hello,
We have an exciting opportunity for you! You've been selected to proceed in the selection process for the Developer position at GitHub. Congratulations on your achievement!
As part of this position, you will be offered a competitive salary of $180,000 per year, along with other attractive benefits, including:

Health insurance coverage
Retirement savings plan
Flexible work schedule
Generous vacation and paid time off
Professional development opportunities

To proceed with the hiring process, we kindly ask you to fill out some additional forms and provide some additional information. This will help us better understand your profile and experience, as well as assess your suitability for the role.
Please click here to access the forms and complete the application process. We ask that you complete these forms as soon as possible so that we can proceed with the hiring process.
Important: You have 24 hours to complete the application process.
If you have any questions or need further information, please don't hesitate to contact us.
Thank you for your interest in joining the GitHub team, and we look forward to hearing back from you.
Best regards,
GitHub Recruitment Team
diexdiersh, @mt-akar, @hazelnutcloud, @Woodsy1FD, @olibd, @ericgreenmix, @sobhanb-eth, @qcjxberin, @tysongibby, @aedvignette, @undertuga, @wcc19840827, @jmiehau, @faxonchris, @hindol, @RobAboud, @truemed, @winterdl, @J-DRD, @cc-chong


Fixing the punctuation in the README

What does this PR do?
This PR just fixes a small punctuation missing in the README, following the conventions used in the README file.
Checklist

[ ✓] This PR fixes a minor issue (e.g.: typo or small bug) or improves the docs (you can dismiss the other
checks if that's the case).
[ ] This change is discussed in a Github issue/
discussion (please add a
link).
[ ] The documentation and docstrings adhere to the
documentation guidelines.
[ ] This change includes necessary high-coverage tests.
(No quality testing = no merge!)

What does this PR do?
This PR just fixes a small punctuation missing in the README, following the conventions used in the README file.
Checklist

[ ✓] This PR fixes a minor issue (e.g.: typo or small bug) or improves the docs (you can dismiss the other
checks if that's the case).
[ ]  This change is discussed in a Github issue/
discussion (please add a
link).
[ ]  The documentation and docstrings adhere to the
documentation guidelines.
[ ]  This change includes necessary high-coverage tests.
(No quality testing = no merge!)

Tagging the mentor for review @8bitmp3

Hey does any changes need to be made or is it ready to be merged?


Fix issues in DG diagram

Fix an issue with the sort meeting sequence diagram

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

Coverage data is based on head (cb36367) compared to base (29f351b).
Patch has no changes to coverable lines.

Additional details and impacted files
@@            Coverage Diff            @@
##             master     #154   +/-   ##
=========================================
  Coverage     69.03%   69.03%
  Complexity      608      608
=========================================
  Files           105      105
  Lines          2051     2051
  Branches        226      226
=========================================
  Hits           1416     1416
  Misses          561      561
  Partials         74       74

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.


start.sh not seeing uvicorn install in python3.11 in Ubuntu

Bug Report
Description
Bug Summary:
the following line in the start.sh file is causing issues for the manual installation not seeing the "uvicorn" package.
"WEBUI_SECRET_KEY="$WEBUI_SECRET_KEY" exec uvicorn main:app --host <IP_ADDRESS> --port "$PORT" --forwarded-allow-ips '*'"
Steps to Reproduce:
Fresh install of Ubuntu 20.04
Update everything & install nvidia drivers (open 545)
install ollama "https://ollama.com/download"
git clone repository for ollama web
install npm and python3.11 (Ubuntu comes with 3.10 by default)
npm run build command
sh start.sh command in terminal
Expected Behavior:
After installing and building the container the program should work and everything load fine.
Actual Behavior:
it doesn't work saying "exec uvicorn not found"
Environment

Ubuntu 20.04]
Brave Browser (Doesn't get the website part)

Reproduction Details
run "sh start.sh" from a git clone of this repository as mentioned above
Confirmation:

[ X] I have read and followed all the instructions provided in the README.md.
[ X] I have reviewed the troubleshooting.md document.
[ X] I have included the browser console logs.
[ X] I have included the Docker container logs.

Logs and Screenshots
Browser Console Logs:
N/A
Docker Container Logs:
N/A
Screenshots (if applicable):
[Attach any relevant screenshots to help illustrate the issue]
Installation Method
Manual installation
Additional Information
when running the "sh start.sh" command on the terminal this is the output.
~/open-webui/backend$ sh start.sh
start.sh: 4: Bad substitution
No WEBUI_SECRET_KEY provided
Loading WEBUI_SECRET_KEY from .webui_secret_key
Traceback (most recent call last):
File "/home/snick/.local/bin/uvicorn", line 8, in
sys.exit(main())
^^^^^^
File "/home/snick/.local/lib/python3.11/site-packages/click/core.py", line 1157, in call
return self.main(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/snick/.local/lib/python3.11/site-packages/click/core.py", line 1078, in main
rv = self.invoke(ctx)
^^^^^^^^^^^^^^^^
File "/home/snick/.local/lib/python3.11/site-packages/click/core.py", line 1434, in invoke
return ctx.invoke(self.callback, **ctx.params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/snick/.local/lib/python3.11/site-packages/click/core.py", line 783, in invoke
return __callback(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/snick/.local/lib/python3.11/site-packages/uvicorn/main.py", line 418, in main
run(
File "/home/snick/.local/lib/python3.11/site-packages/uvicorn/main.py", line 587, in run
server.run()
File "/home/snick/.local/lib/python3.11/site-packages/uvicorn/server.py", line 62, in run
return asyncio.run(self.serve(sockets=sockets))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/asyncio/runners.py", line 190, in run
return runner.run(main)
^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/asyncio/runners.py", line 118, in run
return self._loop.run_until_complete(task)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "uvloop/loop.pyx", line 1517, in uvloop.loop.Loop.run_until_complete
File "/home/snick/.local/lib/python3.11/site-packages/uvicorn/server.py", line 69, in serve
config.load()
File "/home/snick/.local/lib/python3.11/site-packages/uvicorn/config.py", line 458, in load
self.loaded_app = import_from_string(self.app)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/snick/.local/lib/python3.11/site-packages/uvicorn/importer.py", line 24, in import_from_string
raise exc from None
File "/home/snick/.local/lib/python3.11/site-packages/uvicorn/importer.py", line 21, in import_from_string
module = importlib.import_module(module_str)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/importlib/init.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "", line 1204, in _gcd_import
File "", line 1176, in _find_and_load
File "", line 1147, in _find_and_load_unlocked
File "", line 690, in _load_unlocked
File "", line 940, in exec_module
File "", line 241, in _call_with_frames_removed
File "/home/snick/open-webui/backend/main.py", line 3, in
from fastapi import FastAPI, Request
ModuleNotFoundError: No module named 'fastapi'

A "python3.11 -m pip freeze" shows the fastapi is installed.
python3.11 -m pip freeze
aiohttp==3.9.3
aiosignal==1.3.1
annotated-types==0.6.0
anyio==4.3.0
archspec @ file:///croot/archspec_1697725767277/work
asgiref==3.7.2
attrs==23.2.0
av==10.0.0
backoff==2.2.1
bcrypt==4.1.2
beautifulsoup4==4.12.3
bidict==0.23.1
black==24.2.0
blinker==1.7.0
boltons @ file:///work/ci_py311/boltons_1677685195580/work
Brotli @ file:///work/ci_py311/brotli-split_1676830125088/work
build==1.0.3
cachetools==5.3.2
certifi==2024.2.2
cffi @ file:///croot/cffi_1700254295673/work
chardet==5.2.0
charset-normalizer==3.3.2
chroma-hnswlib==0.7.3
chromadb==0.4.22
click==8.1.7
coloredlogs==15.0.1
conda @ file:///croot/conda_1708369113911/work
conda-content-trust @ file:///croot/conda-content-trust_1693490622020/work
conda-libmamba-solver @ file:///croot/conda-libmamba-solver_1702997573971/work/src
conda-package-handling @ file:///croot/conda-package-handling_1690999929514/work
conda_package_streaming @ file:///croot/conda-package-streaming_1690987966409/work
cryptography @ file:///croot/cryptography_1702070282333/work
ctranslate2==3.24.0
dataclasses-json==0.6.4
dataclasses-json-speakeasy==0.5.11
Deprecated==1.2.14
distro @ file:///croot/distro_1701455004953/work
docx2txt==0.8
ecdsa==0.18.0
emoji==2.10.1
et-xmlfile==1.1.0
fastapi==0.109.2       <---------------------------------------- Here
faster-whisper==0.10.0
filelock==3.13.1
filetype==1.2.0
Flask==3.0.2
Flask-Cors==4.0.0
flatbuffers==23.5.26
frozenlist==1.4.1
fsspec==2024.2.0
google-auth==2.28.0
googleapis-common-protos==1.62.0
greenlet==3.0.3
grpcio==1.60.1
h11==0.14.0
httptools==0.6.1
huggingface-hub==0.20.3
humanfriendly==10.0
idna==3.6
importlib-metadata==6.11.0
importlib-resources==6.1.1
itsdangerous==2.1.2
Jinja2==3.1.3
joblib==1.3.2
jsonpatch==1.33
jsonpath-python==1.0.6
jsonpointer==2.4
kubernetes==29.0.0
langchain==0.1.8
langchain-community==0.0.21
langchain-core==0.1.24
langdetect==1.0.9
langsmith==0.1.2
libmambapy @ file:///croot/mamba-split_1698782620632/work/libmambapy
lxml==5.1.0
Markdown==3.5.2
MarkupSafe==2.1.5
marshmallow==3.20.2
menuinst @ file:///croot/menuinst_1702390294373/work
mmh3==4.1.0
monotonic==1.6
mpmath==1.3.0
multidict==6.0.5
mypy-extensions==1.0.0
networkx==3.2.1
nltk==3.8.1
numpy==1.26.4
nvidia-cublas-cu12==<IP_ADDRESS>
nvidia-cuda-cupti-cu12==12.1.105
nvidia-cuda-nvrtc-cu12==12.1.105
nvidia-cuda-runtime-cu12==12.1.105
nvidia-cudnn-cu12==<IP_ADDRESS>
nvidia-cufft-cu12==<IP_ADDRESS>
nvidia-curand-cu12==<IP_ADDRESS>
nvidia-cusolver-cu12==<IP_ADDRESS>
nvidia-cusparse-cu12==<IP_ADDRESS>
nvidia-nccl-cu12==2.19.3
nvidia-nvjitlink-cu12==12.3.101
nvidia-nvtx-cu12==12.1.105
oauthlib==3.2.2
onnxruntime==1.17.0
openpyxl==3.1.2
opentelemetry-api==1.22.0
opentelemetry-exporter-otlp-proto-common==1.22.0
opentelemetry-exporter-otlp-proto-grpc==1.22.0
opentelemetry-instrumentation==0.43b0
opentelemetry-instrumentation-asgi==0.43b0
opentelemetry-instrumentation-fastapi==0.43b0
opentelemetry-proto==1.22.0
opentelemetry-sdk==1.22.0
opentelemetry-semantic-conventions==0.43b0
opentelemetry-util-http==0.43b0
overrides==7.7.0
packaging==23.2
pandas==2.2.0
passlib==1.7.4
pathspec==0.12.1
peewee==3.17.1
pillow==10.2.0
platformdirs==4.2.0
pluggy @ file:///work/ci_py311/pluggy_1676822818071/work
posthog==3.4.1
protobuf==4.25.3
pulsar-client==3.4.0
pyasn1==0.5.1
pyasn1-modules==0.3.0
pycosat @ file:///croot/pycosat_1696536503704/work
pycparser @ file:///tmp/build/80754af9/pycparser_1636541352034/work
pydantic==2.6.1
pydantic_core==2.16.2
PyJWT==2.8.0
pyOpenSSL @ file:///croot/pyopenssl_1690223430423/work
pypandoc==1.13
pypdf==4.0.2
PyPika==0.48.9
pyproject_hooks==1.0.0
PySocks @ file:///work/ci_py311/pysocks_1676822712504/work
python-dateutil==2.8.2
python-dotenv==1.0.1
python-engineio==4.9.0
python-iso639==2024.2.7
python-jose==3.3.0
python-magic==0.4.27
python-multipart==0.0.9
python-socketio==5.11.1
pytz==2024.1
pyxlsb==1.0.10
PyYAML==6.0.1
rapidfuzz==3.6.1
regex==2023.12.25
requests==2.31.0
requests-oauthlib==1.3.1
rsa==4.9
ruamel.yaml @ file:///work/ci_py311/ruamel.yaml_1676838772170/work
safetensors==0.4.2
scikit-learn==1.4.1.post1
scipy==1.12.0
sentence-transformers==2.3.1
sentencepiece==0.2.0
simple-websocket==1.0.0
six==1.16.0
sniffio==1.3.0
soupsieve==2.5
SQLAlchemy==2.0.27
starlette==0.36.3
sympy==1.12
tabulate==0.9.0
tenacity==8.2.3
threadpoolctl==3.3.0
tokenizers==0.15.2
torch==2.2.0
tqdm==4.66.2
transformers==4.37.2
triton==2.2.0
truststore @ file:///croot/truststore_1695244293384/work
typer==0.9.0
typing-inspect==0.9.0
typing_extensions==4.9.0
tzdata==2024.1
unstructured==0.12.4
unstructured-client==0.18.0
urllib3==2.2.1
uuid==1.30
uvicorn==0.27.1
uvloop==0.19.0
watchfiles==0.21.0
websocket-client==1.7.0
websockets==12.0
Werkzeug==3.0.1
wrapt==1.16.0
wsproto==1.2.0
xlrd==2.0.1
yarl==1.9.4
zipp==3.17.0
zstandard @ file:///work/ci_py311_2/zstandard_1679339489613/work

I'm not sure why it works but changing that line in start.sh to the following line seems to work. You have to run it by saying "sh start.sh" in a console/terminal window. The right click and run as program option doesn't seem to work.
"WEBUI_SECRET_KEY="$WEBUI_SECRET_KEY" exec python3.11 -m uvicorn main:app --reload --host <IP_ADDRESS> --port "$PORT" --forwarded-allow-ips '*'"
Note
If the bug report is incomplete or does not follow the provided instructions, it may not be addressed. Please ensure that you have followed the steps outlined in the README.md and troubleshooting.md documents, and provide all necessary information for us to reproduce and address the issue. Thank you!

Should be noted that this is not recommended mode of operation, and the behaviour may differ from system to system (which is why we use Docker, because then we know we're only dealing with what we set as the base image).
That said, did you try running it with bash start.sh unmodified? This is how it's invoked by the container. Note the usage of bash not sh.

Reverting back to the original start.sh file and running "bash start.sh" gives the following error. I'm not really sure why the fastapi packages gives issues here. Running "bash start.sh" doesn't seem to cause any issues with the updated line.
bash start.sh
No WEBUI_SECRET_KEY provided
Loading WEBUI_SECRET_KEY from .webui_secret_key
Traceback (most recent call last):
File "/home/snick/.local/bin/uvicorn", line 8, in
sys.exit(main())
^^^^^^
File "/home/snick/.local/lib/python3.11/site-packages/click/core.py", line 1157, in call
return self.main(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/snick/.local/lib/python3.11/site-packages/click/core.py", line 1078, in main
rv = self.invoke(ctx)
^^^^^^^^^^^^^^^^
File "/home/snick/.local/lib/python3.11/site-packages/click/core.py", line 1434, in invoke
return ctx.invoke(self.callback, **ctx.params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/snick/.local/lib/python3.11/site-packages/click/core.py", line 783, in invoke
return __callback(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/snick/.local/lib/python3.11/site-packages/uvicorn/main.py", line 418, in main
run(
File "/home/snick/.local/lib/python3.11/site-packages/uvicorn/main.py", line 587, in run
server.run()
File "/home/snick/.local/lib/python3.11/site-packages/uvicorn/server.py", line 62, in run
return asyncio.run(self.serve(sockets=sockets))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/asyncio/runners.py", line 190, in run
return runner.run(main)
^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/asyncio/runners.py", line 118, in run
return self._loop.run_until_complete(task)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "uvloop/loop.pyx", line 1517, in uvloop.loop.Loop.run_until_complete
File "/home/snick/.local/lib/python3.11/site-packages/uvicorn/server.py", line 69, in serve
config.load()
File "/home/snick/.local/lib/python3.11/site-packages/uvicorn/config.py", line 458, in load
self.loaded_app = import_from_string(self.app)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/snick/.local/lib/python3.11/site-packages/uvicorn/importer.py", line 24, in import_from_string
raise exc from None
File "/home/snick/.local/lib/python3.11/site-packages/uvicorn/importer.py", line 21, in import_from_string
module = importlib.import_module(module_str)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/importlib/init.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "", line 1204, in _gcd_import
File "", line 1176, in _find_and_load
File "", line 1147, in _find_and_load_unlocked
File "", line 690, in _load_unlocked
File "", line 940, in exec_module
File "", line 241, in _call_with_frames_removed
File "/home/snick/open-webui/backend/main.py", line 3, in
from fastapi import FastAPI, Request
ModuleNotFoundError: No module named 'fastapi'


[CI Image] Rebuild Docker images to get pytest-lazy-fixture installed

[ ] S0. Reason: a blocked PR. PR https://github.com/apache/tvm/pull/10865 is blocked because it requires the pytest-lazy-fixture plugin to be present in the CI so  the tests added by this PR can pass the checks. PR https://github.com/apache/tvm/pull/10970 added  pytest-lazy-fixture to the install scripts  and now the CI images need to get updated properly so the pytest plugin is available in the CI images.

[ ] S1. Tag of nightly build: TAG. Docker hub (ci_cpu, ci_i386, ci_arm, and ci_gpu): https://hub.docker.com/layers/tlcpackstaging/{ci_cpu,ci_i386,ci_arm,ci_gpu}

[ ] S2. The nightly is built on TVM commit: 40296599cd02d9960b97de6a69519eb25651b98b. Detailed info can be found here: https://ci.tlcpack.ai/blue/organizations/jenkins/docker-images-ci%2Fdaily-docker-image-rebuild/detail/daily-docker-image-rebuild/290/pipeline/56

[ ] S3. Testing the nightly image on ci-docker-staging: https://ci.tlcpack.ai/blue/organizations/jenkins/tvm/detail/ci-docker-staging/...

[ ] S4. Retag 20220413-055910-597000c74 to ci-cpu:v0.84, ci-i386:v0.77 and ci-arm:v0.10
Note: ci-gpu got updated to this tag in https://github.com/apache/tvm/pull/10992

docker pull tlcpackstaging/ci_cpu:20220413-055910-597000c74
docker tag tlcpackstaging/ci_cpu:20220413-055910-597000c74 tlcpack/ci-cpu:v0.84
docker push tlcpack/ci-cpu:v0.84

docker pull tlcpackstaging/ci_i386:20220413-055910-597000c74
docker tag tlcpackstaging/ci_i386:20220413-055910-597000c74 tlcpack/ci-i386:v0.77
docker push tlcpack/ci-i386:v0.77

docker pull tlcpackstaging/ci_arm:20220413-055910-597000c74
docker tag tlcpackstaging/ci_arm:20220413-055910-597000c74 tlcpack/ci-arm:v0.10
docker push tlcpack/ci-arm:v0.10

[ ] S5. Check if the new tag is really there: https://hub.docker.com/u/tlcpack

[ ] S6. Submit a PR updating the image versions in the Jenkinsfile

Addressed by https://github.com/apache/tvm/commit/41319ab6926226fa9b458621e8100e4db4b6be24 , so closing this one.

We can leave this open until #10999 is merged @gromero, it should auto close it when the PR has landed 😸

@Mousius ok!


Add children iterators to TransformManager (C++ only)

Nice!  One place where this can be used is the top of ResourceLoader::updateBoundingBoxes.


chore(testing): Make testing easier

Description:
While working on operators I've had difficulty with running tests. I was missing the ability to autorun tests on change (watch) and run only specific tests to avoid long run times. This PR adds this functionality.

I don't have issue with crux of PR, but bit uncomfortable having another js script for spawning test + having 2 more npm script to support this.

The extra npm script is just to use the same base as testing all and be DRY.
About the JS script, it's the only way I've found to create a readable specific test command. Are you thinking of another approach?

The extra npm script is just to use the same base as testing all and be DRY.

I am aware, but also given current number of npm scripts we are trying to not to grow if unless absolutely necessary.
I don't have immediate proposal: just first sight I can see those two and would hope to avoid it to push this forward.

I can also remove test_base but duplicate the command partially

@kwonoj, which other maintainers can look at this PR? Maybe they have a better approach

I wrote most of script & test setups.

The thing is, without a script to run the tests, npm run test_specific -- throttleTime,auditTime turns into npm run test_base -- "spec/**/throttleTime-spec.ts" "spec/**/auditTime-spec.ts" which is very elaborate. So this could be accomplished without script but it would be cumbersome.
I can remove the test_specific npm script and make devs execute node ./tools/run-specific-tests.js throttleTime,auditTime instead of npm run test_specific -- throttleTime,auditTime. That means one less npm script but a bit more cumbersome execution. It will also have a negative effect on readability/conventions since devs will look for test commands in the scripts section of package.json.

I do agree some dev might want different dev workflow than current, but for now I value to not increase our script / or other as much as I can especially we are preparing major overhaul around whole build / test script for upcoming major versions.

so if we could achieve same even if it's bit cumbersome without adding up current script, I'd pursue it.

@MatthiasKunnen thank you so much for your effort here. Very sorry we let this sit. I ended up adding a couple of watch modes recently. IIRC our build process was in a bit of flux at the time. Thanks again.


[Parser][SR-711] Couple "expected declaration" Diagnose With Note Its DeclContext

As reported in SR-711, when an (unexpected) statement appears in a type declaration, we note the beginning of the declaration in addiction to the existing diagnostic.

I don't actually think that message makes sense for these diagnostics, though.

Ok, that's a easy fix. What about the way it's implemented? It's in a catch-all branch, I worry it may be slightly too general?

It would also be great to expand the primary message from "expected declaration" to "expected declaration in body of type" or something like that.


KDBX 4 compatibility

Is this planned for implementation? New version of Keepass broke CKP. :(

I don't know if there is an Argon2 KDF implementation usable from JavaScript.  It will require some research.  Maybe https://github.com/cjlarose/argon2-ffi ?
The rest of the changes seem manageable.

Apparently KeeWeb is using https://github.com/antelle/argon2-browser.

In progress.
Working on using https://github.com/keeweb/kdbxweb as a drop in replacement for the current method of kdbx decryption processing - that way our code will be oblivious of 3.X/4.X differences.
If there are any issues with bundling kdbxweb with this extension, please let me know.  I've read through a lot of their code and it appears quite clean, safe, and intuitive.  It wouldn't be a huge to implement without it, but the benefits of using a feature-rich library like kdbxweb allow this extension to add new features more quickly.

I don't have any issues in making use of https://github.com/keeweb/kdbxweb - the license is compatible, and the code looks good. 👍

Pull request #170 open for discussion


1.6 ecma -- docs takeover

properly merge #502 and #478

this is a restored 1.6-ecma branch (#478), with the things from #502 properly merged.
as both were intended to be merged into master, while something got stuck or lost, i will provide the intended changes here.

looks like #501 was merged to 1.6-ecma AFTER this one was already merged to master.
so the intended changes were never taken to master as expected.
this PR fixes this as intended in the approved PR #501


unexpected gradient() behaviour

https://github.com/google/jax/blob/dad8377b78522353358da75aff7a040a5cfc2fae/jax/api.py#L786:L791
right now jax.grad behaves like this:
gx, = grad(f, (0,))(x0)
gx, gy = grad(f, (0,1))(x0, y0)
A more intuitive behavior would be:
gx = grad(f, (0,))(x0)
gx, gy = grad(f, (0,1))(x0, y0)
The extra comma is easily missed because the gradient w.r.t. one variable is a variable, would you be interested in a PR changing the grad() behaviour to the second case?

Hey, thanks for the suggestion!
I think no, we want to keep the behavior as-is, for a couple reasons:

You can write gx = grad(f, 0)(x0) now, so there's already a way to express what you want.
The rule right now is pretty simple: if you pass in argnums as a tuple, you get out a tuple result, and if you pass it in as an int, you get out a result corresponding to a single argument. That is, the behavior depends on the type (int vs tuple) of the value passed in as argnums. AIUI the alternative rule would make the behavior depend on the type and the length of the value passed to argnums.

WDYT?

Makes sense, thanks.


Fix build of Binary Testing Framework

Signed-off-by: Igor Egorov<EMAIL_ADDRESS>

Description of the Change
Build of binary_test target was broken. Now the target can be built.

Benefits
BTF can be built.

Usage Examples or Tests
cmake -Bbuild -H. -DSWIG_PYTHON=ON
cmake --build build --target binary_test

Won't wait for CI, since it does not build python bindings anyway.


Add ability to allow custom enquirer editors

I'm currently using this function inspired by (copied from) the prompt method:
   function createCustomPrompt(task, Prompt, options) {
     task.prompt = true;
     let buffer = Buffer.alloc(64);

     const outputStream = through((data) => {
       buffer += data;

       // eslint-disable-next-line no-control-regex
       const deleteMultiLineRegexp = new RegExp(/.*(\u001b\[[0-9]*G|\u0007).*/m);          12
       if (deleteMultiLineRegexp.test(buffer.toString())) {
         buffer = Buffer.alloc(64);
        } else {
          task.output = buffer.toString();
        }
      });

      Object.assign(options, { stdout: outputStream });
      return new Prompt(options);
    }

With for example the enquirer-editor like this:
import EditorPrompt from 'enquirer-editor';
import { Manager } from 'listr2';

const manager = new Manager();
manager.add({
  title: 'Editor',
  task: async (_, task) => {
    const prompt = createCustomPrompt(task, EditorPrompt, { type: 'editor', message: 'Please Fill' });
    const message = await prompt.run();
  }
})
manager.runAll();

This works quite well, I was just wondering, @cenk1cenk2 do you think there's a way to incorporate this into listr2 somehow?
Or maybe make the prompt method from TaskWrapper more versatile to accept custom prompt classes?

Do you mean that like an ability to inject custom functions inside the TaskWrapper?

Maybe an optional last argument for prompt to accept custom newPrompt. createPrompt could forward it down.
(I've omitted types and replaced some of the existing code with ... in the below snippets)
In utils/prompt.ts:
export function createPrompt(
  type,
  options,
  {
    error = false,
    makeNewPrompt = newPrompt // <- default to existing newPrompt or use whatever is passed down
  } = {}
) {
  return makeNewPrompt(type, options).on('cancel', () => {...})
}

In lib/task-wrapper.ts:
public async prompt(
  type,
  options,
  CustomPrompt // <- can be used by createPrompt as custom class
) {
    ...
  Object.assign(options, { stdout: outputStream })
  return createPrompt.bind(this)(type, options, {
    makeNewPrompt: (t, o) => new CustomPrompt({ type: t, ...o }) // Maybe default to merging type with options?
  })
}

import EditorPrompt from 'enquirer-editor';

{
  task: async (_, task) =>
    task.prompt(
      'editor', // type (merge with options above?)
      { message: 'EDIT' }, // options
      EditorPrompt // CustomPrompt
    )
}

What do you think about this approach @cenk1cenk2?

There will be no type checking in my solution but I am thinking something like the one below:
If you have better ideas please throw one away.
  manager.add([
    {
      title: 'Something',
      task: (ctx, task): void => {
        task.extend('logThis')('string')
      }
    }
  ])

  try {
    ctx = await manager.runAll({ extend: { logThis: (string): void => { console.log(string) } } })
  // eslint-disable-next-line no-empty
  } catch (e){

  }

Mmm, not sure how this helps in using custom equirer prompts. Could you give me an example with an enquirer plugin when using extend?

It is just custom prompts, I see. I got it wrong then. I thought you want to extend it with another function so you can access it through the tasks. I will have a look at this today, and hopefully make enquirer more exposed so that you can extend it with custom prompts, because it is a bit limited at the moment.
I thought that also extending the stdout through function so that it can be used anything that generates data periodically but maybe it is a task for later.

So this seems like a good enough solution for me what do you think?
You pass the class of the EditorPrompt directly to the type section and pass the options in the same way.
manager.add([
   {
     title: 'Custom prompt test',
     task: async (ctx, task): Promise<void> => {
       ctx.testInput = await task.prompt(EditorPrompt, {
         message: 'Please write a short bio of at least 3 lines',
         initial: 'Start writing!',
         validate: (response): boolean | string => {
           if (response.split('\n').length < 4) {
             return 'The bio must be at least 3 lines.'
           }
           return true
         }
       })
     }
   },
   {
     title: 'Dump',
     task: (ctx, task): void => {
       task.output = ctx.testInput
     },
     persistentOutput: true
   }
 ])

 try {
   ctx = await manager.runAll()
 // eslint-disable-next-line no-empty
 } catch (e){

 }

I merged it with v.1.3.7. But just tested basic functionality with the example.ts again, needs more testing.


Standalone AHARS web page output suitable for HUD

Stratux version:

Stratux config:
SDR

[ ] single
[ ] dual

GPS

[ ] yes
[ ] no
type:

AHRS

[ ] yes
[ ] no

power source:
usb cable:

EFB app and version: (e.g., WingX Pro7 8.6.2)
EFB platform: (e.g., iOS 9.2)
EFB hardware: (e.g., iPad Mini 2)

Description of your issue:

Would it be possible to add a web page with your AHARS in a non-bordered and no-title page, suitable for use on a HUD?  Your AHARS graphics are excellently done, very smooth.  I have attached an image of green-on-black of your AHARS.  If the user could select the resolution that would be fantastic.  The HUD obviously sees black as clear...
Thanks for a great product
Brian Manlove

@egid Would this be tough to make?

I got that png by replacing the colors in stratux's css file for the AHARS display.  I can then see the whole page on a kivic HUD - if it could be shown by itself, maybe adding a vertical airspeed tape on the left and a vertical altitude tape on the right, it would rival some REALLY EXPENSIVE stuff... just a thought.
I'm not sure how stratux is generating the markup for drawing their AHARS but it's extremely smooth.  Maybe someone could point out the code for that?

This is where I would look.
https://github.com/cyoung/stratux/blob/master/web/plates/js/ahrs.js

For reference, this is a good size for the Kivic - 780 x 455.  Thanks for the reference to that ahars.js.

I have now almost completed a hud web page that is using SVG graphics with CSS and JQuery which I can run in the Raspberry Pi using the Chromium browser in kiosk mode.  That gives me a full screen without borders, menu bars, etc.
One question I have is - How hard of a hit is it on the Stratux for me to be POSTing to the getSituation url at a rate of 20 hz?  That gives me a pretty smooth screen output.  I left it running overnight and it appeared to work just fine.  It makes a lot more sense to me to not have to deal with heartbeats, keepalives, etc., in this situation.  My next step is to see if I can get the assets on the Stratux itself, in which case I can just run the composite video cable right from there.
Screen shot attached.  Comments welcome.

From memory that sounds about the polling I used fro Kwik EFIS.
http://members.iinet.net.au/~ninelima/efis/index.html
https://gitlab.com/ninelima/kwikEFIS
------ Original Message ------
From: "Brian A Manlove"<EMAIL_ADDRESS>To: "cyoung/stratux"<EMAIL_ADDRESS>Cc: "Subscribed"<EMAIL_ADDRESS>Sent: 2019-03-11 11:45:17
Subject: Re: [cyoung/stratux] Standalone AHARS web page output suitable
for HUD (#767)

I have now almost completed a hud web page that is using SVG graphics
with CSS and JQuery which I can run in the Raspberry Pi using the
Chromium browser in kiosk mode. That gives me a full screen without
borders, menu bars, etc.
One question I have is - How hard of a hit is it on the Stratux for me
to be POSTing to the getSituation url at a rate of 20 hz? That gives me
a pretty smooth screen output. I left it running overnight and it
appeared to work just fine. It makes a lot more sense to me to not have
to deal with heartbeats, keepalives, etc., in this situation. My next
step is to see if I can get the assets on the Stratux itself, in which
case I can just run the composite video cable right from there.
Screen shot attached. Comments welcome.
HudWebPage
https://user-images.githubusercontent.com/47579080/54099230-89555a00-438e-11e9-9528-0b95dafde8ed.png
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/cyoung/stratux/issues/767#issuecomment-471394887,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ARGTAToK6rZ_G6pN03JS_93uDkAdWxMsks5vVdFNgaJpZM4bOuP6.

I have a working prototype of Stratux HUD that I will post in my fork.  I installed the most minimal footprint possible on the Stratux RPi, including the Openbox window manager, and the Chromium browser.  I added a subdirectory at /var/www/hud/ and put the content html, js, img, css directories and files there.
The window manager is loaded and Chromium is launched in Kiosk mode on the RPi to the URL of http://localhost/hud/hud.html, the Kivic hud unit plugs directly into the 3.5mm composite video jack on the RPi.
This reduces the "overall footprint" of adding a HUD display to the package, because it only requires the video cable and the Kivic HUD.  Some of the other adaptations require a 2nd RPi, which means more cables, more USB ports, etc.  This keeps additional stuff to an absolute minimum.  (P.S. - the Kivic runs on any voltage between 4.5 and 17v and comes with an adapter cable for direct wiring to the ship 12v power.)
I have attached a few photos.  Feedback appreciated.
(I only have 2 hands and I needed to hold & move my phone and the Stratux at the same time... :)
I will be uploading the source for all of this to my fork at N120BZ/stratux by this coming Monday.


Uri.TryCreate and other static methods are missing.

There are some static methods in Uri class. They allow to check validity of URI and some other actions.
For example TryCreate is single way to create URI with validation of user input. It also allows us to validate if path is absolute.
These methods are not available in Bridge.Net for now:
https://deck.net/cd0454cdef7a6c57acbeb993eb1cde03
Do you have plans to implement it?

Duplicate of #2185, fixed in #2813.

Strange it is not available in beta2...

@hardhub, the pull request has not been merged yet.


Remove duplicate attribute.

Issue raised by LGTM.

Codecov Report

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

@@           Coverage Diff           @@
##           master     #199   +/-   ##
=======================================
  Coverage   68.56%   68.56%
=======================================
  Files          27       27
  Lines        2144     2144
  Branches      263      263
=======================================
  Hits         1470     1470
  Misses        581      581
  Partials       93       93


feat(perception): refactor pointcloud container

Description
Must be merged with

https://github.com/tier4/aip_launcher/pull/209
https://github.com/tier4/autoware_launch.xx1/pull/764

NOTE!!!: We also need to update the ML model. See https://evaluation.tier4.jp/evaluation/mlpackages/5b56c824-de65-406e-b12f-d7271589cc70/releases/ec5e8e23-e85a-463f-aa36-c8150363a820?project_id=zWhWRzei

Tests performed

Launch pilot-auto.xx1 with logging_simulator and confirmed that it works with odaiba rosbag (both localization & perception).
Effects on system behavior

Not applicable.
Pre-review checklist for the PR author
The PR author must check the checkboxes below when creating the PR.

[ ] I've confirmed the contribution guidelines.
[ ] The PR follows the pull request guidelines.

In-review checklist for the PR reviewers
The PR reviewers must check the checkboxes below before approval.

[ ] The PR follows the pull request guidelines.

Post-review checklist for the PR author
The PR author must check the checkboxes below before merging.

[ ] There are no open discussions or they are tracked via tickets.

After all checkboxes are checked, anyone who has write access can merge the PR.

@shmpwk Would you review this if necessary? (Or can I just merge?) I checked that logging_simulator runs as intended.


Fix backward weight igemm kernel time bug

It fixes the bug reported in #199

@TejashShah Formatting.

The time is measured incorrectly during the "Run" phase, not during "Find". So it does not affect results of Find, find-db, and performance. I am in doubt if this PR is a must for ROCm 3.5.

The time is measured incorrectly during the "Run" phase, not during "Find". So it does not affect results of Find, find-db, and performance. I am in doubt if this PR is a must for ROCm 3.5.

Do you mean, in general, the time reported along with this str: GPU Kernel Time Backward Weights
is not reliable and shouldn't be used for benchmarking?

@atamazov I think, it is a must
As the time reported for bfp16/fp16 group config is way off:
MIOpenDriver convfp16 -n 128 -V 0 -c 1024 -H 14 -W 14 -k 1024 -y 3 -x 3 -p 0 -q 0 -u 1 -v 1 -l 1 -j 1 -g 32 -F 4 -t 1 -i 1
MIOpen(HIP): Info [FindConvBwdWeightsAlgorithm] BWrW Chosen Algorithm: ConvHipImplicitGemmV4R4GenWrWXdlops , 1179648, 4.35072
GPU Kernel Time Backward Weights Conv. Elapsed: 0.022720 ms (average)
MIOpenDriver convbfp16 -n 128 -V 0 -c 1024 -H 14 -W 14 -k 1024 -y 3 -x 3 -p 0 -q 0 -u 1 -v 1 -l 1 -j 1 -g 32 -F 4 -t 1 -i 1
MIOpen(HIP): Info [FindConvBwdWeightsAlgorithm] BWrW Chosen Algorithm: ConvHipImplicitGemmV4R4GenWrWXdlops , 1179648, 6.80769
GPU Kernel Time Backward Weights Conv. Elapsed: 0.024000 ms (average)
Another reason the fix is required is that fp16/bfp16 backward wrw igemm kernels invokes cast kernel at the end. If we don;t gather time like in this PR, in group configs, it only reports cast kernel time.

@TejashShah

Do you mean, in general, the time reported along with this str: GPU Kernel Time Backward Weights is not reliable and shouldn't be used for benchmarking?

No. This time should be reliable. We can use it for our internal purposes (internal testing , triaging...), and this issue is a bug, definitely.
However the issue does NOT affect results of Find, find-db, and actual performance of the library.


fix(app): fix temperature module wait for temp text

Overview
The wait for target temperature command for the temperature module improperly interpolates a temperature value, despite the fact that only the target temperature previously set will be awaited
Closes RQA-749

Just checked, there's no way to specify custom wait for temp for TC in engine, but H/S waitForTemp can take a temperature param so maybe we should selectively show the custom temperature vs 'target temperature' text for both temp module & H/S