BPMSPL-295 - Higher level of automation when importing custom workItemHandlers from a service repository

note this also fixed the test failures on master  (BPMN2SyntaxCheckerTest specifically)

Hello @tsurdilo , thanks for your PR. I fetched your PR locally and I have found few issues. Before this PR will be merged can you please take a look at the issues?

Whenever I save file, I obtain two messages about successful saving of the file. If you confirm that this problem comes from master branch and not from your PR, I will file separate JIRA for this issue.

Service repository editor doesn't load icons from the service repository: file:////jbpm-designer-backend/src/test/resources/org/jbpm/designer/web/server/servicerepo

@jomarko thanks for the great feedback!
here are some comments:

these error message are different. One is for the save of the business process the other is specific for the business process "image" (SVG) (which is stated in the message too. We enabled the saving of the process SVG when a process is also saved in  https://github.com/droolsjbpm/jbpm-designer/commit/4c722154bca157a4052a3a826762bff84f22dc2e (this was false by default before so the second message was not seen unless users manually enabled id)

@jomarko
i can reproduce 2) as well. fixing and amending now

@jomarko
amended per your request for 2)
icons from file system should work now. also added that if there is no icon property defined in wid or if its an invalid location (icon cannot be found)  the default service task icon will be displayed in its place (this is consistent as when the service node is installed designer will assign it the default service icon if the user defined icon in wid cannot be located)

Minor thing - we should not be using the BPMSPL Jira project in commits

@psiroky thanks - looking at that jira im not sure what other value to use. let me know.

@jomarko @jlindop if you have time please check when you can so we can get this in.

@tsurdilo I think we agreed to create upstream JIRA (jBPM in this case) for every BPMSPL and we can reference that.

@psiroky ok i can create one then. was hoping there would be one already but only reference is the customer support case for this.

@tsurdilo I am looking right now.

@psiroky created JBPM-5249 and amended commit message. thanks

@psiroky updated commit message for https://github.com/droolsjbpm/jbpm-console-ng/pull/451 as well

@tsurdilo thanks!

test fails not related to this PR
(org.jbpm.designer.web.server.SimulationServletTest.testRunSimulationLocalizedNames
org.jbpm.designer.web.server.SimulationServletTest.testLocalizedStartEndTime)

jenkins retest this

So here are my comments.

Because of this bug: https://issues.jboss.org/browse/JBPM-5229, I am not able to verify the most important use case. It means, I am able to import WID and check if pom.xml and DD were changed, but I am not able to start the modeled process, that is using imported custom task.

In the method [1] is parsed list of task names. There is parsed also some category but my tries to use it were not successful. Can you please provide more info how this should work, because this is not mentioned in appropriate planing jira.

In the planing jira you mentioned, that the variable org.jbpm.service.repository will cause default value also for service repository, but currently it doesn't hold true

4.In the planing jira is mentioned requirement to have possibility specify as default handler so parameters for constructor of this handler. Currently, if I open DD editor and there was imported WID file with attribute "parameters", these parameters don't seem to be used in the DD. Maybe I just do not understand correctly attribute "parameters" in the WID file and how to instantiate handler(that have constructor with parameters) in DD.

Currently if "defaultHandler" attribute doesn't contain resolver type, no resolver type is also added into DD. However, in the planing jira I saw requirement to assume default handlers without resolver type as handlers with MVEL resolver type. So, is current behavior correct?

[1]
https://github.com/droolsjbpm/jbpm-designer/pull/377/commits/5d977a0e0d9cb192ed449484a6f38c36d57816ba#diff-47eb79f39bcd0c584a5f7602d0052eb7R525

@jomarko

@krisv is there any workaround for this currently so @jomarko could finish his test for this?

This was looking ahead a little where users could specify a task name and its category for lookup. So for example:

The wording might have been somewhat wrong (I will make this clear in the docs) . The value is added to the dropdown list:

It will be handled same way as before where  no resolvertype option was even available.

@jomarko
For 1 (https://issues.jboss.org/browse/JBPM-5229) - this is NOT a bug. You need to have an execution server set up before you test (workbench is for authoring only now). So without that set up on your end you will not to complete your tests (but this is not a real bug) -- see more here http://mswiderski.blogspot.com/2016/07/jbpm-v7-workbench-and-kie-server.html
@jomarko
for 4 - The "parameters" is not the input parameters to the task but for the handler. For MVEL type resolver all of the parameters can already be specified inside the defaulthandler String, for example:
"defaultHandler" : "new com.something.MyHandler(a,b,c,d)"
and this will be automatically resolved. For REFLECTION type handler the parameters are way too hard to be resolved programatically and should only be entered through the DD editor. But for users it makes more sense to just use MVEL resolver and enter parameters into a single string anyways.

@jomarko I answered all your comments and i think there are no bugs with anything. Please let me know if need any help setting up execution server so you can complete that part of your test

@tsurdilo there are two test failures (SimulationServletTest). Can you look into those, please.

@csadilek yes I am looking at that but it's not related to this PR.

@tsurdilo thanks for clarification, I agree with merge to speed up cherry pick for 6.5.x.

One comment above. Also, the test coverage seems pretty low i.e. for ServiceRepoUtils. Can this be increased?

@csadilek sure thing. working on it

Hello @tsurdilo, I checked again importing service tasks on startup in the form:
-Dorg.jbpm.service.servicetasknames=MyTask:MyCategory1,MyOtherTask:MyCategory2
Unfortunately this causes that no custom task is installed into workbench. I suggest to completely remove code, that assumes possibility to specify also categories for service tasks. I think there are two reasons for that.

it is not mentioned in the requirement
the requirement is quite complex and this will help to keep the PR at the manageable size.

Importing in the form below works perfectly.
-Dorg.jbpm.service.servicetasknames=MyTask,MyOtherTask
What do you think?

@jomarko yep agreed. have removed it and still adding tests. will amend soon

@csadilek
Added ServiceRepoUtilsTest and added test to JbpmServiceRepositoryServletTest
@jomarko the requested code has been removed
let me know if there is anything else guys haha :)

@jomarko Can you please +1 this ? thanks

Sorry for being late with review. Our working places are too far away.
However, thanks for removing the mentioned code and some nice tests. I will add some additional tests as one part of the requirement verification.
Here is my ack: +1
Please, just remove the method from the comment above at first.

@jomarko done.

@csadilek ready to be merged.

great team work @tsurdilo @jomarko, thanks ;).


support speechmatics speechcredential

sorry @xquanluu we also need to store the url of the endpoint as it turns out.
On that page you can see there are currently 3 supported endpoints for their streaming api.

EU: eu2.rt.speechmatics.com (on demand)
EU: neu.rt.speechmatics.com (enterprise customers only)
US: wus.rt.speechmatics.com

Let's have a region dropdown with those 3 choices, showing in the same way, e.g.
"EU: eu2.rt.speechmatics.com (on demand)"
as far as what we send to the api-server, send the URL only.
Also please put the 3 choices in some sort of data file or structure that will be easy to update in the future, as I am sure they will add new endpoints

actually, I notice they support on-prem as well.  So I think we need

radio buttons for hosted or on-prem
when hosted selected, dropdown with the 3 URLs
when on-prem selected, simple input field for URL

plus api key regardless of above

Looks good @xquanluu.  One last request: could you add a variable to the .env called VITE_APP_DISABLE_ADDITIONAL_SPEECH_VENDORs and if set to true do not include speechmatics in the dropdown list.


Show/hide password icon

Implement show/hide password functionality.

It can be implemented using the icon and onIconClick input props


Implement Calltracer in anvil

Component
Anvil
Describe the feature you would like
currently the tracer type callTracer is ignored as highlighted by https://github.com/foundry-rs/foundry/issues/6873
this isn't handled properly:
https://github.com/foundry-rs/foundry/blob/c6790a02bb80b163469e2e3bb0b16ae95ad7334f/crates/anvil/src/eth/backend/mem/storage.rs#L419-L426
see for ref:
https://github.com/paradigmxyz/reth/blob/021d236f8c7a067cfbcc4ecd7ff77b6a72adc1cb/crates/rpc/rpc/src/debug.rs#L473-L473
Additional context
No response

hi @mattsse I put up a draft pr, a question is do we only need to add CallTracer or match all types of GethDebugTracerType like in https://github.com/paradigmxyz/reth/blob/021d236f8c7a067cfbcc4ecd7ff77b6a72adc1cb/crates/rpc/rpc/src/debug.rs#L473-L473

@qiweiii sweet, I can help test this and any subsequent DebugTracer types, but I'm most interested in calltracer right now


[Bug]: Move is not displayed correctly when using the "Combat Sheet" or "Tabbed Sheet".

As per title.

Hi @Grayscalae , thanks for the message. Can you check if the "Auto Encumbrance" option is enabled in your settings?

hi!
If yoy mean this one, it's off:

That one. If you enable this option, the combat/tab sheets start to calculate the correct number?

I can not reproduce the issue. Can you send to me the GCS/GCA exported file for this actor?

Sorry for the delay.  Checking the Calculate Encumbrance option seems to make Move behave as expected.
Unrelated, and please let me know if I should open an issue for this:
Importing a character from GCS with all his weapons and armor in "Other Equipment", and then moving to "Carried Equipment" whatever pieces you want them to have equipped, does not update DR or the Weapons list. It does update Weight, Encumbrance Move (as previously stated) and Dodge. Here's a gif (there's some CSS stuff but I don't think it should interfere with anything):

If I import the character with armor and weapons under Carried Equipment, GGA displays both melee attacks and DR correctly. Moving said weapon back and forth from Carried to Other updates everything accordingly, moving armor however, does not. DR does not change. This time I imported the character with a Broadsword and some armor equipped:

Also, in at least one instance, testing and moving equipment from Carried to Other resulted in duplication under Other Equipment.

@Grayscalae GGA does not calculate DR based on equipment; it only takes what is present in the GCS export file. So moving things from carried to equipped does not change the DR. That functionality should work out of the box with GCSGA, whenever that is released; otherwise it is a future enhancement to GGA. I'm closing this issue.


Brave attacks cause a crash

Brave attacks (anything that enables the unit to attack twice before the opponent) will cause a crash with battle animations enabled.

On reflection both this and https://github.com/MokhaLeee/fe8u-cskillsys-kernel/issues/334 and likely related to skill anims getting screwed up. So I'll close this as a duplicate.


Override ReadonlyArray to Immutable instead of ReadonlyDeep

Per https://github.com/eslint-functional/eslint-plugin-functional/blob/main/docs/rules/settings/immutability.md#example-of-configuring-immutability-overrides
// .eslintrc.json
{
  // ...
  "settings": {
    "immutability": {
      "overrides": [
        {
          "name": "ReadonlyArray",
          "to": "Immutable",
          "from": "ReadonlyDeep"
        }
      ]
    }
  },
  "rules": {
    // ...
  }
}

Related: https://github.com/agiledigital/readonly-types/issues/518

With the ImmutableArray type from https://github.com/agiledigital/readonly-types/blob/master/src/index.ts#L58-L110, we arguably don't need to make this concession, at least not as clearly as without it.

Done.


[DX] Create objects from other objects

