This issue generates Pull Requests

This issue is connected to a GitHub Actions workflow that generates a Markdown file for each comment, via automated Pull Requests.

Foo

Foo

Bar

Egg

Spam

Spam

This comment will trigger an Actions run, which will take this text, save it in a text file under ./commentToPR/{commentID}.md.
Here we're going to test Markdown syntax support:

Unnumbered
Lists

Numbered
Lists

console.log('code block')

Typography
Bold text, italic, ~strikethrough~

Block quote

Link

This comment will trigger an Actions run, which will take this text, save it in a text file under ./commentToPR/{commentID}.md.
Here we're going to test Markdown syntax support:

Unnumbered
Lists

Numbered
Lists

console.log('code block')

Typography
Bold text, italic, ~strikethrough~

Block quote

Link
Image:

Tables:

First Header
Second Header

Content from cell 1
Content from cell 2

Content in the first column
Content in the second column

Test with escaping and backticks:
Inline code: foo/bar
Code block:
console.log('foo/bar')
console.dir("foo/bar")

Test with quotes:
inline code, 'single quotes' and "double quotes".
Code block:
console.log('foo/bar')
console.dir("foo/bar")

Test with quotes:
inline code, 'single quotes' and "double quotes".
Code block:
console.log('foo/bar')
console.dir("foo/bar")

Test with quotes:
inline code, 'single quotes' and "double quotes".
Code block:
console.log('foo/bar')
console.dir("foo/bar")

Testing emoji statuses

Testing emoji statuses

Testing emoji statuses

Test

:tada:


The Active User in the HA instance is incorrect.

Checklist

[X] I have updated the integration to the latest version available
[X] I have checked if the problem is already reported

The problem
the language translation on the status text and in general selected user isn't anymore active_user since the last releases of home assistant. The issue is also giving problems with the update of the correct translation file in use (this apply to multiple users environments in HA)
What version of an integration has described problem?
2024.05.0
What was the last working version of an integration?
No response
What vacuum model do you have problems with?
Roborock.S5
Please firmware installed on your Vacuum.
2023.05.0
What type of platform you use?
ARM (Raspberry Pi, Odroid, etc.) > 4GB
What version of Home Assistant do you use?
2024.5.4
What type of installation are you running?
Home Assistant OS
Camera's settings.
No response
Logs or Errors shown in the HA snapshots (please enable the Debug Mode)
No response
Additional information
The issue is under investigation. We count to fix it as planned on the next release.

2024.05.4 include fix for #146


CLI-Wallet:Convert the basic kitty to Tradable kitty

Since rust -cli -side implementation is done I moving to Done as it is already submitted in the https://github.com/mlabs-haskell/Tuxedo


Respect failure rate option with mock responses

Description
There will be not failed response if the mock file is used.
Expected behaviour
the failure mock can be triggered in mock response mode.
Actual behaviour
no failure response
Steps to reproduce

launch the proxy
./m365proxy.exe  -f 100 --mocks-file .\responses.sample.json
access to some graph api by browser.

Microsoft 365 Developer Proxy Version
0.10.0
Operating system (environment)
Windows
Shell
PowerShell
Additional Info
No response

Hey @xzf0587, this is a currently known limitation, but I fully agree that you should be able to use them in conjunction. We'll get on it.

Just to clarify, if you set failure rate to 100, the mocks will never be triggered. You're basically saying that you want all requests to be failed by the (Graph)RandomErrorPlugin. If you'd like mocks to work, you'd need to lower the failure rate so that some requests are passed through, and those requests that aren't being failed would then be served from mocks. Does that make sense?

Just to clarify, if you set failure rate to 100, the mocks will never be triggered. You're basically saying that you want all requests to be failed by the (Graph)RandomErrorPlugin. If you'd like mocks to work, you'd need to lower the failure rate so that some requests are passed through, and those requests that aren't being failed would then be served from mocks. Does that make sense?

Yes. Some requests will be failed meanwhile other requests be mocked or passed through.
And I tried the config to set failure rate to 100. But the response is not error response but mock response. Maybe you can help double confirm it.
m365proxy.exe  -f 100 --mocks-file ./responses.sample.json

Ah sorry, I misunderstood. Yes, with -f 100 you should see random errors rather than mocks. Let me confirm.

OK, so this works as expected with a small adjustment of the configuration.
By default, our config is similar to:
{
  "plugins": [
    // [...] trimmed for brevity
    {
      "name": "GraphMockResponsePlugin",
      "enabled": true,
      "pluginPath": "plugins\\m365-developer-proxy-plugins.dll",
      "configSection": "mocksPlugin"
    },
    {
      "name": "GraphRandomErrorPlugin",
      "enabled": true,
      "pluginPath": "plugins\\m365-developer-proxy-plugins.dll",
      "configSection": "graphRandomErrorsPlugin"
    }
    // [...] trimmed for brevity
  ],
  // [...] trimmed for brevity
}

Proxy executes plugins in the order they're defined in the config. In this case, mocks are executed before random error so if you have a mock defined for a URL, it will never reach the random error.
If you want both random errors and mocks, you could change the order of plugins to:
{
  "plugins": [
    // [...] trimmed for brevity
    {
      "name": "GraphRandomErrorPlugin",
      "enabled": true,
      "pluginPath": "plugins\\m365-developer-proxy-plugins.dll",
      "configSection": "graphRandomErrorsPlugin"
    },
    {
      "name": "GraphMockResponsePlugin",
      "enabled": true,
      "pluginPath": "plugins\\m365-developer-proxy-plugins.dll",
      "configSection": "mocksPlugin"
    }
    // [...] trimmed for brevity
  ],
  // [...] trimmed for brevity
}

That way, random errors will be handled first, and any request that's not randomly failed, will be compared against mocks.
There's something to say for both use cases, which is why we made it configurable. I hope this helps.
@garrytrinder we should look into clarifying this in our docs.

Well. Based on this configuration, the proxy can support random errors and mock response simultaneously.
Thanks.

A new page has been add to our document this https://github.com/microsoft/m365-developer-proxy/wiki/Why-are-random-errors-not-thrown-when-using-mocks


Fix Number.compare() and update QueryParser to manually adapt numbers…

…, rather than expecting foam.Number.compare() to do it.
@m-cheung PTAL compare() change.
@jacksonic PTAL test change.
@kgrgreer PTAL QueryParser change.

Added documentation and removed code-for-debugging. @kgrgreer anything else?

@m-cheung and @kgrgreer, some more deep changes in compare() now included. PTAL.

Looks much better. Thanks


Use full sha for policy-controller builds

Updating the policy-controller image build to use the full commit sha
Resolves #759

@adam-cattermole I assume there is no issue with the tag length here?

@adam-cattermole I assume there is no issue with the tag length here?

Not that I know of, we're using the full sha for our tags for kuadrant -> https://github.com/Kuadrant/kuadrant-operator/blob/main/.github/workflows/build-images-scheduled.yaml#L13-L14

These two failing items are known issues so this can be merged
/lgtm


Fields in contact form are not responding to typing.

Describe the bug:
Name, email, and phone number fields are not allowing text
To Reproduce:
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See an error

Expected behavior:
we should be able to type in the text.
Screenshots:

Note:

If you want to work on an issue, you should check if it has already been assigned to anyone.

Can I work on this issue under GSSOC21? Kindly assign it to me.

Can I work on this issue under GSSOC21? Kindly assign it to me.

Sure, why not?

Can I work on this issue under GSSOC21? Kindly assign it to me.

are you working on it? if not we have to assign this to others. Please respond.


How to use this on overview page

Can you please provide steps of usage ?

https://bd808.com/blog/2013/04/17/hacking-github-contributions-calendar/


Implement a base template for generic object detail views

Fixes: #479

This is a draft just to get this into peoples' eyeballs.

Added nautobot/core/templates/generic/object_detail.html as new generic detail view base

Added search placeholder to match current object verbose plural name for search field

The object_detail.html template content block now has three child blocks for left, right, and full_width

Panels for custom fields, relationships, and tags are now included by default in left column
Plugin include panels now automatically included in base in each column (left/right/full)
Added a new extra_buttons block above the plugin_buttons tag so that detail views can define extra buttons without needing to overload the entire header block

virtualization/virtualmachine.html is the first template to use this

Added a new extra_breadcrumb block between the list view and detail view breadcrumbs in the base detail view so that detail views can define interstitial breadcrumbs (such as is the case with the Circuit detail view, linking to the circuit provider) without needing to overload the entire header block

circuits/circuit.html is the first template to use this

Added a new buttons block so that the entire default button block can be overloaded if needed (such as is the case w/ VLAN groups since they have a slug but editing is done using pk)

ipam/vlangroup.html is the first template to use this

Added a new block for custom_buttons to include buttons at the top of the table outputs on the right (e.g. show/hide available for prefixes/aggregates)

ipam/aggregate.html, ipam/prefix.html are using this

Added a new extra_nav_tabs block inside of the nav_tabs block so that views can selectively add tabs between the primary object and "Change Log" tabs without having to overload the entire nav_tabs block

