The result of sample "mobilenetv2_classification" is unexcepted.

[Issue]
When we try the sample "mobilenetv2_classification" with "Option 2: Use context binary generated by native QNN tool chain", the result is unexcepted.
We have tried:

Two formats of input, but the result is still wrong.
Using qnn tool to assign the input layout in dlc.

Suspect that the versions of onnxruntime and qnn sdk caused this issue.
Excepted:

Result:

[Reproduce Steps]
We follow the steps of the "Option 2: Use context binary generated by native QNN tool chain" in https://github.com/microsoft/onnxruntime-inference-examples/tree/main/c_cxx/QNN_EP/mobilenetv2_classification
Here is the sample we built: https://1drv.ms/u/s!AvGtWauU4SjguzT0kHuBr2c7gXye?e=hyrofZ
[Environment]

Processer: Snapdragon (TM) 8cx Gen 3
onnxruntime : v1.16.3 with PR 17757.
qnn sdk : <IP_ADDRESS>124

It could be caused by the quantization. Ideally, it should cover as more data as possible. Here, we only used a single input file kitten.jpg to demonstrate the workflow.
I don't know the details regarding to your cls_qnn.exe. I did a trick with our existing example, that, put your goldfish.jpg into the images folder, rename it to kitten.jpg, and delete the kitten_input.raw & kitten_input_nhwc.raw. Then run our example again. It get the correct result for the first 2 runs.
position=1, classification=n01443537 goldfish, Carassius auratus, probability=28.157501
The last run got incorrect result also:
position=0, classification=n01440764 tench, Tinca tinca, probability=13.637315
That's because the QDQ model get re-quantized with new data sets (the golden fish image). However the context binary generated by native QNN tool chain was not changed, so the quantization parameter may not fit for the new data set. You can try to re-generate the QNN context binary using QNN tool chain with new data set. And run it again. It should resolve the issue.

Thanks for the reply, we will check it detailly.
Before that we want to share further about our cls_qnn.exe.
It is referred to Main.cpp in the mobilenetv2_classification sample.
The only different think is compiling with the latest onnxruntime  v1.16.3 with PR 17757.
The parameter we used in our cls_qnn.exe is QuantizedData: -116, 0.015875209f for input，and DequantizedData: -86, 0.08069417f for output.
The raw input preprocess is also using mobilenetv2_helper.py, and try to run the original onnx model and get the correct result.
If it's possible, may I have the kitten.jpg.raw you used? or it's the same to us?

There are some changes recently. You need to use the latest main for both onnxruntime and the inference example code.
You can directly run the example code to get the kitten.jpg.raw.
The parameter is not just the QuantizedData and DequantizedData for input & output. All tensors inside the model are quantized.
By the way, any reason that you have to use the one converted by QNN tool chain?

Got it, we will try the latest main for both onnxruntime and the inference example code.
By the way, the one in the last line you mean why we choose this model?

You said this: When we try the sample "mobilenetv2_classification" with "Option 2: Use context binary generated by native QNN tool chain", the result is unexcepted.
Why you want to use the context binary generated by native QNN tool chain?

Also, if you choose that option 2, you should run the command like:
REM run mobilenetv2-12_net_qnn_ctx.onnx (generated from native QNN) with QNN HTP backend
qnn_ep_sample.exe --qnn mobilenetv2-12_net_qnn_ctx.onnx kitten_input_nhwc.raw

Hi @HectorSVC
We have tried the latest main for both onnxruntime and the inference example code, and it works!

Thank you for the assistance, and we are moving to close this issue.
Happy new year!


GET(path.command_tree_node_for_command) needs to notify if context filtering needs to change

If requesting to go to command x in a filtered tree, where x is in a different context (i.e. not part of the given tree), the server needs to tell the client to switch trees. The API already kind of allows this, by having the returned path point to a different tree ID, however, I saw in the code that it just passes back the same ID as was passed in. Also, I would need some way of telling what the filters are for a given tree ID. A better option would be to return a {path.CommandTree, path.CommandTreeNode} tuple. I can also live with the restriction that if the atom is not part of the current tree, we always switch to an unfiltered tree (which I can detect by the tree ids not matching).
This is needed for the resources' goto action and the global goto atom action.

If requesting to go to command x in a filtered tree, where x is in a different context (i.e. not part of the given tree), the server needs to tell the client to switch trees. The API already kind of allows this, by having the returned path point to a different tree ID

That's the mechanism.

however, I saw in the code that it just passes back the same ID as was passed in.

Which is correct. The Tree identifier is unique to the set of filters.

Also, I would need some way of telling what the filters are for a given tree ID.

The client obtains the tree ID by asking for it with the set of filters. This is done by resolving path.CommandTree.
Unless I'm missing something, I don't think anything is missing from the API here.

To be clear:
Client asks for a tree with the filtering / customization it wants with:
Get(path.CommandTree{...})
It gets back a service.CommandTree with a path.CommandTreeNode to the root node. Part of the path.CommandTreeNode is the tree identifier. This identifier is the unique identifier for the tree you asked for with path.CommandTree.
You can poke around the tree by creating derived path.CommandTreeNodes where you play with the index field.
If you want to locate a path.CommandTreeNode from a path.Command, use Get(path.CommandTreeNodeForCommand) carrying across the tree ID from the original Get(path.CommandTree{...}) call.

We're on the same page regarding everything in your "to be clear" message. Here's the situation I'm talking about:
Let's say a trace has two contexts, with "context 1" containing atoms [0,100] and [200,300], while atoms [101,199] are part of "context 2".
The user has selected "context 1" in the drop down, filtering the atom tree with ID xxx. The user then looks at textures, and clicks on a "goto reference" with atom 150 - or - the user uses the "goto atom" action with atom 150.
The client asks for the path.CTN using path.CTNForCommand with atom index 150 on tree xxx. Tree xxx doesn't contain atom 150. So, the server needs to return a path.CTN to tree yyy, which is either filtered by "context 2" or has no filter.
I get the path.CTN and notice the tree ID has changed, so I update the tree. But, I also need to update the context selector. How do I know what the filters are on tree yyy?

So, the server needs to return a path.CTN to tree yyy

Not sure about this. There's not just one yyy that the server could return - does the client want to preserve the other constraints? Does the command show up if those constraints are applied? This could be an exhaustive search and returning some arbitrary tree seems wrong.
My gut feeling is that this should be handled by the client. Either by graying out that jump reference (easiest), or adjusting the tree query to something that should always contain the node.
Happy to discuss options further.

Server really should handle no-node cases better.


WebAPI - Returns "object" instead of Type

I updated my NSwag and found that my newly generated C# Client started returning "object" rather than the concrete types I had defined in my ProducesResponseType attributes.  After debugging, I have deduced that the reason for this is because of commit c3c3a896.  The addition of || a.GetType().Name == "ProducesAttribute" to WebApi.OperationResponseProcessor.ProcessAsync() started pulling in my attributes for [Produces("application/json")].
As a quick fix, I cloned the source and simply removed the new code.  However, I'd like to know if I'm doing something wrong or if this is just a bug.

So you have a ProducesResponseTypeAttribute and a ProducesAttribute on the operation?

Yes.  As an example:
[HttpGet("Id")]
[Produces("application/json")]
[ProducesResponseType(200, Type = typeof(TimeRunTimeImageResultViewModel))]
public virtual async Task GetAsync([FromQuery] int timeRunId, [FromQuery] int timeImageResultId, CancellationToken cancellationToken)

The response type is not even checked.. this is why I removed it, if you want to support it, can you create a PR?

Sorry, I didn't realize that it was closed in a checkin.  Now I see the point of confusion was that I am using an overload that you are now properly ignoring in 64a8ab1.


type is invalid react testing libarary

🐛 Bug Report
'type is invalid console.error' appear, when i run jest with react testing libarary
console.error
Warning: React.createElement: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: object. You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.
Check the render method of InnerLoadable.
My loadable component re export original component like this
import React from 'react';
import loadable from '@loadable/component';
import SimpleLoading from 'web/components/Modal/SimpleLoading';

const Loadable = loadable(() => import('.'), {
  fallback: <SimpleLoading />,
});
export default Loadable;

help me ㅜㅜ

InnerLoadable is forwardRef, which is object. There are two options for you

update packages. You might just use little obsolete versions.
wrap Loadable export default (props) => <Loadable {..props}/> to hide it's forwardRef nature.

Related:

#669

I haven't tried yet
but i think your advice will be useful, thanks a lot :)

I haven't tried yet
but i think your advice will be useful, thanks a lot :)


fix chrono whitespace Issue #660, remove workaround

S4 implements a workaround for Chrono Issue #660.

Fix Chrono Issue 660.
Remove the workaround.

Waiting for review in PR https://github.com/chronotope/chrono/pull/807

Chrono has released 0.4.27. See https://github.com/chronotope/chrono/releases/tag/v0.4.27
However, I'm not sure if it includes the fix in https://github.com/chronotope/chrono/pull/807 as that was merged into the main branch but then had to be reverted. See https://github.com/chronotope/chrono/releases/tag/v0.4.26


Account Number accepts 'X' as a number

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Go to settings > workspace > Bank Account > Connect Manually.
Add the routing number as "074000078" and the account number as "XXXXX6789".
Observe that the application does not display an error message for the invalid account number

Expected Result:
The account number field should only accept numeric values.
Actual Result:
The application does not show an error message when we enter "XXXXX6789" as the account number.
Workaround:
Can the user still use Expensify without this being fixed? Have you informed them of the workaround?
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[x] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: 1.3.37-2
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/43996225/e8c5df42-bb3a-4455-85c6-e6648dc4c96b
Expensify/Expensify Issue URL:
Issue reported by: @tewodrosGirmaA
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1688391230054399
View all open jobs on GitHub