What
Say we have a List[str] property in one Weaviate collection such as chunks, or a JSON property, we then want an API to populate another collection with each string value, potentially inheriting other properties of the collection as well.
Why
We believe one of the killer use cases of GFLs is for an LLM to chunk long documents such as PDFs into chunks and metadata descriptions, thus we have a JSON property that stores the list of chunks and metadata strings per entry. It would be great to have an API that flows this from say "WeaviateBlogPosts" --> "WeaviateBlogChunks"
How
weaviate_blog_posts.data.transfer(
  to_collection="WeaviateBlogChunks",
  split_properties="ChunkAndMetadataJSON",
  inherit_properties=["title", "author", "date_published"],
  add_cref=true,
  uuids=uuids
)

Assuming ChunkAndMetadataJSON is populated with a GFL such as:
weaviate_blog_posts.data.gfl.update(
  instruction="Please break up this markdown file into semantic chunks with metadata further description their context in the original document",
  view_properties=["content"],
  on_property=["ChunkAndMetadataJSON"],
  uuids=uuids
)

^ We still need to figure out how we can interface composite types like this to the GFL. So alternately this could be a List[ChunkWithMetadata] type.

This was a use-case brought to me by @jfrancoa also since it is a frequent journey to be able to migrate collections either within or between instances. Developing this during the next sprint would be a good idea, I think!

Awesome!! Super happy to hear it, thanks @tsmith023!


example model (created in python) does not work...

Hi!
I made the example model.
the model.plot() of the steady state model looked the same and did run (I guess, don't know where to find the output, but no errors in the result/logfile)

it would be nice to have some idea of where ribasim stores it's results and what output to expect in the results-dir.
I had a look at the TOML's but found no reference to the database.gpkg.... meaning I can not have two models/versions in the same dir?
But perhaps I overlooked something :)

Kind regards!

it would be nice to have some idea of where ribasim stores it's results and what output to expect in the results-dir.

The TOML has a required keyword results_dir = "results". This is the directory where all results are stored. Did you find the logfile there but no .arrow files?

I had a look at the TOML's but found no reference to the database.gpkg.... meaning I can not have two models/versions in the same dir?

The filename database.gpkg is fixed, but the location is set in the TOML input_dir = ".". So you can have two models in the same directory by controlling the input_dir. Though I generally prefer to keep 1 model per directory.
https://deltares.github.io/Ribasim/core/usage.html#configuration-file
https://deltares.github.io/Ribasim/core/usage.html#results

I think it would be convenient to have the toml refer toe a name.gpkg instead of a directory, it would make the toml more self explaining as well. One can see more clearly what goes in the model. But I cannot oversee all consequences and just start with ribasim.... so I'll just take it as it is :)
I took the python example as a "tutorial", and from that perspective I missed some things, like what output to expect. (my steady state model didn't produce an arrow file, but did produce a log file... so at that time i didn't know if this was "right"or "wrong"...
I'm not complaining though, it's just feedback! It's free software and I am just playing with it.

We appreciate all feedback, first impressions teach us a lot.

my steady state model didn't produce an arrow file, but did produce a log file

If there are no arrow files then there should be an error in the log file, and also in the terminal. If there isn't, we'd like to see the model to fix that.

it would be convenient to have the toml refer toe a name.gpkg instead of a directory

This used to be the case, but after a discussion we went for explicit input and result directories and implicit files in those directories. There can be many input and output files, and having to specify them all will be quite verbose.

python example as a "tutorial", and from that perspective I missed some things

Right now it is really just a Python example. I agree that having a separate tutorial or quick start guide that stands by itself would be valuable. This probably makes sense after this lands: https://github.com/Deltares/Ribasim/pull/1110. Then the Python examples would also be much more self-explanatory.

Closing this since I think there are no actions left anymore that aren't covered in linked issues.


How does this work for bulk operations?

Imagine my program receives a list of Book unique keys, and it needs to return the list of these Books. The query would be something like this:
SELECT * FROM books WHERE key IN ('key1', ..., 'keyN');

How would I use sqlc for that?

You're in luck! sqlc already supports this using ANY. The following SQL:
-- name: GetBulkBooks :many
SELECT * FROM books
WHERE key = ANY($1::text[]);

generate this method signature
func (q *Queries) GetBulkBooks(ctx context.Context, keys []string) ([]Book, error) {
  ...
}

Duplicate of #167

Sorry for not being specific enough: What about bulk inserts?

There are a few ways to do bulk inserts in Go. This article from 2017 goes into two approaches. The first approach, insering multiple records inside a transaction, can be used today with sqlc.
-- name: InsertBook :exec
INSERT INTO books (key, title) VALUES ($1, $2)

However, this isn't really a true bulk insert. You can insert multiple records in a single query:
-- name: BulkInsert :exec
INSERT INTO books (key, title) VALUES
    ($1, $2),
    ($3, $4),
    ($5, $6)

This approach can't support a dynamic number of records.
The suggested approach is to use COPY (see this excellent StackOverflow answer). lib/pq has special support for this use case. I've opened up #218 for the feature.

It does not work on MySQL.  My table and schema below:
schema:
CREATE TABLE pkg (
id text NOT NULL,
vic VARCHAR(50) NOT NULL,
kim text NOT NULL,
order INTEGER NOT NULL,
PRIMARY KEY (id)
);
/* name: GetPkgID :many */
SELECT id,vic,kim FROM pkg WHERE vic = ANY($1::int[]) AND shop_id = ?;
sqlc generate
sql/query/pkg.sql:2:67: syntax error at or near "$"
sql/query/pkg.sql:2:76: syntax error at or near "]"

MySQL does not support arrays so it's not expected for this to work. I've opened #695 to track this issue.


This comment needs a little update :-)

https://github.com/jgperrin/net.jgp.books.spark.ch07/blob/15eed13e959ec03f6cc7992acf5a16215e0a250f/src/main/java/net/jgp/books/spark/ch07/lab600_xml_ingestion/XmlToDataframeApp.java#L37

Thanks ;)


Shouldn't yarn.lock be ignored?

As in remove the .?
https://github.com/siddharthkp/bundlesize/blob/5b7d0795b52c590425da3a978d175eb0dbb2d97b/.gitignore#L61

There's a . before the yarn.lock there. That is the issue

indeed

@ForsakenHarmony Sorry wasn't sure if you're planning to create a PR to fix this, will gladly abandon mine if you want to do it instead >_<


Define permissions for resolver functions

 Issue by kbrandwijk
Sunday Jul 23, 2017 at 01:16 GMT
Originally opened as https://github.com/graphcool/prisma/issues/324

Currently, there's no way to define permissions for resolver function queries and mutations.

yeah would be nice to have restricted access to certain resolvers


Topic: [FEATURE] adding gssoc-ext and hacktober fest logos to the readme

Describe the types of topics you'd add in our Website
adding gssoc-ext and hacktober fest logos to the readme will enhance the repo update the readme file
Could you share some screenshots or a video of your previous work?

Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC-24-extd contributor
[X] Soon, I'll complete it and create a Pull Request.

Hi @REHAN-18! Thanks for opening this issue on Ratna Supermarket. We appreciate your contribution to this open-source project. We aim to respond or assign your issue as soon as possible.

@REHAN-18 GSSOC Logo is already added

Hello @REHAN-18! Your issue #144 has been closed. Thank you for your contribution!🚀


CBA Settings implementation

Q
A

Bug fix?
no

New feature?
yes

Needs wipe?
no

Fixed issues
#514

Description:
All mission parameters are deleted, as the mission configuration is now implemented via the CBA Settings system. Due to this change, the wipe functionality is moved to the server admin dialog. As it's kind of possible that people could click the "wipe save" button by mistake or to "try it", the current save data will be exported to the players profile, before the server wipes all his save data. This way the player can just import the save data again to undo the save wipe. A server/mission restart has to be done in both cases.
The big benefit by using CBA Settings is the possible modularity. Every module can now add their own CBA settings without the need to touch any of the existing files. Furthermore the whole "persistent parameters" functionality is now obsolete, as it's part of the CBA Settings system.
Furthermore I've completely cleaned and recategorized the stringtable.xml. I've also added a tag to the strings, as we didn't had one since now. This is to ensure there won't be any issues with mods etc. which are also using an own stringtable.
All modules are now also contain a readme.md file with an overview about the module functionality and a list of all included functions.
Content:

[x] Removed mission parameters
[x] Cleaned the KPLIB_config.sqf
[x] Created a backup of the old config file
[x] Implemented all currently used/needed settings as CBA settings
[x] Sorted all CBA settings to corresponding module settings (currently just init and respawn)
[x] Added strings for the CBA settings to the stringtable
[x] Cleaned and resorted the whole stringtable and added a tag
[x] Adjusted all files concerning the new settings variables/strings
[x] Added module description readmes to each module root folder
[x] Moved save wipe from mission parameters to the admin menu
[x] Changelog update

Successfully tested on:

[x] Local MP Vanilla
[x] Dedicated MP Vanilla

Compatibility checked with:

Wasn't necessary

lgtm


add react-virtual to virtualize the event log view

Adds virtualization to the event log to handle connections with many events.
Highlights:

The view can now handle thousands (tested with ~.5 million events / 350mb+ event log)
Updated the table to be a list with divs to avoid styling issues.
react-virtual is on a v3 beta so we should keep an eye to keep it up to date

Closes INS-1834

I ran it locally to test. Looking really good! I am wondering if this was expected not to add the messages received:


Not working on Ubuntu 22.04 LTS

Updated today to 22.04 LTS, and Electron Player is no longer launching.

Try running as root with --no-sandbox it worked for me

It is working perfectly here though it has a long load time

Just happened to me on 22.04. The error message was: (electronplayer:249739): Gtk-WARNING **: 21:54:18.458: cannot open display: :0
Had to uninstall then reinstall the latest/beta version (2.0.8) through the Snap store. Now it works and I was able to log into Twitch

Updated today to 22.04 LTS, and Electron Player is no longer launching.

having the same problem :(

Hello,
I had the exact same issue and thanks to @fir3-1ce, your solution was great.
But now, I'm facing a new problem, electronplayer crashes the entire system.
I made some tests and I figured that when I watch a video on Netflix for about 30 minutes, if I hit a key on the keyboard or if I move the mouse, the system crashes.
The display freezes, the screen goes off and on again and I can't do a thing. No terminal, no Alt+F2, I can't kill any process. All I can do is a hard reboot.
It 's a fresh install of Ubuntu 22.04 (about 2 weeks ago) and I only tried Netflix on electronplayer.
I hope anyone could help me.


Increase Active Jobs Size for DistributedJobCommands

Increase default active jobs size because this increases performance for smaller file size distributedCp/Load cases without hurting the large files. (The only increased cost is increased memory usage but the memory usage here isn't large.)

alluxio-bot, merge this please


InvalidHeaderValue on BlobService example

Hello,
I have installed this SDK from PyPI and from GitHub, and I get the same error. I'm trying to run the SDK examples:
from azure.storage import BlobService
blob_service = BlobService(account_name, account_key)
blob_service.create_container('images')

And I get this error:
Traceback (most recent call last):
  File "/home/adria/Programacio/azure-sdk-for-python/azure/storage/storageclient.py", line 143, in _perform_request
    resp = self._filter(request)
  File "/home/adria/Programacio/azure-sdk-for-python/azure/storage/storageclient.py", line 132, in _perform_request_worker
    return self._httpclient.perform_request(request)
  File "/home/adria/Programacio/azure-sdk-for-python/azure/http/httpclient.py", line 247, in perform_request
    self.respheader, respbody)
azure.http.HTTPError: The value for one of the HTTP headers is not in the correct format.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/adria/Programacio/azure-sdk-for-python/azure/storage/blobservice.py", line 192, in create_container
    _dont_fail_on_exist(ex)
  File "/home/adria/Programacio/azure-sdk-for-python/azure/__init__.py", line 907, in _dont_fail_on_exist
    raise error
  File "/home/adria/Programacio/azure-sdk-for-python/azure/storage/blobservice.py", line 189, in create_container
    self._perform_request(request)
  File "/home/adria/Programacio/azure-sdk-for-python/azure/storage/storageclient.py", line 150, in _perform_request
    _storage_error_handler(ex)
  File "/home/adria/Programacio/azure-sdk-for-python/azure/storage/__init__.py", line 890, in _storage_error_handler
    return _general_error_handler(http_error)
  File "/home/adria/Programacio/azure-sdk-for-python/azure/__init__.py", line 931, in _general_error_handler
    http_error.respbody.decode('utf-8'))