ipam/prefix.html, ipam/vlan.html are using this (and this will be backported to other detail views

Updated inc/created_updated.html to only display if object.last_updated exists so that it may be included in the generic detail template
Added an extra row of padding after the paginator.html include on extras/tag.html
Added a get_changelog_url() method to nautobot.core.views.generic.ObjectView for use in generic detail base
Updated nautobot.extras.views.ObjectChangeLogView to include verbose_name, verbose_name_plural in template context
Tags include panel refactored to handle whether it should display internally similar to relationships and custom_fields panel includes

Completion checklist:

[x] nautobot/virtualization/templates/virtualization/virtualmachine.html
[x] nautobot/virtualization/templates/virtualization/vminterface.html
[x] nautobot/virtualization/templates/virtualization/clustertype.html
[x] nautobot/virtualization/templates/virtualization/cluster.html
[x] nautobot/virtualization/templates/virtualization/clustergroup.html
[x] nautobot/circuits/templates/circuits/circuit.html
[x] nautobot/circuits/templates/circuits/provider.html
[x] nautobot/circuits/templates/circuits/circuittype.html
[x] nautobot/tenancy/templates/tenancy/tenantgroup.html
[x] nautobot/tenancy/templates/tenancy/tenant.html
[ ] nautobot/dcim/templates/dcim/devicetype.html
[ ] nautobot/dcim/templates/dcim/rackrole.html
[ ] nautobot/dcim/templates/dcim/devicebay.html
[ ] nautobot/dcim/templates/dcim/region.html
[ ] nautobot/dcim/templates/dcim/powerfeed.html
[ ] nautobot/dcim/templates/dcim/interface.html
[ ] nautobot/dcim/templates/dcim/poweroutlet.html
[ ] nautobot/dcim/templates/dcim/manufacturer.html
[ ] nautobot/dcim/templates/dcim/rackgroup.html
[ ] nautobot/dcim/templates/dcim/powerport.html
[ ] nautobot/dcim/templates/dcim/platform.html
[ ] nautobot/dcim/templates/dcim/rack.html
[ ] nautobot/dcim/templates/dcim/frontport.html
[ ] nautobot/dcim/templates/dcim/consoleserverport.html
[ ] nautobot/dcim/templates/dcim/device.html
[ ] nautobot/dcim/templates/dcim/cable.html
[ ] nautobot/dcim/templates/dcim/device/rearports.html
[ ] nautobot/dcim/templates/dcim/device/poweroutlets.html
[ ] nautobot/dcim/templates/dcim/device/status.html
[ ] nautobot/dcim/templates/dcim/device/devicebays.html
[ ] nautobot/dcim/templates/dcim/device/base.html
[ ] nautobot/dcim/templates/dcim/device/inventory.html
[ ] nautobot/dcim/templates/dcim/device/interfaces.html
[ ] nautobot/dcim/templates/dcim/device/frontports.html
[ ] nautobot/dcim/templates/dcim/device/consoleserverports.html
[ ] nautobot/dcim/templates/dcim/device/powerports.html
[ ] nautobot/dcim/templates/dcim/device/consoleports.html
[ ] nautobot/dcim/templates/dcim/device/config.html
[ ] nautobot/dcim/templates/dcim/consoleport.html
[ ] nautobot/dcim/templates/dcim/rackreservation.html
[ ] nautobot/dcim/templates/dcim/virtualchassis.html
[ ] nautobot/dcim/templates/dcim/powerpanel.html
[ ] nautobot/dcim/templates/dcim/site.html
[ ] nautobot/dcim/templates/dcim/inventoryitem.html
[ ] nautobot/dcim/templates/dcim/rearport.html
[ ] nautobot/dcim/templates/dcim/devicerole.html
[x] nautobot/ipam/templates/ipam/prefix.html
[x] nautobot/ipam/templates/ipam/routetarget.html
[x] nautobot/ipam/templates/ipam/aggregate.html
[x] nautobot/ipam/templates/ipam/vlan.html
[x] nautobot/ipam/templates/ipam/vrf.html
[x] nautobot/ipam/templates/ipam/vlangroup.html
[x] nautobot/ipam/templates/ipam/service.html
[x] nautobot/ipam/templates/ipam/ipaddress.html
[x] nautobot/ipam/templates/ipam/role.html
[x] nautobot/ipam/templates/ipam/rir.html
[x] nautobot/extras/templates/extras/status.html
[x] nautobot/extras/templates/extras/gitrepository.html
[x] nautobot/extras/templates/extras/tag.html
~[ ] nautobot/extras/templates/extras/job.html~
[x] nautobot/extras/templates/extras/configcontext.html
~[ ] nautobot/extras/templates/extras/jobresult.html~
[x] nautobot/extras/templates/extras/configcontextschema/base.html
[x] nautobot/extras/templates/extras/configcontextschema/validation.html
[x] nautobot/extras/templates/extras/graphqlquery.html
[x] nautobot/extras/templates/extras/customlink.html
[x] nautobot/extras/templates/extras/objectchange.html
[x] nautobot/extras/templates/extras/computedfield.html
[x] nautobot/extras/templates/extras/configcontextschema.html
[x] nautobot/extras/templates/extras/webhook.html
[x] nautobot/extras/templates/extras/exporttemplate.html

Awesome! Looking at the details now, but one thought to start off with - it would be terrific IMHO if we could add a page to the development docs about the proper use of the various generic templates - at least spelling out for each template what the available blocks are and how to make use of them appropriately.

Yeah I was thinking the same thing actually. Like an annotated view of a rendered page showing where each block is.


run_dock is running, but stops output into the output.db file

When I try to docking a .smi file containing 10k molecules against a receptor, the size of output.db increases continually.
However, after some time (tens of minutes), the increase stopped, while run_dock still gives good output.
Then I stop the run_dock running, and then just re-run the run_dock task. The size of output.db will increase again.
This process will repeat and repeat.
How to solve this problem and continue docking until the last molecue ?

Update of the problem:
when I use a series of .smi files containing 200 molecules each, run_dock will go on docking for every file, with some .db be 1M size or 2 M size without corresponding .sdf output, while a few .db files be 10 M with corresponding .sdf output.
It seems that some molecules cause docking problem, thus no write into .db file, while docking for next molecule in the .smi file will go on. And after all molecules are docked, next smi file run_dock begins to work, but no .sdf file was written since .db file is incomplete.
This is annoying, as you have to check again and again, and rerun the run_dock to overcome the problem molecules.

Just a note. If a molecule is failed during the first run of the script, in the second run the script will try to dock it again.
Normally we did not observed many failed docking attempts across millions of compounds. Maybe your compounds are somewhat special. Maybe there are issues in molecule preparation by meeko or conversion them back from PDBQT to MOL. You may also try to use the previous version of the software 0.2.7 - where the old pipeline was implemented.

Yes, if unsucessful docking can be skipped and next successful docking of molecule can be written into sdf, that will be quite fine.
Plan to go on checking according to your suggestions.
Files used in my docking are attached, Thanks!
Attachment contains:
.smi (10 files, each containing 10 molecules)
.db
.sdf (successful one)
fail list of smi
config yml
receptor pdbqt
receptor box txt
iterative script of run_dock fo  all smi files

This is a strange behavior, because if docking of a molecule is failed, this molecule should be simply skipped (the fields pdb_block, mol_block and others will be empty).

Does the work of the script run_dock finish successfully or it returns some error?
Is the issue reproducible on the same SMILES file and the same molecules are omitted?
I did not understand, after restarting the script all molecules were successfully docked or not?
Did you try to dock SMILES causing problem to other protein?
Could you share the set of SMILES which cause such a behavior? The protein structure may be also useful to reproduce this behavior.
Provide please which settings/arguments do you use to run scripts.

Just a note. If a molecule is failed during the first run of the script, in the second run the script will try to dock it again.
Normally we did not observed many failed docking attempts across millions of compounds. Maybe your compounds are somewhat special. Maybe there are issues in molecule preparation by meeko or conversion them back from PDBQT to MOL. You may also try to use the previous version of the software 0.2.7 - where the old pipeline was implemented.

I split the overall smi file into files, each containing 20 molecules. Now get 1588 sdf files and 1906 db files.
Failed rate seems to be about 318 in (1906*20).  About 1/120
Is this abnormal ?

Hi! perhaps it might be a gnina issue? I have tried running the smi files using vina program (I can't replicate in gnina because I am using Mac OS M1), and I did not encounter the error issue. All of the compounds so far can be docked and the sdf output is there for the dk_* files
I have also adjusted the config file to accomodate the vina program and my limited cpu (in case it plays a part in the error):
protein: PDIab_loopF240P.pdbqt
protein_setup: PDIab_vina_box.txt
exhaustiveness: 16
scoring: default
n_poses: 15
ncpu: 1
seed: 1001

Thanks a lot!  I also tried and it works well. The results is similar with your providing one.
In my previous test of an ATP-binding protein, gnina works better than vina. Results from gnina (after re-running) is some different from vina.
Great work !
Currently, I have not added protonation and just use --no_protonation option.
Hope your work smooth to replace chemaxon !

We also encountered this issue with the latest version of gnina now. @Samuel-gwb and @Feriolet, could you share your errors?
In our case it throws an error on a wrong angle - nan. I suspect, this may be an issue with RDKit conformer generator and I'm investigating it right now.
However, the error is not well reproducible. The same set of 12000 molecules may be docked without errors for some protein conformations, but for others gives an error just once, for some - two and more times.
terminate called after throwing an instance of 'numerical_error'
  what():  Numerical degeneracy encountered. Check for non-physical inputs. nan should be between -pi and pi.
*** Aborted at<PHONE_NUMBER> (unix time) try "date -d @1709916512" if you are using GNU date ***
PC: @                0x0 (unknown)
*** SIGABRT (@0x1d530000e589) received by PID 58761 (TID 0x2afecf016700) from PID 58761; stack trace: ***
    @     0x2afeccc10630 (unknown)
    @     0x2afecdb04387 __GI_raise
    @     0x2afecdb05a78 __GI_abort
    @     0x2afecd2b815d __gnu_cxx::__verbose_terminate_handler()
    @     0x2afecd2b61a6 __cxxabiv1::__terminate()
    @     0x2afecd2b61f1 std::terminate()
    @     0x2afecd2b6408 __cxa_throw
    @           0x591fd4 normalize_angle()
    @           0x593ee4 bfgs<>()
    @           0x590bfd quasi_newton::operator()()
    @           0x5622d9 monte_carlo::operator()()
    @           0x5737b2 parallel_mc_aux::operator()()
    @           0x56f5a4

Overall, the behavior, where docking continues after the core dump but the database is not updated, is strange. If a molecule causes an error it should be skipped, but it somehow blocks database update. This is an issue of EasyDock already and it should be fixed.

I can't provide the gnina error as I am not using Ubuntu right now to test the run_dock. However, if I interpret your comment right, the EasyDock issue is that the output.db for some molecules are not updated correctly even if they are docked successfully after some molecules are skipped. I have found a solution to that issue:
#### Using autodock vina

def mol_dock(mol, config):
    # Load config and temp file

    # Reproducing a random error on certain molecules
    try:
        randomnumber = random.randint(100)
        if randomnumber > 10:
            print(randomnumber)
            raise ValueError
        else:
            print('success',randomnumber)

        with open(ligand_fname, 'wt') as f:
           f.write(ligand_pdbqt)

    # Adding an except argument
    except:
        pass
    finally:
        # close and unlink

For some reason, adding the except line solve the issue of output.db not updating.

Thank you for the suggestion, but this did not help. The current version of the function I use for testing.
I added explicit catching exceptions in subprocess and treat them explicitly, and afterwards add catching of all other exceptions. The issue here is that error occurs in subprocess and not in Python code.
def mol_dock(mol, config):
    """

    :param mol: RDKit Mol of a ligand with title
    :param config: yml-file with docking settings
    :return:
    """

    output = None

    config = __parse_config(config)

    mol_id = mol.GetProp('_Name')
    boron_replacement = config["cnn_scoring"] in [None, "none"]
    ligand_pdbqt = ligand_preparation(mol, boron_replacement=boron_replacement)
    if ligand_pdbqt is None:
        return mol_id, None

    output_fd, output_fname = tempfile.mkstemp(suffix='_output.pdbqt', text=True)
    ligand_fd, ligand_fname = tempfile.mkstemp(suffix='_ligand.pdbqt', text=True)

    try:
        with open(ligand_fname, 'wt') as f:
            f.write(ligand_pdbqt)

        cmd = f'{config["script_file"]} --receptor {config["protein"]} --ligand {ligand_fname} --out {output_fname} ' \
              f'--config {config["protein_setup"]} --exhaustiveness {config["exhaustiveness"]} ' \
              f'--seed {config["seed"]} --scoring {config["scoring"]} ' \
              f'--cpu {config["ncpu"]} --addH {config["addH"]} --cnn_scoring {config["cnn_scoring"]} ' \
              f'--cnn {config["cnn"]} --num_modes {config["n_poses"]}'
        start_time = timeit.default_timer()
        subprocess.run(cmd, shell=True, check=True)  # this will trigger CalledProcessError and skip next lines
        dock_time = round(timeit.default_timer() - start_time, 1)

        score, pdbqt_out = __get_pdbqt_and_score(output_fname)
        mol_block = pdbqt2molblock(pdbqt_out.split('MODEL')[1], mol, mol_id)

        output = {'docking_score': score,
                  'pdb_block': pdbqt_out,
                  'mol_block': mol_block,
                  'dock_time': dock_time}

    except subprocess.CalledProcessError as e:
        sys.stderr.write(f'Error caused by docking of {mol_id}\n')
        sys.stderr.write(str(e))
        sys.stderr.write('STDERR output:\n')
        sys.stderr.write(e.stderr)
        sys.stderr.flush()
        output = None

    except:
        pass

    finally:
        os.close(output_fd)
        os.close(ligand_fd)
        os.unlink(ligand_fname)
        os.unlink(output_fname)

    return mol_id, output

Now I think that the issue may be in releasing file resources in the finally block. However, I do not understand how this may block database update with results returned from other processes running in parallel.

It works! So, the solution could be sys.stderr.write(str(e.stderr)). I had to explicitly cast type of e.stderr to str.
Thanks a lot! I'll update repo later today.

I pushed the commit fixing this freezing of database update. Please check it on your files and settings. You can check the latest version from the repo. Now problematic molecules should be skipped as expected. This fix will be included in the next release soon.
It is important to use the latest version also due to fixed extraction of docking scores from gnina docking outputs. There was a bug in the main repo and scores extracted previously were smina-like scores.

I tried gnina with updated code, and still meet an error. This time, the command stopped after output error. Before, it go on docking next molecule but not update the .db file.
easydock_error.txt

I checked. gnina_dock.py should contain the very codes above.
Attachments contain input files and gnina_dock.py (named as gnina_dock_py.txt) files.
Just now, I have not "pip install easydock" after git pull / update. After pip install, the gnina docking go on when meeting problem molecules, while .db file is not updated, seems similar with problem several days ago.
test.tar.gz
gnina_dock_py.txt

To confirm, there is only one easydock version on your computer right? I want to rule out the possibility that the easydock use the old version which cause the not updated .db file instead of the new version

Yes, only one environment.
In easydock/easydock directory, you can find the  vina_dock.py and gnina_dock.py is the latest one:
-rw-rw-r-- 1 gwb gwb 17399 3月   1 10:15 database.py
-rw-rw-r-- 1 gwb gwb    91 3月   1 10:15 auxiliary.py
-rwxrwxr-x 1 gwb gwb  5684 3月  12 07:55 vina_dock.py
-rw-rw-r-- 1 gwb gwb  3060 3月  12 07:55 gnina_dock.py
Then "pip install easydock" in the main directory.

That's odd. I have tried to run it on my end and it does not produce any issue. The only issue I encountered is when I use more memory than I have. Here is the result on my end. I have used binary version of gnina.

I'll try a fresh git clone and environment install to have a check !
Thanks for your so many efforts!

Hi @Feriolet ,
After remove previous easydock installation and pip install the latest one, it's ok !
Cheers !

Thank you very much! We finally overcome this issue and I hope it will not appear again)


Only poll HomeKit connection once for all entities on a single bridge/pairing

Description:
This moves the bulk of HomeKitEntity.async_update to the connection object. It is then run once for all entities on the same connection, rather than once for each entity. For example, if you have 15 bridges with 5 sensors each, right now we will need to execute 75 polls on the thread pool. This is a setup a real user has (#25178). If some of these sensors were low power enough and don't have multi-threaded HTTP implementations some of these polls could end up being serialized, and block other threads from starting.
This is also groundwork for moving from polling to event based updates - we'll hold open one connection to the bridge rather than one for each entity.
Checklist:

[x] The code change is tested and works locally.
[x] Local tests pass with tox. Your PR cannot be merged unless tests pass
[x] There is no commented out code in this PR.
[x] I have followed the [development checklist][dev-checklist]

Thanks for the great feedback as ever @MartinHjelmare 😁 👍
@balloob are you happy your comments are addressed as well? If so i'll go ahead and squash/merge this onto dev.


Is the example complete for Android?

Hi there, i am doing some investigations into whether this library is going to work for our needs. I have copied the example code into our app and the map shows, however I can't seem to draw any polygons.
I also noticed that if modePolygon is set to false then I can't scroll around the map, or click on any other components on the screen, other than the draw on/off button.
I am just wondering if the example is complete for Android?
Cheers
Here's some more information in case it helps
react: 17.0.2
react-native-gesture-handler: 1.10.3
react-native-svg: 12.1.1
react-native-maps-draw: 0.1.4

Android Version: 11
Pixel 5, API 30 -- Emulated

@josiahwitheford hi)
I will test and fix the error

@josiahwitheford Fixed in version 0.1.5


TickWheelExecutor causes OOM

blaze-core:0.15.1
My application is based on http4s-blaze-server:0.23.0
Application crashed: java.lang.OutOfMemoryError: Java heap space
Heap size was slowly increasing during ~ 1 week and then OOM occurred

Looking at heap dump it seems TickWheelExecutor was keeping Register and Cancel objects infinitely

TextFormat.write is blocking IO.  You're shifting it off to a cached thread pool, but cancellation will still hang in Cats-Effect 3 until the effect completes.  I am surprised it would hang forever, but maybe?  If you wrapped it in IO.interruptible, I don't believe you could get into this state.
That said, we shouldn't block the executor thread on response cancellation, and didn't before http4s-0.23.  I believe #5118 will fix it, even if your response is not cancelable at all.

Hard to say without a reliable repro, but #5118 should fix this.  We're preparing a release train this week.  If it comes up again, please reopen.

@rossabaker thank you a lot for the fix! I think not blocking scheduler thread should fix it. But I still was wondering why it has happened? I started to hack the example and did this:
import cats.effect.{ExitCode, IO, IOApp}
import io.prometheus.client.hotspot.DefaultExports
import org.http4s.HttpRoutes
import org.http4s.blaze.server.BlazeServerBuilder
import org.http4s.dsl.io._
import org.http4s.server.Router
import org.http4s.syntax.all._

import java.util.concurrent.Executors
import java.util.concurrent.atomic.AtomicInteger
import scala.concurrent.ExecutionContext

object Main extends IOApp {
 DefaultExports.initialize()

 val tp = Executors.newCachedThreadPool()
 val ec = ExecutionContext.fromExecutor(tp)

 val counter = new AtomicInteger()

 val metrics: HttpRoutes[IO] = HttpRoutes.of[IO] {
   case GET -> _ =>
     (if (counter.get() == 3) {
        IO {
          counter.incrementAndGet()
          scala.io.StdIn.readLine()
        }
      } else {
        IO.pure(counter.incrementAndGet().toString)
      })
       .flatMap(Ok(_))
 }

 val server = BlazeServerBuilder[IO](ec)
   .bindHttp(9090, "<IP_ADDRESS>")
   .withHttpApp(Router("/" -> metrics).orNotFound)
   .resource

 override def run(args: List[String]): IO[ExitCode] =
   server.useForever.as(ExitCode.Success)
}

This should block on 4'th call. After 60 seconds (default idle timeout) blaze-tick-wheel-executor becomes WAITING forever:
"blaze-tick-wheel-executor" #27 daemon prio=5 os_prio=31 cpu=43.49ms elapsed=535.46s tid=0x00007f9b819b3000 nid=0x8603 waiting on condition  [0x000070000de3a000]
   java.lang.Thread.State: WAITING (parking)
        at jdk.internal.misc.Unsafe.park(java.base@11/Native Method)
        - parking to wait for  <0x000000070a4439c8> (a scala.concurrent.impl.CompletionLatch)
        at java.util.concurrent.locks.LockSupport.park(java.base@11/LockSupport.java:194)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(java.base@11/AbstractQueuedSynchronizer.java:885)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(java.base@11/AbstractQueuedSynchronizer.java:1039)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(java.base@11/AbstractQueuedSynchronizer.java:1345)
        at scala.concurrent.impl.Promise$DefaultPromise.tryAwait0(Promise.scala:207)
        at scala.concurrent.impl.Promise$DefaultPromise.result(Promise.scala:225)
        at scala.concurrent.Await$.$anonfun$result$1(package.scala:201)
        at scala.concurrent.Await$$$Lambda$693/0x0000000800549c40.apply(Unknown Source)
        at scala.concurrent.BlockContext$DefaultBlockContext$.blockOn(BlockContext.scala:62)
        at scala.concurrent.Await$.result(package.scala:124)
        at org.http4s.blaze.server.Http1ServerStage.$anonfun$cancel$1(Http1ServerStage.scala:331)
        at org.http4s.blaze.server.Http1ServerStage.$anonfun$cancel$1$adapted(Http1ServerStage.scala:330)
        at org.http4s.blaze.server.Http1ServerStage$$Lambda$692/0x000000080054a040.apply(Unknown Source)
        at scala.Option.foreach(Option.scala:437)
        at org.http4s.blaze.server.Http1ServerStage.cancel(Http1ServerStage.scala:330)
        at org.http4s.blaze.server.Http1ServerStage.stageShutdown(Http1ServerStage.scala:322)
        - locked <0x0000000700941be8> (a org.http4s.blaze.server.Http1ServerParser)
        at org.http4s.blaze.pipeline.Tail.closePipeline(Stages.scala:95)
        at org.http4s.blaze.pipeline.Tail.closePipeline$(Stages.scala:94)
        at org.http4s.blaze.server.Http1ServerStage.closePipeline(Http1ServerStage.scala:86)
        at org.http4s.blaze.server.Http1ServerStage.$anonfun$initIdleTimeout$1(Http1ServerStage.scala:137)
        at org.http4s.blaze.server.Http1ServerStage.$anonfun$initIdleTimeout$1$adapted(Http1ServerStage.scala:132)
        at org.http4s.blaze.server.Http1ServerStage$$Lambda$305/0x0000000800354840.apply(Unknown Source)
        at org.http4s.blazecore.IdleTimeoutStage$$anon$1.run(IdleTimeoutStage.scala:80)
        at org.http4s.blaze.util.Execution$$anon$3.execute(Execution.scala:80)
        at org.http4s.blaze.util.TickWheelExecutor$Node.run(TickWheelExecutor.scala:271)
        at org.http4s.blaze.util.TickWheelExecutor$Bucket.checkNext$1(TickWheelExecutor.scala:207)
        at org.http4s.blaze.util.TickWheelExecutor$Bucket.prune(TickWheelExecutor.scala:213)
        at org.http4s.blaze.util.TickWheelExecutor.go$3(TickWheelExecutor.scala:168)
        at org.http4s.blaze.util.TickWheelExecutor.org$http4s$blaze$util$TickWheelExecutor$$cycle(TickWheelExecutor.scala:171)
        at org.http4s.blaze.util.TickWheelExecutor$$anon$1.run(TickWheelExecutor.scala:68)

   Locked ownable synchronizers:
        - None

Subsequent calls do not unblock it and atomic references with events starts growing:

I've tried several time and it reproduces reliably.
The only thing that bothers me at that point is that I was thinking that the thread from cached pool should be still seen in thread dump locked performing blocking I/O. But with the example above it does not - cached pool is empty at the time I take thread dump (as was with my main application).
But I see the thread from computational pool that is locked:
"io-compute-8" #22 daemon prio=5 os_prio=31 cpu=6.71ms elapsed=1091.37s tid=0x00007f9b80c2a000 nid=0x8e03 runnable  [0x000070000da2e000]
   java.lang.Thread.State: RUNNABLE
        at java.io.FileInputStream.readBytes(java.base@11/Native Method)
        at java.io.FileInputStream.read(java.base@11/FileInputStream.java:279)
        at java.io.BufferedInputStream.read1(java.base@11/BufferedInputStream.java:290)
        at java.io.BufferedInputStream.read(java.base@11/BufferedInputStream.java:351)
        - locked <0x00000007000b97c0> (a java.io.BufferedInputStream)
        at sun.nio.cs.StreamDecoder.readBytes(java.base@11/StreamDecoder.java:284)
        at sun.nio.cs.StreamDecoder.implRead(java.base@11/StreamDecoder.java:326)
        at sun.nio.cs.StreamDecoder.read(java.base@11/StreamDecoder.java:178)
        - locked <0x0000000700aa1348> (a java.io.InputStreamReader)
        at java.io.InputStreamReader.read(java.base@11/InputStreamReader.java:185)
        at java.io.BufferedReader.fill(java.base@11/BufferedReader.java:161)
        at java.io.BufferedReader.readLine(java.base@11/BufferedReader.java:326)
        - locked <0x0000000700aa1348> (a java.io.InputStreamReader)
        at java.io.BufferedReader.readLine(java.base@11/BufferedReader.java:392)
        at scala.io.StdIn.readLine(StdIn.scala:30)
        at scala.io.StdIn.readLine$(StdIn.scala:30)
        at scala.io.StdIn$.readLine(StdIn.scala:241)
        at Main$$anonfun$1.$anonfun$applyOrElse$1(Main.scala:37)
        at Main$$anonfun$1$$Lambda$746/0x00000008005d4840.apply(Unknown Source)
        at cats.effect.IOFiber.runLoop(IOFiber.scala:383)
        at cats.effect.IOFiber.execR(IOFiber.scala:1126)
        at cats.effect.IOFiber.run(IOFiber.scala:125)
        at cats.effect.unsafe.WorkerThread.run(WorkerThread.scala:306)

   Locked ownable synchronizers:
        - None

I think I am missing something, but the purpose of using cached thread pool was to shift blocking I/O to it. Why computational thread is blocked? 🤔
I took another look at dead application's thread dump and it was the case too - one of the threads from computational pool was blocked on methods collection prometheus metrics.
I've changed IO to IO.blocking at the example and blocking computation has shifted:
"io-blocking-0" #48 daemon prio=5 os_prio=31 cpu=2.06ms elapsed=72.86s tid=0x00007fb02f8d5000 nid=0xc00b runnable  [0x000070000d17a000]
   java.lang.Thread.State: RUNNABLE
        at java.io.FileInputStream.readBytes(java.base@11/Native Method)
        at java.io.FileInputStream.read(java.base@11/FileInputStream.java:279)
        at java.io.BufferedInputStream.read1(java.base@11/BufferedInputStream.java:290)
        at java.io.BufferedInputStream.read(java.base@11/BufferedInputStream.java:351)
        - locked <0x00000007003ad480> (a java.io.BufferedInputStream)
        at sun.nio.cs.StreamDecoder.readBytes(java.base@11/StreamDecoder.java:284)
        at sun.nio.cs.StreamDecoder.implRead(java.base@11/StreamDecoder.java:326)
        at sun.nio.cs.StreamDecoder.read(java.base@11/StreamDecoder.java:178)
        - locked <0x000000070d69c908> (a java.io.InputStreamReader)
        at java.io.InputStreamReader.read(java.base@11/InputStreamReader.java:185)
        at java.io.BufferedReader.fill(java.base@11/BufferedReader.java:161)
        at java.io.BufferedReader.readLine(java.base@11/BufferedReader.java:326)
        - locked <0x000000070d69c908> (a java.io.InputStreamReader)
        at java.io.BufferedReader.readLine(java.base@11/BufferedReader.java:392)
        at scala.io.StdIn.readLine(StdIn.scala:30)
        at scala.io.StdIn.readLine$(StdIn.scala:30)
        at scala.io.StdIn$.readLine(StdIn.scala:241)
        at Main$$anonfun$1.$anonfun$applyOrElse$1(Main.scala:26)
        at Main$$anonfun$1$$Lambda$725/0x00000008005c6c40.apply(Unknown Source)
        at cats.effect.IOFiber.blockingR(IOFiber.scala:1145)
        at cats.effect.IOFiber.run(IOFiber.scala:128)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(java.base@11/ThreadPoolExecutor.java:1128)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(java.base@11/ThreadPoolExecutor.java:628)
        at java.lang.Thread.run(java.base@11/Thread.java:834)

   Locked ownable synchronizers:
        - <0x000000070de74518> (a java.util.concurrent.ThreadPoolExecutor$Worker)

Am I misusing somthing here? What is the purpose of cached pool passed to BlazeServerBuilder.apply if computations are still need be shifted manually?

Hm, I see this execution context is used only for underlying blaze futures, not for tasks I run as a part of application logic. Missed that point somehow. Will change to .blocking for prometheus part in the code


Failures on [vm] Record field access operations...[dart2wasm] Trivial test for subtype of Object

There are new test failures on [vm] Record field access operations...[dart2wasm] Trivial test for subtype of Object.
The tests
vm/dart_2/isolates/thread_pool_test Crash (expected Pass)

are failing on configurations
dartk-msan-linux-release-x64
dartkp-msan-linux-release-x64

https://dart-ci.appspot.com/log/vm-kernel-msan-linux-release-x64/dartk-msan-linux-release-x64/1856/vm/dart_2/isolates/thread_pool_test
MemorySanitizer: use-of-uninitialized-value
https://github.com/dart-lang/sdk/blob/e4ae0cf2ce0755b85e9bffdfa50f5042e4edcd99/runtime/bin/ffi_test/ffi_test_functions_vmspecific.cc#L899
The code there hasn't changed in a while, so it must be one of the VM commits in the range.
No repro: 912577baecccce11cbbdfa56ba5bf2a909e3fc6e
Repro: 3744763f3a57073bcdbac956f2794feaf0ac050e

cc @athomas @whesse  I'd really like an auto-bisect button in the Results Feed for bisecting a range of 18 commits w.r.t. a single test that changed status.

@rmacnak-google, 8c577c420c43f5fa4af3f077d8715b64d4dfb0c5 causes an MSAN error, PTAL.


Please bump go to 1.10

Hi there!
Would you be able to please bump golang in this release to 1.10? I would PR the change myself but I'm unable to bosh upload-blobs to your bucket :(
Thanks!

released v7 with golang 1.10


Add contributor recognition

Recognize @tbroadley for https://github.com/gradle/gradle/pull/20993

@bot-gradle test and merge

OK, I've already triggered a build for you.


add support in core ssl_transport_security for rfc822Name SANs

What version of gRPC and what language are you using?
SHA fe6bf3ffe64e3a0e086659abec02897a463cede2, C
What operating system (Linux, Windows, …) and version?
MacOS 10.13.4
What runtime / compiler are you using (e.g. python version or version of gcc)
clang: Apple LLVM version 9.1.0 (clang-9<IP_ADDRESS>)
What did you do?
called grpc_auth_context_peer_identity on the server after a client connected securely with a client certificate that contained an email SAN (rfc822Name).
What did you expect to see?
the email address in the SAN.
What did you see instead?
The common name.
Anything else we should know about your project / environment?
asked question first in google groups but received no reply.  I can see grpc core filtering out the email SANs here.  Can we also add GEN_EMAIL names to the properties?  Either as members of x509_subject_alternative_name or maybe a new property (e.g. x509_subject_alternative_name_email)?

@yihuazhang is working on adding SPIFFE support in gRPC SSL transport security. It may address your issue.


code conversion from PKI module

I would appreciate if you could let know how to convert the below code to PSPKI..
$cert = New-SelfSignedCertificate -DnsName yourdomain.cloudapp.net -CertStoreLocation "cert:\LocalMachine\My"
$password = ConvertTo-SecureString -String "your-password" -Force -AsPlainText
Export-PfxCertificate -Cert $cert -FilePath ".\my-cert-file.pfx" -Password $password
Export-Certificate -Type CERT -Cert $cert -FilePath .\my-cert-file.cer
The above code is from https://azure.microsoft.com/en-in/documentation/articles/cloud-services-certs-create/
Thanks

What is wrong with existing code?

I wish to run the above code in win 7 machine.. PKI module is available in win 8 onwards..

At first, I would strongly encourage to download the most recent version of New-SelfSignedCertificateEx command: https://github.com/Crypt32/PSPKI/blob/master/PSPKI/Client/New-SelfSignedCertificateEx.ps1. The synax below is compatible only with the latest version.
The whole command series would look as this:
$password = ConvertTo-SecureString -String "your-password" -Force -AsPlainText
$cert = New-SelfSignedCertificateEx -Subject "cn=yourdomain.cloudapp.net" `
	-SubjectAlternativeName "dns:yourdomain.cloudapp.net" `
	-EnhancedKeyUsage "Server Authentication" `
	-KeyUsage 0xa0 `
	-Exportable `
	-Pathmycert.pfx `
	-Password $password
Set-Content mycert.cer $cert.RawData -Encoding Byte
Push-Location cert:\
gi cert:\currentuser\my\$($cert.Thumbprint) | del -deletekey
Pop-Location

this snippet will generate self-signed certificate, export it to pfx and makes a copy of public part of the certificate and removes all key material from certificate stores.

Thanks for the code..
Do I need to install the PSPKI module to create the self signed cert.
I just downloaded the .ps1 file you stated and the  ran the code..
It generated mycert.cer file.
It threw an error at gi... line ,as shown below..
PS C:\Users\Arnab> $password = ConvertTo-SecureString -String "your-password" -Force -AsPlainText
PS C:\Users\Arnab> d:
PS D:\> cd D:\del\000\setup
PS D:\del\000\setup> $cert = .\New-SelfSignedCertificateEx -Subject "cn=swanvicollectorhttps.cloudapp.net" `
>>     -SubjectAlternativeName "dns:swanvicollectorhttps.cloudapp.net" `
>>     -EnhancedKeyUsage "Server Authentication" `
>>     -KeyUsage 0xa0 `
>>     -Exportable `
>>     -Pathmycert.pfx `
>>     -Password $password
>>
PS D:\del\000\setup> Set-Content mycert.cer $cert.RawData -Encoding Byte
PS D:\del\000\setup> Push-Location cert:\
PS Cert:\> gi cert:\currentuser\my\$($cert.Thumbprint) | del -deletekey

Confirm
The item at Microsoft.PowerShell.Security\Certificate::currentuser\my has children and the Recurse parameter was not
specified. If you continue, all children will be removed with the item. Are you sure you want to continue?
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"): Pop-LocationY
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"): Y
del : Deleting certificate stores under CurrentUser is not supported.
At line:1 char:47
+ gi cert:\currentuser\my\$($cert.Thumbprint) | del -deletekey
+                                               ~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Remove-Item], InvalidOperationException
    + FullyQualifiedErrorId : System.InvalidOperationException,Microsoft.PowerShell.Commands.RemoveItemCommand

