Can not process datasets created by the older version of Dask

Describe the issue:
After upgrading the Dask from 2023.9.3 to the latest version 2024.5.2 or 2024.4.1, we can not load the existing parquet files created by the previous version.
I'm getting an error during to_parquet operation (when dask-expr is enabled):
.../.venv/lib/python3.10/site-packages/dask_expr/_collection.py:301: UserWarning: Dask annotations {'retries': 5} detected. Annotations will be ignored when using query-planning.
  warnings.warn(
Traceback (most recent call last):
  File ".../demand_forecasting/dask/data.py", line 292, in _write_to_gcs
    ddf.to_parquet(url, **kwargs)
  File ".../.venv/lib/python3.10/site-packages/dask_expr/_collection.py", line 3266, in to_parquet
    return to_parquet(self, path, **kwargs)
  File ".../.venv/lib/python3.10/site-packages/dask_expr/io/parquet.py", line 653, in to_parquet
    out = out.compute(**compute_kwargs)
  File ".../.venv/lib/python3.10/site-packages/dask_expr/_collection.py", line 476, in compute
    return DaskMethodsMixin.compute(out, **kwargs)
  File ".../.venv/lib/python3.10/site-packages/dask/base.py", line 375, in compute
    (result,) = compute(self, traverse=False, **kwargs)
  File ".../.venv/lib/python3.10/site-packages/dask/base.py", line 661, in compute
    results = schedule(dsk, keys, **kwargs)
  File "/opt/conda/lib/python3.10/site-packages/dask/dataframe/dispatch.py", line 68, in concat
  File "/opt/conda/lib/python3.10/site-packages/dask/dataframe/backends.py", line 688, in concat_pandas
  File "/opt/conda/lib/python3.10/site-packages/pandas/core/reshape/concat.py", line 489, in _get_ndims
TypeError: cannot concatenate object of type '<class 'tuple'>'; only Series and DataFrame objs are valid

Disabling the dask-expr leads to different error during repartition operation:
Traceback (most recent call last):
  File ".../dataset/partition.py", line 142, in repartition
    ddf = ddf.repartition(partition_size=partition_size)
  File ".../.venv/lib/python3.10/site-packages/dask/dataframe/core.py", line 1802, in repartition
    return repartition_size(self, partition_size)
  File ".../.venv/lib/python3.10/site-packages/dask/dataframe/core.py", line 8104, in repartition_size
    mem_usages = df.map_partitions(total_mem_usage, deep=True).compute()
  File ".../.venv/lib/python3.10/site-packages/dask/base.py", line 375, in compute
    (result,) = compute(self, traverse=False, **kwargs)
  File ".../.venv/lib/python3.10/site-packages/dask/base.py", line 661, in compute
    results = schedule(dsk, keys, **kwargs)
  File "/opt/conda/lib/python3.10/site-packages/dask/dataframe/shuffle.py", line 839, in partitioning_index
  File "/opt/conda/lib/python3.10/site-packages/dask/dataframe/backends.py", line 523, in hash_object_pandas
  File "/opt/conda/lib/python3.10/site-packages/pandas/core/common.py", line 573, in require_length_match
ValueError: Length of values (0) does not match length of index (12295809)

The dataset consists of parquet 3 files (e.g., dataset.parquet/part.X.parquet) with the following Dask dtypes:
Col1, Int64
Col2, Int16
Col3, Int32
Col4, datetime64[us]

Pandas dtypes:
Col1, int64[pyarrow]
Col2, int16[pyarrow]
Col3, int32[pyarrow]
Col4, timestamp[ns][pyarrow]

The index is named as __null_dask_index__.
The important observation is that TypeError error disappears if I take only part of the dataset as follows:
ddf.loc[:100000]

However, disabling the dask-expr still leads to an error:
ValueError: Length of values (0) does not match length of index (100001)

Minimal Complete Verifiable Example:

Use any parquet data
Try to shuffle using a not existing column and export the data:

ddf = (dd
       .read_parquet('gs://.../....parquet')
       .shuffle(on='does_not_exist', npartitions=64)
       .repartition(partition_size='100MB')
       .to_parquet('data_test.parquet'))

Anything else we need to know?:
Environment:

Dask version: 2024.5.2
Python version: 3.10
Operating System: WSL, Ubuntu 22.04
Install method (conda, pip, source): poetry

pandas==2.2.2
pyarrow==14.0.2

what pyarrow version did you use to create the dataset and which one are you using to read the dataset?

@fjetter, thanks for a quick reply. We installed pyarrow 14.0.2.
The important observation is that the issue disappears if I take only part of the dataset as follows:
ddf.loc[:100000]

(I've added a note to the description)

@fjetter , in case of TypeError: cannot concatenate object of type '<class 'tuple'>'; only Series and DataFrame objs are valid I'm getting the following values here:
https://github.com/dask/dask/blob/main/dask/dataframe/backends.py#L688
I've added the debug code on all nodes as follows:
                from dask.distributed import print
                print(dfs3[0], dfs3[1], dfs3, join)
                out = pd.concat(dfs3, join=join, sort=False)

dfs3[0] - is DataFrame
dfs3[1] - is tuple with the following value:
('repartition-split-100000000-fe2ba693bab4c1021c4766fe26e0d5dc', 4)

dfs3 is a list that looks like as follows:
[ .. .[48081 rows x 4 columns], ('repartition-split-100000000-fe2ba693bab4c1021c4766fe26e0d5dc', 4), ('repartition-split-100000000-fe2ba693bab4c1021c4766fe26e0d5dc', 5), ('repartition-split-100000000-fe2ba693bab4c1021c4766fe26e0d5dc', 6), ('repartition-split-100000000-fe2ba693bab4c1021c4766fe26e0d5dc', 7), ('repa
rtition-split-100000000-fe2ba693bab4c1021c4766fe26e0d5dc', 8), ('repartition-split-100000000-fe2ba693bab4c1021c4766fe26e0d5dc', 9), ('repartition-split-100000000-fe2ba693bab4c1021c4766fe26e0d5dc', 10), ('repartition-split-100000000-fe2ba693bab4c1021c4766fe26e0d5dc', 11), ('repartition-split-100000000-fe2ba6
93bab4c1021c4766fe26e0d5dc', 12), ('repartition-split-100000000-fe2ba693bab4c1021c4766fe26e0d5dc', 13), ('repartition-split-100000000-fe2ba693bab4c1021c4766fe26e0d5dc', 14), ('repartition-split-100000000-fe2ba693bab4c1021c4766fe26e0d5dc', 15), ('repartition-split-100000000-fe2ba693bab4c1021c4766fe26e0d5dc',
 16), ('repartition-split-100000000-fe2ba693bab4c1021c4766fe26e0d5dc', 17), ('repartition-split-100000000-fe2ba693bab4c1021c4766fe26e0d5dc', 18), ('repartition-split-100000000-fe2ba693bab4c1021c4766fe26e0d5dc', 19), ('repartition-split-100000000-fe2ba693bab4c1021c4766fe26e0d5dc', 20), ('repartition-split-10
0000000-fe2ba693bab4c1021c4766fe26e0d5dc', 21), ('repartition-split-100000000-fe2ba693bab4c1021c4766fe26e0d5dc', 22), ('repartition-split-100000000-fe2ba693bab4c1021c4766fe26e0d5dc', 23), ('repartition-split-100000000-fe2ba693bab4c1021c4766fe26e0d5dc', 24), ('repartition-split-100000000-fe2ba693bab4c1021c47
66fe26e0d5dc', 25), ('repartition-split-100000000-fe2ba693bab4c1021c4766fe26e0d5dc', 26), ('repartition-split-100000000-fe2ba693bab4c1021c4766fe26e0d5dc', 27), ('repartition-split-100000000-fe2ba693bab4c1021c4766fe26e0d5dc', 28), ('repartition-split-100000000-fe2ba693bab4c1021c4766fe26e0d5dc', 29), ('repart
ition-split-100000000-fe2ba693bab4c1021c4766fe26e0d5dc', 30), ('repartition-split-100000000-fe2ba693bab4c1021c4766fe26e0d5dc', 31), ('repartition-split-100000000-fe2ba693bab4c1021c4766fe26e0d5dc', 32), ('repartition-split-100000000-fe2ba693bab4c1021c4766fe26e0d5dc', 33), ('repartition-split-100000000-fe2ba6
93bab4c1021c4766fe26e0d5dc', 34), ('repartition-split-100000000-fe2ba693bab4c1021c4766fe26e0d5dc', 35), ('repartition-split-100000000-fe2ba693bab4c1021c4766fe26e0d5dc', 36), ('repartition-split-100000000-fe2ba693bab4c1021c4766fe26e0d5dc', 37), ('repartition-split-100000000-fe2ba693bab4c1021c4766fe26e0d5dc',
 38), ('repartition-split-100000000-fe2ba693bab4c1021c4766fe26e0d5dc', 39), ('repartition-split-100000000-fe2ba693bab4c1021c4766fe26e0d5dc', 40), ('repartition-split-100000000-fe2ba693bab4c1021c4766fe26e0d5dc', 41), ('repartition-split-100000000-fe2ba693bab4c1021c4766fe26e0d5dc', 42), ('repartition-split-10
0000000-fe2ba693bab4c1021c4766fe26e0d5dc', 43), ('repartition-split-100000000-fe2ba693bab4c1021c4766fe26e0d5dc', 44), ('repartition-split-100000000-fe2ba693bab4c1021c4766fe26e0d5dc', 45), ('repartition-split-100000000-fe2ba693bab4c1021c4766fe26e0d5dc', 46), ('repartition-split-100000000-fe2ba693bab4c1021c47
66fe26e0d5dc', 47), ('repartition-split-100000000-fe2ba693bab4c1021c4766fe26e0d5dc', 48), ('repartition-split-100000000-fe2ba693bab4c1021c4766fe26e0d5dc', 49), ('repartition-split-100000000-fe2ba693bab4c1021c4766fe26e0d5dc', 50), ('repartition-split-100000000-fe2ba693bab4c1021c4766fe26e0d5dc', 51), ('repart
ition-split-100000000-fe2ba693bab4c1021c4766fe26e0d5dc', 52), ('repartition-split-100000000-fe2ba693bab4c1021c4766fe26e0d5dc', 53), ('repartition-split-100000000-fe2ba693bab4c1021c4766fe26e0d5dc', 54), ('repartition-split-100000000-fe2ba693bab4c1021c4766fe26e0d5dc', 55), ('repartition-split-100000000-fe2ba6
93bab4c1021c4766fe26e0d5dc', 56), ('repartition-split-100000000-fe2ba693bab4c1021c4766fe26e0d5dc', 57), ('repartition-split-100000000-fe2ba693bab4c1021c4766fe26e0d5dc', 58), ('repartition-split-100000000-fe2ba693bab4c1021c4766fe26e0d5dc', 59), ('repartition-split-100000000-fe2ba693bab4c1021c4766fe26e0d5dc', 60), ('repartition-split-100000000-fe2ba693bab4c1021c4766fe26e0d5dc', 61), ('repartition-split-100000000-fe2ba693bab4c1021c4766fe26e0d5dc', 62), ('repartition-split-100000000-fe2ba693bab4c1021c4766fe26e0d5dc', 63)]

@fjetter , in case of ValueError: Length of values (0) does not match length of index (12295809) I'm getting the following values here:
https://github.com/dask/dask/blob/main/dask/dataframe/backends.py#L523-L525
I've added the debug code on all nodes as follows:
@hash_object_dispatch.register((pd.DataFrame, pd.Series, pd.Index))
def hash_object_pandas(
    obj, index=True, encoding="utf8", hash_key=None, categorize=True
):
    from dask.distributed import print
    print(obj)
    print(index)
    print(encoding)
    print(hash_key)
    print(categorize)
    return pd.util.hash_pandas_object(
        obj, index=index, encoding=encoding, hash_key=hash_key, categorize=categorize
    )

Here is an output:
Empty DataFrame
Columns: []
Index: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, ...]

[12295809 rows x 0 columns]
False
utf8
None
True

@fjetter , the problem is that I'm shuffling using the existing column. Dask should provide a proper error message in this case. I've added preproduction steps. Please see:

Use any parquet data
Try to shuffle using a non-existing column and export the data:

ddf = (dd
       .read_parquet('gs://.../....parquet')
       .shuffle(on='does_not_exist', npartitions=64)
       .repartition(partition_size='100MB')
       .to_parquet('data_test.parquet'))

@fjetter , it does not strictly depend on dask-expr. The different problem appears even when dask-expr is off using dask.config.set({"dataframe.query-planning": False}) as described in the ticket's description.

indeed, I transferred the issue to dask/dask

@fjetter , after spending some time testing the solution, I've found that there are two separate problems:
Problem 1
The following problem still appears when the dask-expr is enabled, and I don't have a reproduction step yet.
TypeError: cannot concatenate object of type '<class 'tuple'>'; only Series and DataFrame objs are valid
Please see more details here: https://github.com/dask/dask/issues/11160#issuecomment-2158863566
Problem 2
The following problem is gone and appears only when dask-expr is disabled and incorrect on=<column> provided for shuffle() method:
ValueError: Length of values (0) does not match length of index (100001)
Please see https://github.com/dask/dask/issues/11160#issuecomment-2158877551


added support for promotion codes

In order to support promotion codes, Stripe requires that you set allow_promotion_codes: true when instantiating a checkout session. I made that change and nothing else. Confirmed that the Stripe portal now includes a promotion codes box when checking out.

Much needed! i hope this gets merged

Instead of this being hardcoded to true, it should be based on a user prop.


[REPLACED BY PR 965] fix(pbft): refactor the way we opt to give up on non-received next voted pbft block

Purpose
Currently we had a fatal flaw in doing this based on round.   But in certain circumstances we could violate ability to make consensus for next voting if partitioning of the count of rounds have been waiting occurred.   Now we do it based on time, so that after some point in time > 2t+1 nodes will have timedout.
For reviewers

Related Github issues

Changes

Tests

Deployment Considerations
Version Notes
{ major | minor | patch }

NOTE: Include the version notes in the squash commit message

Replaced by PR #965


Adding the Pico_and_Temperature library

Pico_and_Temperature
A simple library to read the temperature-value of the onboard temperature-sensor on the RP2040. This libary is capable of:
reading temperature-value (°C/°F)

Features and a example have been added. "Feature/https://github.com/Felix-Brodmann/FB_Pico_Lib/issues/16" https://github.com/Felix-Brodmann/FB_Pico_Lib/pull/17 has been merged.
The Pico_and_Temperature library is now finished.


Add a hamburger menu to website navbar

Can you remove GitHub from nav bar entirely?

Apart from that, it would be great if hamburger works for Tablet screens


Integrate with laravel

Hi,
I want to integrate ng2-admin with laravel.Can anyone please help?
Thanks.

Integrate in what way? You can use Laravel as REST API service

Thanks but is it possible to put everthing of ng2admin in laravel?

You don't need to do anything laravel specific. Your ng2-admin based application can be served from a completely different webserver to your laravel api. You are probably getting confused because many laravel examples with vuejs actually integrate vuejs with laravels front end tool chain. This is because they are usually using session based development even though they are used vuejs which is not restricted to that type of development.
What do I mean by that? Well in the laravel examples the authentication is done the standard way, with a username and password which then creates an authenticated session for every subsequent request.
In contrast, while you can use ng2 like this, its not really designed for it. In fact ng2-admin includes a webpack based toolchain that is really all you need to develop a complete application.
There are a couple of popular authentication methods that you can use in session-less development. Look into OAuth and JWT. Personally at the moment I simply log in by posting the username and password (over https of course) and receive a JWT Web Token. I then use this token for every subsequest request.
One advantage of developing like this is its essentially how a mobile app would have to interact with your api. So it keeps a common auth method when you start expanding into that area. Additionally its easier to scale because you don't have to worry about session handling when you have multiple application servers.
Sounds like you've got a lot of reading up to do with this type of development. Good luck.
But for the future, I don't think raising an issue on github is the right place for this sort of thing.


NHibernate IdentifierGenerationException when posting comment to content item of custom content type

Repro Steps

Fresh 1.10 deployment (I used SQL Server connection, but SQLite should do as well)
Enable Audit Trail module
Add a custom content type, with TitlePart, CommentsPart and AutoroutePart (so you can navigate to it)
Create a new content item of that custom content type
Post a comment (watch output in VS if you are debugging the instance, otherwise look for IdentifierGenerationException in logs)

There will be a first chance exception of IdentifierGenerationException (see sample log file).

Try to access Audit Trail dashboard, which will throw an exception telling you the Content Item ID is null.

There will be unhandled FormatException then rethrown in view (see sample log file).

This syndrome, is caused by the following sequence of calls:

CommentController.Create(...) calls to ContentManager.UpdateEditor(comment, this), which in turns calls into CommentPartDriver.Editor(...) to validate the information submitted by current request. The new content item of Comment has not been Created yet.
Since content pipeline has been kicked off by the call to ContentManager.UpdateEditor(comment, this), content pipeline events, such as handler.Updating and handler.Updated will be called.
Audit Trail's GlobalContentHandler on the other end will receive such events, and think as a signal of a new version of content item. It will starts collection of information to record an Audit Trail event. This includes:
Export previous version of content item during handler.Updating by calling driver.Export(...) on applicable content drivers.
Wait for CommentPartDriver.Editor(...) to finish updating the content item.
Export current version of content item during handler.Updated by calling driver.Export(...) on applicable content drivers.

During step 3.iii, export of the updated content item would trigger a DB flush. In our case, current DB session will try to flush the newly instantiated CommentPartRecord, which only exists in memory and not in database. Note this is before ContentManager.Create(comment) is called, so no corresponding ContentItemRecord is created yet, not even as scheduled DB changes during the flush. At this time, CommentPartRecord.ContentItemRecord will remain null, thus our IdentifierGenerationException.
This issue isn't always repro-ing as comments posted to content items of certain type, say BlogPost, somehow does not trigger the repro-required DB flush described above.
Previously issue #4743 has reported a similar call stack. This could be a stable repro of that issue.
To fix this, Orchard.Blogs.BlogPostAdminController.CreatePOST(int blogId, bool publish) is a good example on how to implement content item creation. CommentController.Create(...) should ContentManager.Create the CommentPart first, only then use ContentManager.UpdateEditor(...) to update part and validate updated part. After this:

If everything is correct, all DB changes will be saved upon request finishes. -OR-
If something goes wrong, say ModelState.IsValid == false, cancel the DB transaction via Services.TransactionManager.Cancel().

Note: I would thank @Skrypt for his generous help during my investigation of this issue. Kudos to you!

PR #6734 is created to illustrate the intended fix.


Some rope extensions

Example script:
Entity one;
Entity two;

//Somewhere in OnKeyDown under your desired key
if (one == null)
{
    one = Game.Player.GetTargetedEntity();
    UI.Notify("First entity set");
    return;
}
if (two == null)
{
    two = Game.Player.GetTargetedEntity();
    UI.Notify("Second entity set");
    return;
}

//Somewhere else in OnKeyDown :P
Rope.LoadTextures();
float distance = World.GetDistance(one.Position, two.Position);

rope = World.AddRope(Game.Player.Character.Position, new Vector3(), distance, 4, distance, 0, 10.0, true, true, true, 10.0, true);
rope.ActivatePhysics();

rope.AttachEntities(one, two, distance);
UI.Notify("Attached");

Maybe you can have a quick look at it @crosire

Very good job!
I'm definitely going to make use out of this.

Should we call ROPE_LOAD_TEXTURES inside "World::AddRope" automatically?

Mm, it's only needed once,but it should not make a big difference

Should also implement _GET_ROPE_LENGTH.  Maybe as the Length property.

Done :)


Remove returning value for process_*() and for handle_event()

See https://github.com/rust-vmm/vhost/pull/192.
https://github.com/virtio-sound/vhost-device/blob/cbc80bee229ed0b827d45ef14d3b89d9396d72f8/crates/sound/src/device.rs#L492

Close this one. When we will switch to the new vhost version, we will update all the devices.


Closet skeletons always suffocate to death.

Description
Closet skeletons appear to not have the typical skeleton trait or something for nobreath?
Reproduction

Spawn as closet skeleton
Suffocate to death even with internals on or in a pressurised room of air.

I believe this should be closed


Check whether line endings are LF with Travis CI

Change line endings of a few files to LF.
Add a script for Travis CI to check line endings.

+1 looks good to me. Would be good if someone else reviewed this too.

@geertjanw Thanks a lot for your review!
Jan is working on #269. So I'll fix .travis.yml again after Jan's changes are merged.

Great stuff.
I'm far from a git expert but as far as I understand there also the solution of using a .gitattributes file.  Because this file lives in the repo itself, users will automatically get the correct git setting when they clone the repo. See Vaadin project on GitHub for an example of such a file.
I'm thinking that we should probably do both this PR as well as as .gitattributes file, but someone with git experience will probably know if the .gitattributes solution is worthwhile.

Changed /** to /*

@junichi11
I think we should monitor if this works or not. As far as I can tell the check relies on Git's ability to predict if a certain file is to be considered a text file or not. There may be some text files where we actually find it ok for them to use CRLF.  Files of type .rc comes to mind. These are Windows resource scripts and have no relevance outside of Windows. Just an example.
I've now proposed PR290. These two PRs will complement each other.


$scrollItem always = 0

Why is the $scrollItem always = 0 when I scroll?
https://github.com/user-attachments/assets/295c004e-637c-40c4-ad50-1f778f328294

Sample project please

Reopen if you want to revisit this and provide code


Use new brute force middleware for locking a token

We are using a new brute force middleware unit in current master, see https://github.com/TryGhost/Ghost/pull/7579/files.
I've added a TODO in one of my previous PR's, see https://github.com/TryGhost/Ghost/blob/master/core/server/api/authentication.js#L271
We would like to use the new brute force middleware for locking a token if too many tries.

[ ] consider if we can replace this by our brute force middleware
[ ] delete brute protection in the api authentication file
[ ] use brute middleware for this route (register as middleware)
[ ] add tests or check if we have enough tests

Please read also through the conversation here https://github.com/TryGhost/Ghost/pull/7579/files#r86813677
It contains already a solution how this could be replaced.

@kirrg001 is this still relevant given the new authentication methods? Should it be prioritised or closed?

The new authentication methods and the v2 API still use the reset password controller logic. You can still login with username/password and you can still reset a password.
IMO yes, this is still relevant. And a refactoring would be very useful, because if we support multiple API versions, we don't want to copy this code around. IMO we should aim for as less as possible code in controllers. It would be great if the brute force middleware could handle this case:

consider if we can replace this by our brute force middleware

I have removed the help wanted label and added it to the backlog.


Crash on server startup

When starting this mod in a server environment it currently crashes on startup. Not sure if it's just because of the issue Shield Lib has right now or if this mod itself has an issue.

This is an issue caused by fabricshieldlib & vanillaplus shields. Fixed in FSL 1.4.2


Add node activity health reporters on node manager

Please ensure your pull request adheres to the following guidelines:

[x] For first time contributors, read Submitting a pull request
[x] All code is covered by unit and/or runtime tests where feasible.
[x] All commits contain a well written commit description including a title,
description and a Fixes: #XXX line if the commit addresses a particular
GitHub issue.
[x] If your commit description contains a Fixes: <commit-id> tag, then
please add the commit author[s] as reviewer[s] to this issue.
[x] All commits are signed off. See the section Developer’s Certificate of Origin
[x] Provide a title or release-note blurb suitable for the release notes.
[x] Are you a user of Cilium? Please add yourself to the Users doc
[x] Thanks for contributing!

Add instrumentation to node manager to provide module health reporting when node
CRUD operations are detected.
Fixes: #issue-number
<!-- Enter the release note text here if needed or remove this section! -->

Signed-off-by: Fernand Galiana<EMAIL_ADDRESS>

/test

@danehans Thank you for the review and comments! I'll update accordingly...

/test

/test


Cloudfront rate-limiting not handled

Cowin APIs are behind a CloudFront CDN that after a certain number/frequency of requests blocks the device for some time. I'm not sure how long since it only happened to me once, but it is likely around half an hour without any requests.
When this limit is exceeded, all GET requests to the API return a 403 Forbidden error
403 Forbidden error is not handled by your client. There is no message or alert that a block has been imposed for a while and the user should try again in a while. To the user it seems like the site is running as expected and refreshing at the defined frequency. It's possible that if they keep the tab open the rate limit will persist.

This is an error from open APIs which we are using to fetch data.
We are currently using useQuery which is taking care of retry logic for API.
Although we will add try...catch block to avoid error
If this happens again let us know.
Thanks for pointing that out.

Hi,
This issue is fixed in this commit https://github.com/mehulcse/findmyslot/commit/42cb4353cf2a2458986c8cc7ee7287254bc3c309


 Supported architectures: dict_keys(['AquilaModel', 'AquilaForCausalLM', 'ArcticForCausalLM', 'BaiChuanForCausalLM', 'BaichuanForCausalLM', 'BloomForCausalLM', 'CohereForCausalLM', 'DbrxForCausalLM', 'DeciLMForCausalLM', 'DeepseekForCausalLM', 'DeepseekV2ForCausalLM', 'ExaoneForCausalLM', 'FalconForCausalLM', 'GemmaForCausalLM', 'Gemma2ForCausalLM', 'GPT2LMHeadModel', 'GPTBigCodeForCausalLM', 'GPTJForCausalLM', 'GPTNeoXForCausalLM', 'GraniteForCausalLM', 'GraniteMoeForCausalLM', 'InternLMForCausalLM', 'InternLM2ForCausalLM', 'InternLM2VEForCausalLM', 'JAISLMHeadModel', 'JambaForCausalLM', 'LlamaForCausalLM', 'LLaMAForCausalLM', 'MambaForCausalLM', 'FalconMambaForCausalLM', 'MiniCPMForCausalLM', 'MiniCPM3ForCausalLM', 'MistralForCausalLM', 'MixtralForCausalLM', 'QuantMixtralForCausalLM', 'MptForCausalLM', 'MPTForCausalLM', 'NemotronForCausalLM', 'OlmoForCausalLM', 'OlmoeForCausalLM', 'OPTForCausalLM', 'OrionForCausalLM', 'PersimmonForCausalLM', 'PhiForCausalLM', 'Phi3ForCausalLM', 'Phi3SmallForCausalLM', 'PhiMoEForCausalLM', 'Qwen2ForCausalLM', 'Qwen2MoeForCausalLM', 'RWForCausalLM', 'StableLMEpochForCausalLM', 'StableLmForCausalLM', 'Starcoder2ForCausalLM', 'SolarForCausalLM', 'XverseForCausalLM', 'BartModel', 'BartForConditionalGeneration', 'Florence2ForConditionalGeneration', 'BertModel', 'RobertaModel', 'XLMRobertaModel', 'Gemma2Model', 'LlamaModel', 'MistralModel', 'Qwen2Model', 'Qwen2ForRewardModel', 'Qwen2ForSequenceClassification', 'LlavaNextForConditionalGeneration', 'Phi3VForCausalLM', 'Qwen2VLForConditionalGeneration', 'Blip2ForConditionalGeneration', 'ChameleonForConditionalGeneration', 'ChatGLMModel', 'ChatGLMForConditionalGeneration', 'FuyuForCausalLM', 'H2OVLChatModel', 'InternVLChatModel', 'Idefics3ForConditionalGeneration', 'LlavaForConditionalGeneration', 'LlavaNextVideoForConditionalGeneration', 'LlavaOnevisionForConditionalGeneration', 'MiniCPMV', 'MolmoForCausalLM', 'NVLM_D', 'PaliGemmaForConditionalGeneration', 'PixtralForConditionalGeneration', 'QWenLMHeadModel', 'Qwen2AudioForConditionalGeneration', 'UltravoxModel', 'MllamaForConditionalGeneration', 'EAGLEModel', 'MedusaModel', 'MLPSpeculatorPreTrainedModel'])
How to register the class 'LlavaMistralForCausalLM' to adapt it to VLLM
Before submitting a new issue...

[X] Make sure you already searched for relevant issues, and asked the chatbot living at the bottom right corner of the documentation page, which can answer lots of frequently asked questions.

Please see https://github.com/vllm-project/vllm/issues/7984#issuecomment-2362824080

#7984 (comment)
I have tried it before, but got an error

python convert_llava_weights_to_hf.py --text_model_id mistralai/Mistral-7B-Instruct-v0.2 --vision_model_id openai/clip-vit-large-patch14-336 --output_hub_path models/LLava_Med --old_state_dict_id microsoft/llava-med-v1.5-mistral-7b

Error:
Entry Not Found for url: https://hf-mirror.com/microsoft/llava-med-v1.5-mistral-7b/resolve/main/model_state_dict.bin.

It seems that you're not accessing HuggingFace directly. Can you try downloading the models first, then reference them by their local filepaths?

Seems that the conversion script doesn't work with this llava variant model currently, because it uses safetensors instead of model_state_dict.bin to store weights...

It seems that you're not accessing HuggingFace directly. Can you try downloading the models first, then reference them by their local filepaths?

The files I downloaded are:
config.json                       model-00002-of-00004.safetensors  model.safetensors.index.json  tokenizer.model
generation_config.json            model-00003-of-00004.safetensors  special_tokens_map.json
model-00001-of-00004.safetensors  model-00004-of-00004.safetensors  tokenizer_config.json
There are no model_state_dict.bin

It seems that you're not accessing HuggingFace directly. Can you try downloading the models first, then reference them by their local filepaths?

I have solve the promblem by:
    if "Qwen" in text_model_id:
        state_dict = load_original_state_dict(old_state_dict_id)
    else:
        # microsoft/llava-med-v1.5-mistral-7b
        # state_dict_path = hf_hub_download(old_state_dict_id, "model_state_dict.bin")
        model = LlavaMistralForCausalLM.from_pretrained(old_state_dict_id)
        state_dict = model.state_dict()
        # state_dict = torch.load(state_dict_path, map_location="cpu")

    state_dict = convert_state_dict_to_hf(state_dict)
    model.load_state_dict(state_dict, strict=True, assign=True)

but still error:
RuntimeError: Error(s) in loading state_dict for LlavaMistralForCausalLM:
Some weights of the model checkpoint at microsoft/llava-med-v1.5-mistral-7b were not used when initializing LlavaMistralForCausalLM: ['model.vision_tower.vision_tower.vision_model.embeddings.class_embedding', ...
Missing key(s) in state_dict: "model.embed_tokens.weight", "model.layers.0.self_attn.q_proj.weight", "model.layers.0.self_attn.k_proj.weight", "model.layers.0.self_attn.v_proj.weight", "model.layers.0.self_attn.o_proj.weight",...

@jianghuyihei You can try this modified script: https://github.com/Isotr0py/transformers/blob/fix-llava-convert/src/transformers/models/llava/convert_llava_weights_to_hf.py

@jianghuyihei You can try this modified script: https://github.com/Isotr0py/transformers/blob/fix-llava-convert/src/transformers/models/llava/convert_llava_weights_to_hf.py

Thanks for your help, I also found this function and it is running successfully.

Thanks @Isotr0py ! Perhaps we can try to add this script to transformers repo?

Sure! Just open a PR to add this to transformers as well: https://github.com/huggingface/transformers/pull/35406


Bump Java from 14 to 15

Java 14 isn't supported anymore.
Proposed Changes

Bump Java from 14 to 15

/retest

/retest

/cc slinkydeveloper

/cc slinkydeveloper

I think you should bump this one too https://github.com/knative-sandbox/eventing-kafka-broker/blob/master/data-plane/pom.xml#L31

I think you should bump this one too https://github.com/knative-sandbox/eventing-kafka-broker/blob/master/data-plane/pom.xml#L31

@slinkydeveloper done!

@slinkydeveloper done!

/lgtm
/approve

/lgtm
/approve

Again Failed to create v1 broker "broker": Internal error occurred: failed calling webhook "webhook.eventing.knative.dev": Post https://eventing-webhook.knative-eventing.svc:443/defaulting?timeout=2s: no endpoints available for service "eventing-webhook"

Again Failed to create v1 broker "broker": Internal error occurred: failed calling webhook "webhook.eventing.knative.dev": Post https://eventing-webhook.knative-eventing.svc:443/defaulting?timeout=2s: no endpoints available for service "eventing-webhook"

/retest

/retest

/retest

/retest

/retest

/retest


feat: Allow globals to refer to any expression

Description
Problem*
Resolves https://github.com/noir-lang/noir/issues/1734
Summary*
Allows globals to be defined as any expression using the dependency graph to ensure there are no cycles.
Note that globals defined via a function call are allowed: global FOO = bar();, although the function will be
re-called each time the global is used since globals are just substituted for their definitions where they are used.
Example program:
global A = B;
global B = foo();

fn foo() -> Field {
    A
}

Example error:
error: Dependency cycle found
  ┌─ /Users/user/Code/Noir/noir/short/src/main.nr:2:8
  │
2 │ global B = foo();
  │        - 'B' recursively depends on itself: B -> foo -> A -> B
  │

Additional Context
This is a somewhat longer PR because it also includes a refactoring to use a new GlobalId over StmtId. I found
this necessary to allow referring to globals in cycles where another global may not be resolved yet.
WIP because I still need to:

Track dependencies within functions
Update documentation

Documentation*
Check one:

[ ] No documentation needed.
[x] Documentation included in this PR.
[ ] [Exceptional Case] Documentation to be submitted in a separate PR.

PR Checklist*

[x] I have tested the changes locally.
[x] I have formatted the changes with Prettier and/or cargo fmt on default settings.

Finished WIP tasks, this PR is now ready for review.

@vezenovm I added a quick example in global_consts


Introduce on_runtime_upgrade

This is a basic implementation of the on_runtime_upgrade which triggers at the very beginning of block initialization, before system::initialize or module::on_initialize.
Introduces OnRuntimeUpgrade trait which exposes on_runtime_upgrade function which is triggered in the executor.
There is now an on_runtime_upgrade() function which can be defined in the decl_module macro.
We have also introduced a new storage item in FRAME System, LastRuntimeUpgrade which keeps track of the last block a runtime upgrade occurred.
In the executive module, we detect if there was a runtime upgrade in the previous block, and if so, then we execute the on_runtime_upgrade logic.
Closes https://github.com/paritytech/substrate/issues/4056
I have also removed traces of on_finalise and on_initialise as they have been deprecated since v1.0.

Is this still planned?

@drewstone Would like to, just need to prioritize 2.0 and avoid extra noise.

In case a runtime wants to switch a module to another one or do big upgrade not self-contained, I think the logic should be written in node/runtime/src/lib.rs with an additional function. This function could call modules specific migration function for example:

While this sounds reasonable.

fn runtime_upgrade() {
Balance::upgrade_from_other_currency_module(OldBalance);
// or
Balance::upgrade_path_for_kusama_1000();
}

And pallet_balance could expose this function under some cargo features,

This sounds really error prone. Only you as a module developer know if you need to upgrade the storage. A runtime developer should not be required to call these functions manually IMHO.

just one thing to note: modules will not be keeping migration code in there indefinitely. indeed, if we could remove it immediately after use i would, however that's impractical.
nonetheless we will realistically support only one upgrade at a time - a module is either at the current version (the genesis config should default the version number to the current in the code or IsUpgraded flag to true) or it isn't (either because the version number is older or the IsUpgraded flag isn't there). if it's not yet upgraded, then we can so a sanity check on the version number (it should be exactly one less than the current in the code), if we're using version numbers (i kind of think an IsUpgraded flag might be cleaner, but don't really care).
once it's upgraded, then the flag or number can be changed to indicate it is up to date.
note that module-level upgrading won't always be enough anyway, as the recent balances refactoring shows, sometimes you need chain-specific upgrade strategies.

This sounds really error prone. Only you as a module developer know if you need to upgrade the storage. A runtime developer should not be required to call these functions manually IMHO.

error prone it might be, but in some cases (upgraded involving only certain module configurations or where modules need to be merged or split) there's nothing else that can be done.

Should be ready to review with the feedback given

@gnunicorn gucci gang


[monitor] Add timeout option to request-promise call

All fields in Overview page are empty when some servers are busy.
To resolve the problem, timout option should be added.

As we discussed,
1, Need a indicator(or progress bar) to show how many servers returned there status.
2. Need a information how many servers are inactive.
3. The table should be updated by an event of arrival data from servers


Add support for Aggregate strategies

After using unleash for a while we see that we now have a lot of "aggregate strategies" implemented, such as "usersWithIdAndBetaUsers" etc.
Instead of having all different combinations of strategies implemented in all clients we could provide a way to define aggregated strategies. This way we only need the simple strategies implemented in each client.

#1 The filter-pattern
A simple way to extend the current API with a strategies field. The current  strategy and parameters field would be deprecated in favour of a new strategies array containing all strategies associated with a feature toggles. The idea is that any toggle can be associated with one or more strategies. If the toggle is enabled with any of the associated strategies it should be considered on.
Current format:
{
    "features": [
        {
            "name": "featureX",
            "description": "",
            "enabled": true,
            "strategy": "default",
            "parameters": {}
        },
        {
            "name": "featureY",
            "description": "",
            "enabled": true,
            "strategy": "ActiveForUserWithEmail",
            "parameters": {
                "emails"<EMAIL_ADDRESS>            }
        }
    ]
}

New API
{
    "features": [
        {
            "name": "featureX",
            "description": "",
            "enabled": true,
            "strategy": "default",
            "parameters": {},
            "strategies": [
                {
                    "name": "some_strategy",
                    "parameters": {}
                }
            ]
        },
        {
            "name": "featureY",
            "description": "",
            "enabled": true,
            "strategy": "default",
            "parameters": {},
            "strategies": [
                {
                    "name": "some_strategy",
                    "parameters": {
                        "emails"<EMAIL_ADDRESS>                    }
                }
            ]
        }
    ]
}

+1
Could "strategy" be dropped from the new API?

yes. But that should be a two-step iteration:

iteration 1: introduce new field, and deprecate old one.
iteration 2: remove the old field (not backward compatible).

we have decided to move forward with multiple strategies. Based on real-world usage of Unleash we feel the need ability to add multiple activation strategies for a feature toggle. To make it simple to understand and easy to use (and based on what people actually have asked for) all strategies should be OR from the client perspective, meaning that if a feature toggle is considered active with one strategy it should be considered enabled.
TODO:

[ ] Add support for the new format in API
[ ] Add support for multiple strategies in the Admin UI


Aurora Active-Passive load test

Use two different regions (two EU-DCs, but not eu-west-1)

Obsolete - we might test differently with Aurora Multi-AZ for Single Site, and Aurora Global Database for Multi-Site


Commit 5b30bdb610a8fe7019edbf23bfc10412309ca5b8 increases system load from ~3 to ~9

On my system as per IRC:
5b30bdb610a8fe7019edbf23bfc10412309ca5b8 is the culprit.
git bisect start
# bad: [2f151d02eb2092ebdd84778944533ddb57b56103] Merge pull request #1456 from prometheus/validate-alertmanager-url
git bisect bad 2f151d02eb2092ebdd84778944533ddb57b56103
# good: [e11fab35d76d19c5c49b7d85e28275f894d3ada4] Bump version to 0.17.0
git bisect good e11fab35d76d19c5c49b7d85e28275f894d3ada4
# good: [8fa1560e489eaa39eec31f2f930a49b9d443c230] Fix a very special case of handling the checkpoint timer
git bisect good 8fa1560e489eaa39eec31f2f930a49b9d443c230
# good: [73399f826a11a2032c36a5346d176ae8d2d9edfe] Merge pull request #1427 from prometheus/fix-scrape-timeout
git bisect good 73399f826a11a2032c36a5346d176ae8d2d9edfe
# skip: [ddc74f712b05a26af1c7463fbb6003c78a53329b] Add sortable target list
git bisect skip ddc74f712b05a26af1c7463fbb6003c78a53329b
# good: [7763bbd99316681bca87930fdde0f1739a2a4d74] Validate alertmanager URL
git bisect good 7763bbd99316681bca87930fdde0f1739a2a4d74
# bad: [50c2f20756aa37afc75e5ccd2871a3238e0e2d8e] Add targetScraper tests
git bisect bad 50c2f20756aa37afc75e5ccd2871a3238e0e2d8e
# bad: [fbe251c2df399b89bf87a11352ab26aff676d8d0] Fix scrape interval length calculation
git bisect bad fbe251c2df399b89bf87a11352ab26aff676d8d0
# bad: [cebba3efbb143d35a9ffdb01930cc648235beaa3] Simplify and fix TargetManager reloading
git bisect bad cebba3efbb143d35a9ffdb01930cc648235beaa3
# bad: [5b30bdb610a8fe7019edbf23bfc10412309ca5b8] Change TargetProvider interface.
git bisect bad 5b30bdb610a8fe7019edbf23bfc10412309ca5b8
# skip: [5bfa4cdd46b9d2ff843f6ffe85e15fc87c614737] Simplify target update handling.
git bisect skip 5bfa4cdd46b9d2ff843f6ffe85e15fc87c614737
# good: [bb6dc3ff783463e0f9fdc915232b546cc0a116b3] Remove old tests
git bisect good bb6dc3ff783463e0f9fdc915232b546cc0a116b3
# first bad commit: [5b30bdb610a8fe7019edbf23bfc10412309ca5b8] Change TargetProvider interface.

@beorn7 just did some profiling that showed performance consumption in the target provider handling. Found the probable issue for that and it adds up with the commit you bisected.
Fix incoming.

Cross-reference: https://github.com/prometheus/prometheus/pull/1474

System load with different builds: https://snapshot.raintank.io/dashboard/snapshot/fN9YwxGe8X9lxmQOwiK42pi6D6XQIo7L

Longer term data, with added ingestion rates: https://snapshot.raintank.io/dashboard/snapshot/3szO1U2vYxxDrYlwq26V1Dq844xw4J6L

Is this resolved?


remove io.js

We aren't testing this anymore

Ah I changed to use the noreply email so I was different


Implement Mist as the base SUI unit

We have decided that the SUI denomination we will be using is 10^-9, which we call Mist.
We will need to actually implement this, in both Move, explorer and wallet.

Would this mean 9 digits after the decimal?  If so, curious why that was decided when many other blockchains choose 8 decimals and feel like that is more the expected amount


Add support for HTTP basic authentication

Fixes #17

I wasn't sure the best way to go about writing testing as I don't have much experience with it. Maybe you could take a look at how I've done it and suggest an improvement? Currently half the tests fail based on if the Neo4j database has auth enabled or not.

Seems to be working now with the exception of the very first test which I believe was failing before this pull request (at least on my machine). It is an issue with the expected exception.

The tests that run with the later version of Neo4j (2.2.1, which supports authentication) are passing, however the tests run with previous versions fail. This is because previous versions of Neo4j don't support authentication and the tests now assume a version of Neo4j > 2.2.0. Despite this, code using this library and running with databases written for Neo4j versions previous to 2.2.0 will still work correctly.
That being said, I recommend removing Neo4j versions < 2.2.0 from the travis-ci builds, but I leave that decision up to you.

Closing this PR for now, will reopen upon addition of feature that allows program to get version of Neo4j that is running. This will allow tests to pass on versions < 2.2.0.


docker preparation: webshop

When I prepare dockers using bash scripts/build_docker.sh, I meet the "ERROR: failed to solve: failed to register layer: write /root/miniconda3/lib/libicudata.so.58.2: no space left on device" in the preparation for webshop.

But there is quite enough space in my disks, so I wonder why this error happen and how can I solve it?

How much space do you have left? This docker image do require a lot of disk space. The image itself is about 27G large.

How much space do you have left? This docker image do require a lot of disk space. The image itself is about 27G large.

more than 100G

Oh god, I forget to change the VM in my docker desktop which is not enough for installation of webshop docker.

Oh god, I forget to change the VM in my docker desktop which is not enough for installation of webshop docker. Now it works.


it doesnt work status 0 i kept al the ports right and etc server is connection only the feeder is not spwaning but it is also connected

can you fix this

@kurama129 i am gonna check script later and if i fix it i will tell you

For me every thing is working very good . Idk what happend : /

@l3mpik bro your script dont work.... I run it without any change and dont work..
i make some changes in the script and i only get 6 bots :(

looolll :D i get 200-350 with vps. loool every one give me info about don't working script but i just upload my script from vps XD

lol i find the problem ;)

:DDD ciii...xd

fixed


[📚] [cloud_firestore]: enablePersistence is deprecated

On my project we have both a mobile and web implementation and we tried to implement firestore local persistence but when trying to enable it there is this warning on the parameter:
Attempts to enable persistent storage, if possible. This setting has no effect on Web, for Web use [FirebaseFirestore.enablePersistence] instead.
firestoreInstance.settings = const Settings(
  persistenceEnabled: true,
);

but if i try to use the above code, there is another one:
firestoreInstance.enablePersistence();

'enablePersistence' is deprecated and shouldn't be used. Use Settings.persistenceEnabled instead.

So the final code we are using is this one:
if (kIsWeb) {
    await Firebase.initializeApp(
      options: prodOptions,
    );

    firestoreInstance.enablePersistence();
  } else {
    await Firebase.initializeApp();
    firestoreInstance.settings = const Settings(
      persistenceEnabled: true,
    );
  }

Is this still true (This setting has no effect on Web, for Web use [FirebaseFirestore.enablePersistence]) and the team forgot to fix the docs?

Thanks for the report @Macacoazul01, I've created a PR to fix the documentation, you can use persistenceEnabled it has been enabled for web.


2.1.0

I'm trying to download v2.1.0 but I can't find it anywhere, do you know where I can download v2.1.0?

Just download the source code and extract all the files from that to the 2.0.0 "App" folder


Electron Mac app?

Hello
I love working with Draw.io since I discovered it recently. Is there any intent to build a Mac app for it, perhaps using the Electron framework? Once reason specifically would be to enable use of the tool when offline.
Thanks

There's the package.json and electron.js (the entry JS) in the root https://github.com/jgraph/draw.io/tree/master/war. If you want to progress that please be my guest.
I'll close this issue since it's more just a question.


Add CloudFront metrics

Feel free to merge any of this code to add CloudFront metrics.

Removed the units.

sorry, I forgot about this PR until now


Cant add iPhone

When i try to add my iPhone via QR code i get the following error:
Unknown error: bad signature: All JSON proof characters must be in the visible ASCII set (properly escaped UTF8 is permissible)

I get this error after i enter a name for the device.

Did you use any sort of interesting characters in your device name?
On Sat, Jun 24, 2017 at 4:54 PM Kevin Hellemun<EMAIL_ADDRESS>wrote:

When i try to add my iPhone via QR code i get the following error:
Unknown error: bad signature: All JSON proof characters must be in the visible ASCII set (properly escaped UTF8 is permissible)
I get this error after i enter a name for the device.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/keybase/client/issues/7512, or mute the thread
https://github.com/notifications/unsubscribe-auth/AA05__pA6TRbM9vVmUD3ReDTlar8NqDrks5sHXeQgaJpZM4OEb_g
.

Kevin's iPhone is what i've named it. But all my devices are called like that.
On Sat, Jun 24, 2017 at 5:03 PM Kevin Hellemun<EMAIL_ADDRESS>wrote:

Kevin's iPhone is what i've named it. But all my devices are called like
that. Kevin's MacBook, VPS etc etc
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/keybase/client/issues/7512#issuecomment-310865718,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA05_yre5a4jeYtpG6aq3wMA9PlwfVWhks5sHXmmgaJpZM4OEb_g
.

Done my log id: abceab0ea005fc7de326231c hope there is some useful info in there.

The problem is that you're using a 0x99 apostrophe (which is rendered ’). We need a better error message, but if you use ' (AKA 0x27) you should be fine. We'll fix the error message. Thanks for your feedback.

Hmm, don't think i see that character in my iPhone keyboard 🤔 I copy pasted it and got it to work. Thanks for the support 👍 and keep up the good work 👋 .


Add wrap sys device

Thanks for the PR!
Will release a new version of the library to crates.io, after I change some minor stuff.


[HB-6718] Provide Task Continuation Extension for Main Thread

Title
HB-6718 Provide Task Continuation Extension for Main Thread
Description
Description
Currently, C# provides future continuations in the form of ContinueWith, as seen here: Task.ContinueWith Method (System.Threading.Tasks)  however, this does not run on the main thread unless specified. This is problematic for Mediation since we provide functionality that requires to run on the main thread. Developers can ensure this is done by calling the methods from a C#/Unity scenario like MonoBehaviors and Unity related environments. However, if they utilize the base ContinueWith method, it will run into a different thread causing possible crashes.
This PR contains changes to provide developers with the option to utilize Task Continuation extensions that will run on the main thread.
Type of change

[x] Bug fix (fixes an issue)
[x] New feature (adds functionality)
[ ] Refactor / Maintenance (refactoring code to be cleaner/easier to maintain)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[x] This change requires a documentation update

Checklist:

[x] I have performed a self-review of my code
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[ ] Any dependent changes have been merged and published in downstream modules

Is the Documentation update implied in the comments, or will this be separate? Otherwise, lgtm.

4.7.0 Documentation will be handle in a separate PR.


Can atreugo be hot upgrade?

I am going to implement a restful api with atreugo.
In the godoc, I saw the ServeGracefully method.
If atreugo can achieve hot upgrade, How do I change the code?
I used to develop with nginx and php, not very familiar with the upgrade method of go program.
Can you give an example?

Do you mean a Hot reload about configuration (like host, compress, etc)?
What do you need exactly?

After the change of business logic, need to reload.
For example, an api interface method has been added, need gracefully reload.

In compiled languages like Go, Java, C, etc, you must recompile your programe if you change the code (bussines logic).
GracefulShutdown just wait to finish incomplete requests, and shutdown server.
Sorry.

https://gravitational.com/blog/golang-ssh-bastion-graceful-restarts/
In the example of this page

go run restart.go

[1] 28323
Created listener file descriptor for :8080.
curl http://<IP_ADDRESS>:8080/hello
Hello from 28323!
curl http://<IP_ADDRESS>:8080/test
404 page not found

add testHandler

func testHandler(w http.ResponseWriter, r *http.Request) {
	fmt.Fprintf(w, "Test from %v!\n", os.Getpid())
}

func startServer(addr string, ln net.Listener) *http.Server {
	http.HandleFunc("/hello", handler)
	http.HandleFunc("/test", testHandler)

	httpServer := &http.Server{
		Addr: addr,
	}
	go httpServer.Serve(ln)

	return httpServer
}

go run restart.go

kill -SIGUSR2 28323

user defined signal 2 signal received.
Forked child 28432.
Imported listener file descriptor for :8080.
curl http://<IP_ADDRESS>:8080/test
Test from 28432!
curl http://<IP_ADDRESS>:8080/hello
Hello from 28432!

kill -SIGTERM 28323

Program can gracefully restart.
Can atreugo use this way?


Duplicate entries exist from merging Radvylf's item list

When merging in Radvylf's item list to mine, it created many duplicates that I was unable to remove without messing up the formulas.  These need to be cleaned up making the export to worth.yml from the spreadsheet easier.

There are also some other duplicates from the original list I started working with and old names that have been changed in various minecraft releases. see issue #19

I have manually removed the identical duplicates from the spreadsheet, need to test if I Can condense the list without messing up formulas.

The current Worth.yml file has 1276 lines, but the total from Radvylf's item list is only 1227.
This is verifiable by opening the spreadsheet and looking at the v1.3 - MC1.18 sheet and comparing to the 1.17-(no-)separator sheets.
Note I have removed the identical dupes from all three of these sheets at this time.


Errors that happen in onProgress result in repeated HEAD requests

If there is an error in the onProgress callback, instead of reporting the error in the console, the JS client sends out HEAD requests (instead of PATCH requests) which is quite confusing!
Example:
      let upload = new tus.Upload(file, {
        endpoint: '/url',
        retryDelays: [0, 3000, 5000, 10000, 20000],
         metadata: {
          name: file.name,
          type: file.type,
          modtime: file.lastModified,
        },
        onError: function (error) {
          console.log(error);
        },
        onProgress: function (bytesUploaded, bytesTotal) {
          (null).method; // ERROR
        },
        onSuccess: function (e) {
          console.log('Download %s from %s', upload.file.name, upload.url)
        },
      });

That's right, good point. We don't have errors that are thrown inside user callbacks well. This is likely not limited to onProgress, but is also the case for onSuccess, onError, and onShouldRetry. I wonder what the best way to handle those errors is:

errors caught from user callbacks could trigger the onError, signaling that the upload was stopped because of this error. If no onError callback is registered, the errors is directly thrown.
errors caught from user callbacks are logged to the console. While this allows the upload to continue, such errors could easily be missed, especially when an application produces a significant amount of logs, making debugging much harder. In addition, there would be no way for the user to handle those errors.

My first temptation would be to go with the first approach, which makes error handling more present. What do you think?

Thanks Marius for the quick reply! My initial expectation (adhering to the principle of least-surprise) would be that errors in callbacks are simply not caught/handled (and thus appear in the console as an error by default). Perhaps this would mean re-throwing the error. Otherwise, option one seems good!


Fix relative path for tools/build in Window

I have run into issue when I tried to use the build tool, I am running it under Window with Git Bash.

http://forums.fast.ai/t/new-pytorch-tutorial-draft-feedback-welcome/22208/30?u=nok

@noklam could you please be so kind as to sign the CLA? Sorry we merged your PR without checking that! https://www.clahub.com/agreements/fastai/fastai_v1


Possible missing dependency on babel-runtime

I'm submitting a bug report
Webpack version:
3.11.0
Webpack Karma version:
1.7.x
Karma version:
2.0.11
Please tell us about your environment:
OSX
Current behavior:
$ karma start
25 02 2018 19:56:08.367:ERROR [config]: Error in config file!
 { Error: Cannot find module 'babel-runtime/helpers/toConsumableArray'
    at Function.Module._resolveFilename (module.js:536:15)
    at Function.Module._load (module.js:466:25)
    at Module.require (module.js:579:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/Users/cthielen/projects/uirouter/sticky-states/node_modules/karma-webpack/lib/karma-webpack.js:3:27)
    at Module._compile (module.js:635:30)
    at Object.Module._extensions..js (module.js:646:10)
    at Module.load (module.js:554:32)
    at tryModuleLoad (module.js:497:12)
    at Function.Module._load (module.js:489:3)
    at Module.require (module.js:579:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/Users/cthielen/projects/uirouter/sticky-states/node_modules/karma-webpack/lib/index.js:7:18)
    at Module._compile (module.js:635:30)
    at Object.Module._extensions..js (module.js:646:10)
    at Module.load (module.js:554:32) code: 'MODULE_NOT_FOUND' }

If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem along with a gist/jsbin of your webpack configuration.

git clone https://github.com/ui-router/sticky-states.git
cd sticky-states
git checkout karma-webpack
yarn
yarn add --dev<EMAIL_ADDRESS>yarn test

Adding babel-runtime as a dep fixes the issue.  Guessing this was due to https://github.com/webpack-contrib/karma-webpack/commit/6d28c5cf1246e1659a7553c18af6f43de84a7db5.  2.0.9 was the last version of karma-webpack that worked without babel-runtime.

We had to lock version to 2.0.9 as this breaking change was not announced properly

Could someone please quick review (#310)

Released in v2.0.12 🎉

@michael-ciniawsky This is still failing for me in v2.0.12

😞 Could include some context ({Error} Logs, package.json etc), did clean the npm/yarn cache and updated the lockfil etc ?

@michael-ciniawsky updated my previous comment with out console output. We are using it as a dev-dependency so it will not be included in our lockfile. I did clear the npm cache

On project with
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>the following error is encountered.
ERROR [plugin]: Error during loading "C:\project\node_modules/karma-webpack" plugin:
  Cannot find module 'babel-runtime/helpers/toConsumableArray'
ERROR [preprocess]: Can not load "webpack", it is not registered!

This seems to be caused by the fact project doesn't use babel and babel-runtime is not provided as dependency by karma-webpack. Thus require call fails on \node_modules\karma-webpack\lib\karma-webpack.js:3
var _toConsumableArray2 = require('babel-runtime/helpers/toConsumableArray');

Not sure why there is no notice, but just FYI: this was fixed in #312.


Generic Phasor Grid Forming Voltage Source Converter

Specify the model/test case you evaluated

[X] Model
[ ] Testcase

Name the model/test case ID, you would like to evaluate
180
What is the impact to the model or testcase?

[ ] minor
[X] moderate
[ ] major

Briefly describe your opinion about the model/testcase

Is this model suitable for EMT or for phasor studies (or for both)? The title suggests that it is a phasor model, but Section 2 says that the model is for EMT studies
Just to add a note that the VSM structure is not included in Fig. 1
Would it be possible to add another section before the "open-source implementation" where we include: the tuning of the voltage control? This is just to clearly separate the tuning and the (proposed) plant model from the actual model of the VSC. I also propose to include in the end of the new section a table with all parameters and an indicative set of values.
I am missing a clear description of how the current limitations are implemented. For example, how is the non-windup implemented? If you reach a current limit, which integrators have to be frozen? Otherwise, we should add a disclaimer in the model uses section because I am not sure we can simulate a fault with this model.

That first paragraph is wrong, corrected.
I included one of the possible implementations to obtain the frequency. It can be changed to be more general, add the VSM implementation, or just leave a comment saying it can be substituted with the preferred implementation, whichever works best.
We can comment this for all the models, we can maybe state the order of magnitude of the time constants and from there the other parameters of the model can be derived
Same as the previous point, we will add a current limitation block to explain in more detail this point, but we can discuss how to approach it.


Can compiler only emit declaration file ?

Is there a way to only emit the declaration file (.d.ts) with the compiler and not the js file ?

There is no supported flags that would do that, only emit all or do not emit at all (--noEmit). Consider using --outDir and picking only the .d.ts files.

I'm thinking of adding a --noEmitJs flag. Would you be willing to entertain that thought?

I'm thinking of adding a --noEmitJs flag. Would you be willing to entertain that thought?

if there is a compelling scenario.

** Scenario: Auto-Generate typings for a pure js project **
Currently typings for js projects are manually hand maintained. A ton of typings are out of date with the actual code. Typings are kind of documentation and if they are separate from code, they will eventually get out of sync.
with --checkJs, JS lib authors get extra benefit of validating code with jsdoc typings. Being able to auto generate just .d.ts from their existing code would make life easier. This can be done as part of the build step.
Proposal:
compilerOptions: {
module: 'amd',
outFile: 'build/types.d.ts',
declarations: true,
allowJs: true,
checkJs: true, // optional
noEmitJs: true,
},
include: [
 'src/**.js'
]

This would just generate a single .d.ts file from the project that you can add as part of package.json.  No hand maintenance.

Useful if you only want to generate the declaration files but not compile the js. Current usage for me would be that I'm generating an Electron application. I want the d.ts files in respective directories but the js files don't need to be created because they're made during application compilation and would cause only unnecessary clutter beforehand.


Add support for installation with opam pin

We can now install and try reanalyze using the following way:
opam pin add reanalyze https://github.com/cristianoc/reanalyze.git
opam install reanalyze

I had these Azure issues earlier already, with no relevant changes.
Let's see if it gets resolved.

Actually, this is a different issue now (before it was not cheking out the repo), and could be related to the PR.

@imbsky how does one test it locally?
opam pin add .

gives me
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><>  🐫
[ERROR] The compilation of reanalyze failed at "/Users/cristianoc/.opam/opam-init/hooks/sandbox.sh build dune
        subst".

#=== ERROR while compiling reanalyze.~dev =====================================#
# context     2.0.3 | macos/x86_64 | ocaml-base-compiler.4.06.1 | pinned(git+file:///Users/cristianoc/reasonml/reanalyze#imbsky-support-opam-pin#a4cf7e73)
# path        ~/.opam/4.06.1/.opam-switch/build/reanalyze.~dev
# command     ~/.opam/opam-init/hooks/sandbox.sh build dune subst
# exit-code   1
# env-file    ~/.opam/log/reanalyze-61671-865888.env
# output-file ~/.opam/log/reanalyze-61671-865888.out
### output ###
# Error: The project name is not defined, please add a (name <name>) field to
# your dune-project file.

It should work with the last commit, but the build will fail, so opam can't pin it.

 Merging.
If more needs to be done for opam, how about a separate PR.
E.g. how does the build fail and why.

I get an error like the one below, but I haven't read much of the project code, so I don't know immediately why this is happening.
File "examples/_unknown_", line 1, characters 0-0:
Error: File unavailable: examples/DeadCodePPX.exe

These are symbolic links used by the project, and that dune does not like, and that esy populates.
I want to get around that anyway.

@imbsky I'll take care of that:
https://github.com/cristianoc/reanalyze/issues/44


"nullnull" when some page parts are missing

not sure what behavior is expected when there is no header, main and footer at all.  in any of pages - old or new.
it currently breaks the simple-crm example because of that.   i came up with something like this:
  const parts = ["header", "main", "footer"]
    .map(query => [$("body >" + query), $("body2 >" + query, dom)]);
  if(parts.some(([a, _]) => a) && parts.some(([_, b]) => b)) {
    for (const [a,b] of parts) {
      if (a && b) {
        if (a.outerHTML != b.outerHTML)
          a.replaceWith(b);
      } else if (a) {
        a.remove();
      } else if (b) {
        const fn = query == "footer" ? "append" : "prepend";
        document.body[fn](b);
      }
    }
  } else {
    $('body').innerHTML = $('body2', dom).innerHTML;
  }

but most likely it's not what you meant

Looks solid. That change can only fix issues and not bring any new ones.
Thank you!


final hw2

Your request is good but all features were included in other requests.
You have still bonus score :)


Menu Section isn't aligning with the page

I would like to contribute to the navbar section and menu section especially.
Menu icon isn't aligning with the page and gives bad user experience
I will rectify this problem using flexbox and other alignment properties
And other features such as SearchBar can be added for further interaction
Please assign this project to me under GSSOC and Hacktoberfest program, i will rectify this issue!!

I would also like to work on this issue. I think the navbar as a whole seems pretty basic.


Upgrade to 3.1.0 got the error 'Require cycle: node_modules/react-native-draggable-flatlist/lib/index.js -> node_modules/react-native-draggable-flatlist/lib/components/NestableDraggableFlatList.js -> node_modules/react-native-draggable-flatlist/lib/index.js'

Upgrade to 3.1.0 got the error 'Require cycle: node_modules/react-native-draggable-flatlist/lib/index.js -> node_modules/react-native-draggable-flatlist/lib/components/NestableDraggableFlatList.js -> node_modules/react-native-draggable-flatlist/lib/index.js'. Downgrade to 3.0.6 works fine.
Platform & Dependencies
Please list any  applicable dependencies in addition to those below (react-navigation etc).

react-native-draggable-flatlist version: 3.1.0
OS: macOS 12.3.1
Platform: iOS
Node: 16.9.0
npm: 7.21.1
CocoaPods: 1.11.0
react: 17.0.2
react-native: 0.66.4
Reanimated version: 2.7.0
Realm: 10.20.0-beta.5
React Native Gesture Handler version:2.1.0

Having the same issue


The service should have a button to go back to the previous step [REPLACEMENT ISSUE]

The original issue
Id: 563
Title: The service should have a button to go back to the previous step

could not be created.
This is a dummy issue, replacing the original one. It contains everything but the original issue description. In case the gitlab repository is still existing, visit the following link to show the original issue:
TODO

In GitLab by @yhua123 on Nov 8, 2019, 07:40
fixed, please review

In GitLab by @cuiaq123 on Nov 8, 2019, 07:40
fixed

In GitLab by @sokril on Nov 8, 2019, 08:14
closed

In GitLab by @sokril on Nov 8, 2019, 08:14
assigned to @cuiaq123


storage: Simplify fetches from storage

The way we have been handling the fetch was too rigid and was forcing
us in doing several changes when adding new types of files.
With this commit, we rely on the magic of Go unmarshalling. The JSON
package handle all the complexity for us, allowing much more flexible
code.

LGTM


ForgeFinder export having missing values after reload or relog

Observed Behavior:
After relogging / reloading some values are missing in the json (most times multicraft or resourcefulness)
JSON generarted directly after login:
SimCraft-NOK.json.txt
JSON generated after clicking a bit through the GUI:
SimCraft-OK.json.txt
Expected Behavior:
the output should contain consistently the same data

Is this still an issue as of 8.8.0?


Start Remote return Max retries exceeded with url: /wd/hub/session

HTTPConnectionPool(host='firefox', port=4444): Max retries exceeded with url: /wd/hub/session (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7fd8d88c6cd0>: Failed to establish a new connection: [Errno -2] Name or service not known',))
How to clean this, because not started.
Thanks

Solved, Stop and remove all containers.

Solved, Stop and remove all containers.

how to solve it?


How can I install the NEdit editor via pacman?

Hi,
I want to install the NEdit editor on windows. Since msys2 comes with the arch Linux port of pacman, I expected it to install NEdit through the pacman -S NEdit command. However, I get the message "target not found". NEdit is available in the arch Linux repositories (https://www.archlinux.org/packages/community/x86_64/nedit/).
Can anyone offer any tips?
Thanks!

MSYS2 is windows target, not Linux. MSYS2 doesn’t use Arch Linux repositories, so you need build NEdit yourself


Siatest pkg

Create a siatest package. This is more or less intended to replace all the integration testing that we do in the api package. There's a lot of repeat code throughout our test suite, and this package gives us a means to easily replace it, while also improving the amount of control we have over the tests we write.
Hopefully, using this package, we'll be able to spin up more advanced + continuous test networks that can probe some of the edge cases we've been seeing - like errors during simultaneous upload + download.
Eventually we'll be extending this package to include comprehensive dependency injection as well. That will allow us to test random disk failures, and random network failures.

The first intended use for this PR is to add some integration testing to the contract set, particularly with regards to testing the ACID properties, and verifying that host contracts can survive sudden interruptions at key moments of the contract negotiation.

Can this PR include converting an existing test to use siatest, so that we can see what it looks like in practice?


Make processing hashbang urls an option

Please make the processing of hashbang urls optional.  There are use cases (I have one) where we need to be able to handle those differently.
The case I need is the ability to turn this off because google got into it's results list a large number of incorrect #! endings (where the route is correct, but then ends #!).
Ideally there'd be a configuration option instead to strip the hashbang instead of processing it.

+1
There should be an option to skip handling the hashbang. I have two different angular applications running under two different iron router routes and I would like to ignore the hashbang completely.
I can reconfigure angular to use '#:' instead of #!, but that isn't optimal as I'm trying to emulate the former url scheme.


is there any way to do it in java or python?

is there any way to do it in java or python?
thankyou for your attention

well,that's sounds nice,
i just looking around,then find it

https://twitter.com/trashh_dev/status/1750233852553924709

this is how I found it


Switch Draw.MolToImage and Draw.MolsToImage to use new drawing code when possible

Description:
The functions Draw.MolToImage() and Draw.MolToFile() currently use the old drawing code. They can, under some circumstances, use the new code instead.
Here's when the new code can be used:

Draw.MolToImage()

if the RDKit has been built with cairo support enabled (i.e. rdMolDraw2D.MolDraw2DCairo exists)
If no canvas is provided, or if the canvas is an rdMolDraw2D.MolDraw2DCairo

Draw.MolToFile()

if the filetype is SVG
if the filetype is PNG and the RDKit has been built with cairo support enabled (i.e. rdMolDraw2D.MolDraw2DCairo exists)

There's a bunch of code in rdkit/Draw/__init__.py (functions like _moltoimg and _moltoSVG) that will be helpful here.

Hi Greg,
I'm looking for a ticket to get started but I think this one is solved too, right? at least I've already seen the implementation of the _legacy* functions in both contexts.


Re-loading checkpoint after write_bitstream

It seems that in fuzzer.py:fuzzer() the code is trying to go through and set a single property:value pair on each cell.  Doing this minimizes bit pollution caused when other properties are also set on the same cell (you can't separate out the bits).
To do so, the code:

Fills the design with tiles of the needed type and then places a single cell of the proper type, and then writes a checkpoint (in the checkpoints directory) of that design.
It then moves on and applies a single property:value combination to each cell, incrementing a cell counter as it goes.

For some tile types, however, there are so many properties and values that you run out of cells to apply them to.  As such, the code detects this (when calling get_next_count()) and, writes a bitstream for the existing design and then starts a new design so it can continue applying properties to cells.
Except it doesn't start a new design.  Rather, it simply (a) resets its cell counter and (b) continues on applying property values starting again with cell C_0.  Thus, the properties accumulate, meaning each of  the cells in later specimens does not contain just one set property:value combination  but rather contain the accumulation of the previous specimens' property:value pairs as well.
It would seem the proper approach would be to reload the checkpoint saved above (with the cells placed onto the tiles but in their default states) before proceeding again after a write_bitstream.  The code does not do that.  The fix is would  trivial: in get_next_count() after calling gen_bitstream() do open_checkpoint() and then disable_drc().

Branch datagen_open_checkpoint contains above suggested fix.


fix bug 2193

Fixes #2193

Pull Request Test Coverage Report for Build 326

12 of 13 (92.31%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.03%) to 63.986%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

sharding-core/sharding-core-common/src/main/java/org/apache/shardingsphere/core/rule/TableRule.java
9
10
90.0%

Totals

Change from base Build 349:
0.03%

Covered Lines:
9287

Relevant Lines:
14514

💛  - Coveralls

@KomachiSion Is it necessary to check the availableTargetName of other strategies?
What do you think of creating an abstract strategy?

@KomachiSion Is it necessary to check the availableTargetName of other strategies?
What do you think of creating an abstract strategy?

it is no necessary to check availableTargetName in other strategies. Because other ShardingStrategy will call ShardingAlgorithm users implements, the availableTargetName will input to algorithm and users will return the route result. What users return, what ShardingSphere will use.

@KomachiSion

@KomachiSion Is it necessary to check the availableTargetName of other strategies?
What do you think of creating an abstract strategy?

it is no necessary to check availableTargetName in other strategies. Because other ShardingStrategy will call ShardingAlgorithm users implements, the availableTargetName will input to algorithm and users will return the route result. What users return, what ShardingSphere will use.

in 2193 case, how to finsh the task with other  ShardingStrategy?


Release/azure identity/1.8.0

Includes #33071.

API change check
APIView has identified API level changes in this PR and created following API reviews.
azure-identity


remove GIVpower sort from project search results

Based on feedback from users and stakeholders we should further improve how we handle our search results returned on the app.
When a user currently searches for a project on Giveth we take the keywords and look for the closest match. We then sort those results based on the GIVpower of the projects returned. This means the project that might have matched closest to the search query is not returned at the top, and in some cases it is found several pages down, leading users to think the search is broken!
When a user is searching for a project by default we should not apply any sorting to the results, if the user wishes they can apply a sort to it after the initial results have been returned.

@aminlatifi tagging you on this since you have the latest experience in tuning our search queries. Let me know when you can pick this up after your immediate priorities on QACC have settled.
AC

user searches should apply the closest match to the project title and/or description and show up as the highest results
on sorting menu user should see Best Match selected when they have made a search query along with the above mentioned icon
Best Match sorting option does not show up as an option if user has not made a search query
user can select from sorting menu other sorting options for search query such as "newest", "givpower", "GIVbacks %"

Hmm, I believe we need to update the UI/UX for this. In the current user flow, the "Sort by" option is visible and already has a value, which could be causing some confusion.
One option could be to skip the sorting when a search term is entered, or we could add something like a "No order" option in the sort menu.
What do you think, @divine_comedian?

Hmm, I believe we need to update the UI/UX for this. In the current user flow, the "Sort by" option is visible and already has a value, which could be causing some confusion.
One option could be to skip the sorting when a search term is entered, or we could add something like a "No order" option in the sort menu.
What do you think, @divine_comedian?

I would recommend we could show an option in the sort drop down that says "Best Match" which refers to closest match to the keyword entered
let's use this icon from the DS to be shown along with this option

https://www.figma.com/design/d3ciTS36toS9mra0RAPMe2/Giveth-Design-System-v0.1?node-id=5121-4309&t=vkrYF2vXuyvXp5QF-4
when user is not using search feature we should not show this option.

OK, I think the best way for us is to use elastic search in the future, but for now, I'll leave a PR for it.

Hmm, I believe we need to update the UI/UX for this. In the current user flow, the "Sort by" option is visible and already has a value, which could be causing some confusion.
One option could be to skip the sorting when a search term is entered, or we could add something like a "No order" option in the sort menu.
What do you think, @divine_comedian?

I would recommend we could show an option in the sort drop down that says "Best Match" which refers to closest match to the keyword entered
let's use this icon from the DS to be shown along with this option  https://www.figma.com/design/d3ciTS36toS9mra0RAPMe2/Giveth-Design-System-v0.1?node-id=5121-4309&t=vkrYF2vXuyvXp5QF-4
when user is not using search feature we should not show this option.

"Most Relevant" is also can be a good fit :)

@divine-comedian Should we adjust the sort to 'best match' when a user performs a search? For example, if a user has sorted by 'newest' but enters a new search term, should we automatically switch the sort to 'best match' or keep it as is?

yes

https://staging.giveth.io/projects/all?searchTerm=how&sort=BestMatch

user searches should apply the closest match to the project title and/or description and show up as the highest results
on sorting menu user should see Best Match selected when they have made a search query along with the above mentioned icon
Best Match sorting option does not show up as an option if user has not made a search query
user can select from sorting menu other sorting options for search query such as "newest", "givpower", "GIVbacks %"

All Acs have been passed

@MohammadPCh we'll need to handle this same scenarios above when a search is made from the navbar and apply it as a hotfix


Update advanced image ratio to 72x72

To address https://github.com/StampyAI/stampy-ui/issues/553
This is just a short-term fix, I think we might benefit from using icons instead of AI-generated images (see https://github.com/StampyAI/stampy-ui/issues/674), I might experiment with that.

Unfortunately it looks like I can't experiment with  the content of the images, since they are fetched directly from Coda, and changing them would update the images on the live website.

I personally think AI-generated images there don't fit at all and look pretty ugly. Would love to see icons there like what's in the Figma


Z coordinate of joints.

Can someone please point me in the right direction to get the Z coordinate of a joint?
Is that possible?

You need to get z from depth frame using x and y you got from body_joints_to_depth_space

@vladkol
Thanks a lot. I get it now.
Sorry for spamming you everywhere I could. This was kinda urgent.

https://i.stack.imgur.com/xtcnF.png
how to deal with this problem, i still cant get z coordinate


Design: JobRuns vs. "Breakout Analytics"

This issue is a place to discuss the design for our two planned infrastructures for performing analysis on an image.
JobRuns are done with predefined server-side JobScript objects which are either preloaded into Atlascope or written by the user (Phase 2). These are run upon creation and a re-run can be requested by the user. The outputs are static (images or other) and will be displayed statically to the user.
Breakout Analytics (working title) are done with dynamically-defined client-side scripts. These produce client-side visualizations that can be further adjusted/expanded/continued/etc. One possible implementation that would reduce custom implementation is an embedded Jupyter notebook.

JobRuns are done with predefined server-side JobScript objects which are either preloaded into Atlascope or written by the user (Phase 2). These are run upon creation and a re-run can be requested by the user. The outputs are static (images or other) and will be displayed statically to the user.

I think this is a great design for us to build upon. It's simple and gets the job done. Most of our effort should lie in creating instances of these jobs we can imbue with biological meaning.

Breakout Analytics (working title) are done with dynamically-defined client-side scripts. These produce client-side visualizations that can be further adjusted/expanded/continued/etc. One possible implementation that would reduce custom implementation is an embedded Jupyter notebook.

To align with the terminology already established, we should call these "side breakouts". A Jupyter notebook is a good idea, but I envision that being something launched in a new window rather than embedded in the Atlascope application. For embedded components, we can begin with something like a histogram that displays image pixel statistics, and graduate to something specific to the biological workflows we want to address in Phase 1.

Can you explain why the title of this issue pits JobRuns against "breakout analytics" (or "side breakouts")? Both are integral parts of the intended functionality.

Can you explain why the title of this issue pits JobRuns against "breakout analytics" (or "side breakouts")? Both are integral parts of the intended functionality.

The title was meant to connote "compare & contrast," not necessarily which is better

The way I see us prototyping these things is to offer the user a chance to run a specific analytic on an image (either the whole slide, or some selected section thereof). If the result of that computation is stored (as a pin?) at that location of the image, then when it is visible, the application can offer the user a chance to display one of a selection of side breakout types. We connect the side breakout component to the computed data, and let it do its thing.
Is that a good basic design? (Obviously we would need to flesh out some details, but that can be deferred until the work is underway.) I am largely describing Chapter 2 of our initial user story.

Yes, I agree with your description. What do you imagine as options for the side breakout types?

Much like the question of "job types", right now I just envision a dummy vis component that just displays something trivial, like the average pixel color or some other braindead stand-in for "real" visualization types that we would cook up later.
I don't know how much we can pre-bake the design for this. It's something that (IMO) requires some experimentation (via collaboration between you and @naglepuff). We can schedule a meeting to talk about this--I have some ideas that I'm perhaps not expressing well in this thread.

This is a good discussion, but I think after refactoring how we handle jobs, and the need for experimentation to investigate side breakouts, I'm going to close this in favor of #91.


Access Denied OS Error 5 on Windows 7

Freshly installed Win7 a few days ago, I have since installed a bunch of stuff for Rust (rustup, rust, some cargo subcommands). However when I tried out cargo watch after installing it, I got
failed to add to job object: Access denied (OS Error 5)
for some reason...
cargo watch --debug:
>>> Load Git/VCS ignores: true
>>> Default ignores: ["*\\.DS_Store", "*.swp", "*\\.hg\\*", "*\\.git\\*", "*\\.svn\\*", "*\\target\\*"]
>>> All ignores: ["*\\.DS_Store", "*.swp", "*\\.hg\\*", "*\\.git\\*", "*\\.svn\\*", "*\\target\\*"]
>>> Commands: ["cargo check"]
>>> Watches: ["."]
>>> Watchexec arguments: Args { cmd: "cd F:\\Development\\crate-name && echo [Running \'cargo check\'] && cargo check && echo [Finished running]", paths: ["."], filters: [], ignores: ["*\\.DS_Store", "*.swp", "*\\.hg\\*", "*\\.git\\*", "*\\.svn\\*", "*\\target\\*"], clear_screen: false, signal: None, restart: true, debug: true, run_initially: true, no_shell: false, no_vcs_ignore: false, once: false, poll: false, poll_interval: 1000 }
*** glob converted to regex: Glob { glob: "**/target/**", re: "(?-u)^(?:/?|.*/)target(?:/?|/.*)$", opts: GlobOptions { case_insensitive: false, literal_separator: true }, tokens: Tokens([RecursivePrefix, Literal('t'), Literal('a'), Literal('r'), Literal('g'), Literal('e'), Literal('t'), RecursiveSuffix]) }
*** built glob set; 0 literals, 0 basenames, 0 extensions, 0 prefixes, 0 suffixes, 0 required extensions, 1 regexes
*** Loaded "\\\\?\\F:\\Development\\crate-name\\.gitignore"
*** Adding ignore: "*\.DS_Store"
*** Adding ignore: "*.swp"
*** Adding ignore: "*\.hg\*"
*** Adding ignore: "*\.git\*"
*** Adding ignore: "*\.svn\*"
*** Adding ignore: "*\target\*"
*** glob converted to regex: Glob { glob: "*\\.hg\\*", re: "(?-u)^.*/\\.hg/.*$", opts: GlobOptions { case_insensitive: false, literal_separator: false }, tokens: Tokens([ZeroOrMore, Literal('/'), Literal('.'), Literal('h'), Literal('g'), Literal('/'), ZeroOrMore]) }
*** glob converted to regex: Glob { glob: "*\\.git\\*", re: "(?-u)^.*/\\.git/.*$", opts: GlobOptions { case_insensitive: false, literal_separator: false }, tokens: Tokens([ZeroOrMore, Literal('/'), Literal('.'), Literal('g'), Literal('i'), Literal('t'), Literal('/'), ZeroOrMore]) }
*** glob converted to regex: Glob { glob: "*\\.svn\\*", re: "(?-u)^.*/\\.svn/.*$", opts: GlobOptions { case_insensitive: false, literal_separator: false }, tokens: Tokens([ZeroOrMore, Literal('/'), Literal('.'), Literal('s'), Literal('v'), Literal('n'), Literal('/'), ZeroOrMore]) }
*** glob converted to regex: Glob { glob: "*\\target\\*", re: "(?-u)^.*/target/.*$", opts: GlobOptions { case_insensitive: false, literal_separator: false }, tokens: Tokens([ZeroOrMore, Literal('/'), Literal('t'), Literal('a'), Literal('r'), Literal('g'), Literal('e'), Literal('t'), Literal('/'), ZeroOrMore]) }
*** built glob set; 0 literals, 0 basenames, 1 extensions, 0 prefixes, 1 suffixes, 0 required extensions, 4 regexes
*** Watching "\\\\?\\F:\\Development\\crate-name"
*** Assembled command "cmd.exe" "/C" "cd F:\\Development\\crate-name && echo [Running \'cargo check\'] && cargo check && echo [Finished running]"
thread 'main' panicked at 'failed to add to job object: Zugriff verweigert (os error 5)', C:\User
s\name\.cargo\registry\src\github.com-1ecc6299db9ec823\watchexec-1.8.3\src\process.rs:192
note: Run with `RUST_BACKTRACE=1` for a backtrace.
[Running 'cargo check']

Platform:
Windows 7 SP 1
rustc -vV:
rustc 1.19.0-nightly (f1140a331 2017-05-08)
binary: rustc
commit-hash: f1140a33176a5fb2e91e26ea3ae42a834dd9bfdf
commit-date: 2017-05-08
host: x86_64-pc-windows-msvc
release: 1.19.0-nightly
LLVM version: 4.0

cargo -vV:
cargo 0.19.0-nightly (fa7584c14 2017-04-26)
release: 0.19.0
commit-hash: fa7584c1495c2d9c04a6416f8e7b546abfa88a52
commit-date: 2017-04-26

Update:
Some talk with WindowsBunny in the #rust-beginners IRC channel revealed that this problem comes Windows 7 not allowing nested jobs which is the case when you invoke this binary with cargo watch as cargo apparently dispatches the call to the subcommand through a job.
Though the program worked flawlessly for me before on Windows (apparently that was an earlier version).

Right, we now go through watchexec, so that's what does that. The "dispatches the call to the subcommand through a job" thing is so killing process groups works, which is what #25 was about. You may want to file a bug on watchexec for this.

Before this crate used watchexec it worked perfectly fine for me for months, so I'll file a bug when I have the time, most likely on wednesday(today by now) or thursday.

Yeah, there's definitely tradeoffs. If you don't need the bugfixes / new features we got by using watchexec, you can downgrade to 4.0.3 which is the last non-watchexec version:
cargo install --force --vers 4.0.3

So should this issue remain closed or be reopened as the (underlying) problem is not resolved?

Using cargo watch 4.0.3 is probably the best thing here. There's not much I can do that won't break process watching.

Yeah, I'm going to call it as "not supporting Windows 7 or lower" for cargo watch >= 5. I'll add a mention to the readme.


InjectionNext: simplify code signing ID finding.

Replace the textbox with a combobox that is automatically filled with the output of the "security find-identity -v -p codesigning" command in order to simplify injection on devices.

@johnno1962 I am using swift Regex which requires macOS13
I can also implement it using NSRegularExpression, if you want to support older versions of macOS.

Hi @oryonatan, thanks for this. Without wanting to be too precious I'm not keen to bump the minimum deployment version just for a regular expression (not least because I'm about to bump the version of app and could do without the merge conflict!). The project already uses my own regex library that doesn't cause this sort of issue for which the code would be:
    var codeSigningID: String {
        guard let sha1: String = sha1Regex[#"([0-9A-F]{40})"#] else { return "" }
        return sha1
    }

The idea is you can subscript into a string with a regex and groups are assigned to the output tuple which is in this case just a string. Any chance you'd be prepared to use/test this code instead and revert the project file change?

HI @johnno1962 I modified the code to user SwiftRegex and verified that it works.
I am not sure about where to check this build phase ... what I checked is that InjectionNext still works with our App on devices after the change.

I was thinking the defaults write could have been added to the reinstated bundle copy script and avoid a lot of extra commands running, parsing results etc each time a person injects which may slow it down.

I was thinking the defaults write could have been added to the reinstated bundle copy script and avoid a lot of extra commands running, parsing results etc each time a person injects which may slow it down.

ok but right now there is no bundle copy script, right? so is there anything I should check before merging?

Please leave the merging into main to me on this project, there are a couple of other changes I'd like to discuss.

I have an abstract for running commands in the Open package. Can you try the following change.
    func fetchCodeSigningIdentities() -> [String] {
        var identities: [String] = []

        let security = Topen(exec: "/usr/bin/security",
            arguments: ["find-identity", "-v", "-p", "codesigning"])

        while let line = security.readLine() {
            let components = line.split(separator: ")", maxSplits: 1)
            if components.count >= 2 {
                let identity = components[1]
                identities.append(String(identity))
            }
        }

        return identities
    }

I need to think about this some more. To be honest I miss the option of being able to set the default if we're moving back to a copy bundles approach eventually anyway which would as near as possible to automatic. I'm trying to think if there is a way to have the best of both worlds.

regarding setting the default, do you mean keeping the same ID on every launch? I think that'll be a good idea, and should be quite easy if we save the selection to the NSUserDefaults

func parseSecurityOutput can be removed now right? Yes, it would be good to make the users selection "sticky".

I've made a push paving the way for a codesigningIdentity default if you want to rebase.

ooo

I just pushed a commit with more organized data validation/saving

I guess we worked in the same time, you can check my code

Can we route all interaction with user defaults though the new Defaults struct?

You really don't like SPM do you? Understandable at times but the project is less SPM than it was though you now need to clone it with --recurse-submodues. I've fixed the build problem. There was a group with no files so git didn't create the directory and non of the relative paths would resolve. Should be OK now.

Did you remove the "Compiler Injection" item from the menu bar menu while you're editing the nib?

Hi, it works after rebase, but I had to remove the Bundle target dependency for it to compile.

didn't touch the "Compiler Injection" icon

Never mind, I'll tidy up the nib later. You really shouldn't have needed to "remove the Bundle target dependency for it to compile". That's a double check that the package itself is compiling. I can merge this now and pick ups pieces with a fresh clone if there any. Awaiting your confirmation...

from my side - you can merge
I am still getting compilation errors on the bundle
error: Build input files cannot be found: '.... Did you forget to declare these files as outputs of any script phases or custom build rules which produce them? (in target 'InjectionBundle' from project 'InjectionNext')

update - it was my bad, I forgot to pull submodules

Executive decision required.. Do you think it would be better if "Select Xcode" also did a "Launch Xcode"?

Xcode 16 beta4 checks out.