Proposal
Please re-state the problem that we are trying to solve in this issue.
Account number doesn't show errors when we enter "XXXXX6789"
What is the root cause of that problem?
https://github.com/Expensify/App/blob/d2de7795edba44a3803f9c10db06ba515a896e69/src/pages/ReimbursementAccount/BankAccountManualStep.js#L40-L43
We are checking the MASKED_US_ACCOUNT_NUMBER as well. "XXXXX6789" meets this regex and no error shows.
This is the root cause
What changes do you think we should make in order to solve the problem?
This MASKED_US_ACCOUNT_NUMBER regex is for masked account number and not needed here.
Removing it is a fine solution
        if (!values.accountNumber || !CONST.BANK_ACCOUNT.REGEX.US_ACCOUNT_NUMBER.test(values.accountNumber.trim())) {

This works as expected.
What alternative solutions did you explore? (Optional)

Asking if this will be resolved with - https://github.com/Expensify/App/issues/21065#issuecomment-1624108002

Added a hold label to the title while this issue is reviewed by @Santhosh-Sellavel to see if it will be fixed with - https://github.com/Expensify/App/issues/20935#issuecomment-1624115157

Proposal
Please re-state the problem that we are trying to solve in this issue.
Account Number accepts 'X' as a number.
What is the root cause of that problem?
The root cause of this issue is that we accept an account number if

It's not empty and
It matches regex CONST.BANK_ACCOUNT.REGEX.US_ACCOUNT_NUMBER or CONST.BANK_ACCOUNT.REGEX.MASKED_US_ACCOUNT_NUMBER

See
https://github.com/Expensify/App/blob/bf94b78a60f21bcf39a1d3c865f9fdfad228bedb/src/pages/ReimbursementAccount/BankAccountManualStep.js#L40-L44
Regex CONST.BANK_ACCOUNT.REGEX.MASKED_US_ACCOUNT_NUMBER matches input XXXXX6789
/^[X]{0,9}[0-9]{4}$|^[0-9]{6}[X]{4,7}[0-9]{4}$/.test('XXXXX6789') === true

So, the invalid account number, XXXXX6789, is accepted.
What changes do you think we should make in order to solve the problem?
To fix this issue, we should improve the validation condition
https://github.com/Expensify/App/blob/bf94b78a60f21bcf39a1d3c865f9fdfad228bedb/src/pages/ReimbursementAccount/BankAccountManualStep.js#L40-L44
to avoid accepting invalid account number.
As we can save data in step 2 and the account number is masked with X after saving. So, after saving data in Step 2, if you want to go back to previous steps, like step 1, and then continue to step 2 again, then we need to let the form field validation pass the account number marked by X.
The account number is marked by rule described here
https://github.com/Expensify/App/blob/bf94b78a60f21bcf39a1d3c865f9fdfad228bedb/src/CONST.js#L228-L230
To achieve it, we can improve the validation to
const accountNumber = values.accountNumber && values.accountNumber.trim();
if (
    !accountNumber ||
    (
        // Check if the account number is saved and marked by the backend
        accountNumber === this.props.getDefaultStateForField('accountNumber', '')
            // Validate saved account number marked by X
            ? !CONST.BANK_ACCOUNT.REGEX.MASKED_US_ACCOUNT_NUMBER.test(accountNumber)
            // Validate user input account number
            : !CONST.BANK_ACCOUNT.REGEX.US_ACCOUNT_NUMBER.test(accountNumber)
    )
) {
    errorFields.accountNumber = 'bankAccount.error.accountNumber';

See demo video

Click to see demo video
https://github.com/Expensify/App/assets/117511920/c21bd0c7-c4e7-4381-b1c4-6a8ec0aa4ed9

What alternative solutions did you explore? (Optional)
N/A

Monitoring - https://github.com/Expensify/App/issues/20935#issuecomment-1624115157

Monitoring - https://github.com/Expensify/App/issues/20935#issuecomment-1624115157

closing after discussion here!

Hey @dylanexpensify The slack discussion link is not public accessible. Can you share a short summary about the discussion to decide to close this issue? Thank you!


Add utility function for displaying script notes

It would be better to merge this after #665, in case there are any changes needed here (and so that the repo actually has RTFNotes to display).
The modal dialog will display RTFNotes in a (readonly) text edit control, falling back to Notes. If neither one exists, then no dialog is shown. The caller can specify the dialog caption, height, and width; sensible defaults are provided.
@cv-on-hub Please see if this meets your needs as a replacement for the custom code you've got behind your ? buttons. Note that after the other PR is merged all scripts with Notes will automatically get RTFNotes during the build process.

One thing to be aware of about this function is that for RTF display it requires RGP Lua 0.68+. (And depending on which APIs you use, possible even 0.71, but I doubt you are using GetCharacterAtIndex, which will be replaced in 0.71 with a different API due to its lack of proper UTF-16 support.)
But then, multiline edit boxes only work on Mac. I assume that's what @cv-on-hub was using to show info before I added the text editor control. So any script that shows info in a multiline edit box must use FCCtrlTextEditor for cross platform compatibility and should therefore require 0.68 minimum.

Eventually, it may make sense to expand this window to include all the functionality and display of the JW Lua info dialog. (You access that from the Explorer tab.) That will save me the trouble of doing it in RGP Lua.
But we can leave that as a future enhancement.


I have lost all my MELD !!!

I have claimed my meld from staking it since last year. I got the meld showing on my nami wallet and then I wanted to send the meld to my Eternl wallet where I have more meld tokens and I have an $i000 as an $Ada handle! ON THE NAMI SEND BOX IT SAYS TYPE THE WALLET ADRESS OR $ada handle....SO I DID PUT THE $i000 and then OFCOURSE I DIDNT GET ANY MELD! I have lost EVERYTHING I CAN NOT BELIEVE IT !! I have typed the handle correctly. WHAT IS GOING ON COME ON. I have contacted ETERNL AND JPG STORE AND THEY LOOKED INTO IT AND CHECKED AND THEY CAN CLEARLY SEE ITS A NAMI ISSUE.
Please please please HELP.

@james928s Talk to Cardano Support on the Live support page so that your issue can be looked into.

Have you able to resolved your issues?

No I haven’t I am really upset Because it’s not my fault! I lest a message on telegram but Alessandro doesn’t even bother answering it’s the other guy that answered. But he says nothing can be done. The thing is it’s a nami problem 100% someone has my meld. In the past I had another issue with the spending password and it was telling me it was wrong! Thank god I didn’t change it because after a long time after an upgrade from nami then it worked. That’s why I was very careful I only used it to stake meld and unstake and then clicked on the $ada handle address which I have used in the past from my other Eternl wallet I had no problem. The thing that gets me angry is I got a green tick/check mark that it was all good and it recognised the Ada handle!  BUT IT DIDNT GO to my wallet it went somewhere else how is this possible!  If you only new what I had to go thru and what it means to me to loose all of the meld I had I can’t describe it to you. There should be a way from I don’t know someone from cardano help me.  I feel like going on Twitter and just blast nami with negative stuff but it’s not my personality.  But I am so angry because I can’t talk or call anyone. How do I even know if you are not a scammer.
Sent from my iPhone

On 28 Mar 2023, at 18:22, HanthandEth @.***> wrote:

Have you able to resolved your issues?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.


Added some nice information

Convincing people to get involved and downloading the app as soon as it comes out

Made some changes to readme.md to inform people


Add Liberty University to the education domain list

@mwelwankuta I am sorry, the domain liberty.edu is removed from our trusted domains list because it was abused in the past. If you are the student of this school, please enroll to GitHub Student Developer Program. Then apply for JetBrains educational subscription with your GitHub account (GitHub tab at https://www.jetbrains.com/shop/eform/students).

I have the student developer pack, I was just unaware that I could use that. thanks doing so


Dragging tabs reload iFrame

Hi,
I have added two tabs each having iFrame to show different website. Everything works perfect except that iFrame reloads everytime i move my tabs around. Can someone please let me know how to stop reloading of iFrame when moving tabs.
Thanks

Hi KNaved. Given the current architecture of GoldenLayout, the contents of any draggable item are destroyed and re-created whenever they are dragged. Unfortunately this means the iframe will reload. I'm not aware of any quick workaround for this, sorry.

:(
Is there any alternate way to show different website in different tabs without tab releoad.
Thanks

Not that I'm aware of, sorry. Maybe someone else reading this can offer
some suggestions?
One way would be to fetch the HTML of the other website yourself and cache
it, and use it as the HTML contents of your tab...but that could break a
lot of things.
On Thu, Oct 6, 2016 at 7:33 AM, Naved<EMAIL_ADDRESS>wrote:

:(
Is there any alternate way to show different website in different tabs
without tab releoad.
Thanks
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/deepstreamIO/golden-layout/issues/154#issuecomment-251947989,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAmsdSiiPlBtq2h5YHlID0xSUotWJ5tCks5qxOqFgaJpZM4KPr8Z
.

Is it possible to just turn off the visibility of content instead of destroying the content when drag starts and assign invisible content (iFrame) to the tab again when drag stops?

It's not so much visibility as the object is destroyed, and recreated
inside a new container to be dragged. Then that container is moved around
the DOM, before finally being recreated in the place where you drop it.
On Thu, Oct 6, 2016 at 7:48 AM Naved<EMAIL_ADDRESS>wrote:

Is it possible to just turn off the visibility of content instead of
destroying the content when drag starts and assign invisible content
(iFrame) to the tab again when drag stops?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/deepstreamIO/golden-layout/issues/154#issuecomment-251951436,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAmsdQVsOsbWOXs5mLPcBfCzJEvQ-X4pks5qxO4bgaJpZM4KPr8Z
.

okay. So there is no native support for iFrame in GL. :(

You can of course place iframes in GL. But they will reload as they're
moved around, just like all the other components do when you drag them. We
can try and find a way to move HTML DOM elements around instead of deleting
and recreating, but it would be a big refactor. I'd welcome patches!
On Thu, Oct 6, 2016 at 9:02 AM Naved<EMAIL_ADDRESS>wrote:

okay. So there is no native support for iFrame in GL. :(
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/deepstreamIO/golden-layout/issues/154#issuecomment-251970306,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAmsdTjGmrrslmKIellxYkfzJHah5jCXks5qxP90gaJpZM4KPr8Z
.

Agreed this would be like refracting entire dragging logic. Thanks for the quick response though. I'll see if i can find some workaround for this.
Thanks

I am using G in Electron with <webview> and have the same requirement.
Good luck - if you manage it let us know!
http://stackoverflow.com/questions/8318264/how-to-move-an-iframe-in-the-dom-without-losing-its-state


Model request: non-negative spatial factorization (NSF)

Is anyone currently working on implementing NSF? It's a nice probabilistic method designed with spatial transcriptomics in mind. https://www.nature.com/articles/s41592-022-01687-w
It'd be nice to work with this here, within scvi-tools. The authors' implementation (@ https://github.com/willtownes/nsf-paper) is a little hard to parse and implemented with Tensorflow as a backend (which I don't work in).

Yes, I'm happy to go for it. It'd be good practice contributing. I can't guarantee any timeline, though, so if someone wants this sooner please ping me.

Looking into this more, it should be possible with just PyTorch, or just jax+numpyro (which we already depend on), without the introduction of tensorflow probability. @martinkim0 do you want to try this model? It looks both fairly straightforward and fun.

fyi I have back-burnered this to the point of inaction. If you want to work on this, know that I'm not working in parallel. I'll update this when and if I begin.


On trying the create image from text I get an error

ComfyUI Error Report
Error Details

Node Type: Griptape Create: Image from Text
Exception Type: FileNotFoundError
Exception Message: [Errno 2] No such file or directory: 'D:\Automatic<IP_ADDRESS>\ComfyUI_windows_portable\ComfyUI\temp\5e55242278eb4332a922ab0db7815ab5'

Stack Trace
  File "D:\Automatic<IP_ADDRESS>\ComfyUI_windows_portable\ComfyUI\execution.py", line 323, in execute
    output_data, output_ui, has_subgraph = get_output_data(obj, input_data_all, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb)
                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "D:\Automatic<IP_ADDRESS>\ComfyUI_windows_portable\ComfyUI\execution.py", line 198, in get_output_data
    return_values = _map_node_over_list(obj, input_data_all, obj.FUNCTION, allow_interrupt=True, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "D:\Automatic<IP_ADDRESS>\ComfyUI_windows_portable\ComfyUI\execution.py", line 169, in _map_node_over_list
    process_inputs(input_dict, i)

  File "D:\Automatic<IP_ADDRESS>\ComfyUI_windows_portable\ComfyUI\execution.py", line 158, in process_inputs
    results.append(getattr(obj, func)(**inputs))
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "D:\Automatic<IP_ADDRESS>\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-Griptape\nodes\tasks\gtUIPromptImageGenerationTask.py", line 101, in run
    output_image, output_mask = image_path_to_output(image_path)
                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "D:\Automatic<IP_ADDRESS>\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-Griptape\nodes\utilities.py", line 71, in image_path_to_output
    img = Image.open(image_path)
          ^^^^^^^^^^^^^^^^^^^^^^

  File "D:\Automatic<IP_ADDRESS>\ComfyUI_windows_portable\python_embeded\Lib\site-packages\PIL\Image.py", line 3431, in open
    fp = builtins.open(filename, "rb")
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

System Information

ComfyUI Version: v0.2.7-22-g122c9ca
Arguments: ComfyUI\main.py --windows-standalone-build
OS: nt
Python Version: 3.11.8 (tags/v3.11.8:db85d51, Feb  6 2024, 22:03:32) [MSC v.1937 64 bit (AMD64)]
Embedded Python: true
PyTorch Version: 2.5.1+cu121

Devices

Name: cuda:0 NVIDIA GeForce RTX 3060 : cudaMallocAsync

Type: cuda
VRAM Total:<PHONE_NUMBER>0
VRAM Free:<PHONE_NUMBER>0
Torch VRAM Total: 100663296
Torch VRAM Free: 67108852

Logs
2024-11-17T18:46:35.702133 - )2024-11-17T18:46:35.702133 -                                                         2024-11-17T18:46:35.702133 -
2024-11-17T18:46:35.703133 -                       2024-11-17T18:46:35.703133 -          2024-11-17T18:46:35.703133 -              ^^^^^^^^^^^^^^^^^^^                                                        2024-11-17T18:46:35.703133 -
2024-11-17T18:46:35.704132 -                       2024-11-17T18:46:35.704132 -          2024-11-17T18:46:35.704132 -   File                                                                                2024-11-17T18:46:35.704132 -
2024-11-17T18:46:35.705133 -                       2024-11-17T18:46:35.705133 -          2024-11-17T18:46:35.705133 - "D:\Automatic<IP_ADDRESS>\ComfyUI_windows_portable\python_embeded\Lib\site-packages\tenacity\2024-11-17T18:46:35.705133 -
2024-11-17T18:46:35.706133 -                       2024-11-17T18:46:35.706133 -          2024-11-17T18:46:35.706133 - __init__.py"2024-11-17T18:46:35.706133 - , line 2024-11-17T18:46:35.706133 - 4182024-11-17T18:46:35.706133 - , in exc_check                                                    2024-11-17T18:46:35.707133 -
2024-11-17T18:46:35.707133 -                       2024-11-17T18:46:35.707133 -          2024-11-17T18:46:35.707133 -     raise 2024-11-17T18:46:35.707133 - retry_exc.reraise2024-11-17T18:46:35.708132 - (2024-11-17T18:46:35.708132 - )2024-11-17T18:46:35.708132 -                                                            2024-11-17T18:46:35.708132 -
2024-11-17T18:46:35.708132 -                       2024-11-17T18:46:35.708132 -          2024-11-17T18:46:35.709132 -           ^^^^^^^^^^^^^^^^^^^                                                           2024-11-17T18:46:35.709132 -
2024-11-17T18:46:35.709132 -                       2024-11-17T18:46:35.709132 -          2024-11-17T18:46:35.709132 -   File                                                                                2024-11-17T18:46:35.709132 -
2024-11-17T18:46:35.710133 -                       2024-11-17T18:46:35.710133 -          2024-11-17T18:46:35.710133 - "D:\Automatic<IP_ADDRESS>\ComfyUI_windows_portable\python_embeded\Lib\site-packages\tenacity\2024-11-17T18:46:35.710133 -
2024-11-17T18:46:35.711133 -                       2024-11-17T18:46:35.711133 -          2024-11-17T18:46:35.711133 - __init__.py"2024-11-17T18:46:35.711133 - , line 2024-11-17T18:46:35.711133 - 1852024-11-17T18:46:35.711133 - , in reraise                                                      2024-11-17T18:46:35.712133 -
2024-11-17T18:46:35.712133 -                       2024-11-17T18:46:35.712133 -          2024-11-17T18:46:35.712133 -     raise 2024-11-17T18:46:35.712133 - self.last_attempt.result2024-11-17T18:46:35.715132 - (2024-11-17T18:46:35.715132 - )2024-11-17T18:46:35.715132 -                                                     2024-11-17T18:46:35.715132 -
2024-11-17T18:46:35.716132 -                       2024-11-17T18:46:35.716132 -          2024-11-17T18:46:35.716132 -           ^^^^^^^^^^^^^^^^^^^^^^^^^^                                                    2024-11-17T18:46:35.716132 -
2024-11-17T18:46:35.716132 -                       2024-11-17T18:46:35.717132 -          2024-11-17T18:46:35.717132 -   File 2024-11-17T18:46:35.717132 - "concurrent\futures\_base.py"2024-11-17T18:46:35.717132 - , line 2024-11-17T18:46:35.717132 - 4492024-11-17T18:46:35.717132 - , in result                               2024-11-17T18:46:35.717132 -
2024-11-17T18:46:35.718132 -                       2024-11-17T18:46:35.718132 -          2024-11-17T18:46:35.718132 -   File 2024-11-17T18:46:35.718132 - "concurrent\futures\_base.py"2024-11-17T18:46:35.718132 - , line 2024-11-17T18:46:35.718132 - 4012024-11-17T18:46:35.718132 - , in __get_result                         2024-11-17T18:46:35.719132 -
2024-11-17T18:46:35.719132 -                       2024-11-17T18:46:35.719132 -          2024-11-17T18:46:35.719132 -   File                                                                                2024-11-17T18:46:35.719132 -
2024-11-17T18:46:35.720133 -                       2024-11-17T18:46:35.720133 -          2024-11-17T18:46:35.720133 - "D:\Automatic<IP_ADDRESS>\ComfyUI_windows_portable\python_embeded\Lib\site-packages\griptape\2024-11-17T18:46:35.720133 -
2024-11-17T18:46:35.721132 -                       2024-11-17T18:46:35.721132 -          2024-11-17T18:46:35.721132 - drivers\image_generation\base_image_generation_driver.py"2024-11-17T18:46:35.721132 - , line 2024-11-17T18:46:35.721132 - 302024-11-17T18:46:35.721132 - , in run_text_to_image2024-11-17T18:46:35.721132 -
2024-11-17T18:46:35.722133 -                       2024-11-17T18:46:35.722133 -          2024-11-17T18:46:35.722133 -     result = 2024-11-17T18:46:35.722133 - self.try_text_to_image2024-11-17T18:46:35.722133 - (2024-11-17T18:46:35.723132 - prompts, negative_prompts2024-11-17T18:46:35.723132 - )2024-11-17T18:46:35.723132 -                           2024-11-17T18:46:35.723132 -
2024-11-17T18:46:35.723132 -                       2024-11-17T18:46:35.724134 -          2024-11-17T18:46:35.724134 -              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^                          2024-11-17T18:46:35.724134 -
2024-11-17T18:46:35.724134 -                       2024-11-17T18:46:35.724134 -          2024-11-17T18:46:35.724134 -   File                                                                                2024-11-17T18:46:35.725133 -
2024-11-17T18:46:35.725133 -                       2024-11-17T18:46:35.726132 -          2024-11-17T18:46:35.726132 - "D:\Automatic<IP_ADDRESS>\ComfyUI_windows_portable\python_embeded\Lib\site-packages\griptape\2024-11-17T18:46:35.726132 -
2024-11-17T18:46:35.726132 -                       2024-11-17T18:46:35.726132 -          2024-11-17T18:46:35.726132 - drivers\image_generation\openai_image_generation_driver.py"2024-11-17T18:46:35.727132 - , line 2024-11-17T18:46:35.727132 - 732024-11-17T18:46:35.727132 - , in                2024-11-17T18:46:35.727132 -
2024-11-17T18:46:35.727132 -                       2024-11-17T18:46:35.727132 -          2024-11-17T18:46:35.728133 - try_text_to_image                                                                       2024-11-17T18:46:35.728133 -
2024-11-17T18:46:35.728133 -                       2024-11-17T18:46:35.728133 -          2024-11-17T18:46:35.728133 -     response = 2024-11-17T18:46:35.729134 - self.client.images.generate2024-11-17T18:46:35.731134 - (2024-11-17T18:46:35.731134 -                                              2024-11-17T18:46:35.731134 -
2024-11-17T18:46:35.732133 -                       2024-11-17T18:46:35.732133 -          2024-11-17T18:46:35.732133 -                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^                                             2024-11-17T18:46:35.732133 -
2024-11-17T18:46:35.732133 -                       2024-11-17T18:46:35.732133 -          2024-11-17T18:46:35.733131 -   File                                                                                2024-11-17T18:46:35.733131 -
2024-11-17T18:46:35.733131 -                       2024-11-17T18:46:35.733131 -          2024-11-17T18:46:35.733131 - "D:\Automatic<IP_ADDRESS>\ComfyUI_windows_portable\python_embeded\Lib\site-packages\openai\re2024-11-17T18:46:35.733131 -
2024-11-17T18:46:35.734133 -                       2024-11-17T18:46:35.734133 -          2024-11-17T18:46:35.734133 - sources\images.py"2024-11-17T18:46:35.734133 - , line 2024-11-17T18:46:35.734133 - 2602024-11-17T18:46:35.734133 - , in generate                                               2024-11-17T18:46:35.734133 -
2024-11-17T18:46:35.735132 -                       2024-11-17T18:46:35.735132 -          2024-11-17T18:46:35.735132 -     return 2024-11-17T18:46:35.735132 - self._post2024-11-17T18:46:35.735132 - (2024-11-17T18:46:35.736134 -                                                                   2024-11-17T18:46:35.736134 -
2024-11-17T18:46:35.736134 -                       2024-11-17T18:46:35.736134 -          2024-11-17T18:46:35.736134 -            ^^^^^^^^^^^                                                                  2024-11-17T18:46:35.737132 -
2024-11-17T18:46:35.738133 -                       2024-11-17T18:46:35.738133 -          2024-11-17T18:46:35.738133 -   File                                                                                2024-11-17T18:46:35.738133 -
2024-11-17T18:46:35.739133 -                       2024-11-17T18:46:35.739133 -          2024-11-17T18:46:35.739133 - "D:\Automatic<IP_ADDRESS>\ComfyUI_windows_portable\python_embeded\Lib\site-packages\openai\_b2024-11-17T18:46:35.739133 -
2024-11-17T18:46:35.740133 -                       2024-11-17T18:46:35.740133 -          2024-11-17T18:46:35.740133 - ase_client.py"2024-11-17T18:46:35.741133 - , line 2024-11-17T18:46:35.741133 - 12332024-11-17T18:46:35.741133 - , in post                                                      2024-11-17T18:46:35.741133 -
2024-11-17T18:46:35.741133 -                       2024-11-17T18:46:35.741133 -          2024-11-17T18:46:35.741133 -     return 2024-11-17T18:46:35.742132 - cast2024-11-17T18:46:35.742132 - (2024-11-17T18:46:35.742132 - ResponseT, 2024-11-17T18:46:35.742132 - self.request2024-11-17T18:46:35.742132 - (2024-11-17T18:46:35.742132 - cast_to, opts, 2024-11-17T18:46:35.742132 - stream2024-11-17T18:46:35.742132 - =2024-11-17T18:46:35.742132 - stream2024-11-17T18:46:35.742132 - ,                   2024-11-17T18:46:35.743132 -
2024-11-17T18:46:35.743132 -                       2024-11-17T18:46:35.743132 -          2024-11-17T18:46:35.743132 - stream_cls2024-11-17T18:46:35.743132 - =2024-11-17T18:46:35.744133 - stream_cls2024-11-17T18:46:35.744133 - )2024-11-17T18:46:35.744133 - )2024-11-17T18:46:35.744133 -                                                                  2024-11-17T18:46:35.744133 -
2024-11-17T18:46:35.744133 -                       2024-11-17T18:46:35.745132 -          2024-11-17T18:46:35.747134 -                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^2024-11-17T18:46:35.747134 -
2024-11-17T18:46:35.748134 -                       2024-11-17T18:46:35.748134 -          2024-11-17T18:46:35.748134 - ^^^^                                                                                2024-11-17T18:46:35.748134 -
2024-11-17T18:46:35.749141 -                       2024-11-17T18:46:35.749141 -          2024-11-17T18:46:35.749141 -   File                                                                                2024-11-17T18:46:35.749141 -
2024-11-17T18:46:35.749141 -                       2024-11-17T18:46:35.750132 -          2024-11-17T18:46:35.750132 - "D:\Automatic<IP_ADDRESS>\ComfyUI_windows_portable\python_embeded\Lib\site-packages\openai\_b2024-11-17T18:46:35.750132 -
2024-11-17T18:46:35.750132 -                       2024-11-17T18:46:35.750132 -          2024-11-17T18:46:35.751132 - ase_client.py"2024-11-17T18:46:35.751132 - , line 2024-11-17T18:46:35.751132 - 9222024-11-17T18:46:35.751132 - , in request                                                    2024-11-17T18:46:35.751132 -
2024-11-17T18:46:35.751132 -                       2024-11-17T18:46:35.752132 -          2024-11-17T18:46:35.752132 -     return 2024-11-17T18:46:35.752132 - self._request2024-11-17T18:46:35.752132 - (2024-11-17T18:46:35.752132 -                                                                2024-11-17T18:46:35.752132 -
2024-11-17T18:46:35.753134 -                       2024-11-17T18:46:35.753134 -          2024-11-17T18:46:35.753134 -            ^^^^^^^^^^^^^^                                                               2024-11-17T18:46:35.753134 -
2024-11-17T18:46:35.754133 -                       2024-11-17T18:46:35.754133 -          2024-11-17T18:46:35.754133 -   File                                                                                2024-11-17T18:46:35.754133 -
2024-11-17T18:46:35.754133 -                       2024-11-17T18:46:35.754133 -          2024-11-17T18:46:35.755133 - "D:\Automatic<IP_ADDRESS>\ComfyUI_windows_portable\python_embeded\Lib\site-packages\openai\_b2024-11-17T18:46:35.755133 -
2024-11-17T18:46:35.755133 -                       2024-11-17T18:46:35.756133 -          2024-11-17T18:46:35.756133 - ase_client.py"2024-11-17T18:46:35.756133 - , line 2024-11-17T18:46:35.756133 - 10132024-11-17T18:46:35.756133 - , in _request                                                  2024-11-17T18:46:35.756133 -
2024-11-17T18:46:35.757132 -                       2024-11-17T18:46:35.757132 -          2024-11-17T18:46:35.757132 -     raise 2024-11-17T18:46:35.757132 - self._make_status_error_from_response2024-11-17T18:46:35.757132 - (2024-11-17T18:46:35.757132 - err.response2024-11-17T18:46:35.757132 - )2024-11-17T18:46:35.757132 -  from 2024-11-17T18:46:35.757132 - None2024-11-17T18:46:35.758132 -                  2024-11-17T18:46:35.758132 -
2024-11-17T18:46:35.758132 -                       2024-11-17T18:46:35.758132 -          2024-11-17T18:46:35.758132 - openai.BadRequestError: Error code: 2024-11-17T18:46:35.758132 - 4002024-11-17T18:46:35.759134 -  - 2024-11-17T18:46:35.759134 - {2024-11-17T18:46:35.759134 - 'error'2024-11-17T18:46:35.759134 - : 2024-11-17T18:46:35.759134 - {2024-11-17T18:46:35.759134 - 'code'2024-11-17T18:46:35.759134 - : 2024-11-17T18:46:35.759134 - None2024-11-17T18:46:35.760133 - , 2024-11-17T18:46:35.762132 - 'message'2024-11-17T18:46:35.762132 - : 2024-11-17T18:46:35.762132 - 'Prompt 2024-11-17T18:46:35.762132 -   2024-11-17T18:46:35.762132 -
2024-11-17T18:46:35.762132 -                       2024-11-17T18:46:35.762132 -          2024-11-17T18:46:35.763131 - must be length 1000 or less. Your prompt length is 1192. Please reduce your prompt 2024-11-17T18:46:35.763131 -      2024-11-17T18:46:35.763131 -
2024-11-17T18:46:35.764131 -                       2024-11-17T18:46:35.764131 -          2024-11-17T18:46:35.764131 - length.'2024-11-17T18:46:35.764131 - , 2024-11-17T18:46:35.764131 - 'param'2024-11-17T18:46:35.764131 - : 2024-11-17T18:46:35.765134 - None2024-11-17T18:46:35.765134 - , 2024-11-17T18:46:35.765134 - 'type'2024-11-17T18:46:35.765134 - : 2024-11-17T18:46:35.765134 - 'invalid_request_error'2024-11-17T18:46:35.765134 - }2024-11-17T18:46:35.765134 - }2024-11-17T18:46:35.765134 -                               2024-11-17T18:46:35.765134 -
2024-11-17T18:46:35.769131 - !!! Exception during processing !!! [Errno 2] No such file or directory: 'D:\\Automatic<IP_ADDRESS>\\ComfyUI_windows_portable\\ComfyUI\\temp\\5e55242278eb4332a922ab0db7815ab5'
2024-11-17T18:46:35.770132 - Traceback (most recent call last):
  File "D:\Automatic<IP_ADDRESS>\ComfyUI_windows_portable\ComfyUI\execution.py", line 323, in execute
    output_data, output_ui, has_subgraph = get_output_data(obj, input_data_all, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb)
                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Automatic<IP_ADDRESS>\ComfyUI_windows_portable\ComfyUI\execution.py", line 198, in get_output_data
    return_values = _map_node_over_list(obj, input_data_all, obj.FUNCTION, allow_interrupt=True, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Automatic<IP_ADDRESS>\ComfyUI_windows_portable\ComfyUI\execution.py", line 169, in _map_node_over_list
    process_inputs(input_dict, i)
  File "D:\Automatic<IP_ADDRESS>\ComfyUI_windows_portable\ComfyUI\execution.py", line 158, in process_inputs
    results.append(getattr(obj, func)(**inputs))
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Automatic<IP_ADDRESS>\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-Griptape\nodes\tasks\gtUIPromptImageGenerationTask.py", line 101, in run
    output_image, output_mask = image_path_to_output(image_path)
                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Automatic<IP_ADDRESS>\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-Griptape\nodes\utilities.py", line 71, in image_path_to_output
    img = Image.open(image_path)
          ^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Automatic<IP_ADDRESS>\ComfyUI_windows_portable\python_embeded\Lib\site-packages\PIL\Image.py", line 3431, in open
    fp = builtins.open(filename, "rb")
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: 'D:\\Automatic<IP_ADDRESS>\\ComfyUI_windows_portable\\ComfyUI\\temp\\5e55242278eb4332a922ab0db7815ab5'

2024-11-17T18:46:35.772132 - Prompt executed in 69.04 seconds

Attached Workflow
Please make sure that workflow does not contain any sensitive information such as API keys or passwords.
{"last_node_id":7,"last_link_id":5,"nodes":[{"id":2,"type":"Griptape Agent Config: Ollama Drivers","pos":{"0":72,"1":88},"size":{"0":466.1999816894531,"1":322},"flags":{},"order":0,"mode":0,"inputs":[],"outputs":[{"name":"CONFIG","type":"CONFIG","links":[],"slot_index":0}],"properties":{"Node name for S&R":"Griptape Agent Config: Ollama Drivers"},"widgets_values":["http://<IP_ADDRESS>","11434","Prompt Driver","llama3.2:latest",10,0.1,2048,"fixed",true,-1,"Embedding Driver",""]},{"id":4,"type":"Griptape Agent Config: Google Drivers","pos":{"0":38,"1":458},"size":{"0":466.1999816894531,"1":370},"flags":{},"order":1,"mode":0,"inputs":[],"outputs":[{"name":"CONFIG","type":"CONFIG","links":[3],"slot_index":0}],"properties":{"Node name for S&R":"Griptape Agent Config: Google Drivers"},"widgets_values":["Prompt Driver","gemini-1.5-pro",10,0.1,2048,"fixed",true,-1,"GOOGLE_API_KEY",0.999,250,"Embedding Driver","models/embedding-001","RETRIEVAL_QUERY"]},{"id":5,"type":"Griptape Display: Image","pos":{"0":1568,"1":366},"size":{"0":289.79998779296875,"1":26},"flags":{},"order":4,"mode":0,"inputs":[{"name":"images","type":"IMAGE","link":4,"shape":7}],"outputs":[{"name":"OUTPUT","type":"IMAGE","links":null}],"properties":{"Node name for S&R":"Griptape Display: Image"}},{"id":1,"type":"Griptape Create: Image from Text","pos":{"0":1122,"1":363},"size":[403.1999816894531,200],"flags":{},"order":3,"mode":0,"inputs":[{"name":"agent","type":"AGENT","link":null,"shape":7},{"name":"driver","type":"DRIVER","link":null,"shape":7},{"name":"input_string","type":"STRING","link":2,"widget":{"name":"input_string"},"shape":7}],"outputs":[{"name":"IMAGE","type":"IMAGE","links":[4],"slot_index":0},{"name":"AGENT","type":"AGENT","links":null},{"name":"file_path","type":"STRING","links":[],"slot_index":2}],"properties":{"Node name for S&R":"Griptape Create: Image from Text"},"widgets_values":["Side view portrait of an ancient Grim Reaper-like figure looking away from viewer standing in a desolate wasteland, wearing a dark, decaying cloak, holding a large scythe resting on his shoulder. The blade of the scythe has a faint glowing green energy, tendrils of light swirling from the blade, cracked earth and faint black mist beneath, skeletal face shrouded in shadow, mystical and grim, epic dark fantasy art style. His cloak swirls in the wind.",""]},{"id":3,"type":"Griptape Create: Agent","pos":{"0":630,"1":366},"size":[400,200],"flags":{},"order":2,"mode":0,"inputs":[{"name":"agent","type":"AGENT","link":null,"shape":7},{"name":"config","type":"CONFIG","link":3,"shape":7},{"name":"tools","type":"TOOL_LIST","link":null,"shape":7},{"name":"rulesets","type":"RULESET","link":null,"shape":7},{"name":"input_string","type":"STRING","link":null,"widget":{"name":"input_string"},"shape":7}],"outputs":[{"name":"OUTPUT","type":"STRING","links":[2],"slot_index":0},{"name":"AGENT","type":"AGENT","links":[],"slot_index":1}],"properties":{"Node name for S&R":"Griptape Create: Agent"},"widgets_values":["","Save impages to this path:D:\\Automatic<IP_ADDRESS>\\ComfyUI_windows_portable\\ComfyUI\\output\\"]}],"links":[[2,3,0,1,2,"STRING"],[3,4,0,3,1,"CONFIG"],[4,1,0,5,0,"IMAGE"]],"groups":[],"config":{},"extra":{"ds":{"scale":2.1435888100000016,"offset":[-775.26751631998,-252.95443350443685]}},"version":0.4}

Additional Context
(Please add any additional context or steps to reproduce the error here)

Looking at the logs I noticed this section:
2024-11-17T18:46:35.758132 -                       2024-11-17T18:46:35.758132 -          2024-11-17T18:46:35.758132 - openai.BadRequestError: Error code: 2024-11-17T18:46:35.758132 - 4002024-11-17T18:46:35.759134 -  - 2024-11-17T18:46:35.759134 - {2024-11-17T18:46:35.759134 - 'error'2024-11-17T18:46:35.759134 - : 2024-11-17T18:46:35.759134 - {2024-11-17T18:46:35.759134 - 'code'2024-11-17T18:46:35.759134 - : 2024-11-17T18:46:35.759134 - None2024-11-17T18:46:35.760133 - , 2024-11-17T18:46:35.762132 - 'message'2024-11-17T18:46:35.762132 - : 2024-11-17T18:46:35.762132 - 'Prompt 2024-11-17T18:46:35.762132 -   2024-11-17T18:46:35.762132 -
2024-11-17T18:46:35.762132 -                       2024-11-17T18:46:35.762132 -          2024-11-17T18:46:35.763131 - must be length 1000 or less. Your prompt length is 1192. Please reduce your prompt 2024-11-17T18:46:35.763131 -      2024-11-17T18:46:35.763131 -
2024-11-17T18:46:35.764131 -                       2024-11-17T18:46:35.764131 -          2024-11-17T18:46:35.764131 - length.'2024-11-17T18:46:35.764131 - , 2024-11-17T18:46:35.764131 - 'param'2024-11-17T18:46:35.764131 - : 2024-11-17T18:46:35.765134 - None2024-11-17T18:46:35.765134 - , 2024-11-17T18:46:35.765134 - 'type'2024-11-17T18:46:35.765134 - : 2024-11-17T18:46:35.765134 - 'invalid_request_error'2024-11-17T18:46:35.765134 - }2024-11-17T18:46:35.765134 - }2024-11-17T18:46:35.765134 -                               2024-11-17T18:46:35.765134 -
2024-11-17T18:46:35.769131 - !!! Exception during processing !!! [Errno 2] No such file or directory: 'D:\\Automatic<IP_ADDRESS>\\ComfyUI_windows_portable\\ComfyUI\\temp\\5e55242278eb4332a922ab0db7815ab5'

Hidden in that verbose, hard to deduce error is a key bit of info.. must be length 1000 or less. Your prompt length is 1192. Please reduce your prompt
OpenAI requires prompts that are a bit shorter for image generation. It looks like yours is just a little too long.
Can you try shortening the prompt a little and let me know if that works?

Woaw I didn't know you would answer this quickly, So I started a long run of 100 prompts in FluxI will try it when those are done, thank you for replying so quickly, and next time enjoy your sunday bruh, no need to jump that quickly to help me I am patient, this is fun for me

no worries, let me know when you have time :)

OK tried again sorry for the late response, I get billimg limit reached but it is my own Ollama 3.2 latest, so that can't be right, also couldn't make it shorter then "a pencil", but I limited the prompt to 300 words and it is still too big

No biggy I used Griptape in conjunction with flux and I have gotten epic images the likes I never had before (https://civitai.com/user/serget2/images). So I'll just continue with the next griptape videos and keep this in mind

very nice! :)
btw, in the next release there are nodes to use Flux API with Griptape if you want. :)


Update Pages “home”

Automatically generated by Netlify CMS

👷 Deploy Preview for ltcblog processing.

Name
Link

🔨 Latest commit
7538226bfe92078dfb328ecfaded76547a623740

🔍 Latest deploy log
https://app.netlify.com/sites/ltcblog/deploys/65fd807949dc8800082986f1


Update Ruby to 2.4.2 and bump Gemfile dependancies

Ahead of enabling Dependabot on the repository, we want to be using the latest
dependancies, to minimise the onslaught of incremental PRs.

The issue with the end to end tests is outlined alphagov/publishing-e2e-tests#72 so we should for it to go green before merging.

On this, rebasing these patches on master should fix this now.

Nice one, thanks @cbaines. Those fixes into master seem to have done the trick.


Multi-environment pipeline with approvals

Hey @RoopeshNair, Thanks for the sample in #4499. It covers the multi-stage pipeline.
Would you please kind to provide us with an example that can help us with "approvals before deploying to prod"?
Originally posted by @khasibhatla in https://github.com/MicrosoftDocs/vsts-docs/issues/4499#issuecomment-502787591

I found that this is a duplicate of #4497. Closing now!


firebase snapshot listener blocks detox

What happened?
 Simple e2e test works, but if the screen involves firebase snapshot listener, detox thinks the app isn't ready with the following message so that the test timeouts.
15:03:04.350 detox[51421] i ws-client:APP_STATUS The app is busy with the following tasks:
• 1 network requests with URLs:
  - URL #1: https://firestore.googleapis.com/google.firestore.v1.Firestore/Listen/channel?gsessionid=.....

It also happens with ios.
We're using<EMAIL_ADDRESS>with the following code:
import { doc, onSnapshot } from 'firebase/firestore';

  useEffect(() => {
    const messageRef = doc(firestore, 'Message', 'hello');
    const unsubscribe = onSnapshot(messageRef, (snapshot) => {
      const m = snapshot.get('message');
      if (m) {
        setMessage(m);
      }
    });
    return () => unsubscribe();
  }, []);

What was the expected behaviour?
I expect we can test such screens.
Presumably any other websockets or long polling requests are considered to be "busy". Does it make sense to have a whitelist for certain URLs?
Was it tested on latest Detox?

[X] I have tested this issue on the latest Detox release and it still reproduces.

Did your test throw out a timeout?

[X] I have followed the instructions under Identifying which synchronization mechanism causes us to wait too much.

Help us reproduce this issue!
I put the minimum repro project at:
https://github.com/tmatsuo/detox-expo-bare-firebase-repro
This is not from the Detox Template project (expo go and prebuild), but I think I successfully setup Detox because the commit a44a5cdd57fb611d8e863c7cb4de949e722b6957 has a passing Detox test.

Detox version: 20.7.0
React Native version: 0.70.8
Has Fabric (React Native's new rendering system) enabled: (yes/no) I don't think so
Node version: 16.19.1
Device model: Pixel4 Emulator with API 31
Android version: API 31
Test-runner (select one): jest 29.5.0
Detox logs
Sorry it seems like the detox log was too long to paste.
Device logs
Sorry it seems like the device log was too long to paste.
More data, please!
No response

the same problem here

@asafkorem Thanks for the info! Testing it now.


how to use interactiveGraph with an online Neo4j graph database?

Which api to use?

another project which aims to connect neo4j and provide GSON interface
however it is still on progress
maybe it is coming soon


Graph Neural Network Architecture for Portfolio Optimization

Hello!
This pull request adds a new architecture that can be used in the portfolio optimization task. The GPM architecture adds relational graph convolutional neural networks to the EI3 architecture (that is already included in FinRL).
To be able to work with this new architecture, new features where added to PortfolioOptimizationEnv to allow the state space to be bigger than the portfolio so that the agent can make use of informations about stocks that are not included in the portfolio to take action. These modifications will not change the behavior of already implemented code.
Additionally, an example using GPM was added to the examples folder (FinRL_GPM_Demo.ipynb) and it makes use of a well-known database with temporal and relational data that I modified so that it can to be used with FinRL easily, you can find the modified database here.

@C4i0kun  great! very good work.

have you tested it? does it work well now?

have you tested it? does it work well now?

Yes, the previous example using simple convolutional architectures works just like before and the new architecture with graph neural networks is also learning an optimal problem. In the provided example, I only train 2 episodes because this new architecture is very "computational heavy", since we are using a graph that represents the whole NASDAQ market.

good.
I encourage you to wok towards GNN based methods and submit new PRs.
you said "training takes a lot more time“, did you use GPU when training?

I think to data should be moved to self.device. If we are using GPU, it will be better. do you think so?


The contains method in redissonDelayedQueue uses Lua script, but the time complexity of this Lua script is quite high, which seems unreasonable.

Would it be possible to optimize it using zrank and zscore to achieve O(log(N)) time complexity?
@Override
    public RFuture<Boolean> containsAsync(Object o) {
        return commandExecutor.evalReadAsync(getName(), codec, RedisCommands.EVAL_BOOLEAN,
                        "local s = redis.call('llen', KEYS[1]);" +
                        "for i = 0, s-1, 1 do "
                            + "local v = redis.call('lindex', KEYS[1], i);"
                            + "local randomId, value = struct.unpack('dLc0', v);"
                            + "if ARGV[1] == value then "
                                + "return 1;"
                            + "end; "
                       + "end;" +
                       "return 0;",
                Collections.<Object>singletonList(queueName), encode(o));
    }

The remove method is also the same.

zrank won't help since randomId is unknown

zrank won't help since randomId is unknown

As shown below, I checked if abcd is in delay queue edisson_delay_queue_timeout:{TOKEN_TIMEOUT_HANDLE} ，
Just delay the queue name and the obj to be queried
➜  Desktop redis-cli
<IP_ADDRESS>:6379> zrank redisson_delay_queue_timeout:{TOKEN_TIMEOUT_HANDLE} abcd
(integer) 8
<IP_ADDRESS>:6379> zrank redisson_delay_queue_timeout:{TOKEN_TIMEOUT_HANDLE} abcde
(nil)
<IP_ADDRESS>:6379>

Here is a Lua script impl
local exists = redis.call('ZRANK', KEYS[1], ARGV[1])
if exists == nil then
    return 0
else
    return 1
end

how do you send ARGV[1] ? it's stored with extra randomId to ensure uniqueness


Add derivation-path option to load ledger owners

Closes #284

coverage: 93.031% (+0.2%) from 92.799%
when pulling 52ebe90189d9da2f98f986d8633a138e12201a2b on add_derivation_path_option
into a4ce370f413f36c11c6892893777008a9b51afbe on master.


HTTP/3 request timeout with io.PipeReader body

With an http.Request like this:
pipeR, pipeW := io.Pipe()
relayReq, err := http.NewRequestWithContext(ctx, "POST", "https://<IP_ADDRESS>:8888/v1", pipeR)
resp, err := rt.RoundTrip(relayReq)
[...]
io.Copy(pipeW, os.Stdin)

The request fails with the following error.
$ echo TEST | go run .
2020/06/21 xx:xx:xx Read on stream 0 canceled with error code 268

But if the body in http.NewRequestWithContext is a strings.Reader or nil, the request would successfully complete.
The request body seems to be sent asynchronously. Why would the RoundTrip call get blocked and eventually time out?
Example code:
package main

import (
	"context"
	"crypto/tls"
	"io"
	"log"
	"net/http"
	"os"
	"time"

	"github.com/lucas-clemente/quic-go/http3"
)

func main() {
	if err := dial(); err != nil {
		log.Fatal(err)
	}
}

func dial() error {
	http.Handle("/", http.NotFoundHandler())

	server := http3.Server{
		Server: &http.Server{
			Addr: "<IP_ADDRESS>:8888",
		},
	}
	go server.ListenAndServeTLS("c", "k")

	rt := http3.RoundTripper{
		DisableCompression: true,
		TLSClientConfig: &tls.Config{
			InsecureSkipVerify: true,
		},
	}

	pipeR, pipeW := io.Pipe()

	ctx, cancel := context.WithTimeout(context.Background(), time.Second)
	defer cancel()

	relayReq, err := http.NewRequestWithContext(ctx, "POST", "https://<IP_ADDRESS>:8888/v1", pipeR)
	if err != nil {
		return err
	}

	resp, err := rt.RoundTrip(relayReq)
	if err != nil {
		return err
	}

	errCh := make(chan error)
	go func() {
		io.Copy(pipeW, os.Stdin)
		pipeW.Close()
		errCh <- nil
	}()
	go func() {
		io.Copy(os.Stdout, resp.Body)
		resp.Body.Close()
		errCh <- nil
	}()
	<-errCh
	return nil
}

For use with bidirectional HTTP streams like WebSocket. Alternative way to support this is to make resp.Body an io.ReadWriteCloser, see https://github.com/nhooyr/websocket/blob/v1.8.6/dial.go#L119.

According to RFC 8441, WebSockets over HTTP/2 can be bootstrapped using an extended CONNECT method to create a tunnel over a single HTTP/2 stream. HTTP/3 explicitly supports the CONNECT method, and

The request stream remains open at the end of the request to carry the data to be transferred.

So I think eventually our http3 package should support an open request stream (body) after the RoundTrip call.

Does the websocket connection use HTTP framing?

Does the websocket connection use HTTP framing?

Yes, it should.

https://quicwg.org/base-drafts/draft-ietf-quic-http.html#name-the-connect-method
All DATA frames on the stream correspond to data sent or received on the TCP connection. Any DATA frame sent by the client is transmitted by the proxy to the TCP server; data received from the TCP server is packaged into DATA frames by the proxy. Note that the size and number of TCP segments is not guaranteed to map predictably to the size and number of HTTP DATA or QUIC STREAM frames.

Oops, looks like RFC 8441 uses the raw stream. I'll do more resarch on this.
After successfully processing the opening handshake, the peers should
proceed with the WebSocket Protocol [RFC6455] using the HTTP/2 stream
from the CONNECT transaction as if it were the TCP connection
referred to in [RFC6455].

Oops, looks like RFC 8441 uses the raw stream. I'll do more resarch on this.

Well, stream in HTTP/2 is a bidirectional sequence of frames, so of course it uses HTTP framing.

stream in HTTP/2 is a bidirectional sequence of frames, so of course it uses HTTP framing.

Right. If you were to layer websockets on top of HTTP/3, you could get rid of HTTP framing, since QUIC already provides native streams. However, I'm not sure if that's even properly specified anywhere.
The IETF recently formed a new working group for WebTransport, which will address exactly this issue: https://tools.ietf.org/html/draft-vvv-webtransport-overview-01.

Yes, how WebSocket would work with HTTP/3 is not specified yet.
Back to the CONNECT method itself (primarily used with HTTP proxies), there is still need for bidirectional data stream after the HEADERS exchange, which is not supported in quic-go yet as I have demonstrated.

Back to the CONNECT method itself (primarily used with HTTP proxies), there is still need for bidirectional data stream after the HEADERS exchange, which is not supported in quic-go yet as I have demonstrated.

How does this work in HTTP/2? Can you point me to the corresponding Go standard library code?

How does this work in HTTP/2? Can you point me to the corresponding Go standard library code?

See https://github.com/golang/go/issues/13717 and https://golang.org/cl/18266.

Not sure if I understand https://golang.org/cl/18266 correctly, but all it's doing is setting the URL and RequestURI of the http.Request, right? That should be easy enough to mimic in the http3 package.

https://github.com/golang/go/issues/13717 references https://github.com/golang/go/issues/13444#issuecomment-161115822, which is an io.Pipe() demo that works in x/net/http2 but not in quic-go. I think quic-go is lacking a more fundamental capability here.

I'll modify my example to fit his demo, wait a sec.

I'll modify my example to fit his demo, wait a sec.

quic-go's RoundTrip() blocks and times out, as expected from the top comment demo.
Example 2
[...]
	pipeR, pipeW := io.Pipe()

	ctx, cancel := context.WithTimeout(context.Background(), 8*time.Second)
	defer cancel()

	relayReq, err := http.NewRequestWithContext(ctx, "PUT", "https://<IP_ADDRESS>:8888/v1", pipeR)
	if err != nil {
		return err
	}

	errCh := make(chan error)
	go func() {
		for {
			time.Sleep(1 * time.Second)
			fmt.Fprintf(pipeW, "It is now %v\n", time.Now())
		}
	}()

	go func() {
		resp, err := rt.RoundTrip(relayReq)
		if err != nil {
			log.Fatal(err)
		}
		log.Printf("Got: %#v", resp)
		io.Copy(os.Stdout, resp.Body)
		resp.Body.Close()
		errCh <- nil
	}()

	<-errCh
	return nil
}

Interestingly, in my second example, if I remove the context with timeout (turn http.NewRequestWithContext into http.NewRequest), it would eventually return 404 in a minute and a few seconds.

The reason this is timing out is that we're using a buffered writer for requests (as introduced in #2443).
It looks like that change was ok for the the http.ResponseWriter, as it implements the http.Flusher interface, but apparently that doesn't apply to requests.
Does that make sense to you?

Does that make sense to you?

Yes, indeed. The more frequent data is written to pipe in Example 2 without context, the faster it receives the response and exits. Looks like buffering.


Using middleware error

When i add the ["web"] middleware to the route there is an error displayed in the console
Failed to fetch manifest patches SyntaxError: Unexpected token '<', "<!DOCTYPE "... is not valid JSON

I think this might be caused by the requests to /__manifest failing. Could you try adding the entry /__manifest to your openRoutes in auth_middleware.ts and see if it works?

Solved it.. ❤


PHPUnit: 'NoneType' object has no attribute 'items'

Hi,
this is the issue I get when I try to run any test:
PHPUnit: 'NoneType' object has no attribute 'items'

I think you have the phpunit.options setting set to an invalid type e.g. null. I've pushed a change that provides better error handling. The console log is at Menu > View > Show Console.
It should be a valid dict, for no options set it to {} or with valid PHPUnit options:
Set it globally: Preferences > Settings
{
	"phpunit.options": {
		"no-coverage": true
	}
}

Or per-project: Project > Edit Project
{
    "settings": {
        "phpunit.options": {}
    }
}

Turned out that it works after machine reboot...
phpunit.options was just empty object provided by the default config file. I didn't configure anything, just installed via Package Control and tried to use it.

Thanks. I added much better error handling. If this occurs again please take a look at the console log, Menu > View > Show Console, and post the exception traceback to help debugging the issue. Looks like it's a edge case issue

OS: Win 7 SP1
ST: v3 3142
Exeption:
PHPUnit: ''NoneType' object has no attribute 'items''
Traceback (most recent call last):
File "C:\Users\User\My Apps\Sublime Text\sublime_plugin.py", line 797, in run_
return self.run()
File "plugin in C:\Users\User\My Apps\Sublime Text\Data\Installed Packages\phpunitkit.sublime-package", line 511, in run
File "plugin in C:\Users\User\My Apps\Sublime Text\Data\Installed Packages\phpunitkit.sublime-package", line 361, in run
File "plugin in C:\Users\User\My Apps\Sublime Text\Data\Installed Packages\phpunitkit.sublime-package", line 341, in run
File "plugin in C:\Users\User\My Apps\Sublime Text\Data\Installed Packages\phpunitkit.sublime-package", line 451, in filter_options
AttributeError: 'NoneType' object has no attribute 'items'

Everything works correctly out of the box with the new release.
Thanks for the quick support.


Fix build regression against Spark 3.2.x

Closes https://github.com/NVIDIA/spark-rapids/issues/10174

build

build

CI failed due to unrelated issue:
2024-01-10T23:39:01.0960149Z [2024-01-10T23:34:21.452Z] [2024-01-10T23:33:07.595Z] ^[[31mFAILED^[[0m ../../src/main/python/dpp_test.py::^[[1mtest_dpp_bypass[true-5-parquet][DATAGEN_SEED=1704919540, INJECT_OOM, IGNORE_ORDER]^[[0m - py4j.protocol.Py4JJavaError: An error occurred while calling z:org.apache.s...
2024-01-10T23:39:01.0961556Z [2024-01-10T23:34:21.452Z] [2024-01-10T23:33:07.595Z] ^[[31mFAILED^[[0m ../../src/main/python/dpp_test.py::^[[1mtest_dpp_bypass[true-5-orc][DATAGEN_SEED=1704919540, IGNORE_ORDER]^[[0m - py4j.protocol.Py4JJavaError: An error occurred while calling z:org.apache.s...
2024-01-10T23:39:01.0963105Z [2024-01-10T23:34:21.452Z] [2024-01-10T23:33:07.595Z] ^[[31mFAILED^[[0m ../../src/main/python/dpp_test.py::^[[1mtest_dpp_via_aggregate_subquery[true-5-parquet][DATAGEN_SEED=1704919540, INJECT_OOM, IGNORE_ORDER]^[[0m - py4j.protocol.Py4JJavaError: An error occurred while calling z:org.apache.s...
2024-01-10T23:39:01.0964581Z [2024-01-10T23:34:21.452Z] [2024-01-10T23:33:07.595Z] ^[[31mFAILED^[[0m ../../src/main/python/dpp_test.py::^[[1mtest_dpp_via_aggregate_subquery[true-5-orc][DATAGEN_SEED=1704919540, IGNORE_ORDER]^[[0m - py4j.protocol.Py4JJavaError: An error occurred while calling z:org.apache.s...

I filed https://github.com/NVIDIA/spark-rapids/issues/10182 for the dpp issue

build


SiteExists method language agnostic implementation

Current implementation of SiteExists method works on sites created in EN language as the ex.Message check is performed against "Unable to access site" and "Cannot get site". Although non existing site throws error "File Not Found."
Removed the language specific site existence check. With new implementation:

Check if site exists
Check if site is recycled.
Return false, if 1 and 2 not satisfied.

Hi Nanddeep, thanks for the proposed change.
We're not going to take this change as we're still looking into a better solution (see #392). The idea is to use server error versions or look at making the string translatable via resource files

Thank you for the update @jansenbe
I had a look at the OOB Resources files in 15 hive on my farm to see if the errors are being picked from there, but I was wrong.
Please let me know, if I can contribute any part in your research because I being mostly working with non English sites development - I had to always look out for the language agnostic solutions. Hope you understand my pain :)

I certainly do and we're working on it. Are you saying that you don't see these error messages in the 15 resource files?

Hello Bert,
Yes, I did not see the error message in 15 resource files. I will recheck if I have overlooked anything and confirm you by couple of hours.

Hello Bert,
I did not find the error messages in 15 resources files.
Found a few mentioned below, but no luck
Unable to access site
Cannot get site


Show CalendarError when there are no locations around you

Proposed Changes

If there are no bookings available, it displays an error message instead of a calendar full of "0 bookings available".
Added "noVacApptToBook" to en-NZ translation.

Additional Info.
Closes #274
Screenshots (optional)

I will review this today!!


Possible early free of input in generated C++ Parser

I'm getting a memory corruption of the name data for the Input instance in the following test:
TEST(Bugs, bad_input_after_good_string_FAILS) {
  DDL::Input i = DDL::Input("test", R"x("1")x");
  EXPECT_GT(i.length(), 0);
  DDL::ParseError<DDL::Input> err;
  std::vector<DDL::ResultOf::parseMain> out;

  std::ostringstream oss;
  parseMain(err, out, i);
  ASSERT_EQ(out.size(), 1);

  oss << i.getName();
  ASSERT_EQ(oss.str(), R"x("test")x");
}

If i.getName() is called before parseMain, then the above test will pass.
After some digging around in the debugger, one of the places the input is freed is:
void parseMain ( DDL::ParseError<DDL::Input> &error
               , std::vector<User::Value> &results
               , DDL::Input a1
               ) {
  DDL::ParserState<DDL::Input> p;
  User::Value out_result;
  DDL::Input out_input;
  if (parser_Main(p, &out_result, &out_input, a1)) {
    results.push_back(out_result);
    out_input.free();
  } else {
    error = p.getParseError();
  }
}

The issue here is that the generated parsers "own" their arguments, in particular they own the input.  So when calling parserMain we are transferring ownership of i to the the parser, and we should not use i anymore after.
If you do want to use i after giving it to the parser, you need to make a copy (i.e., increment the reference count) before passing it to the parser.  This is done by calling the copy method: i.copy().    If you do that, you should also call i.free() at the end of the function to decrement the reference count.
In general, this fine grained control over when things are copied/deallocated is very convenient for generating code, but is quite error prone for using manually from C++.  To make it a bit more convenient, we have a wrapper class called Owned which defines the usual C++ operators that will do the increment/decrement of the object.
It is defined here:
https://github.com/GaloisInc/daedalus/blob/master/rts-c/ddl/owned.h
To use it in this particular example, one would change the first line to:
DDL::Owend<DDL::Input> i = DDL::Input("test", R"x("1")x");

Then when passing it to the parser, you need to use i.get() to get a new "owned" copy to give the parser.
Finally if you want to print the name, you can change i.getName() to i->getName().
In short get gives you a pointer to the underlying object, but first increments the reference count, while -> just gives you a pointer to the underlying object without incrementing the reference count and as such should not be stored in things.

We should write some documentation about this in the reference manual.
Also, the main.cpp we generate for testing purposes, contains a similar error where it accesses the size of the file after having passed it to the parser.   This works on a technicality, but the code should be updated to not do that.

The reason the top-level parsers take their arguments as owned is so they can be de-allocated as soon as the parser is done with them, rather than having to hold on to them until parsing is complete.  For normal inputs this doesn't matter hugely as you can't deallocate the input in parts, however, this is quite important for the streaming parsers, where chunks of input arrive while parsing.  In that case it is nice that the parser can let go of earlier chunks of input that it knows it does not need anymore, and is essential if you want to support "infinite" or long running streams.
I do agree that the behavior is quite surprising though, so at the very least it should be documented.  Note that, at present, the same sort of memory management scheme is used everywhere in Daedalus, and you need the same sort of things with the results of the parser too.
I haven't thought about it very deeply, but perhaps a better plan would be to simply use Owned more in the user facing interface of the parser.  We'd have to wrap the inputs and results of the parser in Owned, but that's pretty easy.  The main big change is that we'd have to modify the Daedalus standard types, and the types generated by the compiler, to have additional accessor methods that return Owned values in additional to all the current accessors.


Implement profile and initialSerializationBufferSize options to altspace.utilities.Simulation.

Added profile and initialSerializationBufferSize options to altspace.utilities.Simulation.

Thanks for the PR. We intend to expose these across the board (including in a-frame), but I'm going to hold off for now because we're planning changes to the profiler.


The en-US documentation improvement

Reviewing! DO NOT MERGE!

docs(readme/cn): Correct the bash comment
docs(readme/en): Rewrite
docs: Rewrite bin/README
fix(docs/README): Update link

LMTM👏👏👏


Add support for on premise DevOps

Adds a new BaseUrl setting value and uses this in place of the previously hard coded 'dev.azure.com'. This allows the configuration of an on-premise instance (i.e. Azure DevOps Server).

Yes this looks very good. Maybe we should change the Organization name into Organisation URL?

Yes this looks very good. Maybe we should change the Organization name into Organisation URL?

Thanks, happy to make that change. Do you mean we should keep just one setting for the whole thing or just change the name of that field?

Yes this looks very good. Maybe we should change the Organization name into Organisation URL?

Thanks, happy to make that change. Do you mean we should keep just one setting for the whole thing or just change the name of that field?

Now we have the organization name and base url. You need to set both into something like "Testcompany" and "https://dev.azure.com/"
I think we should combine these into just URL and then the user has to fill only one field. I checked that plugin is currently using the organization name only for the URL, so it can be removed.

I will try to test this today and merge in if everything works as expected.
This is great improvement, thanks!


Warning: Argument is deprecated for Snowflake provider

Terraform CLI and Provider Versions
Terraform version: 1.3.9
Provider version: 0.82.0
Terraform Configuration
terraform {
  required_providers {
    aws = {
      source  = "hashicorp/aws"
      version = "5.32.1"
    }
    snowflake = {
      source  = "Snowflake-Labs/snowflake"
      version = "~>0.82"
    }
  }
  backend "s3" {}
}

provider "aws" {
  region = var.region
}

provider "snowflake" {
  role          = "SYSADMIN"
  alias         = "sys_admin"
  authenticator = "JWT"
}

provider "snowflake" {
  role          = "ACCOUNTADMIN"
  alias         = "account_admin"
  authenticator = "JWT"
}

provider "snowflake" {
  role          = "SECURITYADMIN"
  alias         = "security_admin"
  authenticator = "JWT"
}

Expected Behavior
When upgrading from 0.69 -> 0.82 terraform-provider-snowflake, I am seeing a warning message in regards to the provider but do not understand how to address it as it doesn't tell me which argument is deprecated.
I would expect it to tell me which argument it is so I can resovle it?
Actual Behavior
Getting the following warning:
│ Warning: Argument is deprecated
│
│   with provider["registry.terraform.io/snowflake-labs/snowflake"].sys_admin,
│   on main.tf line 19, in provider "snowflake":
│   19: provider "snowflake" {
│
│ use the [file Function](https://developer.hashicorp.com/terraform/language/functions/file) instead
│
│ (and 7 more similar warnings elsewhere)
╵

Note that I use a private key to auth with Snowflake, not username/password
Steps to Reproduce

Upgrade to 0.82 with the above main.tf settings
Run terraform plan

How much impact is this issue causing?
Low
Logs
No response
Additional Information
No response

Hey @kanocarra. Thanks for reporting the issue.
The warning concerns private_key_path; please use private_key with the mentioned file function.
Remember, these are just deprecation warnings, not breaking the configuration.


Create a Low FI mockup for the improved/ simplified version of the Platform status dashboard

prep work on a mockup for the improved/ simplified version of the Platform status dashboard at  https://status.developer.gov.bc.ca
There is a channel in the RC for further discussion (Uptime.com status page improvement)

V1

LoFi


Not able to migrate existing project to AndroidX  [androidx-migration]

I am creating a new project using flutter and when I got to Refactor > Migrate to AndroidX... It gives an error in a popup that says "No usages found in the project"

Hi @HostilePixie
How are you creating the Project?
Please provide the output of flutter doctor -v.
Thank you

I used the flutter create app_name command to create my project

Here is a my result of flutter doctor -v:
[✓] Flutter (Channel master, 1.23.0-8.0.pre.69, on Mac OS X 10.15.6 19G2021 x86_64, locale en-IN)
• Flutter version 1.23.0-8.0.pre.69 at /Users/rohan/tools/flutter
• Framework revision a06f385145 (2 weeks ago), 2020-09-29 21:37:04 -0400
• Engine revision d18c3ea75c
• Dart version 2.11.0 (build 2.11.0-178.0.dev)
[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.1)
• Android SDK at /Users/rohan/Library/Android/sdk
• Platform android-30, build-tools 30.0.1
• Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)
• All Android licenses accepted.
[✓] Xcode - develop for iOS and macOS (Xcode 12.0.1)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Xcode 12.0.1, Build version 12A7300
• CocoaPods version 1.9.3
[✓] Android Studio (version 4.0)
• Android Studio at /Applications/Android Studio.app/Contents
• Flutter plugin version 47.1.2
• Dart plugin version 193.7361
• Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)
[✓] IntelliJ IDEA Community Edition (version 2020.2)
• IntelliJ at /Applications/IntelliJ IDEA CE.app
• Flutter plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/6351-dart
[!] VS Code (version 1.50.1)
• VS Code at /Applications/Visual Studio Code.app/Contents
✗ Flutter extension not installed; install from
https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter
[!] Connected device
! No devices available
! Doctor found issues in 2 categories.

Hi @HostilePixie
can you please provide the your <project-name>/android/gradle.properties?
Thanks

Here is my gradle.properties:
org.gradle.jvmargs=-Xmx1536M android.useAndroidX=true android.enableJetifier=true

here is my gradle.properties
org.gradle.jvmargs=-Xmx1536M
android.useAndroidX=true
android.enableJetifier=true

Hi @HostilePixie
your app is already migrated to AndroidX
Thanks

But still why was android studio giving me the error, can you tell me how to solve it.

HI @HostilePixie
In the latest Flutter versions newly created projects will be created with androidX automatically.
Please see https://flutter.dev/docs/development/androidx-migration#how-do-i-know-if-my-project-is-using-androidx.
This simply mean that newly created projects will have the option to use AndroidX enabled by default by adding those options in gradle.properties:
android.useAndroidX=true
android.enableJetifier=true

And since new projects don't have decencies that uses AndroidX nothing changes at this moment.
This is not an error, this message means that your project does not contains native dependencies that should be migrated to AndroidX. If you native project had some it would be migrated automatically.
I'm closing this as everything works as expected.
Thanks

Ok, thank you for all your help. I really appreciate it.


Update amuse.units.optparse to use argparse

Out of curiosity, why is there a module amuse.units.optparse?
Is this different from the standard python optparse (which is since Python 2.7 deprecated and replaced by argparse)?
And why is it in amuse.units? Seems a weird place for this...

indeed Steven,
the amuse.units.optparse overloads the units into the standard python package. you can read about it in the amuse book.
Groeten,
Simon
----- Reply message -----
From: "Steven Rieder"<EMAIL_ADDRESS>To: "amusecode/amuse"<EMAIL_ADDRESS>Cc: "Subscribed"<EMAIL_ADDRESS>Subject: [amusecode/amuse] amuse.units.optparse? (#172)
Date: Thu, Oct 19, 2017 06:33
Out of curiosity, why is there a module amuse.units.optparse?
Is this different from the standard python optparse (which is since Python 2.7 deprecated and replaced by argparse)?
And why is it in amuse.units? Seems a weird place for this...
—You are receiving this because you are subscribed to this thread.Reply to this email directly, view it on GitHub, or mute the thread.
{"api_version":"1.0","publisher":{"api_key":"05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":{"external_key":"github/amusecode/amuse","title":"amusecode/amuse","subtitle":"GitHub repository","main_image_url":"https://cloud.githubusercontent.com/assets/143418/17495839/a5054eac-5d88-11e6-95fc-7290892c7bb5.png","avatar_image_url":"https://cloud.githubusercontent.com/assets/143418/15842166/7c72db34-2c0b-11e6-9aed-b52498112777.png","action":{"name":"Open in GitHub","url":"https://github.com/amusecode/amuse"}},"updates":{"snippets":[{"icon":"DESCRIPTION","message":"amuse.units.optparse? (#172)"}],"action":{"name":"View Issue","url":"https://github.com/amusecode/amuse/issues/172"}}}

No rush though, optparse will not be removed any time soon. https://www.python.org/dev/peps/pep-0389/#deprecation-of-optparse

This should be fixed for AMUSE 13 as well.

I'll see if I can get it to convert strings. If this works I'll update the examples to that new method and add some deprecation warning to the current optparse method.

I've tested @ipelupessy's example above with #934 and it works with that change, so I think that's the way to go.

Fixed with #934!