PS Cert:\> Pop-Location
PS D:\del\000\setup>

I have administrator rights on my machine..

I see that you improperly call the command. Actually, the command is wrapped into a function, so the call you are using is incorrect.
First, you have to attach the function to the current session by dot-sourcing the command:
. $path\New-SelfSignedCertificateEx
or just import the module with updated function. And only then call New-SelfSignedCertificateEx command. There are no dependencies on the PSPKI module, so you should dot-source the command:
. $path\New-SelfSignedCertificateEx
and then call the script I posted above.


Update bubble_sort.cpp

Optimized the existing bubbleSort function by introducing flag variable.

@OtacilioN Would you please label it as a "hacktoberfest-accepted" ?

What a great code :smile: !
Thank you for contributing! :rocket:
There is no need to put the label on this edition of the hacktoberfest.
Check this link for more info: https://hacktoberfest.digitalocean.com/hacktoberfest-update
"The PR is labelled as hacktoberfest-accepted by a maintainer OR
Submitted in a repo with the hacktoberfest topic"


Hangs at 'creating' instead of error message

Hi,
When trying to create a MySQL database/user on a MySQL 8.0 server, the operation hangs at creating....
I'm using .net 5 / c# 9.
Combing through logs, I believe that the terraform provider itself is hanging - however I'm not a pulumi nor a terraform expert.
See a minimal complete non-working example at https://github.com/kralikba/pulumi-akv/tree/master/pulumi-az-mysql