azure.WindowsAzureError: Unknown error (The value for one of the HTTP headers is not in the correct format.)
<?xml version="1.0" encoding="utf-8"?><Error>InvalidHeaderValue<Message>The value for one of the HTTP headers is not in the correct format.
RequestId:7f2b44b7-0001-0040-3e64-9b5b6c000000
Time:2015-02-14T20:07:43.3300628Z</Message><HeaderName>x-ms-version</HeaderName><HeaderValue>2012-02-12</HeaderValue></Error>

This happens with all the methods of BlobService I've tried. I've printed the actual request headers and the signature string and I could not spot any errors:
'PUT\n\n\n0\n\napplication/octet-stream Charset=UTF-8\n\n\n\n\n\n\nx-ms-date:Sat, 14 Feb 2015 20:17:52 GMT\nx-ms-version:2012-02-12\n/monkingme/images\nrestype:container'
[('x-ms-meta-name-values', None), ('x-ms-blob-public-access', None), ('Content-Length', '0'), ('x-ms-version', '2012-02-12'), ('x-ms-date', 'Sat, 14 Feb 2015 20:17:52 GMT'), ('Content-Type', 'application/octet-stream Charset=UTF-8'), ('Authorization', 'SharedKey monkingme:4Y+0+imrSOdvDcV+R23bDLyVG4K9C+jnWC1R3CXM3BY=')]

Help would be much appreciated,
Adrià

I solved it.
Removed  Charset=UTF-8 from azure/storage/__init__.py and it works.
We can add some more lines to make it accept UTF-8; I'll make a pull request.

Hey,
The "x-ms-version" header was actually wrong. Setting it to "2014-02-14", like the Java SDK is, did the trick.
I am submitting a pull request.

The upcoming 0.10 release is targeting 2014-02-14.


[Builtin library] [ Should Contain]  argument variable chops off the content of data while finding a phrase in it

i have a variable which store "ifconfig" result of a ubuntu system.  the response of ifconfig is more than 100 lines.  when i log the variable it prints all the received response correctly but when i use the keywork  Should Contain   ${response}  'text'  it chops of the content of ${response} up to few lines. say 15-20.
i can see my desired text exists in the response but due to this but it fails the result because the desired text does not exist in firt 20 lines.
it a very visible issue, i dont think i need to put any logs in here.
my robot version is
Robot Framework 6.0.2 (Python 3.11.0 on win32)

You mean the error message the test gets, right? The reason we cut them from the middle is that they can be arbitrary long and mess up logs and reports pretty badly. The whole message ought to nevertheless be visible in the log file under the failed keyword. If I understood your issue correctly, you can find a command line option that controls this behavior. If I didn't, please clarify.

I don't think you understood what I meant. We cut the error messages tests get because they can be overly long. It doesn't matter is the error due to ifconfig config message being compared or something else.


dotnet publish with PublishProfile example does not work

The example under the MSBuild heading does not work.
Executing the command dotnet publish -p:PublishProfile=FolderProfile does not perform a publish using the settings contained in the FolderProfile.pubxml

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

ID: 211afdc7-c796-202d-239d-823f2a499dff
Version Independent ID: 9439897e-dcb3-bc2e-5cae-35c1ca2e0681
Content: dotnet publish command - .NET Core CLI
Content Source: docs/core/tools/dotnet-publish.md
Product: dotnet-core
Technology: dotnet-cli
GitHub Login: @tdykstra
Microsoft Alias: tdykstra

See the related issue https://github.com/dotnet/docs/issues/19677 and the note about the PublishProfileFullPath property at the end of the MSBuild section.

This appears to be SDK version specific.
Using the latest .NET 3.1.401 SDK then the command dotnet publish -p:PublishProfile=FolderProfile works as expected.
I could not get this to work even when using PublishProfileFullPath with these installed as part of Visual Studio 2017 15.9.26:

Microsoft .NET Core SDK 2.1.516 (x64)
Microsoft .NET Core SDK 2.1.514 (x64)
Microsoft (R) Build Engine version 15.9.20+g88f5fadfbe for .NET Core

See https://github.com/dotnet/sdk/issues/12870 which suggests this applies from SDK 3.1

Thanks for following up, I'm updating the article.

@tdykstra @BillWagner I'm seeing this exact issue in an ASP.NET Core 5 project. Are the docs correct?
This is the command I run in the project directory:
dotnet publish -p:PublishProfile=publish-profile

These are the .NET SDKs installed:

3.1.409 [/usr/local/share/dotnet/sdk]
3.1.410 [/usr/local/share/dotnet/sdk]
3.1.411 [/usr/local/share/dotnet/sdk]
3.1.412 [/usr/local/share/dotnet/sdk]
5.0.203 [/usr/local/share/dotnet/sdk]
5.0.301 [/usr/local/share/dotnet/sdk]
5.0.302 [/usr/local/share/dotnet/sdk]
5.0.400 [/usr/local/share/dotnet/sdk]
6.0.100-preview.6.21355.2 [/usr/local/share/dotnet/sdk]
6.0.100-preview.7.21379.14 [/usr/local/share/dotnet/sdk]

Is your .pubxml file in the project directory? If you created it in VS it'll be in Properties/PublishProfiles, and if the file is named FolderProfile.pubxml, the command would be:
dotnet publish -p:PublishProfile=Properties\PublishProfiles\FolderProfile

Hi @tdykstra, yes, it was created by VS for Mac and is in Properties/PublishProfiles. With the command you have there, I still get the same result as before, which is it is published to the project's bin/Debug folder.

What happens if you put something like bin\Release\net5.0\publish\ instead of artifact\ in <PublishDir>?

Or more likely, what if you rename the file to get rid of the embedded space in the file name?

Please disregard my last two comments, I was confusing your issue with that of the original creator of the dotnet/sdk issue you linked to. Can you provide the contents of your .pubxml file?

@tdykstra Thank you, yes, here is the .pubxml:
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <Configuration>Release</Configuration>
    <EnvironmentName>Staging</EnvironmentName>
    <WebPublishMethod>FileSystem</WebPublishMethod>
    <LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
    <LastUsedPlatform>AnyCPU</LastUsedPlatform>
    <publishUrl>/Volumes/remote-server-path-to-folder</publishUrl>
    <DeleteExistingFiles>true</DeleteExistingFiles>
    <TargetFramework>net5.0</TargetFramework>
    <SelfContained>false</SelfContained>
    <_IsPortable>true</_IsPortable>
  </PropertyGroup>
</Project>

@adegeo Can you help with this?