Apparently I have made a mistake with the username; I did not include a hostname part in it. This should result in a proper error message instead of the process hanging.

Apparently I have made a mistake with the username; I did not include a hostname part in it. This should result in a proper error message instead of the process hanging.

looks like this question is resolved


Lazy Loading

Is it possible to implement a lazy loading feature? Right now I am using your library for story viewing as instagram does.
Some people has video stories so that would be a problem if 50+ users has video stories.
What do you think about it? Maybe even we could have something like removeClippedSubviews.

Hmmm. That's make a lot of sense.
Maybe a method to add a new view without re-render the entire component. 🤔

Actually I got no idea how to implement it I am not an expert on react native :/

I inspected a bit https://github.com/archriss/react-native-snap-carousel
They use flatlist. Can we also implement flatlist?


[FLINK-25845][table] Introduce EXECUTE PLAN

What is the purpose of the change
Introduce EXECUTE PLAN statement.

@flinkbot run azure


Search through all shards when searching by hash

This adds in a test with cosign sign-blob and cosign verify-blob to make sure it is working as expected
NOTE: This PR is blocked until cosign is updated to expect more than one entry from this API

Do we need to block on the Cosign fix? It's fairly unlikely that someone has uploaded the same entry cross-shard - It likely only affects the individual who reported the issue, and we can find a workaround (re-sign and reupload).

@haydentherapper yep! removed that comment, this should be good to merge once it's green

Codecov Report

Merging #1082 (0541dd0) into main (204d9af) will decrease coverage by 23.11%.
The diff coverage is 0.00%.

@@             Coverage Diff             @@
##             main    #1082       +/-   ##
===========================================
- Coverage   64.06%   40.94%   -23.12%
===========================================
  Files          82       74        -8
  Lines        7482     7082      -400
===========================================
- Hits         4793     2900     -1893
- Misses       2067     3877     +1810
+ Partials      622      305      -317

Flag
Coverage Δ

e2etests
?

unittests
40.94% <0.00%> (-0.06%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

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


Unable to retrieve the HTTP headers in code.

Unable to retrieve the HTTP headers populated on swagger UI in HttpRequestMessage.
Populating the headers using the [RequestHttpHeader("header", isRequired)] attribute.

AzureExtensions.Swashbuckle: 3.2.2
Azure Functions: 3.0.3
.NET Core: 3.1

[RequestHttpHeader("Authorization", true)]
[RequestHttpHeader("x-ms-root-activity-id", true)]
[RequestHttpHeader("x-ms-session-id", true)]
[RequestHttpHeader("x-ms-tenant-id", true)]
public async Task MethodName([HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = "route")] HttpRequestMessage req)

Hi @gottacodeemall
I can see it works, on latest dev, at least.

I know there was some issue with Azure Functions till August, related to headers. Please, update your functions.


WebServer times out when loading NoVNC

USBArmyKnife uses a fork of the ESPAsyncWebServer. Whilst this has got a lot better under its new maintainer I've noticed a few issues where the webserver recieves a high volume of requests. This is especially clear when Chrome/Edge tries to load a ton of the files needed for NoVNC.
https://github.com/mathieucarbou/ESPAsyncWebServer/issues/70 maybe related

FYI:
I've just fixed a bug regarding string usages for ESP8266 (long time bug):
https://github.com/mathieucarbou/ESPAsyncWebServer/releases/tag/v3.3.16
If possible, please let me know if it solves the issue....
Regarding the slowdown, there were an issue in AsyncTCP lib for ESP32 which has been fixed also. For ESP32, you can use either AsyncTCP or AsyncTCPSock:

dependencies: https://github.com/mathieucarbou/ESPAsyncWebServer?tab=readme-ov-file#dependencies

perf: https://github.com/mathieucarbou/ESPAsyncWebServer?tab=readme-ov-file#performance

Interesting, have you got any more details on why constexp was bad. I'm using constexp in places.

Interesting, have you got any more details on why constexp was bad. I'm using constexp in places.

its not bad. It's just that for ESP8266, strings have to be put in flash with PROGMEM to not count again ram memory.
And the define was wrong, which lead all the strings to be kept in ram instead of flash
https://github.com/mathieucarbou/ESPAsyncWebServer/commit/65906f7419442b7bd4764e9703f7401fd303e92d#diff-eff42aa28535f8fe20945bef89f9d8640da70cf6fe881c51b9af0b951b4b36c2R185

Oh boy! I didn't know your projects! That's cool: I didn't know the esp-idf api had a promiscuous mode!

@mathieucarbou I tried your changes and what I can say is that every release things seems to get a lot better. Sadly not well enough to resolve this issue for me.
In my case I'm using AsyncTCP and ESPAsyncWebServer straight from your git repo (thanks for all the work maintaining all of this by the way).
I'm still getting issues trying to load lots of files with varying sizes. Hitting F5 in the browser to try and get these to be returned often results in the ESPAsyncWebServer deadlocking - the device itself doesn't reset. Here is an example of what Edge sees:

Everything is going good and then one file fails to load :(
The files i'm trying to load are here:
https://github.com/i-am-shodan/USBArmyKnife/tree/master/ui/vnc
These are converted by a build script into gzipped compressed versions to save on RAM and transfer. Each page is defined as:
const uint8_t PROGMEM bootstrapMinCssGz as an example
I then autogenerate a really big table of URL -> PROGMEM data pointer. When a request comes through this is looked up and sent across with:
https://github.com/i-am-shodan/USBArmyKnife/blob/cfc9637cc25eff88a2d941e8337008235e5194ed/src/Comms/Web/WebServer.cpp#L286
I wondering if you've got any ideas. Also no idea what AsyncTCPSock is and whether it could help here. Which is better?

Don't use _P methods on Esp32: they are deprecated
Also, have a look at the the ESPAsyncWebServer project page (my fork) there are some perf test and also some explications to swap AsyncTCP by AsyncTCPSock which is a better implementation
AsyncTCPSock was written by the same guy who also maintained ESPAsyncWebServer fork in the past and fixed many issues. My ESPAsyncWebServer fork is based on his fork and his AsyncTCPSock lib is based on bsd sockets and fixes the limitations over concurrent requests handling (16 max) for AsyncTCP and fixes it's design based on a slower queue system.

So I had a go migrating to AsyncTCPSock. Firstly it looks like it doesn't compile under the latest Arduino library. In AsyncTcp.h I had to change the code to this to get it to compile.
int res = getsockopt(_socket, IPPROTO_TCP, TCP_NODELAY, (char *)&flag, (socklen_t*) &size);
I ran the code and anecdotally it seemed worse that AsyncTCP. Not sure why exactly, just more failed requests.

Look here: https://github.com/mathieucarbou/ESPAsyncWebServer?tab=readme-ov-file#dependencies
It compiles, its tested  and perf tested on Arduino 3 and latest rc1 also.

Using the code from the dev branch worked a treat. Default branch seemed to be the problem for me. However my testing sadly still stands and I don't see any improvement with AsyncTCPSock.

Do you have a waterfall view of your requests ? I know AsyncTCP has a concurrency limit (lwip layer) of 16 slots and cannot handle more than 16 clients at a time. AsyncTCPSock does better.
But what could happen is that your browser is querying too many resources at once, forcing the ESP to use more memory to serve them.
If you are forced to split into several files and cannot regroup in 1 minified bigger file, like all other ESP32 projects are doing usually, then, an option could be to use a JS library that will load these scripts one by one : did you try that ?

I think one large file would probably solve the problem here. Because NoVNC is a library from elsewhere merging everything together isn't going to be trivial. I didn't consider a library to load them one by one, I'll check that out as it might be a good compromise.

I remember we were doing that with https://requirejs.org 10 years ago.
But considering the recent evolution of JS, I bet it can be done in a few lines of code now...

I think i've fixed this by preloading all the resources one by one


Update ganache-cli to 6.2+

when https://github.com/trufflesuite/ganache-cli/issues/595 is fixed

Fixed in<EMAIL_ADDRESS>Let me know if you have any more issues.


[Event Request] New event OnBeforeServiceLineShowWarning in function ServiceLineShowWarning, page 343 "Check Credit Limit"

Hello
Need event OnBeforeServiceLineShowWarning(ServLine, Result, IsHandled) in standard functions ServiceLineShowWarning like in same function for sales documents SalesLineShowWarning(event - OnBeforeSalesLineShowWarning), page 343 "Check Credit Limit".
Need to add Result as return variable in same way.
Version of AL Language: 6.1.397164
Business Central Version: 17.3
Function:
procedure ServiceLineShowWarning(ServLine: Record "Service Line") Result: Boolean
var
    IsHandled: Boolean;
begin
    IsHandled := false;
    OnBeforeServiceLineShowWarning(ServLine, Result, IsHandled);
    if IsHandled then
        exit(Result);

    SalesSetup.Get();
    if SalesSetup."Credit Warnings" =
       SalesSetup."Credit Warnings"::"No Warning"
    then
        exit(false);
..........................................................................................
end;

Signature:
[IntegrationEvent(false, false)]
local procedure OnBeforeServiceLineShowWarning(var ServLine: Record "Service Line"; var Result: Boolean; var IsHandled: Boolean);
begin
end;

@StanPesotskiy Done.

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.


Run callbacks on same thread if trigerred from background thread

This helps performance of Callback API.

Known issues: https://github.com/grpc/grpc/issues/19614


Running README-AI locally without GitHub repository URL

Description
I'm trying to run README-AI locally on my machine without a GitHub repository, but I'm facing an issue with the configuration file that requires me to provide a GitHub repository URL. I would like to use a Git repository on my machine instead.
Steps to reproduce

Clone the README-AI repository on your machine
Navigate to the cloned repository directory
Run the README-AI command with the --local flag to specify the local repository path, for example:

readme-ai --local /path/to/local/repo

Expected behavior
README-AI should generate a README.md file based on the local repository and without requiring a GitHub repository URL.
Actual behavior
README-AI displays an error message indicating that the GitHub repository URL is missing in the configuration file.

@ThomasSanson @eli64s  did you figure out a fix for the same?
I'm currently running the command
python src/main.py --api-key 'mykey' --output readme-ai.md --repository /home/path
But am facing the error
ValueError: Error cloning repository: Cmd('git') failed due to: exit code(128)
cmdline: git clone -v --depth=1 -- /home/path /tmp/tmphjpteuyf
stderr: 'fatal: repository '/home/path' does not exist

Hello @swamitagupta,
Yes, I opted for using Docker because I find it simpler. Here are the steps to set up the environment (please ignore the parts related to proxies if they don't concern you) :

Create a Dockerfile anywhere for the Readme-ai project

Dockerfile.readmeai
# Build stage
FROM alpine:latest as builder

ARG HTTP_PROXY
ARG HTTPS_PROXY
ARG FTP_PROXY
ARG http_proxy
ARG https_proxy
ARG ftp_proxy
ARG no_proxy

ENV http_proxy=$http_proxy \
    https_proxy=$https_proxy \
    ftp_proxy=$ftp_proxy \
    HTTP_PROXY=$HTTP_PROXY \
    HTTPS_PROXY=$HTTPS_PROXY \
    FTP_PROXY=$FTP_PROXY \
    no_proxy=$no_proxy

RUN apk update && apk add git

WORKDIR /app

RUN git clone https://github.com/eli64s/readme-ai.git .

# Final stage
# Use a base image with Python installed
FROM python:3.8-slim-buster

# Set the working directory
WORKDIR /app

# Copy project files into the container
COPY --from=builder /app .

# Install project dependencies
RUN apt update && apt install -y git tree && \
    pip install --upgrade pip && \
    pip install --no-cache-dir -r requirements.txt

# Set the command to run your project
CMD ["python", "src/main.py"]

Next, build the Docker image to get a local image :

docker build --build-arg HTTP_PROXY=$HTTP_PROXY --build-arg HTTPS_PROXY=$HTTPS_PROXY --build-arg FTP_PROXY=$FTP_PROXY --build-arg http_proxy=$http_proxy --build-arg https_proxy=$https_proxy --build-arg ftp_proxy=$ftp_proxy --build-arg no_proxy=$no_proxy -t my-readme-ai --file Dockerfile.readmeai .

This will create a local image named my-readme-ai

Finally, navigate to your project and run the container with the following command :

Before running this command, you should replace xxxxxxxxxxxxx with your own API key
docker run -e HTTP_PROXY=$HTTP_PROXY -e HTTPS_PROXY=$HTTPS_PROXY -e FTP_PROXY=$FTP_PROXY -e http_proxy=$http_proxy -e https_proxy=$https_proxy -e ftp_proxy=$ftp_proxy -e no_proxy=$no_proxy -e OPENAI_API_KEY="xxxxxxxxxxxxx" -v "$(pwd)":/workdir -w /app -it my-readme-ai python src/main.py -o /workdir/readme-ai.md -r /workdir

The command utilizes the -v flag to mount the current working directory (pwd) to the container's /workdir. It means that the files and directories in the current directory on the host machine are made accessible to the container within the /workdir directory. Additionally, the -w flag sets the working directory inside the container to /app
We have the actual command to be executed within the container :
python src/main.py -o /workdir/readme-ai.md -r /workdir

Here's what this command does :

python src/main.py: This executes the main.py Python script located in the /app/src directory within the container. It is the main script of the "Readme-ai" project

-o /workdir/readme-ai.md: This specifies the output file path (/workdir/readme-ai.md) where the generated result will be stored. The generated content might be a Markdown file related to the "Readme-ai" project

-r /workdir: This option is used to indicate a specific directory (/workdir) where your project code resides inside the container


[Bug] Radar charts would render wrongly with some particular 'series.data' options

Version
5.4.1
Link to Minimal Reproduction
https://codepen.io/yanyiming/pen/WNgNWbe
Steps to Reproduce

I create the radar chart on https://echarts.apache.org/examples/zh/editor.html?c=radar;
The option is :

option = {
  tooltip: { show: true },
  radar: {
    indicator: [
      {
        name: '一',
        max: 100
      },
      {
        name: '二',
        max: 100
      },
      {
        name: '三',
        max: 100
      },
      {
        name: '四',
        max: 100
      },
      {
        name: '五',
        max: 100
      },
      {
        name: '六',
        max: 100
      },
      {
        name: '七',
        max: 100
      },
      {
        name: '八',
        max: 100
      }
    ]
  },
  series: [
    {
      type: 'radar',
      symbol: 'circle',
      symbolSize: 6,
      areaStyle: {
        opacity: 0.1
      },
      data: [
        {
          value: [0, 0, 50, 0, 50, 80, 0, 0]
        }
      ]
    }
  ]
};

No need to interact.

Current Behavior
The chart do not perfectly appear. It seems that canvas is painted wrongly.
Expected Behavior
The left part is supposed to be a pure line, rather than a triangle somehow.
Environment
- OS:
- Browser:
- Framework:

Any additional comments?
No response

bug - yes, but easy to work around.
Just replace the zeroes with some small value (like 0.01) in series data
data: [ [0.01, 0.01, 50, 0.01, 50, 80, 0.01, 0.01] ]

将0替换为小的值是很不严谨的，当我们展示label或者tooltip时实际值应该为0而不是替换后的小值


thc-hydra: 9.2 -> 9.3

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/thc-hydra/versions.
meta.description for thc-hydra is: "A very fast network logon cracker which support many different services"
meta.homepage for thc-hydra is: "https://www.thc.org/thc-hydra/"
meta.changelog for thc-hydra is: ""
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
Warning: no invocation of /nix/store/lhl1hadnyjd6pz29fkxf1x1bp2b1blrb-thc-hydra-9.3/bin/pw-inspector had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/lhl1hadnyjd6pz29fkxf1x1bp2b1blrb-thc-hydra-9.3/bin/hydra-wizard.sh had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/lhl1hadnyjd6pz29fkxf1x1bp2b1blrb-thc-hydra-9.3/bin/dpl4hydra.sh had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/lhl1hadnyjd6pz29fkxf1x1bp2b1blrb-thc-hydra-9.3/bin/hydra had a zero exit code or showed the expected version
0 of 4 passed binary check by having a zero exit code.
0 of 4 passed binary check by having the new version present in output.
found 9.3 with grep in /nix/store/lhl1hadnyjd6pz29fkxf1x1bp2b1blrb-thc-hydra-9.3
found 9.3 in filename of file in /nix/store/lhl1hadnyjd6pz29fkxf1x1bp2b1blrb-thc-hydra-9.3

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

1 package rebuild(s)

1 x86_64-linux rebuild(s)
1 x86_64-darwin rebuild(s)

First fifty rebuilds by attrpath
thc-hydra

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/lhl1hadnyjd6pz29fkxf1x1bp2b1blrb-thc-hydra-9.3 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A thc-hydra https://github.com/r-ryantm/nixpkgs/archive/ca064916cf708577ceeb1e191e7502ba738aacd7.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/lhl1hadnyjd6pz29fkxf1x1bp2b1blrb-thc-hydra-9.3
ls -la /nix/store/lhl1hadnyjd6pz29fkxf1x1bp2b1blrb-thc-hydra-9.3/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

thc-hydra

Maintainer pings
cc @offlinehacker for testing.

@ofborg eval

For trace, Darwin build failure is:
In file included from hydra-vnc.c:9:
./hydra-mod.h:74:6: error: 'TARGET_OS_IPHONE' is not defined, evaluates to 0 [-Werror,-Wundef-prefix=TARGET_OS_]
#if (TARGET_OS_IPHONE && __LP64__) || TARGET_OS_WATCH
     ^
./hydra-mod.h:74:39: error: 'TARGET_OS_WATCH' is not defined, evaluates to 0 [-Werror,-Wundef-prefix=TARGET_OS_]
#if (TARGET_OS_IPHONE && __LP64__) || TARGET_OS_WATCH
                                      ^
2 errors generated.
make: *** [Makefile:80: hydra-vnc.o] Error 1


External key validation - fare_attributes.agency_id

Is your feature request related to a problem? Please describe.
At present the validator does not check the consistency between the values of fare_attributes.agency_id and agency.agency_id.
Describe the solution you'd like
Implement a new use case for this rule.

Fixed by v2 architecture

Fixed by v2 architecture


i have changed services section

it's has some conflicts with the other elements please fix that first  @usharani222


Timeouts in Sagas not working

I have a situation were timeouts in sags are not being fired.
I have the following setup:

Sql Server Transport
Json Serializer
Simple Injector initialised by endpointConfiguration.UseContainer<SimpleInjectorBuilder>();
In Memory Persistance

You can use the following code to replicate the issue:
 class ProgramService : ServiceBase
    {
        IEndpointInstance endpoint;

        static ILog logger = LogManager.GetLogger<ProgramService>();

        static void Main()
        {
            using (var service = new ProgramService())
            {
                // to run interactive from a console or as a windows service
                if (Environment.UserInteractive)
                {
                    Console.CancelKeyPress += (sender, e) =>
                    {
                        service.OnStop();
                    };
                    service.OnStart(null);
                    Console.WriteLine("\r\nPress enter key to stop program\r\n");
                    Console.Read();
                    service.OnStop();
                    return;
                }
                Run(service);
            }
        }

        protected override void OnStart(string[] args)
        {
            AsyncOnStart().GetAwaiter().GetResult();
        }

        async Task AsyncOnStart()
        {
            try
            {
                var defaultFactory = LogManager.Use<DefaultFactory>();
                defaultFactory.Level(LogLevel.Debug);

                var endpointConfiguration = new EndpointConfiguration("SynchronisationService");
                endpointConfiguration.UseSerialization<JsonSerializer>();
                //endpointConfiguration.UseContainer<SimpleInjectorBuilder>();

                var transport = endpointConfiguration.UseTransport<SqlServerTransport>();
                transport.ConnectionString("Data Source=.\\SQlExpress;Initial Catalog=ServiceControl;Integrated Security=True;Application Name=Server");

                endpointConfiguration.SendFailedMessagesTo("error");
                endpointConfiguration.AuditProcessedMessagesTo("audit");
                endpointConfiguration.DefineCriticalErrorAction(OnCriticalError);

                if (Environment.UserInteractive && Debugger.IsAttached)
                {
                    endpointConfiguration.UsePersistence<InMemoryPersistence>();

                    endpointConfiguration.EnableInstallers();
                }
                endpoint = await Endpoint.Start(endpointConfiguration)
                    .ConfigureAwait(false);
                PerformStartupOperations(endpoint);
            }
            catch (Exception exception)
            {
                logger.Fatal("Failed to start", exception);
                Environment.FailFast("Failed to start", exception);
            }
        }

        void PerformStartupOperations(IEndpointInstance endpointInstance)
        {
            var message = new StartSaga
            {
                TaskName = "StartupTask1"
            };
            endpointInstance.SendLocal(message);
        }

        Task OnCriticalError(ICriticalErrorContext context)
        {
            var fatalMessage = $"The following critical error was encountered:\n{context.Error}\nProcess is shutting down.";
            logger.Fatal(fatalMessage, context.Exception);
            Environment.FailFast(fatalMessage, context.Exception);
            return Task.FromResult(0);
        }

        protected override void OnStop()
        {
            endpoint?.Stop().GetAwaiter().GetResult();
        }
    }

    public class SynchronisationSaga :
        Saga<SynchronisationSagaData>,
        IAmStartedByMessages<StartSaga>,
        IHandleTimeouts<ExecuteTask>
    {
        protected override void ConfigureHowToFindSaga(SagaPropertyMapper<SynchronisationSagaData> mapper)
        {
            if (mapper == null) throw new ArgumentNullException(nameof(mapper));

            mapper.ConfigureMapping<StartSaga>(message => message.TaskName).ToSaga(sagaData => sagaData.TaskName);
        }

        public async Task Handle(StartSaga message, IMessageHandlerContext context)
        {
            if (message == null) throw new ArgumentNullException(nameof(message));
            if (context == null) throw new ArgumentNullException(nameof(context));

            Data.TaskName = message.TaskName;

            Console.WriteLine($"Secheduling {Data.TaskName} task.");
            if (!Data.IsTaskAlreadyScheduled)
            {
                await RequestTimeout<ExecuteTask>(context, TimeSpan.FromSeconds(5))
                    .ConfigureAwait(false);
                Data.IsTaskAlreadyScheduled = true;
            }
        }

        public async Task Timeout(ExecuteTask state, IMessageHandlerContext context)
        {
            if (state == null) throw new ArgumentNullException(nameof(state));
            if (context == null) throw new ArgumentNullException(nameof(context));

            Console.WriteLine("Task Executed");

            await RequestTimeout<ExecuteTask>(context, TimeSpan.FromSeconds(5))
                .ConfigureAwait(false);
        }
    }
    public class ExecuteTask : ICommand
    {

    }
    public class StartSaga : ICommand
    {
        public string TaskName { get; set; }
    }
    public class SynchronisationSagaData : ContainSagaData
    {
        public string TaskName { get; set; }
        public bool IsTaskAlreadyScheduled { get; set; }
    }

If I leave SimpleInjector commented out I get the following messages in the debug window and the timeouts work
2016-11-11 09:20:44.516 DEBUG NServiceBus.ExpiredTimeoutsPoller Polling for timeouts at 11/11/2016 08:20:44.
2016-11-11 09:20:44.522 DEBUG NServiceBus.ExpiredTimeoutsPoller Polling next retrieval is at 11/11/2016 09:21:44.

If I enable SImpleInjector I do not get the above messages and timeouts do not work.

It appears to be something with how the timeout manager is managed in the satellite pipeline. If the timeouts is decreased to 1 second (on my machine), your sample works.
I'll keep digging.

Found the problem, the singleton registration code was registering an instance per implemented interface instead of a singleton for all implemented interfaces. This should be resolved in 1.0.5
Can you give it a try and let me know if it fixes your problem?
Thanks for all the effort, btw! I really appreciate all the help!

This has solved the problem. Thanks a lot for your help and the quick turnaround to resolve issues.
We've just started using NService Bus at the office and we already use SimpleInjector in all our projects so it makes sense to use it with NService Bus as well.
I'm not too familiar with the internals of either SimlpeInjector or NService Bus, however I would gladly contribute to this project if there is scope to add additional features.

Thanks, you've already helped a huge amount simply by testing this in real scenarios. If anything else comes up I'll ping you!


running error

I use Matlab2015b,windows10 and Visual Studio 2013,still have some unsolved problem.Please help me...
Error using mex
resize.cpp
C:\Users\a\Desktop\dpm-master-windows\resize.cpp(11) : error C2556: 'int round(float)' : overloaded function differs only by return type from
'float round(float) throw()'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\math.h(1125) : see declaration of 'round'
C:\Users\a\Desktop\dpm-master-windows\resize.cpp(11) : error C2371: 'round' : redefinition; different basic types
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\math.h(1125) : see declaration of 'round'

@Victoria2333
I encountered the same problem as you. Have you addressed the problem above?


"Show nav button" setting ignored on startup

Even if you have "Show navigation button in sidebar" unticked, the nav button will still appear when you next boot up the game.
I assume MaxSkillTrimPlugin.startUp() just needs an if(showNavButton) condition when it creates the nav button.
Love this plugin by the way, thanks for making it :)

Hey, thank you for the kind comments! :)
You're 100% right about it needing an if in startUp! Good catch. Will get a PR in for this in a min. 👍