I would ask on the SDK github again. I commented on the linked issue (someone else is also reporting it's still not working) that a new issue should be opened if there is still a problem with a newer SDK.


Missing node FluxPro11UltraRedux

Hi There,
Big thanks for the updates  awesome, but based on the API the ultra also has REDUX support so is missing the node FluxPro11UltraRedux so we can use images on the Ultra model.
Regards,

Hi There,
Big thanks for the updates awesome, but based on the API the ultra also has REDUX support so is missing the node FluxPro11UltraRedux so we can use images on the Ultra model.
Regards,

I just realise also missing this weight for the redux image :

Hi
Thanks for feedback. I add both FluxPro11UltraRedux and FluxDevRedux. I also updated workflow.

@gelasdev Big thanks for the updates awesome. but Do you have plans to add support for flux-pro-1.0-fill？It means a lot to me. Thank you.

Hello.
It is already added in the current version. Any chance to look in the current version(you can check workflow/BFL-API-tools.json)? Or am I missing something?

Thanks for your reply. I found that my fill node was reporting an error, and Flux-Pro-1.1 was getting a black picture

This is my local pip dependency：

This is my local git log:

any suggestion for me? thank you!

@gelasdev thanks a lot, It`s my key and start logs:

start logs
[START] Security scan
[DONE] Security scan
ComfyUI-Manager: installing dependencies done.
** ComfyUI startup time: 2024-11-29 21:18:05.132053
** Platform: Linux
** Python version: 3.10.9 (main, Mar  1 2023, 18:23:06) [GCC 11.2.0]
** Python executable: /home/vipuser/anaconda3/bin/python
** ComfyUI Path: /home/vipuser/ComfyUI
** Log path: /home/vipuser/ComfyUI/comfyui.log
Prestartup times for custom nodes:
0.0 seconds: /home/vipuser/ComfyUI/custom_nodes/ComfyUI-Marigold
0.0 seconds: /home/vipuser/ComfyUI/custom_nodes/rgthree-comfy
0.0 seconds: /home/vipuser/ComfyUI/custom_nodes/ComfyUI-Easy-Use
0.3 seconds: /home/vipuser/ComfyUI/custom_nodes/BizyAir
1.0 seconds: /home/vipuser/ComfyUI/custom_nodes/ComfyUI-Manager
Set cuda device to: 0
Total VRAM 81051 MB, total RAM 61394 MB
pytorch version: 2.4.0+cu121
Set vram state to: NORMAL_VRAM
Device: cuda:0 NVIDIA A800 80GB PCIe : cudaMallocAsync
Using pytorch cross attention
[Prompt Server] web root: /home/vipuser/ComfyUI/web
/home/vipuser/anaconda3/lib/python3.10/site-packages/kornia/feature/lightglue.py:44: FutureWarning: torch.cuda.amp.custom_fwd(args...) is deprecated. Please use torch.amp.custom_fwd(args..., device_type='cuda') instead.
@torch.cuda.amp.custom_fwd(cast_inputs=torch.float32)
/home/vipuser/anaconda3/lib/python3.10/site-packages/albumentations/check_version.py:49: UserWarning: Error fetching version info The read operation timed out
data = fetch_version_info()
[Power Noise Suite]: 🦚🦚🦚 Squaaack! 🦚🦚🦚
[Power Noise Suite]: Tamed 11 wild nodes.
[comfyui_controlnet_aux] | INFO -> Using ckpts path: /home/vipuser/ComfyUI/custom_nodes/comfyui_controlnet_aux/ckpts
[comfyui_controlnet_aux] | INFO -> Using symlinks: False
[comfyui_controlnet_aux] | INFO -> Using ort providers: ['CUDAExecutionProvider', 'DirectMLExecutionProvider', 'OpenVINOExecutionProvider', 'ROCMExecutionProvider', 'CPUExecutionProvider', 'CoreMLExecutionProvider']
FizzleDorf Custom Nodes: Loaded
Loading: ComfyUI Joycaption(V0.1)
Total VRAM 81051 MB, total RAM 61394 MB
pytorch version: 2.4.0+cu121
Set vram state to: NORMAL_VRAM
Device: cuda:0 NVIDIA A800 80GB PCIe : cudaMallocAsync
/home/vipuser/ComfyUI/custom_nodes/ComfyUI-Marigold/nodes.py:44: FutureWarning: You are using torch.load with weights_only=False (the current default value), which uses the default pickle module implicitly. It is possible to construct malicious pickle data which will execute arbitrary code during unpickling (See https://github.com/pytorch/pytorch/blob/main/SECURITY.md#untrusted-models for more details). In a future release, the default value for weights_only will be flipped to True. This limits the functions that could be executed during unpickling. Arbitrary objects will no longer be allowed to be loaded via this mode unless they are explicitly allowlisted by the user via torch.serialization.add_safe_globals. We recommend you start setting weights_only=True for any use case where you don't have full control of the loaded file. Please open an issue on GitHub for any issues related to this experimental feature.
empty_text_embed = torch.load(os.path.join(script_directory, "empty_text_embed.pt"), map_location="cpu")
Adding /home/vipuser/ComfyUI/custom_nodes to sys.path
Efficiency Nodes: Attempting to add Control Net options to the 'HiRes-Fix Script' Node (comfyui_controlnet_aux add-on)...Success!
Efficiency Nodes Warning: Failed to import python package 'simpleeval'; related nodes disabled.
Loaded Efficiency nodes from /home/vipuser/ComfyUI/custom_nodes/efficiency-nodes-comfyui
Loaded ControlNetPreprocessors nodes from /home/vipuser/ComfyUI/custom_nodes/comfyui_controlnet_aux
Loaded AdvancedControlNet nodes from /home/vipuser/ComfyUI/custom_nodes/ComfyUI-Advanced-ControlNet
Could not find AnimateDiff nodes
Loaded IPAdapter nodes from /home/vipuser/ComfyUI/custom_nodes/ComfyUI_IPAdapter_plus
Could not find VideoHelperSuite nodes
Loading: ComfyUI-Impact-Pack (V7.1)
Loading: ComfyUI-Impact-Pack (Subpack: V0.6)
Loading: ComfyUI-Impact-Pack (V7.1)
Loaded ImpactPack nodes from /home/vipuser/ComfyUI/custom_nodes/ComfyUI-Impact-Pack
[Impact Pack] Wildcards loading done.
[Impact Pack] Wildcards loading done.
Comfyroll Studio v1.76 :  175 Nodes Loaded
** For changes, please see patch notes at https://github.com/Suzie1/ComfyUI_Comfyroll_CustomNodes/blob/main/Patch_Notes.md
** For help, please see the wiki at https://github.com/Suzie1/ComfyUI_Comfyroll_CustomNodes/wiki
/home/vipuser/anaconda3/lib/python3.10/site-packages/_distutils_hack/init.py:33: UserWarning: Setuptools is replacing distutils.
warnings.warn("Setuptools is replacing distutils.")
FaceDetailer: Model directory already exists
FaceDetailer: Model already exists
Display name '☁BizyAir SetUnionControlNetType' might differ from the native display name.
Display name '☁BizyAir ControlNetInpaintingAliMamaApply' might differ from the native display name.
Display name '☁BizyAir DisableNoise' might differ from the native display name.
Display name '☁BizyAir FlipSigmas' might differ from the native display name.
Display name '☁BizyAir CFGGuider' might differ from the native display name.
Display name '☁BizyAir CLIPTextEncodeFlux' might differ from the native display name.
Display name '☁BizyAir FluxGuidance' might differ from the native display name.
Display name '☁BizyAir InstructPixToPixConditioning' might differ from the native display name.
Display name '☁BizyAir IPAdapterModelLoader' might differ from the native display name.
Display name '☁BizyAir IPAdapterAdvanced' might differ from the native display name.
Display name '☁BizyAir IPAdapterStyleComposition' might differ from the native display name.
Display name '☁BizyAir ModelSamplingSD3' might differ from the native display name.
Display name '☁BizyAir ModelSamplingFlux' might differ from the native display name.
Display name '☁BizyAir TripleCLIPLoader' might differ from the native display name.
Display name '☁BizyAir UltimateSDUpscale' might differ from the native display name.
Display name '☁BizyAir MinusZoneChatGLM3TextEncode' might differ from the native display name.
Display name '☁BizyAir SamplerCustomAdvanced' might differ from the native display name.
Display name '☁BizyAir BasicGuider' might differ from the native display name.
Display name '☁BizyAir BasicScheduler' might differ from the native display name.
Display name '☁BizyAir DualCLIPLoader' might differ from the native display name.
Display name '☁BizyAir KSamplerSelect' might differ from the native display name.
Display name '☁BizyAir RandomNoise' might differ from the native display name.
Display name '☁BizyAir InpaintModelConditioning' might differ from the native display name.
Display name '☁BizyAir InpaintModelConditioning_v2' might differ from the native display name.
Display name '☁BizyAir ConditioningZeroOut' might differ from the native display name.
Display name '☁BizyAir ConditioningSetTimestepRange' might differ from the native display name.
[BizyAir] Model hosting service initialized.
[custom_nodes.comfyui_controlnet_aux] | INFO -> Using ckpts path: /home/vipuser/ComfyUI/custom_nodes/comfyui_controlnet_aux/ckpts
[custom_nodes.comfyui_controlnet_aux] | INFO -> Using symlinks: False
[custom_nodes.comfyui_controlnet_aux] | INFO -> Using ort providers: ['CUDAExecutionProvider', 'DirectMLExecutionProvider', 'OpenVINOExecutionProvider', 'ROCMExecutionProvider', 'CPUExecutionProvider', 'CoreMLExecutionProvider']
Workspace manager - Openning file hash dict
🦄🦄Loading: Workspace Manager (V2.1.0)
[Crystools INFO] Crystools version: 1.16.6
[Crystools INFO] CPU: Intel(R) Xeon(R) Platinum 8358 CPU @ 2.60GHz - Arch: x86_64 - OS: Linux 6.2.0-35-generic
[Crystools INFO] Pynvml (Nvidia) initialized.
[Crystools INFO] GPU/s:
[Crystools INFO] 0) NVIDIA A800 80GB PCIe
[Crystools INFO] NVIDIA Driver: 535.113.01
no module 'xformers'. Processing without...
no module 'xformers'. Processing without...
[rgthree] Loaded 42 extraordinary nodes.
[rgthree] NOTE: Will NOT use rgthree's optimized recursive execution as ComfyUI has changed.
Loading: ComfyUI-Manager (V2.50.1)
ComfyUI Revision: 2622 [38c22e63] *DETACHED | Released on '2024-08-27'
(pysssss:WD14Tagger) [DEBUG] Available ORT providers: AzureExecutionProvider, CPUExecutionProvider
(pysssss:WD14Tagger) [DEBUG] Using ORT providers: CUDAExecutionProvider, CPUExecutionProvider
/home/vipuser/ComfyUI
############################################
/home/vipuser/ComfyUI/custom_nodes/ComfyUI-NAI-styler/CSV
############################################
[]
############################################
LOADED 5 FONTS
███╗   ███╗ █████╗  ██████╗██╗  ██╗██╗███╗   ██╗███████╗
████╗ ████║██╔══██╗██╔════╝██║  ██║██║████╗  ██║██╔════╝
██╔████╔██║███████║██║     ███████║██║██╔██╗ ██║█████╗
██║╚██╔╝██║██╔══██║██║     ██╔══██║██║██║╚██╗██║██╔══╝
██║ ╚═╝ ██║██║  ██║╚██████╗██║  ██║██║██║ ╚████║███████╗
╚═╝     ╚═╝╚═╝  ╚═╝ ╚═════╝╚═╝  ╚═╝╚═╝╚═╝  ╚═══╝╚══════╝
██████╗ ███████╗██╗     ██╗   ██╗███████╗██╗ ██████╗ ███╗   ██╗███████╗
██╔══██╗██╔════╝██║     ██║   ██║██╔════╝██║██╔═══██╗████╗  ██║██╔════╝
██║  ██║█████╗  ██║     ██║   ██║███████╗██║██║   ██║██╔██╗ ██║███████╗
██║  ██║██╔══╝  ██║     ██║   ██║╚════██║██║██║   ██║██║╚██╗██║╚════██║
██████╔╝███████╗███████╗╚██████╔╝███████║██║╚██████╔╝██║ ╚████║███████║
╚═════╝ ╚══════╝╚══════╝ ╚═════╝ ╚══════╝╚═╝ ╚═════╝ ╚═╝  ╚═══╝╚══════╝
Comfy-Easy-Use v1.2.2: Loaded
Loading: ComfyUI-Impact-Pack (V7.1)
[Impact Pack] Wildcards loading done.
😺dzNodes: LayerStyle -> Warning: /home/vipuser/ComfyUI/custom_nodes/ComfyUI_LayerStyle/resource_dir.ini not found, default directory to be used.
😺dzNodes: LayerStyle -> Find 1 LUTs in /home/vipuser/ComfyUI/custom_nodes/ComfyUI_LayerStyle/lut
😺dzNodes: LayerStyle -> Find 1 Fonts in /home/vipuser/ComfyUI/custom_nodes/ComfyUI_LayerStyle/font
json_repair## OK
Mixlab Nodes: Loaded
ChatGPT.available True
edit_mask.available True
simple_lama_inpainting## OK
LaMaInpainting.available True
ClipInterrogator.available True
PromptGenerate.available True
ChinesePrompt.available True
RembgNode_.available True
ffmpeg could not be found. Using ffmpeg from imageio-ffmpeg.
TripoSR.available
Patching UNetModel.forward
UNetModel.forward has been successfully patched.
[START] ComfyUI AlekPet Nodes v1.0.16
Node -> DeepTranslatorNode: DeepTranslatorCLIPTextEncodeNode, DeepTranslatorTextNode [Loading]
Node -> ArgosTranslateNode: ArgosTranslateCLIPTextEncodeNode, ArgosTranslateTextNode [Loading]
Node -> GoogleTranslateNode: GoogleTranslateCLIPTextEncodeNode, GoogleTranslateTextNode [Loading]
Node -> ExtrasNode: PreviewTextNode, HexToHueNode, ColorsCorrectNode [Loading]
Node -> PoseNode: PoseNode [Loading]
Node -> IDENode: IDENode [Loading]
Node -> PainterNode: PainterNode [Loading]
[END] ComfyUI AlekPet Nodes
Loading: ComfyUI-Inspire-Pack (V0.86)
WAS Node Suite: BlenderNeko's Advanced CLIP Text Encode found, attempting to enable CLIPTextEncode support.
WAS Node Suite: CLIPTextEncode (BlenderNeko Advanced + NSP) node enabled under WAS Suite/Conditioning menu.
WAS Node Suite: OpenCV Python FFMPEG support is enabled
WAS Node Suite Warning: ffmpeg_bin_path is not set in /home/vipuser/ComfyUI/custom_nodes/was-node-suite-comfyui/was_suite_config.json config file. Will attempt to use system ffmpeg binaries if available.
WAS Node Suite: Finished. Loaded 219 nodes successfully.
"Art is the soul made visible."  I deleted node from manager and reinstall it. Then update api key. All node worked from my side. And maybe check ComftUI version. I use latest one.

I just tried to delete the node from manager and reinstall it, then updated the api, and restarted my comfyUI. The problem I encountered was the same as before, and I used other nodes to verify that my key was OK. Maybe as you said, I should update my comfyUI, but it may take a little time to try. Thanks for your help @gelasdev

I'm sorry I couldn't help. I couldn't produce the error. I will try on another pc this evening. Maybe then i can help. You can open another issue so we can track issue from there.

I'm sorry I couldn't help. I couldn't produce the error. I will try on another pc this evening. Maybe then i can help. You can open another issue so we can track issue from there.

@gelasdev I update my comfyUI to latest,and all is working now.   Thank you so much for the open source, it's great!


Test file upload

Hi,
I'm wondering if it is possible to simulate a file upload. For example, in my ReactJS, I use FormData to send a file to Adonis, which uses request.file(). An example of an output of a file would be the following:
[File(234234)]
  0: File(234234)
    lastModified: "...",
    lastModifiedDate: "...",
    name: "filename.png",
    preview: "..."
   ...
...

Then, in my test file, I attempted to send a JSON in this format, but it's no good.
const request = await client.post("http://<IP_ADDRESS>:4000/api/v1/invoices/1/additional-files")
  .send({
    id: 4,
    invoice_id: 1,
    File: {
      name: "a_new_file_uploaded.png"
    },
    description: "Lorem ipsum dolor sit amet"
  })
  .end();

Is there another way to simulate a file?

Duplicate: https://github.com/adonisjs/adonis-vow/issues/19


Move translated message without requiring retranslation

Moving an i18n message means that the message will need to be retranslated in Transifex, because moving it changes its Transifex key. See here for related Transifex documentation.
Retranslation isn't as bad as it sounds, because if a string exactly matches a past string, Transifex will suggest the past translation. However, if retranslation can be avoided, that seems ideal, as it requires some work for each language. Some languages are maintained by a single translator. Some languages are also less actively maintained on Transifex than others, so it can take a while for a string to be retranslated.
There are two main cases in which a message is moved:

A component needs to use a message from another component. In most cases, a message is local to the component in which it is used. That allows a component's messages to be loaded async, when the component is loaded. Otherwise, all messages would be loaded at once, which would be a lot of text. However, if a message that was local to a component now needs to be used in a second component, it is typically moved to the shared message file en.json5. That allows both components (and any future components) to access the message. However, because the message is moved, it will need to be retranslated.
An entire component is moved. For a message that is local to a component, the message's Transifex key includes the component name, inferred from its file path. However, that means that if the component is renamed and moved, all its translations will have to be retranslated. For example, previously, the submission download modal was only shown if decryption was required — so it was named SubmissionDecrypt. Now, however, it is shown even if decryption isn't required. I've renamed the component to SubmissionDownload, but because I've wanted to avoid retranslation, I haven't moved the file yet: it is still located at src/components/submission/decrypt.vue.

My idea is to introduce a type of magic comment to override a message's default Transifex key. Something like:
{
  // @transifexKey component.SubmissionDecrypt.title
  "title": "Download Submissions",
  // ...
}

That way, we could move submission/decrypt.vue to submission/download.vue while still signaling "use SubmissionDecrypt for the Transifex key".

Things to verify when developing an approach:

A component is renamed (e.g., SubmissionDecrypt to SubmissionDownload).
A message is moved from a component to en.json5 (e.g, title.entity.create from SubmissionFeedEntry).
A message is moved from one component to another.


Atlantis logo

There are no Atlantis logo despite it was added here:
https://github.com/cncf/landscape/pull/3941/files

Hi, @chenrui333
Could you kindly elaborate on this issue? I see that only PNG image is available.

There are no Atlantis logo despite it was added here:
https://github.com/cncf/landscape/pull/3941/files

No logo was included in the PR - the .yml update references "atlantis.svg" but that file was not included in the PR and is not in the hosted_logos directory.
I've opened a PR to get a basic logo added so the CNCF website doesn't look broken. You can update it once your final logo is ready. And of course, please submit the artwork to the CNCF Artwork repo https://github.com/cncf/artwork

The PR has been approved and waiting to be deployed. This issue can be closed (cc @castrojo)


MQ Scaler Rebase

Bring in line with v2
Update config
Checklist

[ ] Commits are signed with Developer Certificate of Origin (DCO)
[ ] Tests have been added
[ ] A PR is opened to update the documentation on https://github.com/kedacore/keda-docs
[ ] Changelog has been updated

Fixes #

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 6 committers have signed the CLA.:white_check_mark: cpilton:x: silenceper:x: gordonbondon:x: mosesyou:x: zroubalik:x: TsuyoshiUshioYou have signed the CLA already but the status is still pending? Let us recheck it.


Unable to install

Hi,
I've tried to install package with npm install email-templates --save but npm returns error :

npm ERR! Error while executing:
npm ERR! /usr/bin/git ls-remote -h -t<EMAIL_ADDRESS>npm ERR!
npm ERR! fatal: failed to stat '.': Permission denied
npm ERR!
npm ERR! exited with error code: 128

Other package have been installed without problem, but not this one ..
Thanks for your help,
Best Regards,
Pascall

What version of npm are you on?
Have you tried deleting the node_modules and running npm install?

npm -v : 5.4.2
removing node_modules has no effect

@mrbinr I've fixed the issue, please try to install npm install --save<EMAIL_ADDRESS>The reason why it was failing was because your system was trying to download it via git+ssh, and it needs to be git+https.
Unfortunately NPM has an issue per https://github.com/npm/npm/issues/18520 and you probably won't be able to use NPM probably due to this error output (at least on npm --version = 5.4.1).  You'll probably have to downgrade npm or use yarn instead (which you should anyways, npm is horrid nowadays).
λ ~/Public/email-templates/ master* npm install

><EMAIL_ADDRESS>preinstall /Users/nexus/Public/email-templates/node_modules/extract-opts/node_modules/typechecker
> node ./cyclic.js

npm ERR! Cannot read property 'pause' of undefined

I'd recommend installing via yarn, see https://yarnpkg.com/en/docs/install.

Still not working with yarn

yarn add v1.1.0
warning You are using Node "7.10.1" which is not supported and may encounter bugs or unexpected >behavior. Yarn supports the following semver range: "^4.8.0 || ^5.7.0 || ^6.2.2 || ^8.0.0"
info No lockfile found.
[1/4] Resolving packages...
[2/4] Fetching packages...
error<EMAIL_ADDRESS>The engine "node" is incompatible with this module. Expected version ">=8.3".
error Found incompatible module
info Visit https://yarnpkg.com/en/docs/cli/add for documentation about this command.

@mrbinr You're going to need v8.3 of Node anyways, so you might as well upgrade now.
I did however fix the issue with get-paths already, so you can try npm install --save<EMAIL_ADDRESS>to get v3.0.5.

Also hopefully to prevent other users from this headache, I've added a note regarding Node v7.6.0+ requirement to README per https://github.com/niftylettuce/email-templates/commit/5260d65d56c259af8d58ddbaee6912da13463d16.

can you please try v3.1.5? npm install email-templates@latest or yarn add email-templates@latest. this package now supports Node v6.4.0+. I've also updated README with this note that v6.4.0+ is a requirement (instead of 7.x)  also please see v2 to v3 upgrade guide at https://github.com/niftylettuce/email-templates#v3-breaking-changes

Sometimes it even requires to npm install --save multer and npm install --save  formidable after npm install --save<EMAIL_ADDRESS>

@kunal-dethe-v2sol What are you talking about?  This package does not require multer nor formidable.  Please refrain from commenting without posting a full stack trace log or error output from npm.


Convert BinaryOps.DIV to UnaryOps.RECIP and BinaryOps.IDIV

This PR introduces UnaryOps.RECIP and BinaryOps.DIV, and made the needed changes of functions to support both of them.
a = Tensor([1,2,3], dtype=dtypes.float).tanh().realize()
before
 0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(3,), strides=(1,), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUB
  2    ┣━┳ MUL
  3    ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(3,), strides=(0,), offset=0, mask=None, contiguous=False),)))
  4    ┃ ┗━┳ DIV
  5    ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(3,), strides=(0,), offset=0, mask=None, contiguous=False),)))
  6    ┃   ┗━┳ ADD
  7    ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(3,), strides=(0,), offset=0, mask=None, contiguous=False),)))
  8    ┃     ┗━┳ EXP2
  9    ┃       ┗━┳ MUL
 10    ┃         ┣━┳ MUL
 11    ┃         ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(3,), strides=(0,), offset=0, mask=None, contiguous=False),)))
 12    ┃         ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(3,), strides=(1,), offset=0, mask=None, contiguous=True),)))
 13    ┃         ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(3,), strides=(0,), offset=0, mask=None, contiguous=False),)))
 14    ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(3,), strides=(0,), offset=0, mask=None, contiguous=False),)))

after
*** PYTHON     1 copy       12,  PYTHON <- NPY          arg   2 mem  0.00 GB tm     13.23us/     0.01ms (    0.00 GFLOPS,    0.00 GB/s)
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(3,), strides=(1,), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUB
  2    ┣━┳ MUL
  3    ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(3,), strides=(0,), offset=0, mask=None, contiguous=False),)))
  4    ┃ ┗━┳ RECIP
  5    ┃   ┗━┳ ADD
  6    ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(3,), strides=(0,), offset=0, mask=None, contiguous=False),)))
  7    ┃     ┗━┳ EXP2
  8    ┃       ┗━┳ MUL
  9    ┃         ┣━┳ MUL
 10    ┃         ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(3,), strides=(0,), offset=0, mask=None, contiguous=False),)))
 11    ┃         ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(3,), strides=(1,), offset=0, mask=None, contiguous=True),)))
 12    ┃         ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(3,), strides=(0,), offset=0, mask=None, contiguous=False),)))
 13    ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(3,), strides=(0,), offset=0, mask=None, contiguous=False),)))

I'm working on test to pass, I find out two blockers right now:

The test_symbolic_test::test_var*
are failing due to the function F.Div.forward now use UnaryOps.RECIP and BinaryOps.MUL to made the multiplication and when BinaryOps.MUL received 0 and INF value (RECIP returns this when the denominator is 0) return nan and the expected value is 0. I try to return 0 instead of INF but more tests start to fail, so I'm reading the higher logic to find a solution.

For CLANG and PTX, some errors are due to my current implementation, but now I'm focusing on fixing the symbolic tests, later I will fix this. I'm reading PTX ISA to understand how to implement the IDIV (Maybe casting the floats to integers before using the div.{dtype} instruction)

If BinaryOps.DIV sill exists, this is wrong.

I forget to remove the BinaryOps.DIV, I'm working on rshift test, due to use UnaryOps.RECIP return a float its raise a dtype error because its expect uint not float.

I'm confident of my solution. I have two stoppers that I described on the description of the PR. I open the PR to received feedback. I need to study for an exam now, so I will be back tomorrow morning. Thanks for the time!

Update:
After some read I understood on the basics how PatternMatcher works and find the bug, as now I use BinaryOps.MUL and UnaryOps.RECIP when se have a 0 / 0 the expected result is nan. but this rule
(UPat(UOps.ALU, BinaryOps.MUL, [UPat(), UPat(UOps.CONST, 0, name="c")]), lambda c: c)
unfold the division to 0, so I modify the rule to support the case when UnaryOps.RECIP returns nan to render as nan the value.
I have the following tests to fix:

I have some tests (METAL, CLANG, GPU, NV) failing due to my C implementation of BinaryOps.IDIV returns -2.147484e+09 or 2.147484e+09 when divide by 0, so I need to improve that.
The LLVM and PTX test are failing due to bad type when both numbers are float. I will change the condition to cast both to integers.
The PTX need to round the value to nearest integer I read the PTX ISA and try to use rnd modifier for div, but doesn't work 🤔
For openpilot and onnx I don't know yet what is failing, I suppose is due to the other errors described above.

Thanks for the time.

Update:
Finally almost all test pass, I have an error with Metal test, but when I test that on my local machine the fuzzer pass

I use the same command as in the test workflow
PYTHONPATH="." METAL=1 FUZZ_ALL_ACTIONS=1 DEPTH=2 FUZZ_N=48 FUZZ_MAX_SIZE=10000000 python test/external/fuzz_linearizer.py

I'm working know on the ONNX+Optimization tests, it fails due to rshift implementing self.div

Almost all tests passes. I have the metal test errors on CI, but when I run them on my local machine it passes.
My current specs are
Device Name: Apple M1 Pro
Max Threads per Threadgroup: MTLSize(width: 1024, height: 1024, depth: 1024)
Are raster order groups supported: true

Which are the Metal runner config? or maybe there is something broken with the dataset that I upload? 🤔

It's possible that CI metal does not support bfloat16 and we did not hit it before. Fine to add expected-failures=1 to skip it for now
how did you generated the dataset? how many ast lines are there v.s. the master. I saw a big file size drop and would like to check it's generated correctly

It's possible that CI metal does not support bfloat16 and we did not hit it before. Fine to add expected-failures=1 to skip it for now

I just check the MSL and it supports bfloat for Metal 3.1 or later, page 25

how did you generated the dataset? how many ast lines are there v.s. the master. I saw a big file size drop and would like to check it's generated correctly

I just ran ./extra/optimization/generate_dataset.sh in a CUDA machine (RTX 4070 Super) and let finish it (Does is It need to be generated on Metal machine?), I'm running that again in the same CUDA machine just to validate.

CI metal is quite different from real metal for some unknown reason, like it does not support ICB. If it works on a real mac machine I think it's fine. We probably want to update that test to make it more robust, but it does not need to be this pr.
Try adding CI=1 if you want to use cuda machine, I think it won't run the bfloat16 kernels. Last time I used a mac to generate the dataset and that was fine, but it might just be lucky.
Still want the new kernel count v.s. master kernel count of the dataset to make sure it's not off too much

It start throwing these errors.

Adding this line again UnaryOps.RECIP: lambda x,dtype: f"({'(half)'if dtype == dtypes.half else ''}1/{x})",`` let pass the tests, is needed to support those half` operations.
Line count (is the same as kernel count?) of the datasets
master: 11644
my branch: 11888

I'm don't understand why this test fails, I'm running locally and don't say memory error 🤔

I can reproduce the error locally with python 3.8.18, what's the python version your are using?

I'm using 3.12.3

looks like you have it fixed? also there are two data set files in the pr

Yep, weird behavior. Literally I just restart my computer a free caches of my machine and run the generated script again 🤔 .

one last thing from me: remove the code change in /extra, those are not tested so better to leave it as is
will trigger the benchmark run after

I forgot to add dtypes.bfloat16 in the override for code_for_op_half

I will let finish the benchmark and solve the errors raised.

there's hrcp that should work for both half and bfloat16 https://docs.nvidia.com/cuda/cuda-math-api/group__CUDA__MATH____HALF__FUNCTIONS.html

Thanks, pushed the fix.

don't think hrcp requires the 1, it itself is reciprocal

@geohot please take a final look

Wait does integer Tensor divison still work after this PR? Are we testing that?

Hi, I see some in test_ops.py that check integer Tensor division

I'm checking new error on test_failure_32, after updating my branch with master, taking a look before submitting a commit with the fixes.
RuntimeError: CUDA Error 1, invalid argument

Weird, I move to a previous commit (91c58048987710fc23f94c1898aeef5b4643a4d8) were tests passed on CI and on my local machine doesn't pass, pushing new commits to verify with CI. (maybe my machine has some problem with drivers or compiler)

Also need to regenerate the dataset due to changes in some LazyOp inside tests, running.
PYTHONPATH=. ./extra/optimization/generate_dataset.sh

I tested Fuzz Linearizer Metal on my local machine with diff python env and passed. My platform is macOS-14.5-arm64-arm-64bit
Python 3.12.3

Python 3.11.9

Python 3.8.19

I have some problems running the generate_dataset.sh due to memory constrains on my machine, so I just split some tests on different lines to prune the memory, also add JIT=2 and fix some issues related with the following error (read a message from geo about this)
RuntimeError: Error Domain=MTLCommandBufferErrorDomain Code=1 "Discarded (victim of GPU error/recovery) (00000005:kIOGPUCommandBufferCallbackErrorInnocentVictim)" UserInfo={NSLocalizedDescription=Discarded (victim of GPU error/recovery) (00000005:kIOGPUCommandBufferCallbackErrorInnocentVictim), NSUnderlyingError=0x13383b930 {Error Domain=IOGPUCommandQueueErrorDomain Code=5 "(null)"}}

Kernel count. My branch 11602 vs master 11644

Congrats, bounty is yours!


little better code effiency

in the clear function you have the following code.
uint16_t *buf = heap_caps_malloc(buf_size * sizeof(uint16_t), MALLOC_CAP_DMA);
assert(buf);

for (int i = 0; i < buf_size; i++)
{
    buf[i] = 0;
}

This would be more efficient code.
uint16_t *buf = heap_caps_calloc(1, buf_size * sizeof(uint16_t), MALLOC_CAP_DMA);
assert(buf);

calloc create and then clears the memory for you.
I would also recommend using heap_caps_free to free the buffer as there is no gurantee of the stdlib having free redirected to heap_caps_free.
The other thing is you should probably not use DMA memory when clearing the display. This is because of the original ESP32 only having a very small amount of available DMA memory and the potential for their to be none available... With the clear function being called it is probably also better if it is a blocking call anyhow.
The other issue I see is that you are working under the assumption that every display connected is always going to be an rgb565 display. This may not be the most ideal thing to do.

Hi Kevin,

This would be more efficient code.

You're correct, I actually wanted to change that, it just slipped my mind.

I would also recommend using heap_caps_free to free the buffer as there is no gurantee of the stdlib having free redirected to heap_caps_free.

Actually, from the IDF manual:

In IDF, free(p) is equivalent to heap_caps_free(p).

Since I'm only targetting ESP32, it doesn't really matter, but it provides a more uniform look so I'm changing it.

The other thing is you should probably not use DMA memory when clearing the display. This is because of the original ESP32 only having a very small amount of available DMA memory and the potential for their to be none available... With the clear function being called it is probably also better if it is a blocking call anyhow.

I know, that is why I only use a 1 line buffer and clear line by line, first I used a full buffer and it actually didn't fit ;-) Since the purpose of this function is only to clear the screen at startup I don't mind the additional delay of this approach.
Anyway, for LVGL I'm using 2 * 20 line DMA buffers later on in the code so that'll bite me first if I come across a device where it doesn't fit in the future.

The other issue I see is that you are working under the assumption that every display connected is always going to be an rgb565 display. This may not be the most ideal thing to do.

Every display I have available to me right now is an rgb565 display. As explained in the README.md I'll only add stuff I can actually test. Pull requests are welcome though if someone else has other hardware they can test it on, I'll gladly consider them.
Besides that, the lv_conf.h (which I copied from lv_binding_micropython) also has LV_COLOR_DEPTH set to 16, so there's more stuff to do if I ever want to support other displays.
Thanks for the feedback!

I understand. The clear works without any issues? I have not looked at the code with regard to the DMA transfers and the SPI LCD interface. I don't know if it will keep on stacking the jobs or not or if each call to transmit the buffer stalls until the last transfer has finished. I believe it is going to stall because of having to set the memory address as to where to write the buffer data to. If that is what it does then you should be fine as it is not going to let the next write occur until the last one has finished.
The only thing I am thinking that might pose an issue if if you free the buffer before it has finished transmitting the last line. But I don't know if that would even be an issue unless that memory ends up getting used for something else before the transfer finishes. That could be an issue.

As far as I could tell (I didn't check in the code) esp_lcd_panel_draw_bitmap only returns when the data is on the bus. I use the on_color_trans_done callback to notify LVGL that the data is flushed but in my earlier code I had lv_disp_flush_ready right after the esp_lcd_panel_draw_bitmap and it worked just the same.


Upstreaming bevy_color.

Objective
This provides a new set of color types and operations for Bevy.
Fixes: #10986 #1402
Solution
The new crate provides a set of distinct types for various useful color spaces, along with utilities for manipulating and converting colors.
This is not a breaking change, as no Bevy APIs are modified (yet).

@SME-Rendering This has been discussed with cart and others in discord ui-dev.

One of the test failures seems to be platform-specific. I'm using the existing Bevy functions for converting to and from Lcha, and as you can see it's failing on windows but not linux or mac. And this isn't a small failure either, it's like '0 degrees != 90 degrees'.
The way the conversion tests work is that there's a generated test file that uses the palette crate as the source of truth.

@bushrat011899 can I get your review / opinions on this, based on your work in https://github.com/bevyengine/bevy/pull/9698 ?

@bushrat011899 I recognize that you've done a lot of work on this, more than I have. The main difference here is that my version doesn't have any external dependencies. It does use the palette crate to generate test data, but the actual library does not depend on palette.
This library can and should be extended with more features, many of which are present in your PR. However, I wanted to make this small enough to be digestible to reviewers.

Does the gen_tests crate make more sense in our existing tools directory?

Maybe. It's an extremely specialized tool that is only useful in this one context.

There are three test failures. One is not my fault (I think). One is a doc problem which I can fix. The third I'm puzzled by, it's a disparity between what the bevy_render LCH conversion and the palette LCH conversion, the hue component comes out different. It's troubling that the test fails on windows only.
That particular test is kind of funky anyway, I had to give a fairly large tolerance (1.7 degrees) to get it to pass on any platform. I hesitate to point the finger at bevy_render, but I trust palette's answer more. Either that, or my test data generator is calling things incorrectly.

Outstanding requests:

Better docs on each color space.

I've done a preliminary search on this, and unfortunately most of the web pages that explain color are lengthy treatises on color theory, human perception and device capabilities. There's no obvious place you can link to directly that gives you a concise definition of "LHA" color space for example.

~Clearer usage examples for ColorRange and AnyColorRange.~
Integration with the rest of Bevy and removal of existing color code.

My current thinking is that rather than changing all of the Bevy APIs for 0.14, we actually refine and improve bevy_color over the next release cycle before doing the integration. This means that people who use bevy_color will need to call .into() when passing the color to ECS components like StandardMaterial or BorderColor. If there are places where we can accept an Into<Color> and be backwards-compatible, those can be done right away.
Also, we need to decide whether the fundamental color type used in StandardMaterial is eventually going to be Color or LinearRgba. It would be nice to avoid the runtime check of the enum when doing low-level setting of uniforms.

Interplay between Animatable, ColorRange, ~AnyColorRange~ and Mix. It feels like there's too many related traits, and their interplay isn't clear to either contributors or users.

I don't see these as overlapping as much as you do. Mix is used for other things than just time-based interpolation - for example, relative (vs absolute) lightening and darkening is something you do with Mix.

Fluent-style helper methods like with_r.

Sure. I don't want to go overboard with helper methods, but I'm ok with adding the most commonly used fluent methods. Bear in mind that you can get the same effect, slightly more verbosely, with:
let new_color = Rgba { red: new_red, ...old_color };

And in fact, this is actually more flexible if you're setting more than one channel:
let new_color = Rgba { red: new_red, green: new_green, ...old_color };

Similarly, the automatic conversion of the enum type (Color) can be done like this:
let new_color = Rgba { red: new_red, ...old_hsl_color.into() };

So basically, all of the things that you might want to do with the fluent methods can already be done using Rust idioms; it's just that those idioms are not quite as obvious.

I think this should also add bevy_color to publish.sh

I've done a preliminary search on this, and unfortunately most of the web pages that explain color are lengthy treatises on color theory, human perception and device capabilities. There's no obvious place you can link to directly that gives you a concise definition of "LHA" color space for example.

I'm fine linking to those in the module docs in lieu of more specific docs.

I've added a general link to the Wikipedia article on color spaces in the crate-level doc. I also added a bit more detail on color transformations.

Sure. I don't want to go overboard with helper methods, but I'm ok with adding the most commonly used fluent methods. Bear in mind that you can get the same effect, slightly more verbosely, with:

I'm in a similar camp. I like Bevy to be as "field driven" as possible for most types, especially the high-traffic ones. Builder-style should be a last-resort as it increases API surface. I like leaning on Rust as much as possible.

My current thinking is that rather than changing all of the Bevy APIs for 0.14, we actually refine and improve bevy_color over the next release cycle before doing the integration. This means that people who use bevy_color will need to call .into() when passing the color to ECS components like StandardMaterial or BorderColor. If there are places where we can accept an Into and be backwards-compatible, those can be done right away.

I think it will be hard to refine this further without adopting it internally / we risk refining in the wrong direction. I'd prefer a hard switch PR asap where we can tweak / polish / evaluate the new approach. I think a "middle ground / support both" release would just be confusing and introduce more churn.

Also, we need to decide whether the fundamental color type used in StandardMaterial is eventually going to be Color or LinearRgba. It would be nice to avoid the runtime check of the enum when doing low-level setting of uniforms.

Agreed. I think this is the "biggest" / most important choice to be made. This also applies to other areas, such as UI / sprite color. When a user (or internal Bevy dev) needs a color in their component, what do they reach for? We should be consistent and make doing the "recommended" thing easy by giving "good names" to the recommended types (ex: we should probably rename enum Color to something else if we decide that Srgba should be used in most places, and maybe even consider renaming Srgba to Color).

For deciding Color vs LinearRgba for StandardMaterial, reflection and editor-driven-development are important considerations.

if this fixes https://github.com/bevyengine/bevy/issues/1402 why is not closed?


Inquiry on Maximum input character text prompt Length

I want to know about max text_prompt length supported by model
and best practice or method to divide the big text into chunks to trained on this model

right now the output is limited by the context window of the model (1024) which equates to about 14s. So text should be around that duration (meaning ~2-3 sentences). For longer texts you can either do them one at a time (and use the same history prompt to continue the same voice) or feed the first generation as the history for the second. i know that that's still a bit inconvenient. will try to add better support for that in the next couple of days

Thanks Man @gkucsko Do one thing please send some code example of using history prompt
because i write some complex logic at the top of you model to make a log conversation between 2 people

Thanks Man @gkucsko Do one thing please send some code example of using history prompt because i write some complex logic at the top of you model to make a log conversation between 2 people

I added a parameter for it. https://github.com/JonathanFly/bark

Hey @JonathanFly @gkucsko , I have a problem in processing large MAN and WOMAN conversation text. i split the large text into to smaller chunks . but after training the voice is not clear and i received different voices for same history_prompt

sometimes the history prompt is not respected since a gpt model can technically just come up with a new speaker, so you might need another attempt or two. also some prompts might work better than others. see also here: https://github.com/suno-ai/bark/issues/21


Fix the key bind category unpick

This fixes redundancy as well as its omission on the StickyKeyBind init method

diff -bur namedTargetSrc/net/minecraft/client/option/GameOptions.java namedSrc/net/minecraft/client/option/GameOptions.java
--- namedTargetSrc/net/minecraft/client/option/GameOptions.java	2024-04-19 20:44:47.943995672 +0000
+++ namedSrc/net/minecraft/client/option/GameOptions.java	2024-04-19 20:43:33.823503392 +0000
@@ -954,7 +954,7 @@
     * @mapping {@literal hashed f_knzdqwii Lnet/minecraft/unmapped/C_lscptbhn;f_knzdqwii:Lnet/minecraft/unmapped/C_sygikzty;}
     * @mapping {@literal named sneakKey Lnet/minecraft/client/option/GameOptions;sneakKey:Lnet/minecraft/client/option/KeyBind;}
     */
-   public final KeyBind sneakKey = new StickyKeyBind("key.sneak", GLFW.GLFW_KEY_LEFT_SHIFT, "key.categories.movement", this.toggleableSneak::get);
+   public final KeyBind sneakKey = new StickyKeyBind("key.sneak", GLFW.GLFW_KEY_LEFT_SHIFT, KeyBind.MOVEMENT_CATEGORY, this.toggleableSneak::get);
    /**
     * A key bind for sprinting.
     * Bound to {@linkplain org.lwjgl.glfw.GLFW#GLFW_KEY_LEFT_CONTROL the left control key} by default.
@@ -962,7 +962,7 @@
     * @mapping {@literal hashed f_gficlocu Lnet/minecraft/unmapped/C_lscptbhn;f_gficlocu:Lnet/minecraft/unmapped/C_sygikzty;}
     * @mapping {@literal named sprintKey Lnet/minecraft/client/option/GameOptions;sprintKey:Lnet/minecraft/client/option/KeyBind;}
     */
-   public final KeyBind sprintKey = new StickyKeyBind("key.sprint", GLFW.GLFW_KEY_LEFT_CONTROL, "key.categories.movement", this.toggleableSprint::get);
+   public final KeyBind sprintKey = new StickyKeyBind("key.sprint", GLFW.GLFW_KEY_LEFT_CONTROL, KeyBind.MOVEMENT_CATEGORY, this.toggleableSprint::get);
    /**
     * A key bind for opening {@linkplain net.minecraft.client.gui.screen.ingame.InventoryScreen the inventory screen}.
     * Bound to {@linkplain org.lwjgl.glfw.GLFW#GLFW_KEY_E the E key} by default.

Extremely minor change, merging now


Event creation not working when 'no physical location' checkbox is selected

Describe the Bug

When creating a new event an choosing the 'Event does not have a physical location' option and then publishing event it does not create the event, shows and error message and changes the button from 'Publish' to 'Update'.
Afterwards clicking the 'Update' button creates the event without an error message.
Steps to Reproduce

Go to 'Events'
Click on 'Create event'
Add mandatory information (name, date, etc.)
Check the 'Event does not have physical location' checkbox
Click 'Publish' button
See error message and wrong behaviour

Expected Behavior

Event is created without error message.
Actual Behavior

An error message is shown 'Location: Either disable the event location or provide a valid location '
No event is created
The 'Publish' button changed to 'Update' button

Additional Information

When choosing a physical location the creation works as expected.

Traceback

Related Issues

It seems to be the problem that "-1" is handed over as location.
Furthermore, you cannot remove the event location by clickling " Event does not have a physical location" once the event gets an POI assigned.


[CI] update CI to keep same with github action template

update CI with ci.yml as before and after PR level check, make it same with our example in readme document to keep user's input been tested with our CI.
decouple a PR image build and publish process with before and after PR check.
fix lint issue
fix action input define issue
fix action output define issue.

@rootfs , to keep the same usage for user and CI, we have to follow https://github.com/actions/hello-world-docker-action/blob/main/.github/workflows/ci.yml#L65-L69 to set up CI for this repo instead of just docker run ... hence I made this PR and try to fix some issues found today. could you please help check with https://github.com/sustainable-computing-io/aws_ec2_self_hosted_runner/actions/runs/7276597255/job/19826767572 I am confused a little for why the action is missing.

ok I got lint issue been fixed.

but https://github.com/sustainable-computing-io/aws_ec2_self_hosted_runner/actions/runs/7276748449/job/19827220326?pr=5 security group id is still missing.

@rootfs , could you please help check secret settings for https://github.com/sustainable-computing-io/aws_ec2_self_hosted_runner/actions/runs/7276748449/job/19827220326?pr=5#step:1:20

Anyone with collaborator access to this repository can use these secrets and variables for actions. They are not passed to workflows that are triggered by a pull request from a fork. ....

@SamYuan1990 can you check the test errors? The docker action has its own env var naming convention, all the input parameters must start with INPUT_ (see here), and the script convert the INPUT_ env var to its own internal names (see here)

@SamYuan1990 can you check the test errors? The docker action has its own env var naming convention, all the input parameters must start with INPUT_ (see here), and the script convert the INPUT_ env var to its own internal names (see here)

I suppose the difference is between https://github.com/sustainable-computing-io/aws_ec2_self_hosted_runner/actions/runs/7225181901/job/19688062061#step:1:20 and https://github.com/sustainable-computing-io/aws_ec2_self_hosted_runner/actions/runs/7276748449/job/19827220326?pr=5#step:1:20
as we can see the Secret source are different. let me try to verify via another PR.

close this as this will not works due to github action security setting, switch to #6


Suggestion: Attack-moves in tabular format

An option to add the fast and special move to the table would be great. I was looking at the code if I could manage to do it myself but couldn't figure it out. If you can point me somewhere where I could add this I might be able to do it myself too?
Reasoning: I copy the table to excel so I can analyse it in there. There are also sheets available to rate your pokemon and see how they would do in a gym battle as offense or defense. I can pull all the needed table from the table and transform it in an usable format except for the moves.

Fair enough. Unfortunately, it's not just as easy as adding a new TableStat in webapp/services/properties.service.ts. The moveset isn't a simple property, it's an object that contains arrays of objects as properties. I'll add this to 1.0.0, but I think it's going to be near the bottom of the list.
If you want to give it a shot, here are the relevant files:

Move model

Pokemon model - The property you're interested in here is moves.  That will eventually contain an object that looks like this:
{
    fast: Move[],
    charged: Move[]
}

pokemon-table component - There's two things here of interest. The first is the pokemon setter at line 38. That's where the moves property is created. The second is the _getTableOutput function at line 76.

pokemon-table component template - You're interested in the top <table> element here. You'll have to figure out a way to display the attack with selected as true from the moves.fast and moves.charged properties of each Pokemon. You'll have to determine if you're trying to display a move and add a special case in the _getTableOutput function of webapp/components/pokemon-table.component.ts.

I would really like to keep that entire table configurable, so you'll also need to modify the properties service. You should add a new Tablestat('moves', 'Moves') there to facilitate that. The table displays anything in the pokemonTableStats property. That way, you can very easily remove columns that you're not interested in.

Had a look around but after trying some stuff I noticed I had no idea what I was doing. Guess I'll just add the movesets manually for only my top pokemon for now.
Guess an alternate solution is a downloadable csv file as it mentioned @ https://github.com/Eric-Carlton/PokemonGoReader/issues/12


Add include-what-you-use test

Nobody is really interested in this. And we are header only, which I think makes this a non-issue.


[SPARK-37282][TESTS][FOLLOWUP] Mark YarnShuffleServiceSuite as ExtendedLevelDBTest

What changes were proposed in this pull request?
This PR is a follow-up of #34548. This is missed due to -Pyarn profile.
Why are the changes needed?
This is required to pass yarn module on Apple Silicon.
BEFORE
$ build/sbt "yarn/test"
...
[info] YarnShuffleServiceSuite:
[info] org.apache.spark.network.yarn.YarnShuffleServiceSuite *** ABORTED *** (20 milliseconds)
[info]   java.lang.UnsatisfiedLinkError: Could not load library. Reasons: [no leveldbjni64-1.8
...

AFTER
$ build/sbt "yarn/test" -Pyarn -Dtest.exclude.tags=org.apache.spark.tags.ExtendedLevelDBTest
...
[info] Run completed in 4 minutes, 57 seconds.
[info] Total number of tests run: 135
[info] Suites: completed 18, aborted 0
[info] Tests: succeeded 135, failed 0, canceled 1, ignored 0, pending 0
[info] All tests passed.
[success] Total time: 319 s (05:19), completed Nov 12, 2021, 4:53:14 PM

Does this PR introduce any user-facing change?
No.
How was this patch tested?
A manual test on Apple Silicon.
$ build/sbt "yarn/test" -Pyarn -Dtest.exclude.tags=org.apache.spark.tags.ExtendedLevelDBTest

Test build #145177 has started for PR 34576 at commit 3c7494f.

Test build #145177 has finished for PR 34576 at commit 3c7494f.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/49646/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/145177/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/49646/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/49646/

Could you review this, @sarutak ?

Merged to master. Thank you @dongjoon-hyun !

Thank you so much!

I have Apple Silicon. Let me verify this ~ I'm very happy that I can run the single test using Apple Silicon ~ thanks @dongjoon-hyun

Maybe we need a similar annotation like ExtendedRocksDBTest to skip UTs related to RocksDB because I found test failed
RocksDBSuite:
*** RUN ABORTED ***
  java.lang.UnsatisfiedLinkError: /spark-source/sql/core/target/tmp/librocksdbjni1330879223122083773.jnilib: dlopen(/spark-source/sql/core/target/tmp/librocksdbjni1330879223122083773.jnilib, 1): no suitable image found.  Did find:
	/spark-source/sql/core/target/tmp/librocksdbjni1330879223122083773.jnilib: mach-o, but wrong architecture
	/spark-source/sql/core/target/tmp/librocksdbjni1330879223122083773.jnilib: mach-o, but wrong architecture
  at java.lang.ClassLoader$NativeLibrary.load(Native Method)
  at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1950)
  at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1832)
  at java.lang.Runtime.load0(Runtime.java:811)
  at java.lang.System.load(System.java:1088)
  at org.rocksdb.NativeLibraryLoader.loadLibraryFromJar(NativeLibraryLoader.java:79)
  at org.rocksdb.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:57)
  at org.rocksdb.RocksDB.loadLibrary(RocksDB.java:69)
  at org.rocksdb.RocksDB.<clinit>(RocksDB.java:38)
  at org.apache.spark.sql.execution.streaming.state.RocksDBLoader$$anon$1.$anonfun$run$1(RocksDBLoader.scala:39)

Did you find similar issue?  @dongjoon-hyun

Sorry, Ignoring the above question please, I found that there was ExtendedRocksDBTest

@dongjoon-hyun @sarutak  run
mvn clean install -pl sql/core -am -Dtest.exclude.tags=org.apache.spark.tags.ExtendedLevelDBTest,org.apache.spark.tags.ExtendedRocksDBTest

on my M1, build and test have passed

@LuciferYang Thank you for double checking!


Enable assembly kernels for the generic ARMV8 target and treat CortexA53,A72 as A57

as discussed in #1439

@ashwinyes I noticed that your ?amax.S all appear to support USE_MIN to double as the corresponding ?amin functions, yet the KERNEL files still point to the generic C implementations for those. Should this be changed ?

Those are not tested properly as far as I remember. If you could test it and it works fine, you can push it for generic ARMv8. But please don't change thunderx kernels.

Thanks for the feedback, I will see what I can do with the available hardware. (Having a smartphone with a thunderx processor would be nice though, hehe)


charter school data

-the charter school data didn't match up well with any of the geojson files for location so currently using code for DC school datafile from 13-14. need to confirm addresses haven't changed, fill in for new schools. alternatively build better name matching to current opendatadc geojsons

Great, Kate. Is there anything I or others can actively do to help here?


Response parsing exception when downloading a file with slash in name

Occurrence:
IFiles.DownloadByName
Files.ParseDownloadResponse
Utilities.CheckForErrors
      try
      {
        b2Error = JsonConvert.DeserializeObject<Utilities.B2Error>(result);
      }

When downloading a file with a slash in name, e.g. my/image/2.jpeg, B2.NET will urlencode it producing my%2Fimage%2F2.jpeg.
Backblaze will not accept this and return the following HTML page:

B2.NET sees the status code as failure and attempts to parse the page as JSON, resulting in a JSON parsing exception.

This will be fixed in 0.6.2


Support compiling with dep.

My go application is using dep and this release seems to be not supported it. so, bosh can't do "dep ensure" in compile phase.
In workaround. I commit vendor dir into go-app repo. but that is not quite smart.
Would this release has dep pkg?

Hi @kkitai,
This package is meant to be a base install of golang and as such it does not include dep since golang does not include dep.  That said, it should be relatively simple to install dep as part of your packaging script with go get -u github.com/golang/dep/cmd/dep instead of vendoring it in your project. Since is not an intended use case for this release, I'm closing this issue for now.
Best,
Josh

Hi @jaresty .
Thank you for your quick response.
okay.  I will try to make my-app vendoring with only use go get or "go.mod".


Center cells horizontally for macCatalyst

While using macCatalyst, the agrume cell will be left aligned in screen and not taking the full width probably because macCatalyst is not feeding the width properly. Nonetheless I think it won't hurt to center align the cells - the solution is from https://stackoverflow.com/a/37065909/1032900.
Tested on iOS device and it still work as expected.

SwiftLint found issues
Warnings

File
Line
Reason

Agrume.swift
460
Line should be 140 characters or less: currently 167 characters (line_length)

  Generated by :no_entry_sign: Danger


external-name annotation does not get updated if external resource got recreated

What happened?
When deleting the external resource, terrajet controller re-creates the object in the external provider but does not update the external name annotation in the CR.
How can we reproduce it?

Install provider-tf-aws
Create a custom resource (e.g. TransitGatewayVpcAttachment)
Wait for the external resource creation to complete successfully
Delete the external resource via AWS Console/cli
Wait for the external resource to be recreated
Compare the external-name annotation value in the CR with the actual name of the re-created external resource

Workaround
Deleting the external-name annotations forces the controller to update the CR with the latest external name

Hi @stoehdoi ! The external name annotation is used as the identifier of the resource in Crossplane. While in some cases, we're able to recreate the resources if it doesn't exist, i.e. the cases where user can decide on the identifier. In cases where the ID is decided by the provider, like AWS VPC, it's risky to create another resource and override the external name annotation. In fact, we never replace external name annotation in any case to make sure we don't leak anything unless we are sure that we just created a new resource and it needs to be saved somewhere. So, I don't think we'll implement a mechanism that can replace an existing external name annotation due to the risk involved there.

In cases where the ID is decided by the provider, like AWS VPC, it's risky to create another resource and override the external name annotation.

Quoting myself, in cases where the ID is generated by the provider, we don't want the resource to be recreated with a new ID if there is an existing external name on the annotation because of the risks involved. I realized on the second read of your comment that what you expected was recreation+update of external name but the provider did only recreation. The correct behavior should've been that if you delete the resource from cloud console and its ID is generated by the cloud provider, then we shouldn't re-create it because it should always query the ID we already have on the resource, if there is one. So, the re-creation in that case is actually a bug.
Now I see your point that if it re-creates, it should update to not leak the resource, however, it shouldn't have re-created in the first place.

Yes, exactly @muvaf. The resource was recreated even though TGW attachments get a random ID assigned by the cloud provider.
In my opinion, one of the strongest advantages of crossplane over terraform is the reconciliation logic that ensures the desired state is met. Don't you think you would lose a major benefit if you did not recreate the resource?

@stoehdoi just opened an issue in Crossplane repo to define the behavior and apply it to all https://github.com/crossplane/crossplane/issues/2704
I think there are some inconsistencies in how we do the re-creation and the discussion in that issue should help.


Access to field errors with GraphQlClient retrieve method

I love that there is a Spring GraphQL library available. Thanks.
The javadoc for the retrieve method states:
throws FieldAccessException if the target field has any errors, including nested errors.
To me this suggests that a FieldAccessException is thrown if the results are partial. Yet if I test it, non is thrown. My suggestion would be to clarify this in the javadoc.
So the current only method to determine if a result is partial is probably to use the execute() method. Is that correct?
Background of my questions....
I retrieve a large data structure using graphql. When I receive a partial result in the GraphQlClient, I want to be able to easily determine they are partial, without checking all the data. In other words, check if any field errors are returned.
To make the retrieval of data easy I use the 'retrieve' method. But I see no way to check if the results are partial and what the returned errors are. Do I miss something?

To me this suggests that a FieldAccessException is thrown if the results are partial. Yet if I test it, non is thrown.

Do you mean that retrieve itself doesn't raise an exception? If so, this is expected. .retrieve.toEntity(..) returns a Mono and nothing happens until that Mono is subscribed to. If not, then this is not expected, in which case, please provide a reproducer.

To make the retrieval of data easy I use the 'retrieve' method. But I see no way to check if the results are partial and what the returned errors are. Do I miss something?

retrieve is just syntactic sugar that hides the entity decoding. Both execute and retrieve are deferred, so nothing happens yet when they're called, and that means there is no response to check until the output Mono is subscribed to.
We raise FieldAccessAcception for partial data with retrieve because we don't know if it's okay to decode. However, you can obtain the response from the exception, and start using it, as if you had called execute, checking errors, and decoding as needed, etc.
The only other option is for retrieve to return some container Object that exposes both errors and the decoded entity, but then execute().map(response -> ..) looks more convenient by comparison, vs retrieve(..).toEntityContainer(..).map(container -> ..).

If you would like us to look at this issue, please provide the requested information. If the information is not provided within the next 7 days this issue will be closed.

Thanks for the response.
I do understand that an exception can only be expected after the Mono is subscribed too.
So I will make a reproducer. Please give me two weeks to do so. I am currently sick.

No worries, take your time.

I reproduced the situation:
https://github.com/michielwittkampf/ReproduceFieldAccessExceptionNotThrown
If you run the tests in the class ClientTest, they show that a FieldAccessException is only thrown if the the Root data object is missing, and not if the Branch data object is missing.

Thanks for the repro.
It looks like DefaultResponseField#getError has an issue. It considers the field "failed" only if it is null in which case an error at any level (at, above or below) is returned. For an error on a nested field, however, the field does have a value.

I agree.