This should be resolved now. If it's still an issue, let me know and I'll take another look. Thanks again 😀


Bump build-scan plugin version

new features are coming in 1.16

@guylabs @felipefzdz when build-scan 1.16 is ready, please submit a PR to the release branch for this.
Thanks!

@mark handled this with #6459


make a common codec

Today we only have two codec, go and rust, and already there is a lot of similarity between the two. We should create a common layer or abstraction that codecs can share.

I am going to mark this as closed. @julieqiu refactored the code to a single package.


command is tool long

A suggestion is to have an .about file in user's home directory with parameters for the --api_xxx options, then the user only needs  type it once.

Closing this. See #165


Properties doesn't show up when export in script derived from EditorPlugin

Godot version
Godot Engine v3.3.2.stable.official
System information
Windows 10
Issue description
When writing an editor plugin, I tried to export a variable, but it doesn't show up in the engine.
Steps to reproduce
Write an editor with  export variable, look something like this.
export(PackedScene) var CannotExportVariable
And in the editor dock of the plugin doesn't show up exported property.

Minimal reproduction project
ExportPropertiesInEditorPlugin.zip

ExportPropertiesInEditorPlugin.zip

IIRC, this is expected behavior.
Exported variables appear in the Inspector if you are inspecting that node / resource instance. But what you're doing is adding a custom dock panel, and the Inspector is still inspecting the script itself.
You might need to manually inspect the added custom dock panel node, or design the UI as usual if what you want is a text field on that new dock.

I want to  load a resource from file system with that exported variable.

Also, FileDialog node doesn't show up even I manually design it in editor.

You need to use EditorFileDialog instead of FileDialog.

There is no EditorFileDialog  node in editor.
Since I can not export variable in code then It's still don't work.

@nongvantinh It can be created add added by code.

Thanks, It may work. I'll give it a try.
And still I can not export variable, that is why I think it's a bug or there is some way to do it and the docs don't say how.

Add get_editor_interface().inspect_object(self) below the add_control_dock line, reload the plugin and you'll see the Inspector inspecting your plugin, and thus shows the exported variable.
But I don't think it's supposed to be used that way.

get_editor_interface().inspect_object(self)  does show it in inspector but when I click somewhere that inspector with exported variable disappear until plugin re-enable again.

get_editor_interface().inspect_object(self) does show it in inspector but when I click somewhere that inspector with exported variable disappear until plugin re-enable again.

That's how Inspector works. I think what you need is your own UI in the dock then :)

To the beginning. I can not export variable or create some UI node's PackedScene, Material, ...
I think it's the limit of the engine. This is not even a bug.

In case you only want the exported variable when needed instead of always show it, you can use that code snippet to inspect your plugin again when needed (e.g. pressing a button in your dock panel).

This is just a node, not a scene, so exported vars won't be saved.
You can create a scene with a script and export vars then add it on the plugin _enter_tree() (scene.instance(); add_child()).


Error compiling model with dynamic width and height

For model ssd_mobilenet_v2 which supports dynamic width/height, getting error:
error: 'tensor.expand_shape' op invalid to have a single dimension (0) expanded into multiple dynamic dims (1,2)

Artifacts:
tosa.mlir.zip
tflite.mlir.zip

Is this a new model? Or was it passing before and just started failing now?
From looking at the ops I can't find an immediate reason why it would fail while other conv2d/depthwise_conv2d models are passing. Do you have any high-level insight into how it might be different than other models?
Investigation WIP

Hi Natasha, it's the same model that had the failed to legalize operation 'tosa.depthwise_conv2d' error that you fixed. I'm not sure what expand_shape does. If it's related to the 'expansion' part of an inverted bottleneck layer, it would be a 1x1 conv2d op where the channel dimension expands by a factor of N. See Fig. 2 of https://arxiv.org/pdf/2004.14525.pdf . The first 1x1 conv2d expands the channel dimension from C1 to s * C1.

Once we land the attached PR this should work when combined with Natasha's other commit.


[bug](partial update)fix insert after delete where like '%%' no data on partial update mode

Proposed changes
Issue Number: #34296
insert add delete sign column to reset delete sign = 0 on partial update mode
Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

您的邮件我已收到。

#36210 fixed the issue, close this PR


Quick fix for post input not capitalizing the start of sentences

Summary
During the libraries updates, the PasteableTextInput library started to set the autoCapitalize prop by default to none instead of sentences.
The real fix should be done in the library, but this PR can be used as an interim solution.
Ticket Link
https://mattermost.atlassian.net/browse/MM-60263
Release Note
Fix bug where the Android Keyboard may not autocapitalize the first letter of a sentence by default when writing a post

@enahum Created this other ticket for fixing this in the library, but not sure if this would go to your team or my team. https://mattermost.atlassian.net/browse/MM-60265 CC @marianunez

@enahum Created this other ticket for fixing this in the library, but not sure if this would go to your team or my team. https://mattermost.atlassian.net/browse/MM-60265 CC @marianunez

Is fine to have the fix here, the library can remain as is

@Rajat-Dabade Friendly reminder on this

Cherry pick is scheduled.

Cherry pick is scheduled.


Accounts page - Sort transactions showing latest first

blocked by #330

Raised this issue on the fuel forum for community to try a hand at this - https://forum.fuel.network/t/transactions-shown-in-explorer-are-not-sorted-accordingly/6159
@LuizAsFight @pedronauck if work on this fix hasn't started yet - would love to assist you guys with this issue

@Chester-King we need a better data structure to be able to accomplish this issue. team is working on https://github.com/FuelLabs/fuel-explorer/issues/408
after this is unblocked, we will work on this issue and any help is appreciated, thanks!

Closed by #375


Locked state detection

Some scanners do not scan in locked state. Can add logic similar to location handling: if there are no location data in the import, do not overwrite location.

I would like to work on this issue


Delete 1.0-supported-os.md

Phone hacked

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: Jnray36 sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.


Remove dedicated executor for exchange

After #11205, the issue in #10761 no longer exists and we don't need an extra cached thread pool for exchange.

Revert the changes from #10761
Remove the receive mail callback which is also no longer needed after #11205

Codecov Report

Merging #11394 (a5fa570) into master (6c89906) will decrease coverage by 46.89%.
The diff coverage is n/a.

@@              Coverage Diff              @@
##             master   #11394       +/-   ##
=============================================
- Coverage     61.44%   14.56%   -46.89%
+ Complexity     6515      495     -6020
=============================================
  Files          2234     2159       -75
  Lines        120175   116975     -3200
  Branches      18240    17787      -453
=============================================
- Hits          73842    17032    -56810
- Misses        40910    98528    +57618
+ Partials       5423     1415     -4008

Flag
Coverage Δ

integration1
?

integration2
?

java-11
?

java-17
14.56% <ø> (-46.75%)
:arrow_down:

java-20
?

temurin
14.56% <ø> (-46.89%)
:arrow_down:

unittests1
?

unittests2
14.56% <ø> (-0.01%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.
see 1469 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


rippled-validatior-keys-tool: init at d7774bcc

Motivation for this change
Tool needed to setup rippled validator, depends on https://github.com/NixOS/nixpkgs/pull/55772
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[x] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Assured whether relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

@grahamcofborg build rippled-validator-keys-tool


[ZEPPELIN-5172] Fix transfer failures

What is this PR for?
Fix transfer failures as describe here
https://github.community/t/getting-maven-could-not-transfer-artifact-with-500-error-when-using-github-actions/17570/3
What type of PR is it?

Bug Fix

What is the Jira issue?

https://issues.apache.org/jira/browse/ZEPPELIN-5172

Questions:

Does the licenses files need update? No
Is there breaking changes for older versions? No
Does this needs documentation? No

Closed till I found the bug

Other errors
Error:  Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.8:run (copy-to-interpreter) on project zeppelin-interpreter-shaded: Execution copy-to-interpreter of goal org.apache.maven.plugins:maven-antrun-plugin:1.8:run failed: Plugin org.apache.maven.plugins:maven-antrun-plugin:1.8 or one of its dependencies could not be resolved: Could not transfer artifact org.apache.ant:ant:jar:1.9.4 from/to central (https://repo.maven.apache.org/maven2): Transfer failed for https://repo.maven.apache.org/maven2/org/apache/ant/ant/1.9.4/ant-1.9.4.jar: Connection reset -> [Help 1]

Failed to execute goal org.codehaus.mojo:build-helper-maven-plugin:1.7:add-source (add-scala-sources) on project spark-scala-2.10: Execution add-scala-sources of goal org.codehaus.mojo:build-helper-maven-plugin:1.7:add-source failed: Plugin org.codehaus.mojo:build-helper-maven-plugin:1.7 or one of its dependencies could not be resolved: Could not transfer artifact org.apache.maven:maven-artifact-manager:jar:2.0.6 from/to central (https://repo.maven.apache.org/maven2): Transfer failed for https://repo.maven.apache.org/maven2/org/apache/maven/maven-artifact-manager/2.0.6/maven-artifact-manager-2.0.6.jar: Connection reset -> [Help 1]

Error:  Failed to execute goal net.alchim31.maven:scala-maven-plugin:3.4.6:compile (scala-compile-first) on project spark3-shims: Execution scala-compile-first of goal net.alchim31.maven:scala-maven-plugin:3.4.6:compile failed. NullPointerException -> [Help 1]

Failed to execute goal on project zeppelin-zengine: Could not resolve dependencies for project org.apache.zeppelin:zeppelin-zengine:jar:0.9.0-SNAPSHOT: Could not transfer artifact org.latencyutils:LatencyUtils:jar:2.0.3 from/to central (https://repo.maven.apache.org/maven2): Transfer failed for https://repo.maven.apache.org/maven2/org/latencyutils/LatencyUtils/2.0.3/LatencyUtils-2.0.3.jar: Connection reset -> [Help 1]

Failed to execute goal on project zeppelin-sparql: Could not resolve dependencies for project org.apache.zeppelin:zeppelin-sparql:jar:0.9.0-SNAPSHOT: Could not transfer artifact org.apache.jena:jena-iri:jar:3.12.0 from/to central (https://repo.maven.apache.org/maven2): Transfer failed for https://repo.maven.apache.org/maven2/org/apache/jena/jena-iri/3.12.0/jena-iri-3.12.0.jar: Connection reset -> [Help 1]

Failed to execute goal org.codehaus.mojo:build-helper-maven-plugin:1.7:add-source (add-source) on project zeppelin-flink: Execution add-source of goal org.codehaus.mojo:build-helper-maven-plugin:1.7:add-source failed: Plugin org.codehaus.mojo:build-helper-maven-plugin:1.7 or one of its dependencies could not be resolved: Could not transfer artifact org.apache.maven:maven-settings:jar:2.0.6 from/to central (https://repo.maven.apache.org/maven2): Transfer failed for https://repo.maven.apache.org/maven2/org/apache/maven/maven-settings/2.0.6/maven-settings-2.0.6.jar: Connection reset -> [Help 1]

New PR: #4013

New PR: #4013


Don't setup tooltip popover for readonly / childless FormFields.

See issue: https://github.com/xh/hoist-react/issues/2883
Hoist P/R Checklist
Pull request authors: Review and check off the below. Items that do not apply can also be
checked off to indicate they have been considered. If unclear if a step is relevant, please leave
unchecked and note in comments.

[x] Caught up with develop branch as of last change.
[x] Added CHANGELOG entry, or determined not required.
[x] Reviewed for breaking changes, added breaking-change label + CHANGELOG if so.
[x] Updated doc comments / prop-types, or determined not required.
[x] Reviewed and tested on Mobile, or determined not required.
[x] Created Toolbox branch / PR, or determined not required.

If your change is still a WIP, please use the "Create draft pull request" option in the split
button below to indicate it is not ready yet for a final review.

Pull request reviewers: when merging this P/R, please consider using a squash commit to
collapse multiple intermediate commits into a single commit representing the overall feature
change. This helps keep the commit log clean and easy to scan across releases. PRs containing a
single commit should be rebased when possible.

See my comments on ticket -- not sure about this one.

See comments on issue


feat: export input HTMLInputElement in form components

📑 Description
Adds an exported HTMLInputElement for all the form components.
The purpose is to allow parent components to get a reference to the HTML input/select/etc, for example to programmatically focus.

  Focus input
  <Input bind:element id="focus-input" size="lg" placeholder="Focus input" />

  <Button on:click={() => {element.focus()}}>
    Focus
  </Button>

Status

[x] Not Completed
[ ] Completed

✅ Checks

[x] My pull request adheres to the code style of this project
[x] My code requires changes to the documentation
[x] I have updated the documentation as required
[ ] I have checked the page with https://validator.unl.edu/
[x] All the tests have passed
[x] My pull request is based on the latest commit (not the npm version).

ℹ Additional Information

Hi @shinokada , any chance you can take a look at this when you have a moment?
This exposes the html elements for all the form elements, such that parent's are able to grab the element and focus for example.

Thank you for the PR.

There are conflicts. Is it possible to solve them?
Can you add examples in the docs?


MapVars

Makes MapVars fully functional. (Presumably how PITR intended them to work)
Note: I've set up the save location to be similar to how the vanilla MapVar system would do it so it will work with save slots, but with some distinction specifically for Angry. I figured you may want to change this, so here.
I know you mentioned adding some custom stuff on top of this so if you want me to integrate that too I can do that.

There are some logical problems with it

If user changes preset (plugin configurator), persistent vars should be changed as well. This means that there should somehow exist multiple copies of the persistent file for each preset (I will try to implement this myself)
On preset reset, level ranks and secrets will be removed but persistent vars will live on, which could cause undefined behavior

Apart from that, I want the possibility of multiple levels to access the same file, and also save file being located in bepinex config instead of game files (I don't want to mess with those)


Sandbox: create example projects for ASP .NET (minimal API) and Blazor server

Question:
so I try for adding custom font using the below method in web assembly on blazor.
ScottPlot.StylersFontStyler.Set(string fontName)
but it doesn't seem to load the proper font.
Checking developer tool on the browser, I see an interesting situation.

The HTML Section Heading elements(H3) set in the razor file are being rendered with the appropriately specified font.(fig1)

ScottPlot's components in the razor file , It only seem to support the Noto Mono font.(fig2)
(ScottPlot component div elements have the appropriate font-family.)

I have implemented a small code using the ScottPlot project's Sandbox -Sandbox.Blazor.WebAssembly.
Please let us know if we are missing any necessary steps to properly pass fonts to ScottPlot components.
(fig1)

(fig2)

ScottPlot Version:

ScottPlot.Blazor v5.0.34
.NET8.0.0

Code Sample:
Small changed at src/ScottPlot5/ScottPlot5 Sandbox/Sandbox.Blazor.WebAssembly/Pages/Quickstart.razor
@page "/"
@page "/quickstart"

@using System.Diagnostics
@using System.Reflection
@using System.Xml.Linq
@inject IRecipesService RecipeService

ScottPlot Blazor Quickstart

スコットプロット クイックスタート

https://scottplot.net/quickstart/blazor/

    /// Add Scottplot components HERE
    <BlazorPlot @ref="BlazorPlot" Style="width: 600px; height: 400px;" />

@code {
    BlazorPlot BlazorPlot = new();

    protected override void OnAfterRender(bool firstRender)
    {
        var plot = BlazorPlot.Plot;

        /// Set custom font on ScottPlot
        plot.Font.Set("Noto Sans JP");

        /// Check current font family at componets
        var fontList = string.Join(", ", SkiaSharp.SKFontManager.Default.GetFontFamilies());
        plot.Add.Text("Get font-family lists : " + fontList.ToString(), 10, 10);

        if (firstRender)
        {
            plot.Add.Signal(Generate.Sin());
            plot.Add.Signal(Generate.Cos());

            /// custom fonts are not available and displayed as blank paper
            plot.Title("スコットプロット");
            plot.Font.Automatic();
        }
        base.OnAfterRender(firstRender);
    }
}

Small changed at src/ScottPlot5/ScottPlot5 Sandbox/Sandbox.Blazor.WebAssembly/wwwroot/css/app.css

 ?@import url('open-iconic/font/css/open-iconic-bootstrap.min.css');
 +
 + @font-face {
 +     font-family: 'Noto Sans JP';
 +     src: url('../fonts/NotoSansJP-Thin.ttf');
 + }

   html, body {
 -     font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
 +     font-family: 'Noto Sans JP', Helvetica, Arial, sans-serif;
   }

   h1:focus {

just to confirm, that font is installed on whatever server you're deploying on?  also, if you're installing on a server, you have to make sure to install the font as an admin, and select "install for all users"

We are currently running Blazor on the same server/client PC.
On the executing PC, I also install the font as an admin and select "install for all users" .
When running on wasm, I can't seem to get the fonts on the executing PC.
I think the best solution is to be able to use @font-face or font-family fonts defined on css.

in my instance, i guess i'm generating the image server side, and then serving the image itself

I'm going to repurpose this issue to track adding a sandbox app to the main project that demonstrates how to use ScottPlot in server-side projects: ASP .NET (a minimal API that serves a PNG would be cool) and Blazor Server.
Once those projects are in place we can figure out how to use fonts installed on the server to generate those images.

i'd be happy to put something together, since i already have the code for it, since this is how I use SP5 anyway (with angular)

Awesome! Any sandbox projects you are able to contribute would be fantastic. I don't use .NET too much for webby stuff, so I really value contributions from people who are more familiar with idiomatic project structure.

i'd be happy to put something together, since i already have the code for it, since this is how I use SP5 anyway (with angular)

Thank you for your feedback and support.
so I just recently started learning with Blazor, the sandbox project creation is very helpful.
@aespitia
If I can get some of your knowledge about Blazor, I may be able to contribute to this project in various ways.

PR submitted.
https://github.com/ScottPlot/ScottPlot/pull/3959

@aespitia
Thanks for PR.
Is it possible to render it without converting it to a png file on the server side?
In my application:

It will bring up a Tooltip by clicking on the plot point.
And the scrolling the graph.

I would like to realize above function.
If I want to  realize above function, I want to call it as a component, not as a png file.
Is there no other way but to call it on the client side?

that is interesting, i just use a generated graph in my app, i don't have like a "live stream" application.  i guess you can generate an image and put it in an iframe, then detect the scroll, make an API call and re-render the image with the new parameters?  i don't know, i'm not exactly sure how the regular WPF application works, since I don't use it that way.

A minimal API demo was just added to the quickstart section of the website 🚀
https://scottplot.net/quickstart/api/
I suspect this information is enough such that Blazor Server users can figure out how to include dynamically generated images in their apps, but feel free to edit that page to add any Blazor-specific notes you think would be helpful 👍


Push images to ECR during release builds

[x] Setup OIDC auth.
ECR repos
- init-postgresql
- redoer
- senzingapi-tools
- senzing-poc-server
- sshd
- stream-loader
- xterm
Entities
- senzing/init-postgresql
- senzing/redoer
- senzing/senzingapi-tools
- senzing/senzing-poc-server
- senzing/docker-sshd
- senzing/stream-loader
- senzing/docker-xterm
[x] Push image to ECR on release: tagged latest and version number.

https://github.com/aws-actions/amazon-ecr-login#ecr-public
https://github.com/aws-actions/amazon-ecr-login
https://github.com/docker/login-action#docker-hub

Closing as completed


Upgrade to Jinja2 2.10.1

This patch release fixes a security issue (CVE-2019-10906) involving
str.format_map.

r+


port to Python 3

As a starting-point: I've hacked py-dag to barely work for Python 3 in https://github.com/saxifrage/caac-map/commit/962610b34b3c7ba8ddc167031395d36398485f6a.

Need to remove .iterkeys() too

Done. #23


US21: Upon failure, the unregistered user is redirected (back) to the end-game screen.

Closed with commits: 17d6b3356f10d16670394d80c9e4f8562c55e7e6 & sopra-fs24-group-34/sopra-fs24-group-34-server@3dc509249188848c4f975643109e7e76bfc203cf