Add Twig renderBlock

Is your feature request related to a problem? Please describe.
Currently, Timber's render method is designed to render entire templates. While this works well for most use cases, there are scenarios, especially in dynamic and hypermedia-driven applications (e.g., those using HTMX), where rendering only a specific part of a template (a block or fragment) would be more efficient and effective. This is particularly relevant when only a small portion of the page needs to be updated in response to an action, avoiding the overhead of rendering and sending the entire template over the network.
Describe the solution you’d like
I propose adding a new method, render_block. This method would allow developers to render specific blocks within a Twig template, without needing to render the entire template.
A high-level overview of this would look something like this:
    /**
     * Renders a specific block within a Twig template.
     *
     * @param string $file Path to the Twig template.
     * @param string $block_name Name of the block to render.
     * @param array $data Data to be passed to the block for rendering.
     * @return string|false Rendered content of the block or false on failure.
     */
    public function render_block(string $file, string $block_name, array $data)
    {
        try {
            $twig = $this->get_twig();
            $template = $twig->load($file);

            if (!$template->hasBlock($block_name)) {
                // Handle the error as needed (log, throw exception, etc.)
                return false;
            }

            $output = $template->renderBlock($block_name, $data);

            return $output;
        }
        catch (\Exception $e) {
            // Handle exceptions as needed
            return false;
        }
    }

An additional argument $via_block_render could be added to Timber::compile()  :
public static function compile($filenames, $data = [], $expires = false, $cache_mode = Loader::CACHE_USE_DEFAULT, $via_render = false, $via_block_render = null)

Lastly, a conditional would be added to the output within the compile method:
            if($via_block_render){
                $output = $loader->render_block($file, $via_block_render, $data);
            } else {
                $output = $loader->render($file, $data, $expires, $cache_mode);
            }

To make this accessible via the Timber class an additional method could be added called render_block:
    /**
     * Renders a Twig block from a Twig file.
     *
     * Passes data to a Twig file and echoes the output of a specific block.
     *
     * @api
     * @example
     * ```php
     * $context = Timber::context();
     *
     * Timber::render_block( 'index.twig', 'content', $context );
     * ```
     * @param array|string   $filenames      Name or full path of the Twig file to render. If this is an array of file
     *                                       names or paths, Timber will render the first file that exists.
     * @param string         $block_name     The name of the block to render.
     * @param array          $data           Optional. An array of data to use in Twig template.
     * @param bool|int|array $expires        Optional. In seconds. Use false to disable cache altogether. When passed an
     *                                       array, the first value is used for non-logged in visitors, the second for users.
     *                                       Default false.
     * @param string         $cache_mode     Optional. Any of the cache mode constants defined in Timber\Loader.
     */
    public static function render_block(string $template, $block_name, array $data = [], $expires = false, $cache_mode = Loader::CACHE_USE_DEFAULT)
    {
        $output = self::compile($template, $data, $expires, $cache_mode, true, $block_name);
        echo $output;
    }

Describe alternatives you’ve considered
An alternative is to use twig partials and include them. This allows for those specific areas to be rendered as needed, but also leads to a slightly more fragmented development experience making it harder to understand the template as a cohesive unit.
Additional context
The above is a working prototype, but I'm sure it could be improved. I'd be more than happy to take some feedback and submit a PR if this is something Timber would benefit from.
Potentially missing things:
Implement Timbers standard practice for handling errors/exceptions
Maybe some filters are needed?
Maybe this should be in a separate compilation?
https://twig.symfony.com/doc/3.x/api.html#rendering-templates
https://htmx.org/essays/template-fragments/

@Levdbas Is this worth making a PR for? It could be a straightforward implementation that could allow for more code organization.

Hey @JacobPrice ,
I think this would be a welcome addition but it does needs it's own documentation and tests. Are you willing to provide those as well? We can help out with the tests if that holds you back. Documentation wise I would like to add a guide on how to use this feature in the wild with a platform/framework of choice so it can benefit the whole Timber community. Let me know if you have any questions!

I would be interested in trying this out and helping to document this feature. With HTMX, I've experimented with https://github.com/svandragt/htmxpress earlier and have used it on Django side with https://github.com/carltongibson/django-template-partials.

Coming from the Wordpress side of things, I think this would be better named render_partial or render_fragment since I would expect render_block to have something to do with the block editor.

With Twig templating it's hard to avoid some confusion with it's "block" concept which is used by plenthora of other templating engines also. Maybe docs could make the difference with it and CMS side block concept more clear.
Seems that django-template-partials separates block and partial concepts however, not sure if that could be applicable to follow here.

While this is in progress, I did some testing with Timber and HTMX using API for HTMX plugin https://github.com/timber/timber/discussions/3044.


Applicant landing page

create profile, show company profile, resume application, and submitted applications

As an respondent, when I log in using BCeID
Then I see a landing page
And the landing page contains....
And I can start or continue my application...

As a respondent, I want to be able to continue an application after I start it because there is a lot of information to submit and I cannot complete it in one sitting.


On Company and Contact Badge below fields should be displayed.

Following things should be displayed on Company and Contact Badge.

Pending Projects
Unbilled Projects
Balance Due
Company Tags
Missing Field Counts

Screenshots

APPROVED


[PT-BR] Portuguese Translation v2.0

Some fixes and improved translation.

Thanks for your effort!


TA-Lib

Somehow import talib (see TA-Lib) gives me
TA_Lib==0.4.17
talib==0.1.1

where the first one is fine, while the second one seems to be nonsense as it results in error upon installation:
Building wheels for collected packages: talib
  Running setup.py bdist_wheel for talib ... error
  Complete output from command /home/user/<project>/.venv/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-qlpggc_h/talib/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/pip-wheel-bgpomtii --python-tag cp37:
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib
  creating build/lib/talib
  copying talib/cli.py -> build/lib/talib
  copying talib/__init__.py -> build/lib/talib
  installing to build/bdist.linux-x86_64/wheel
  running install
  Traceback (most recent call last):
    File "<string>", line 1, in <module>
    File "/tmp/pip-install-qlpggc_h/talib/setup.py", line 47, in <module>
      'talib = talib.cli:cli',
    File "/usr/lib/python3.7/distutils/core.py", line 148, in setup
      dist.run_commands()
    File "/usr/lib/python3.7/distutils/dist.py", line 966, in run_commands
      self.run_command(cmd)
    File "/usr/lib/python3.7/distutils/dist.py", line 985, in run_command
      cmd_obj.run()
    File "/home/user/<project>/.venv/lib/python3.7/site-packages/wheel/bdist_wheel.py", line 224, in run
      self.run_command('install')
    File "/usr/lib/python3.7/distutils/cmd.py", line 313, in run_command
      self.distribution.run_command(command)
    File "/usr/lib/python3.7/distutils/dist.py", line 985, in run_command
      cmd_obj.run()
    File "/tmp/pip-install-qlpggc_h/talib/setup.py", line 20, in run
      raise Exception("You probably meant to install and run ta-lib")
  Exception: You probably meant to install and run ta-lib

Shall this be blacklisted?

To be honest, I don't understand why this mapping is needed at all.  Why pipreqs is not finding this out from setup.py?  This should be available at the installation site.  In the worst case, this package meta information could be extracted from PyPI?

I'm not sure I follow. pipreqs works by inspecting import statements and generating a requirements file. Which setup.py file would it pull this information from? If you mean that we can extract the correct installable package name from the local environment, I think it's an interesting approach and would like to discuss how we'd go about doing so. One downside is that pipreqs would output different results depending on the local environment, which isn't ideal, but controlling that feature with a CLI flag could be a reasonable approach.

If you mean that we can extract the correct installable package name from the local environment

That's exactly what I mean.  E.g. in .venv/lib/python3.7/site-packages/TA_Lib-0.4.17.dist-info/METADATA:
Metadata-Version: 2.1
Name: TA-Lib
Version: 0.4.17
Summary: Python wrapper for TA-Lib
Home-page: http://github.com/mrjbq7/ta-lib
Author: John Benediktsson
Author-email<EMAIL_ADDRESS>License: UNKNOWN
Download-URL: https://github.com/mrjbq7/ta-lib/releases
Platform: UNKNOWN
Classifier: License :: OSI Approved :: BSD License
Classifier: Development Status :: 4 - Beta
Classifier: Operating System :: Unix
Classifier: Operating System :: POSIX
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: Microsoft :: Windows
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Cython
Classifier: Topic :: Office/Business :: Financial
Classifier: Topic :: Scientific/Engineering :: Mathematics
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: Intended Audience :: Financial and Insurance Industry
Requires-Dist: numpy

UNKNOWN

and in .venv/lib/python3.7/site-packages/TA_Lib-0.4.17.dist-info/top_level.txt
talib

I'm sure that it's possible to follow all these locations and extract all that metainfo just by the fact of being able to import the package (e.g. talib) via standard Python API.

I see #147 now, while I still believe that the whole challenge of mapping can be addressed by the approach proposed above.  In case you feel like the above approach is too much to implement as a first step, I would say that apart from #147, you could consider providing users with configuration files, which would allow to alter the mapping (both adding and removing entries).  I am certain that the right way to go about the implementation in this case would be to follow exactly what pip does, i.e. Configuration, where you'd rename everything to be pipreqs.  Furthermore, I think it would be even more common for various projects to add/remove local project/repository mappings and also of course commit them.  It means that both [pipreqs] section in setup.py and a standalone pipreqs.ini in the root of project/repository (next to setup.py) should also be supported (similar to how pytest, tox, and many others do it) and should obviously take precedence over previously-mentioned pip-like configuration files.
P. S.  I would still at least make a dirty sketch of the solution proposed above and test it in order to estimate the effort and impact.

Additionally, in either case, perhaps #134 needs to be taken up too.

Any plans to work on these ones?  I personally think these are highly useful features.  I'd welcome some additional opinions since maintainers have changed.


ValidatorsProvider.Validators returns wrong 404 errors - bug?

Thanks for great work!
Now the problem: After deploying my project, I've noticed that ValidatorsProvider.Validators call returns a lot of 404 errors. The input argument is like:
opts := &api.ValidatorsOpts{
		Common: api.CommonOpts{
			Timeout: time.Second * time.Duration(cfg.ValidatorsTimeoutSeconds),
		},
		State:   stateID,
		Indices: nil,
		PubKeys: validatorPubKeys,
	}

Where stateID is a slot number (i.e. "8718143"), while validatorPubKeys contains public key slice of variable length (I've tried with up to 1,500 keys). The client communicates with a Lighthouse node, which is fully synced, and it definitely includes history long before the requested slot ("8718143"). Also, the instance reports finalized epoch (via EventsProvider) that is significantly after the requested slot. In short: the requested slot is definitely contained by the server.
When it comes to public keys, almost all (if not all) of them were active in this moment in time (slot 8718143).
Based on everything said, the client should not return 404; it should either return the data, or some other error if there's one. But it does, and it does it a lot. The question is in what circumstances 404 errors are returned, and how we should handle them?
Just to mention: I'm able to get the data manually by using curl and invoking the same endpoint on the same instance.
Thanks!

Please can you run the client with trace logging and send an example log where it returns a 404 that it shouldn't?  That should help me to understand the issue.

I will provide asap. Thanks

The official specification is at https://ethereum.github.io/beacon-APIs/#/Beacon/getStateValidators however it may not define all situations, and not all consensus nodes will follow the spec perfectly.  Ideally the consensus node will return 404 if the state cannot be found, and apart from that will return an array of some sort, but it's the type of thing that would need to be tested against all implementations to confirm that they work as expected.

Thank you very much for the answers!
Regarding my original problem - getting suspicious 404 - it looks that it was caused by me trying to query slots without blocks. Also, I've provided false info by mistake that manual (curl) queries do return some results. In short - my report was wrong, so I'm closing this one.
Thanks for trying to help!


Tensorflow version error

I have tensorflow 1.2.
When I proceed with the steps as in the tutorial I get the following error
python -m nmt.nmt \

--src=vi --tgt=en \
--vocab_prefix=/tmp/nmt_data/vocab  \
--train_prefix=/tmp/nmt_data/train \
--dev_prefix=/tmp/nmt_data/tst2012  \
--test_prefix=/tmp/nmt_data/tst2013 \
--out_dir=/tmp/nmt_model \
--num_train_steps=12000 \
--steps_per_stats=100 \
--num_layers=2 \
--num_units=128 \
--dropout=0.2 \
--metrics=bleu

Traceback (most recent call last):
File "/home/yash/anaconda3/lib/python3.6/runpy.py", line 193, in _run_module_as_main
"main", mod_spec)
File "/home/yash/anaconda3/lib/python3.6/runpy.py", line 85, in _run_code
exec(code, run_globals)
File "/home/yash/nmt/nmt/nmt.py", line 28, in
from . import inference
File "/home/yash/nmt/nmt/inference.py", line 24, in
from . import attention_model
File "/home/yash/nmt/nmt/attention_model.py", line 22, in
from . import model
File "/home/yash/nmt/nmt/model.py", line 31, in
utils.check_tensorflow_version()
File "/home/yash/nmt/nmt/utils/misc_utils.py", line 34, in check_tensorflow_version
raise EnvironmentError("Tensorflow version must >= %s" % min_tf_version)
OSError: Tensorflow version must >= 1.4.0-dev20171024
What should I do.
I am skeptical a bout updating tensorflow since in many online sources I have read that tensorflow 1.4gpu has issues with CUDA.
Please advice.
If I have to update tensorflow, i would be glad if someone can guide me with the steps for it.
Thank You

pip install  --upgrade tensorflow


add request timeout

add the whole request cycle timeout feature.
From Go 1.3 http.Client support this.

Can you please gofmt the code and submit tests that cover this?

@levigross sorry, I'll try

Thanks! Can you please rebase your Pull request so that I can easily merge it?

Rebase done

@aolu11 I am still getting a merge conflict when I am trying to merge your branch. Can you rebase your branch off of the latest master?
$ git pull git://github.com/aolu11/grequests.git master
remote: Counting objects: 5, done.
remote: Compressing objects: 100% (5/5), done.
remote: Total 5 (delta 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (5/5), done.
From git://github.com/aolu11/grequests
 * branch            master     -> FETCH_HEAD
Auto-merging utils.go
Auto-merging request.go
CONFLICT (content): Merge conflict in request.go
Automatic merge failed; fix conflicts and then commit the result.

Sorry... I'm not very good at git.. maybe I should make this an issue

I would like to merge your branch so that you would be counted as a contributor to GRequests. If not, I am merge the branch in by myself.

@levigross That would not be a problem, plz just merge it, thanks for your kindness~

My pleasure, thanks for your contribution! Now we just need the tests to pass....


D3D8 Driver

Would you accept a PR for a D3D8 driver?
I know there's a D3D9 driver stub, but it doesn't do capture, so it would be a bit weird to have a D3D8 driver that's more complete than the D3D9 one. And obviously there's a maintenance cost.
My motivation is that I want to do a graphics study for C&C Generals, in the same style as Adrian
Courrèges's awesome frame breakdowns of popular games like GTA V. But C&C Generals is a D3D8 title, which very few frame debuggers support (really just apitrace, but apitrace's UI doesn't give me pretty partially-rendered screenshots that I can put on my blog).
I've already matched the D3D9 driver, so my D3D8 driver can render the overlay as below. I'll probably carry on with the capture code regardless of your answer, but it would be extra motivation if there was the thought that this code could be merged and / or useful to others.

I can't answer the question but would like to chip in just to say how it looks from my side.
I started the D3D9 driver but then, unfortunately, lost a large chunk of my free time to other activities. Since the D3D9 and D3D8 interfaces are exact matches in many cases, it would be great to make progress on either implementation, because this would mean much easier progress for the other. If I will have any more free time in the near future I will certainly return to the D3D9 driver which I very much regret abandoning.
As for your concerns, I think it's not a problem to have a D3D8 driver, even if the D3D9 one is not functional yet and you shouldn't worry about this. Especially since all this development would probably happen in a branch.
Obviously, all this is just my opinion and Baldur has the last word on all matters renderdoc related :)

@moradin thanks for the reply, and your work on the D3D9 driver - it made the initial D3D8 work pretty straightforward.
Let's see what Baldur says.

This is certainly unexpected :smile:.
At this point I don't get many requests about D3D9 support, although there are still a few people shipping programs on D3D9. D3D8 is only of historical interest I imagine. However I don't mind merging the API support into the codebase in principle.
My main concerns are maintenance like you mention - I don't really want to have a driver that is just left to rot and bugs aren't fixed, but equally I don't have the familiarity or realistically the time/priorities to fix anything. There's also a question of controlling expectations - when new features are added or changes are made, D3D8 is definitely going to get the short end of the stick. Many features will probably be impossible to implement without maybe doing some kind of dual-API path where you share textures with a more capable API like D3D11 and do the work there. In general though, I don't want to give people the expectation that D3D8 is fully supported without being able to back it up.
As long as it is simply merged into the code without being 'public-facing' until it's ready, I think it should be fine.
I guess although D3D8 and D3D9 are similar, all of the versioned COM interfaces make code sharing kind of difficult? If the APIs are close enough and it's feasible then it would be nice to share some code if possible, but if that's more trouble than it's worth doing the gymnastics to merge things then it's not important.
For a procedural thing I'd strongly recommend PR'ing with what you have now already, and then PR'ing at a regular basis after that. Realistically I can't review and merge a whole back-end at once, so if there's a PR that's too big then that might be something I'd reject. Instead if you do it in bite-sized chunks then it's easier to review and fix any issues sooner rather than later. As long as it compiles there's no harm in merging it any time, it doesn't have to work until we decide to publicise it and make it an official backend.

when new features are added or changes are made, D3D8 is definitely going to get the short end of the stick

That makes complete sense - I wouldn't be surprised or upset if, at some point in the future, there are enough changes or new features that you decide to remove D3D8 support. But if there's at least some version of RenderDoc that supports D3D8, that ought to be enough for people like me who just want to better understand an old game.

As long as it is simply merged into the code without being 'public-facing' until it's ready, I think it should be fine.

Great!

If the APIs are close enough and it's feasible then it would be nice to share some code if possible

In my opinion, it's not worth trying to share code, at least at this stage, because of the versioned COM interfaces you mentioned. Perhaps after the capture code is implemented I can revisit that opinion.

For a procedural thing I'd strongly recommend PR'ing with what you have now already

Will do.

As for code sharing, most of the code would compile if a define would be added for each API object. Now I'm not saying that I like such code but something like this would work:
#if DX9
#define D3DTexture IDirect3DTexture9
#elif DX8
#define D3DTexture IDirect3DTexture8
#else
#error
#endif

The same idea could be implemented with typedefs or templates.
There are certainly objects that are different or functions that exist only in one API but the similarity is really huge.

Closing this for now as the initial PR is merged, feel free to open new issues if there are specific things that should be discussed.

Where to vote for D3D9 support? My game defaults to DX9 suddenly and I can not force it to work with DX11, so I can't use RenderDoc for it anymore.

There is no voting. D3D9 support is unlikely to be implemented unless someone else contributes it as it's not high priority for me.

My game defaults to DX9 suddenly and I can not force it to work with DX11

I'm not sure if it's what you mean, but capturing commercial or copyrighted programs that are not your own is not supported or condoned. I provide no support for that. If it's your own project and you have a DX11 backend then it's up to you to use DX11, it's not something I can help with.


Feature: Ability to mark terminal dirty and force a full repaint on next draw call

Description
Adds some new functions to Cell, Buffer, and Terminal that when called marks a given object dirty, meaning their current state on the terminal is unknown, so they should be repainted the next time draw() is called.
Uses a given cell's .symbol being empty as a "dirty" marker. Not sure how proper this is for an implementation, but it seems to work well.
Testing guidelines
I've added some tests to tests/terminal.rs
Checklist

[x] I have read the contributing guidelines.
[x] I have added relevant tests.
[x] I have documented all new additions. I think.

Hey, ratatui is the actively maintained fork of tui-rs. If you are interested, feel free to submit this PR to there as well. Cheers!

Thanks @orhun! I've ported my project over, and will see if there's a more elegant way to achieve this functionality.


Push multi-arch images

Motivation
Create multi-platform images for kserve/rest-proxy images.
Modifications

build runtime images for platforms linux/amd64, linux/arm64, linux/ppc64le, linux/s390x
utilize Docker build cache for pip and dnf installs as well as go builds
build on pull_request as well as on push to catch build breaks during PR review;
only push images to DockerHub on PR merge (push to main)
use ubi8/go-toolset:1.18 for developer image instead of ubi8/ubi-minimal:8.4
change runtime image base from scratch to ubi-micro:8.7
update deprecated checkout action
add develop and run targets to Makefile
prevent infinite docker inside docker bug when running make run fmt inside the developer container

Related PRs

[x] modelmesh (https://github.com/kserve/modelmesh/pull/80)
[x] modelmesh-runtime-adapter (https://github.com/kserve/modelmesh-runtime-adapter/pull/38)
[x] modelmesh-serving (https://github.com/kserve/modelmesh-serving/pull/314)
[x] modelmesh-minio-examples (https://github.com/kserve/modelmesh-minio-examples/pull/3)

Resolves kserve/modelmesh-serving#162

Hi @ddelange -- I think we need to float the arch platform into a Docker build variable so that the Dockerfile does not have the plaftform id hardcoded for any tar file we download and install during the Dockerbuild.
https://github.com/kserve/rest-proxy/actions/runs/3930863097/jobs/6721448487#step:7:1580
#24 [linux/arm64 develop  3/10] RUN set -eux;     wget -qO go.tgz "https://golang.org/dl/go1.18.9.linux-amd64.tar.gz";     sha256sum *go.tgz;     tar -C /usr/local -xzf go.tgz;     go version
#24 47.87 + go version
#24 47.88 /bin/sh: /usr/local/go/bin/go: No such file or directory
#24 ERROR: process "/bin/sh -c set -eux;     wget -qO go.tgz \"[https://golang.org/dl/go${GOLANG_VERSION}.linux-amd64.tar.gz\](https://golang.org/dl/go$%7BGOLANG_VERSION%7D.linux-amd64.tar.gz/)";     sha256sum *go.tgz;     tar -C /usr/local -xzf go.tgz;     go version" did not complete successfully: exit code: 127

#23 [linux/amd64 build 2/2] RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 GO111MODULE=on go build -a -o /go/bin/server ./proxy/
#23 CANCELED

@tjohnson31415 --  the issue had to do with Golang version 1.18 vs 1.17 (1.17 is still used for the runtime adapter):

go get no longer builds or installs packages in module-aware mode. go get is now dedicated to adjusting dependencies in go.mod. Effectively, the -d flag is always enabled. To install the latest version of an executable outside the context of the current module, use go install example.com/cmd@latest. Any version query may be used instead of latest. This form of go install was added in Go 1.16, so projects supporting older versions may need to provide install instructions for both go install and go get. go get now reports an error when used outside a module, since there is no go.mod file to update. In GOPATH mode (with GO111MODULE=off), go get still builds and installs packages, as before.

https://tip.golang.org/doc/go1.18#go-get
This meant that the protoc-gen-go CLI was actually not installed since the Dockerfile was updated from Go 1.17 to Go 1.18


chore(deps): update wasmtime

Update to latest stable release
Note: once merged, a new patch release of the wasmtime-provider should be tagged and released

Thanks @flavio, published as https://crates.io/crates/wasmtime-provider/1.7.0


Pour speling

Please feel free to raise a PR to assert your mastery of the English language. 👍

Gonna close this down as I doubt either of us can remember the spelling in question.
More details next time please! 🙈

Hah. Fair do's. I'm pretty sure you fixed it up anyway.
I'm thinking about stealing this runner for Verify at some point btw, if you don't mind...

If you do try, please let me know. Would love if it could be adapted to other uses!

Although I'd probably be surprised to hear Verify doesn't have some alternative already?

At the moment it's just  a startup script which brings apps up and drops them to the background, with logs piped into files. You need to tail the files if you want to see what's going on, and it's hard to see what's running/restart an app etc.

Will let you know if I get round to use it!

Oh yeah that feels like that would get annoying. Nice one. Cheers!


Automated cherry pick of #3569: Fix reject loop issue and add error handling

Cherry pick of #3569 on release-1.5.
#3569: Fix reject loop issue and add error handling
For details on the cherry pick process, see the cherry pick requests page.

/test-all

Seems the parameters of some func in the e2e test have changed since 1.5. Should I open a PR directly on the release-1.5 branch?

Seems the parameters of some func in the e2e test have changed since 1.5. Should I open a PR directly on the release-1.5 branch?

Is it possible to change the test code or change the function in this PR to make them work?

@GraysonWu I thought we only needed to cherry-pick this for 1.6. Is it broken in 1.5 as well?

@GraysonWu I thought we only needed to cherry-pick this for 1.6. Is it broken in 1.5 as well?

In 1.5, somehow the agent won't crash but it will still cause an infinite loop and the client won't receive the reject response.

Codecov Report

Merging #3601 (f4b98ca) into release-1.5 (e1ef3ca) will decrease coverage by 10.23%.
The diff coverage is 66.66%.

@@               Coverage Diff                @@
##           release-1.5    #3601       +/-   ##
================================================
- Coverage        61.10%   50.87%   -10.24%
================================================
  Files              332      464      +132
  Lines            28512    44134    +15622
================================================
+ Hits             17423    22451     +5028
- Misses            9200    19352    +10152
- Partials          1889     2331      +442

Flag
Coverage Δ

integration-tests
34.12% <ø> (?)

kind-e2e-tests
48.64% <66.66%> (-1.55%)
:arrow_down:

unit-tests
41.47% <0.00%> (-0.04%)
:arrow_down:

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


Catch network errors in Gradle and retry with truncated exponential backoff

We should consider detecting network errors in gradle and retrying...
Initializing gradle...                                       6.3s
Resolving dependencies...
* Error running Gradle:
Exit code 1 from: /home/travis/build/flutter/flutter sdk/examples/flutter_gallery/android/gradlew app:properties:
Starting a Gradle Daemon (subsequent builds will be faster)
Picked up _JAVA_OPTIONS: -Xmx2048m -Xms512m
FAILURE: Build failed with an exception.
* What went wrong:
A problem occurred configuring root project 'android'.
> Could not resolve all files for configuration ':classpath'.
   > Could not resolve com.android.tools.build:gradle:3.1.2.
     Required by:
         project :
      > Could not resolve com.android.tools.build:gradle:3.1.2.
         > Could not get resource 'https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/3.1.2/gradle-3.1.2.pom'.
            > Could not GET 'https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/3.1.2/gradle-3.1.2.pom'.
               > Remote host closed connection during handshake
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 24s
Please review your Gradle project setup in the android/ folder.

/cc @xster FYI

https://github.com/gradle/gradle/pull/7333 seems to have added support for this, although I'm not 100% clear on that.

We have logic that should catch this but is currently a little too narrow. Linked PR should fix this.

There has been some recent work to address this issue: We now persist the Gradle global cache and lock all the dependencies. We should be rarely hitting the network at the moment.


Hooking up KeyCloak

Hooking into KeyCloak for authentication, but also to lookup Users, Roles and Permissions.

I think it may make sense to run it embedded into the swarm server, for now at least:
https://wildfly-swarm.gitbooks.io/wildfly-swarm-users-guide/content/security/keycloak_server.html
https://wildfly-swarm.gitbooks.io/wildfly-swarm-users-guide/content/security/keycloak.html

We should run Keycloak externally rather than embedded. For now, we might have to use RH SSO rather than Keycloak community version as there is no community version available that runs on OpenShift properly...


(feat) : Adding standard deviation functionality to linear regression

Closes #741

Adds standard deviation functionality as a flag in ta.linreg

Hello @mobley-trent,
Thanks for the submission. I will get to it as soon as I can take care of a PR I am currently addressing.

@mobley-trent
After reviewing the linreg code and after including improvements included PR #776 will I be able to include this additional feature. I will keep you posted when I am closer to including it or have done so. I apologize for the delay.

Yes @twopirllc I think this will integrate with the changes in #776


example return data under "initialize a file upload"

Under "initialize a file upload", the example JSON response has an example hostname "contoso.azure-devices.net". This is an example of a IoT Hub hostname, while the response always (logically) contains a storage account host name.

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

ID: dbaf3777-34b8-b195-691f-2853c9cbe04a
Version Independent ID: 3b0a4384-e495-16db-1c36-dca0a9f95179
Content: Understand Azure IoT Hub file upload
Content Source: articles/iot-hub/iot-hub-devguide-file-upload.md
Service: iot-hub
GitHub Login: @dominicbetts
Microsoft Alias: dobett

Thanks for the feedback! We are currently investigating and will update you shortly.

We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.


Feature compatible opean ai object

In order to use this environment with python and openai object
like those:
import OpenAI from 'openai'

const openai = new OpenAI({
  baseURL: 'http://localhost:11434/v1',
  apiKey: 'your_custom_api_key_from_apiKeys.conf',
})

I had to add the check for the header validation in the nginx.conf. OpenAI python object uses header with such format.
Now it should be usable just like the OpenAI python object.
This is my first pull request to public repository, that is not mine, so I will love any feedback.

Hi @tomyjany,
I appreciate your PR, I am happy to inform you that it was merged successfully. Since this is your first time to contribute I have just few points to talk about.

You shouldn't remove anything without explicitly mentioning it. For instance you removed the apiKey header which was useful to my case scenario, however, you should've only come up with a way to combine the two header and in fact here is a million way to do so.
Always submit a well formatted/readable code, you can use an extension for that (i.e Prettier). And, most importantly always delete dead code and unnecessary comments to make your cod readable for the reviewer.
Documentation: You haven't documented anything you've knowing the fact that you've done a great job, but the end reader, should be able to easily understand your contribution straight to the point, this believe me always makes your contribution valuable, since it explains your process and makes it easy for the reviewer to understand what you're trying to do.
Focus on conventional PR/commits names and titles: this helps in creating a more structured, tag-friendly commit history

Here's an illustration of how I write commit conventional names:
(optional scope)/
The commit type can include the following:

feat: a new feature is introduced with the changes.
fix: a bug fix has occurred.
chore: changes that do not relate to a fix or feature and don't modify src or test files (for example updating dependencies).
refactor: refactored code that neither fixes a bug nor adds a feature.
docs: updates to documentation such as a the README or other markdown files.
style: changes that do not affect the meaning of the code, likely related to code formatting such as white-space, missing semi-colons, and so on.
test: including new or correcting previous tests.
perf: performance improvements.
ci: continuous integration related.
build: changes that affect the build system or external dependencies.
revert: reverts a previous commit.

Best regards,

Hi @yyassif
Thank you so much for your constructive feedback! I will take gladly your advice!


Translation Updates - Lab 15

Lab 15, Exercise 1, Task 3, Step 3:   "의심스러운 리소스 작성 또는 배포 수" should be changed to "Suspicious number of resource creation or deployment activities".
Lab 15, Exercise 1, Task 4, Step 9:   "변경-인시던트-심각도" should be changed to "Change-Incident-Severity".
Lab 15, Exercise 1, Task 4, Step 10:   "변경-인시던트-심각도" should be changed to "Change-Incident-Severity".
Lab 15, Exercise 1, Task 5, Step 4:   "초기 액세스" should be changed to "Initial Access".

Locfiles

Fix made and flies uploaded


Tatyana Korchinova

@tetyanko, as you see - you have 3 updates instead of 1 required - please try to make new pull request, maybe it'll be easier for you to just create new repo and do this task again.


boxcryptor-single-file-encryptor?

Hi there,
I understand that given you have opened the decryption code, it's not rocket science for one to build encryption either, but still, it would be really nice if you'd open the encryptor as well!
Thanks,
Peter

Hi Peter,
thank you for your suggestion. The main purpose of the single-file-decryptor is to provide an addition to our encryption scheme's documentation (https://www.boxcryptor.com/en/technical-overview/). Through this code, users can quickly verify that Boxcryptor actually works the way stated on our website by decrypting their files through it and reviewing the source code.
For that purpose, an additional encryptor would add little additional value. But I understand that some users might have some particular use cases that would make an encryptor useful. We'll keep your suggestion in mind.
Best regards,
Christian


Inconsistent connected devices

Hello.
I have built a simple dashboard to show various items about the home network. Here is a screenshot:

As you can see, there 56 devices online, with a total of 39 connections on two APs.  Three of the APs do not have documented connections (one is an extender, which probably explains the lack of connections).
This is not a big issue, so don't feel the need for a rapid reply.

How do we get the count of connected devices "equal" to the number of Online Devices?
How are wired connections addressed? Are they included in the connections count?

Thanks!
Gary

Hopefully these answer your queries...

https://github.com/uvjim/linksys_velop/issues/58
https://github.com/uvjim/linksys_velop#sensors - check the attributes of the Mesh: Number of Online Devices or Node: Number of Connected Devices depending on where you want the information from.

@gndenton have these evened out now?

No.  There continues to be a delta of approximately 10.
Gary
Gary N. Denton
Mobile: +1<PHONE_NUMBER>
Email: @.***

From: uvjim @.>
Sent: Thursday, August 8, 2024 3:45:12 AM
To: uvjim/linksys_velop @.>
Cc: Gary Denton @.>; Mention @.>
Subject: Re: [uvjim/linksys_velop] Inconsistent connected devices (Issue #474)
@gndentonhttps://github.com/gndenton have these evened out now?
—
Reply to this email directly, view it on GitHubhttps://github.com/uvjim/linksys_velop/issues/474#issuecomment-2275165550, or unsubscribehttps://github.com/notifications/unsubscribe-auth/BATKJ753CWAAVJJA4YHREQDZQMOYRAVCNFSM6AAAAABLFFO6FKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENZVGE3DKNJVGA.
You are receiving this because you were mentioned.Message ID: @.***>

So, in the Linksys app do you see something like this?

Notice that some of the devices have a double dash where you'd expect to see the node name. In my experience these are the ones which cause the discrepancy. The number of online devices on the mesh is correct (as is the number of offline devices on the mesh). The node counts are also correct, but those with the dashes don't identify which node they are on so can't be included in a count.
My experience shows that this slowly corrects itself over time, or a reboot (or network refresh) of the device (not node or mesh) will cause it to identify the node it is connected to again.

Yes - I see a similar pattern. The three dots (two dashes, as your file shows) seem to be the devices which are hardwired to the AP (via a switch where multiple devices exist). At this point, I'll continue to monitor the numbers and look for a decreasing delta.
I would be okay with closing the issue.
Gary N. Denton
Mobile: +1<PHONE_NUMBER>
Email: @.***

From: uvjim @.>
Sent: Thursday, August 8, 2024 9:50 AM
To: uvjim/linksys_velop @.>
Cc: Gary Denton @.>; Mention @.>
Subject: Re: [uvjim/linksys_velop] Inconsistent connected devices (Issue #474)
So, in the Linksys app do you see something like this?
Screenshot_20240808_144448_Linksys.png (view on web)https://github.com/user-attachments/assets/83523639-4d8a-4c27-8de2-1a23720ba56d
Notice that some of the devices have a double dash where you'd expect to see the node name. In my experience these are the ones which cause the discrepancy. The number of online devices on the mesh is correct (as is the number of offline devices on the mesh). The node counts are also correct, but those with the dashes don't identify which node they are on so can't be included in a count.
My experience shows that this slowly corrects itself over time, or a reboot (or network refresh) of the device (not node or mesh) will cause it to identify the node it is connected to again.
—
Reply to this email directly, view it on GitHubhttps://github.com/uvjim/linksys_velop/issues/474#issuecomment-2275886022, or unsubscribehttps://github.com/notifications/unsubscribe-auth/BATKJ7ZFOBJ4LOFJKWQ5YQ3ZQNZUBAVCNFSM6AAAAABLFFO6FKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENZVHA4DMMBSGI.
You are receiving this because you were mentioned.Message ID: @.***>


Updates UWP packages to latest .NET Core version

Updating the version of .NET Core to the latest.

 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.You have signed the CLA already but the status is still pending? Let us recheck it.

Looks like 6.2.2 was taken down. I'll switch this over to 6.1.9 next week.


Feat: when we click checkout btn should display loading

When we click on the checkout btn nothing really happend.
We should be hable to know that the checkout is procedding by a visual feature like a loading circle.

The loading should move to make the user know that the payment is  pending.

Close with the PR #88


[AP-3719] Port CMD

Summary
Brought in all files from Rauls receptor-sdk pr
Task
AP-3718

Let's put all this code under go/receptor_sdk.


Adds vm# sorting and clock icon to plan not started list

https://github.com/ManageIQ/miq_v2v_ui_plugin/issues/496 has mocks with clock icon for scheduling, so adding that and the Number of VMs sorting option
related to #427, should use the same bz

@AparnaKarve ok to merge?

(this is just changing the sort label and adding the clock icon...)

Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1610359

@AllenBW please add the transformation label to this.

Gaprindashvili backport details:
$ git log -1
commit 2a81a0deca2702f6d50a42f5485c86c5af352fe1
Author: Patrick Riley<EMAIL_ADDRESS>Date:   Thu Jul 19 16:53:52 2018 -0400

    Merge pull request #497 from AllenBW/bug/schedule-migration-cleanup

    Adds vm# sorting and clock icon to plan not started list
    (cherry picked from commit b7a0e1758d2032205045014c2dc49f319e517f13)

    Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1610446


Installed as requested - "Couldnt find STEAMVR, did you install it and run it once?"

see image^
im not entirely sure but since i made the change everytime boot my oculus q2 like usual i just get that message

Do you have steamVR installed on default path or did you change it?

I don't have steam installed on my OS drive, and I did change the location of once.

I don't have steam installed on my OS drive, and I did change the installation location once.

Do you have steamVR installed on default path or did you change it?

SteamVR i believe is installed on a different SSD where as Oculus is installed on another SSD.
if i boot SteamVR manually it still prompts the message, loads SteamVR but the oculus HMD is just blank.

Do you have steamVR installed on default path or did you change it?

SteamVR i believe is installed on a different SSD where as Oculus is installed on another SSD.
if i boot SteamVR manually it still prompts the message, loads SteamVR but the oculus HMD is just blank.

is there a possibility to maybe point the directory for SteamVR?

Add a configuration file or something similar could be a solution. But I would keep current search on registry, if steamVr not found then use the path in file configuration.
@ItsKaitlyn03 what do you think about?

I'll add a configuration in the next update, stay tuned.

I'm also having this issue. I moved my SteamVR install to E: drive (main Steam install is still on C:) and all of my games and Oculus software are on E: drive. Thanks so much for making this utility and adding a config option in the future!

@H0LL0WS Is your issue solved with the latest v1.2.0 update?

@H0LL0WS Is your issue solved with the latest v1.2.0 update?

not tried yet, will try again tonight.


Adds react-native Partner view

This PR covers the first stage in releasing a react-native Partner view. Follow up PR's will be required for adding tests, updates to views, etc.

#skip_new_tests

:rocket: PR was released in v1.18.7 :rocket:


feat: global AST cache

2-3% performance improvement in simple cases

giving up on this one as we don't plan to work on workers more.


Revert "[gosrc2cpg] - Package level TypeDecl constructor handling (#3…

This reverts commit cdcaf26558c21f47d696a702bf93ae488faf47ff.

Accidental duplicate of https://github.com/joernio/joern/pull/3913


Support obsolete Scratch blocks

Building off of #18 but I figure it makes sense to track these separately (requires more work in sb-edit than here, and not exactly part of the 'standardized' blocks of Scratch 3.0).
Some projects depend on obsolete Scratch blocks, such as "for each (variable) in (list)". In order to support all projects that can be run by Scratch 3.0, we should look into supporting such blocks — I'd be up for trying that out since I'd like to get familiar with the codebase anyway!
I believe we'd need to update sb-edit to support these blocks as well; most of them don't add any complex new behavior (and some just don't do anything, but still arguably oughtn't crash sb-edit), so most work would be tied to implementing their opcode/block definitions and writing export-related code in toScratchJS.ts.
I've got experience implementing most of these blocks - check it out: https://github.com/LLK/scratch-vm/issues/355#issuecomment-379399646. All those PRs are by me! :P
Here's a checklist copied from that comment:

[ ] doForLoop: ___. See here for its most up-to-date behavior (it was kinda glitchy in 2.0 IIRC).
[ ] doWhile: ___. Its behavior is exactly the opposite of doUntil (i.e. "repeat until"): while the condition is true (rather than false), run the contained blocks.
[ ] warpSpeed ("all at once"): ___. Its behavior is to run the contained blocks as they are (don't actually go into "warp speed", i.e. no-refresh). ("all at once: { move 10 steps, turn 15 degrees }" is functionally equivalent to "move 10 steps, turn 15 degrees".)
[ ] Counter blocks: ___.

The counter value is a global value that defaults to zero.
counter: Return the counter value.
incr counter: Increment the counter's value by one.
clear counter: Set the counter value to zero.

[ ] Scroll blocks: ___. These are all no-ops.
[ ] "hide all sprites", "user id", and those suspicious "setStretchTo" and "changeStretchBy" blocks: ___. Also no-ops.
[ ] "loud?": ___. Its behavior is to return whether or not the sound level (i.e. result of "loudness") is greater than 10 (so it's identical to loudness > 10).
Various 1.4 blocks that should automatically be converted to their 2.0+ forms. (Not a checkbox since this will probably be looked at separately from these blocks - sb-edit doesn't support 1.4 import yet and I'm pretty sure any projects saved in 2.0 or 3.0 will automatically have converted these to the 2.0+ form.)

abs (val) -> ("abs") of (val)
sqrt (val) -> ("sqrt") of (val)
stop script -> stop ("this script")
stop all -> stop ("all")
switch to background (bg) -> switch backdrop to (bg)
next background -> next backdrop
forever if (cond): (script) -> forever: if (cond): (script)

For bonus reference, here's @thisandagain's hacked block usage breakdown across all shared projects, from the comment below the one I linked:

And here's a hilariously big demo project containing dozens of hacked blocks: link! I certainly don't think it's a realistic target to support because it contains loads of blocks that just don't run or behave as blocks are supposed to at all; and of course it doesn't open in Scratch 3.0 either. But it is fun to look at (in s2online)! :P

This would be great! (And it's a nice low-risk way to get comfortable with the codebase.) 👍

:tada:! Work's begun here: https://github.com/PullJosh/sb-edit/compare/master...towerofnix:obsolete-blocks

Yay!  I really need to get better at writing JS... I want to help too!  😺


[DRAFT] Backport semaphore fixes

Summary
Backport of https://github.com/apache/incubator-nuttx/pull/5171 and draft https://github.com/apache/incubator-nuttx/pull/6338
Impact
This should resolve priority inheritance issues
Testing
Tested against adverse example. Not flight tested.

There probably is a typo in summary. The priority inheritance PR is https://github.com/apache/incubator-nuttx/pull/6318

Thanks, updated

@ThomasDebrunner Is this Additional change Needed as well?


How to get dabestr to run with arrays of unequal length?

Hi there,
Is there any way to get dabestr to run with values in each test set that are unequal? For example, I have three groups, with N = 257, 236 and 310 values respectively. The simplified code I use is below (and works fine on data with columns of equal length):
dabest_obj = load(data,                   x = x_values,                    y = y_values,                   idx = c("Group1", "Group2", "Group3")                   )
dabest_obj.mean_diff = mean_diff(dabest_obj)
...it then comes up with this error:
Error in PermutationTest(ctrl_measurement, test_measurement, effect_size = effect_size_type,  :
The two arrays do not have the same length.
it worked fine using an older version of R and the older dabest function.
(I'm using R Studio Version 2023.12.0+369 (2023.12.0+369))

Apologies @sunroofgod I saw your previous thread on this, but following your advice on updating to latest developer version using
devtools::install_github(repo = "ACCLAB/dabestr", ref = "dev")
didn't solve it and I still have the same error. I have restarted R and cleared output, but to no avail I'm afraid!

Hi @gastruloids sorry for the late reply!
I've tried replicating the error on my side but everything seems to be working. It might potentially be an issue with the R version. I'll be checking with the other devs to see if its working on their side and get back to you again.
Just to doublecheck - after you restarted R, you cleared all the objects and made sure that your workspace image is empty. After your session was cleaned, you made sure to run library(dabestr) AFTER running devtools::install_github(repo = "ACCLAB/dabestr", ref = "dev") and not BEFORE.

Hi @sunroofgod, No problem!
Thanks for the advice... it worked!
Thanks!

Hi, no worries at all! I'm glad its working now :) If you ever have more questions or run into any issues, feel free to reach out.
Additionally, thanks a bunch for using our dabestr package. Happy coding!


Proper handling $crate Take 2 [DO NOT MERGE]

Similar to previous PR (#7133) , but improved the following things :

Instead of storing the whole ExpansionInfo, we store a similar but stripped version HygieneInfo.
Instread of storing the SyntaxNode (because every token we are interested are IDENT), we store the TextRange only.
Because of 2, we now can put it in Salsa.
And most important improvement: Instead of computing the whole frames every single time, we compute it recursively through salsa: (Such that in the best scenario, we only need to compute the first layer of frame)

        let def_site = db.hygiene_frame(info.def.file_id);
        let call_site = db.hygiene_frame(info.arg.file_id);

        HygieneFrame { expansion: Some(info), local_inner, krate, call_site, def_site }

The overall speed compared to previous PR is much faster (65s vs 45s) :
[WITH old PR]
Database loaded 644.86ms, 284mi
Crates in this dir: 36
Total modules found: 576
Total declarations: 11153
Total functions: 8715
Item Collection: 15.78s, 91562mi
Total expressions: 240721
Expressions of unknown type: 2635 (1%)
Expressions of partially unknown type: 2064 (0%)
Type mismatches: 865
Inference: 49.84s, 250747mi
Total: 65.62s, 342310mi
rust-analyzer -q analysis-stats .  66.72s user 0.57s system 99% cpu 1:07.40 total

[WITH this PR]
Database loaded 665.83ms, 284mi
Crates in this dir: 36
Total modules found: 577
Total declarations: 11188
Total functions: 8743
Item Collection: 15.28s, 84919mi
Total expressions: 241229
Expressions of unknown type: 2637 (1%)
Expressions of partially unknown type: 2064 (0%)
Type mismatches: 868
Inference: 30.15s, 135293mi
Total: 45.43s, 220213mi
rust-analyzer -q analysis-stats .  46.26s user 0.74s system 99% cpu 47.294 total

HOWEVER,  it is still a perf regression (35s vs 45s):
[WITHOUT this PR]
Database loaded 657.42ms, 284mi
Crates in this dir: 36
Total modules found: 577
Total declarations: 11177
Total functions: 8735
Item Collection: 12.87s, 72407mi
Total expressions: 239380
Expressions of unknown type: 2643 (1%)
Expressions of partially unknown type: 2064 (0%)
Type mismatches: 868
Inference: 22.88s, 97889mi
Total: 35.74s, 170297mi
rust-analyzer -q analysis-stats .  36.71s user 0.63s system 99% cpu 37.498 total

Couple of quick observations before review:

during expansion, there are a lot of contiguous token ranges. We should take advantage of that, and store ranges, and not individual tokens in TokenMap
I am unsure it we should store TextRanges in frames. It seems that, after origenal conversion of user-written syntax to mbe, we only need mappings between token ids

Couple of quick observations before review:

during expansion, there are a lot of contiguous token ranges. We should take advantage of that, and store ranges, and not individual tokens in TokenMap
I am unsure it we should store TextRanges in frames. It seems that, after origenal conversion of user-written syntax to mbe, we only need mappings between token ids

per_query_memory_usage needs to account for new query.

I added HygieneFrameQuery in per_query_memory_usage .

during expansion, there are a lot of contiguous token ranges. We should take advantage of that, and store ranges, and not individual tokens in TokenMap

IIUC, we only store token range in TokenMap right now.

I am unsure it we should store TextRanges in frames. It seems that, after origenal conversion of user-written syntax to mbe, we only need mappings between token ids

We store the TextRange for the def site and call site syntax node, it is needed because at the current frame, we can't determine the upper level token id without knoning the text range of upper level syntax text starting position.
However, I changed it to just store the starting position (which is TextSize), it should save some memory.

per_query_memory_usage needs to account for new query.

I added HygieneFrameQuery in per_query_memory_usage .

during expansion, there are a lot of contiguous token ranges. We should take advantage of that, and store ranges, and not individual tokens in TokenMap

IIUC, we only store token range in TokenMap right now.

I am unsure it we should store TextRanges in frames. It seems that, after origenal conversion of user-written syntax to mbe, we only need mappings between token ids

We store the TextRange for the def site and call site syntax node, it is needed because at the current frame, we can't determine the upper level token id without knoning the text range of upper level syntax text starting position.
However, I changed it to just store the starting position (which is TextSize), it should save some memory.

Memory used :
Database loaded 643.90ms, 284mi, 81mb
Crates in this dir: 36
Total modules found: 577
Total declarations: 11187
Total functions: 8742
Item Collection: 14.57s, 84873mi, 458mb
Total expressions: 241372
Expressions of unknown type: 2643 (1%)
Expressions of partially unknown type: 2076 (0%)
Type mismatches: 871
Inference: 28.91s, 135567mi, 633mb
Total: 43.48s, 220440mi, 1091mb
   243mb ItemTreeQuery
    76mb BodyQuery
    71mb HygieneFrameQuery
    57mb InferQueryQuery
    48mb TraitImplsInDepsQuery
    46mb TraitSolveQuery (purge)
    41mb CrateDefMapQueryQuery
    38mb ImplDatumQuery
    38mb FileTextQuery (purge)
    33mb MacroArgTextQuery
    28mb BodyWithSourceMapQuery
    26mb ImplDataQuery
...

Memory used :
Database loaded 643.90ms, 284mi, 81mb
Crates in this dir: 36
Total modules found: 577
Total declarations: 11187
Total functions: 8742
Item Collection: 14.57s, 84873mi, 458mb
Total expressions: 241372
Expressions of unknown type: 2643 (1%)
Expressions of partially unknown type: 2076 (0%)
Type mismatches: 871
Inference: 28.91s, 135567mi, 633mb
Total: 43.48s, 220440mi, 1091mb
   243mb ItemTreeQuery
    76mb BodyQuery
    71mb HygieneFrameQuery
    57mb InferQueryQuery
    48mb TraitImplsInDepsQuery
    46mb TraitSolveQuery (purge)
    41mb CrateDefMapQueryQuery
    38mb ImplDatumQuery
    38mb FileTextQuery (purge)
    33mb MacroArgTextQuery
    28mb BodyWithSourceMapQuery
    26mb ImplDataQuery
...

yeah, that's quite high there. But we can't really not do this, so I think it's better to merge and optimize

yeah, that's quite high there. But we can't really not do this, so I think it's better to merge and optimize

Then bite the bullet now and hope no one will complain later :)
bors r+

Then bite the bullet now and hope no one will complain later :)
bors r+

cc @jonas-schievink

cc @jonas-schievink


State objects not created if the reserve not enough. No error code return in state_set.

Issue Description
State objects are not created if the account reserve is not enough. state_set doesn't return any error code.
Steps to Reproduce
Sample code: state_reserve_not_creating.zip

Download and run the given sample code.

node run.js sn6Eh5HPDsmsPG4RgnHCVFSgoo7FH ws://localhost:6005

It will compile and upload the hook to the given account and then will print the number of state objects before and after state creation.

Expected Result
Transaction invoking the state creation should be rejected by the hook since state creation is not finished properly.
Actual Result
Transaction invoking the state creation is accepted by the hook since no error is returned from set_state. But no state object is created.
Environment
Ubuntu 18.04
Hook testnet - wss://hooks-testnet.xrpl-labs.com

I believe this is fixed. If you could please test on your end? I will also add this to the unit tests shortly.

@RichardAH tested. Now the issue is fixed. Closing the issue.


API fix and some refactoring

Turned into just refactoring. Will leave API changes to a different PR.


Seconds option would have been better

Need a seconds option also. Now it starts with minute

Added fromNow in v2.0.0


[BUG] expects parameter 2 to be string on some dates

First of all, thank you for your great product, amazing work!
I am using Laravel and have created a small statistics module using your product which collects statistics from an external API that returns an array.
I call it in my controller like this:
return Excel::create('statistics'.$fromDate.'-'.$toDate, function($excel) use($result) {
$excel->sheet('Stats', function($sheet) use($result){
$sheet->fromArray($result);
});
})->download($fileformat);
It works great on some dates that I request, but on some others I get this error:
expects parameter 2 to be string, array given in /code/public/statstest/vendor/phpoffice/phpexcel/Classes/PHPExcel/Cell/DefaultValueBinder.php:96
Referes to this:
} elseif (preg_match('/^[+-]?([0-9]+\.?[0-9]|[0-9]\.?[0-9]+)([Ee][-+]?[0-2]?\d{1,3})?$/', $pValue)) {
$tValue = ltrim($pValue, '+-');
Any guess why this happens?

Silly me, had been coding for hours and didn't see straight. Didn't notice that one of the outputs from the corrupt date range had an array in it. I solved it by making an conditional statement if there is an array.

It needs to be a string.


Kubernetes Configmap Directory Mount

I've ran into an interesting issue with streams mode and "streams" directory mounted from a ConfigMap.
This is a nice feature of kubernetes that lets me add an arbitrary number of files to ConfigMap and point benthos at it.
DOCS
Ran into a small issue where benthos follows the symlinks created and loads the files recursively until it encounters duplicates. https://github.com/Jeffail/benthos/blob/7b53fd8e0a82ef194ecabf883e963be051146f01/lib/service/service.go#L256
https://github.com/Jeffail/benthos/blob/7b53fd8e0a82ef194ecabf883e963be051146f01/lib/stream/manager/from_path.go#L69
One workaround I've found is the use Kubernetes subPath, which disables sym linking, but also means each file needs to be known ahead of time for volume mounts.

Interesting that godoc says file path.Walk doesn't follow symlinks.
https://golang.org/pkg/path/filepath/#Walk

Hey @kozelok, if I've understood correctly then we can solve this quite easily by supporting glob patterns in the streams arg, so you'd be able to do benthos streams "./foo/*.yaml"


BundlePhobia site no longer reliable

It's been down for a couple weeks now (at least), and the project owner is unresponsive.

Near term: Remove "Bundle Size"  from Module pane UI
Longer term: Figure out an alternative for this

See https://github.com/pastelsky/bundlephobia/issues/823

You could switch to showing Install Size instead (although might not be relevant for browser packages)
https://github.com/styfle/packagephobia


update travis

This could have been just made with trusty in the front. But not sure when will trusty remove old php version. ie why.
@jakejohns , @pmjones any thoughts ?

This isn't particularly on topic, but related.
From @pmjones In March 2015 :

2.x packages with existing stable releases will continue to be the center of development activity for the foreseeable future, including fixes and features.

Is this still true? In that post it is also stated that 5.6 will be the minimum for 3.x. The post also warns of the dangers of "getting on the latest-release bandwagon". However, version < 5.6 haven't been supported for years now, and 5.6 support ends in 2018.
At the point that we need to jump through hoops to get our CI to work because we're trying to both support current and unsupported versions of PHP, perhaps we should review the roadmap.
Are we waiting for a feature request necessitating a 3.x transition?
Why don't we clean up some of these 2.x packages and push them into the future with 3.x releases?
If I'm not mistaken, with 5.6 as a minimum version, I believe trusty will just work, rather than requiring these more convoluted multi distribution travis configs, like the magic @harikt worked out for aura/html

@jakejohns I am not in favor of 5.x versions if we are doing a major release. I think it is time to push to 7.x. But I know @pmjones have a different opinion on the subject. I don't know what is his current thoughts though.

Merging this PR, so other PR's will run on PHP 7.


Nav launch files are not in best practices, and will not use composition

Please look over the current state of Nav2's launch files so that your users can use the best in Nav2 on Rolling. You do not want to copy-paste our launch files over. Instead, you want to make a launch file that launches Nav2's files with your custom configuration read-ins or additional nodes (like base, simulator, etc).

Is there a way to run async slam using the Nav2 launch files? I find the performance is much better on the RPI4 with async.

You can always swap out the localization launch file, but you shouldn't be overriding the navigation launch file -- only the highest level bringup which would include a localization launch include.


ggstatsplot still depends on retired packages

I can't install ggstatsplot.
It seems its dependencies are not in the copr repo:
> install.packages("ggstatsplot") Install system packages... Error in install.packages : dbus: Call failed:  Problem: conflicting requests  - nothing provides R-CRAN-ipmisc >= 6.0.2 needed by R-CRAN-ggstatsplot-0.8.0-1.fc35.copr2293531.noarch  - nothing provides R-CRAN-pairwiseComparisons >= 3.1.5 needed by R-CRAN-ggstatsplot-0.8.0-1.fc35.copr2293531.noarch  - nothing provides R-CRAN-ipmisc >= 6.0.2 needed by R-CRAN-ggstatsplot-0.8.0-1.fc35.copr2861409.noarch  - nothing provides R-CRAN-pairwiseComparisons >= 3.1.5 needed by R-CRAN-ggstatsplot-0.8.0-1.fc35.copr2861409.noarch

In fact, packages ipmisc and pairwiseComparisons were retired from CRAN.
The author of those packages seem to be the same author of ggstatsplot.
While the git repo of pairwiseComparions was simply archived, the repo for ipmisc contains the following retirement notice:

The {ipmisc} provides functions for data cleaning and formatting, which used to be helpful for {ggstatsplot} and {statsExpressions} packages. Since these packages were refactored to not rely on {ipmisc} anymore, this package has been retired on GitHub and archived on CRAN.

So looks like the version of ggstatsplot is outdated

v0.9.1 has been built for F35.


Instantiate generic conditional infer source types in the context of the target conditional

Fixes another part of #30732

@typescript-bot test this
@typescript-bot run dt
@typescript-bot perf test this

Does this fix #26627?

Huh, the perf failure is due to a regression in emit time in x64 only in older node only. @rbuckton - any insights?

Yep, this fixes #26627

RWC is clean (failure was just an unaccepted diff of some new baselines in master). The DT failures are all the same as in master. Perf seems... odd? As I said, older x64 node only with a regression in emit time only - not check time (and the emit time variance is high, too, at +/- 2-7%, which is sometimes more than the failing diff).
All in all, change seems good. @ahejlsberg wanna review?


bash 5.0p9 -> 5.0p11

Motivation for this change
Added the latest bash 5.0 patches to the bash building script.
Things done

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

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

[ ] 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 nix-review --run "nix-review wip"
[ ] 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)
[ ] Ensured that relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

Notify maintainers
cc @peti @dtzWill

Could you rebase this on top of master? Lot of merge commits and whatnot in the branch.

Sorry for that... I just fixed it now

@GrahamcOfBorg build bash_5 bashInteractive_5

I'm not flagging this as a thing to change (as part of the review process) because it doesn't appear to be related to this PR (presumably existed before it), but do you know what's going on with the build logs referencing an older version of bash?
Specifically referring to the line:
substituteStream(): WARNING: pattern '/nix/store/m7g5jss6wkwx7b8m2x7qg3wdb4x0whw6-bash-4.4-p23/bin/bash' doesn't match anything in file '/nix/store/y16q3sapa9v9hiyw11iad8nrj1jrzmr2-bash-interactive-5.0-p11/bin/bashbug'

I don't know anything about that. Maybe you should open a new issue about it.


Feature Request: Lock Commands / Command Groups based on Roles

Lock a command or set of commands to particular roles.
This would allow users with the specified roles to execute the command, whilst denying those without the role.
Potentially, this could be achieved by locking command execution to particular channels, rather than roles, such that any users in a specified channel may execute the command, but not in other channels.

This does sound like a good idea and I definitely think we should do this, I, unfortunately, can't tell you the ETA for when it'd be done but this because almost all contributors are currently busy with core functionality but we'll definitely work on this sooner or later. Thanks for the suggestion.


ModelCheckpoint monitor should be optional

🚀 Feature
We should be able to set monitor = None, meaning that it would always save
Motivation
Current behaviour forces you to have a monitor, so to always save you would have to monitor something like the current epoch.

how would you know when to save without monitoring something?
I personally wouldn't just want a checkpoint saved on every epoch

Maybe just by itself is a bit useless, but combined with period one can have a "every_k_epochs" ModelCheckpoint

well, generally checkpoints correspond to some sort of improvement in performance...
there is a (rare) case (image synthesis, speech synthesis), etc... where longer training does make more sense, in which case saving the last checkpoint makes sense.
in this case though, the answer is just that whenever save last is enabled, it always saves without having to monitor something?
There is something to be said about the default behavior of saving checkpoint on every epoch by default until the user monitors a specific metric. that might not be a bad option (thoughts @ananthsub ?)

Couldn't you set save_top_k = -1? Then monitor is ignored

Not really, because you still would have to give a placeholder monitor.
Currently, if monitor is None, this line fails:
https://github.com/PyTorchLightning/pytorch-lightning/blob/c61e1e697d2e4ed5cc97c187e6704a44f2f77aff/pytorch_lightning/callbacks/model_checkpoint.py#L177
And if you give it a placeholder monitor foo (even with save_top_k = -1) it has to be present in the logged metrics. see:
https://github.com/PyTorchLightning/pytorch-lightning/blob/c61e1e697d2e4ed5cc97c187e6704a44f2f77aff/pytorch_lightning/callbacks/model_checkpoint.py#L340-L345
https://github.com/PyTorchLightning/pytorch-lightning/blob/c61e1e697d2e4ed5cc97c187e6704a44f2f77aff/pytorch_lightning/callbacks/model_checkpoint.py#L414-L415

well, generally checkpoints correspond to some sort of improvement in performance...

They do correspond to that right now, but we should see them just as snapshot takers.
When we support having multiple checkpoint callbacks, if you are training for a long time you might want to take snapshots of your model not only on performance improvements but also every N epochs (regardless of performance). For example, to have an history of how the model improved.
This issue is just one step forward to support that.

@carmocca with your None approach, what will the value of best_model_path (forgot exact name) in checkpoint be? Can these checkpoints be properly loaded and resumed? I'm just trying to look for edge cases here.
@ananthsub @carmocca on the setting top_k=-1, yes it would save all checkpoints, but it is an important detail that the name "topk" would imply that we have a sorting based on the monitor. So even with top_k=-1 the monitor would be necessary. So @carmocca 's proposal with None does make sense to me at least for now :)

what will the value of best_model_path (forgot exact name) in checkpoint be?

https://github.com/PyTorchLightning/pytorch-lightning/blob/f05244e036c0cf5c81623d4689d5a12815cab7cc/tests/callbacks/test_model_checkpoint.py#L219-L223


Don't listen to events in a bootstrap context

Hi
I have a application based on Spring-boot. This application have a listener that listens on ApplicationEnvironmentPreparedEvent events. When action occurs listener reads and modifies ConfigurableEnvironment fetched from event. Everything works perfect until I added spring-cloud-config into classpath.  After few hours debbuging session I noticed that my listener was called twice - first (correctly) while starting application container and second while starting spring-cloud-config container. Undesirable behavior is that second invocation overrides my changes on ConfigurableEnvironment. Finally I have to copy some code from spring-cloud-config sources to don't listen on events from bootstrap phase
// don't listen to events in a bootstrap context
		if (environment.getPropertySources().contains("bootstrapInProgress")) {
			return;
		}

https://github.com/spring-cloud/spring-cloud-commons/blob/master/spring-cloud-context/src/main/java/org/springframework/cloud/bootstrap/BootstrapApplicationListener.java#L74
And here is src code that fixes it in my application:
https://github.com/allegro/hermes/pull/275/files
In my opinion it's very poor solution when something like "bootstrapInProgress" leaks out of framework sources.

Can you explain why you don't want your listener to run in the Bootstrap context? The intention is that the Bootstrap is in every way the same as a "regular" Spring Boot application, so it would want to pick up changes to the Environment that you are implementing as well.
I don't like the leak either, but I'm not sure you have to implement your listener in that way anyway - maybe you could have checked for a property source with your own unique name to ensure that it only runs once? I think you probably should be defensive if you care about when and how your listener is executed anyway (Spring Cloud isn't the only thing that might screw you up).
P.S. the code you copied is from spring-cloud-context, so maybe you should have opened an issue there?

Ok, I close this issue and open another in spring-cloud-context.


Add variable to merge profile variable and vms variable

currently cloud-init variables at vm level are prioritized over the cloud-init variables of profiles
same for sysprep variable.
To relaxed this behavior we create new property merge_with_profile which allow to combine two level. cf exemple into readme

Hello contributor, thanks for submitting a PR for this project!
I am the bot who triggers "standard-CI" builds for this project.
As a security measure, I will not run automated tests on PRs that are not from white-listed contributors.
In order to allow automated tests to run, please ask one of the project maintainers to review the code and then do one of the following:

Type ci test please on this PR to trigger automated tests for it.
Type ci add to whitelist on this PR to trigger automated tests for it and also add you to the contributor white-list so that your future PRs will be tested automatically. ( keep in mind this list might be overwritten if the job XML is refreshed, for permanent whitelisting, please follow #3 option )
If you are planning to contribute to more than one project, maybe it's better to ask them to add you to the project organization, so you'll be able to run tests for all the organization's projects.

cc @mwperina

ci test please

Development moved to https://github.com/ovirt/ovirt-ansible-collection If this is still relevant, please reopen there.


Move Library classes to a separate package

@jasand-pereza @lofiinterstate I consider this to be a high priority. Let's talk.

https://github.com/illuminate/support may be a good replacement for many of the Util classes and methods.

FYI, since tacowordpress/util is now a dependency of tacowordpress/tacowordpress, I updated the composer.json accordingly. 163dad4


More efficient video frame handling

This PR eliminates automatic reading of all MoviePy VideoFileClip frames into memory when constructing a VideoStim. It adds a get_frame method for accessing specific frames (which can no longer be accessed through .frames[i]). Explicit conversion of movie frames to VideoFrameStim only happens when explicitly looping over a VideoStim now.

Looks good to me, was there a particular use case this is addressing?

Yes, it turns out very large video files (@mic has some; see studyforrest.org) cause problems if we try to read in all frames on initialization. This way we can at least operate on individual frames without any problems (though many Converters and Extractors are still going to cause problems).


Additional tests for zf-code

I started to add some more unittests for zf-code.

:+1:
This is WIP or finished ?

I don't have time to write all tests needed to get a 100% code coverage. So this can be merged. Additional PR's will follow when I have time.


Do not preprocess contracts during test collecting

Preprocessing should happen in the multiprocessing part of the testing flow.
Using regex would significantly speed up this process, but at cost of uglier code and higher bugs risk. Or use lexer

Note: I think this may end up with a conflicting change with #423

#466 Duplicate


EventGrid: Regenerate new SDK for 2019-01-01 Api Version

Description

Regenerate new SDK for API Version 2019-01-01 based off the following new Swagger Spec: https://github.com/Azure/azure-rest-api-specs/pull/4899
This checklist is used to make sure that common guidelines for a pull request are followed.

[X] Please add REST spec PR link to the SDK PR
https://github.com/Azure/azure-rest-api-specs/pull/4899

[X] I have read the contribution guidelines.

[X] The pull request does not introduce breaking changes.

General Guidelines

[X] Title of the pull request is clear and informative.
[ ] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

[X] Pull request includes test coverage for the included changes.

SDK Generation Guidelines

[X] If an SDK is being regenerated based on a new swagger spec, a link to the pull request containing these swagger spec changes has been included above.
https://github.com/Azure/azure-rest-api-specs/pull/4899

[ ] The generate.cmd file for the SDK has been updated with the version of AutoRest, as well as the commitid of your swagger spec or link to the swagger spec, used to generate the code.

[x] The *.csproj and AssemblyInfo.cs files have been updated with the new version of the SDK.

@dsgouda .. Can you please take a look at this PR or suggest someone? thx

Restarting new PR with fewer commits


How to used this plugin in python code?

I want to use this plugin in my code. I couldn't find any documentation on this topic.
from yt_dlp import YoutubeDL

ydl_opts = {
    "quiet": True,
    "extract_flat": True,
    "force_generic_extractor": True,
    "cachedir": "/tmp",
}

with YoutubeDL(ydl_opts) as ydl:
    result = ydl.extract_info(reel_path, download=True)

Install as normal, and should be able to just pass {'username': 'oauth2', 'password': ''} to ydl to enable
run ydl with 'verbose': True to check that it is loaded if it is not working.


Add valid cases for IMU with no track width

Added extra valid localizer builder cases for if IMU exists and track_width is unspecified

Tested with same code used in IMELocalizer branch


Update README.md

This change fixes a small grammatical error on the root repo README.
While this is a real change, another purpose of this PR is to test the PR checker workflow with external forks.

@hattan  so we still need this PR?

No longer needed. Closing PR.


Tutorial

You and FINDarkside could create a complete tutorial for creating new mods, with shortcut keys?
Im a dotNet Programmer, but i've never done mod before

This mod loader only works with TLD versions 1.56 and earlier, and is thus pretty much dead (or at least it's dying a slow death). I don't think creating a tutorial for modding based on this mod loader would be a good use of my time given these circumstances.

Has Hinterland made any future mod unfeasible?

At least using this mod loader, yes. Using different mod loaders, it might be possible.
Hinterland also promised to add support for modding "some time soon", but there has been literally zero public communication on this since then, so... don't hold your breath.


Update transactions based on subscriptions events and remove polling

I have successfully switched to a subscription model, however, because our websocket connections are scoped to a socketio client id and that client ID is renewed on reload by socketio and because we don't have the polling anymore, we have a slight edge case where the browser won't be notified of a tx being updated if it's pending when the page loads. (but reloading the page after the tx is finalized correctly updates the tx since we still do an initial request to update all pending txs).
This is not a huge deal breaker for now since the user has to reload while some txs are pending for this symptom to appear + one more reload and the tx get updated by the initial query.
This is because we had to scope the socketio connections to clientIds while hosting, otherwise all users would have gotten all events from other users.
Some solutions:

Ideal: Have a server-side cookie/session system that would follow usual practice and scope events to each browser client (I started trying to do it in Python but I haven't managed to achieve that yet). Would more future proof for hosted env and security. Haven't been able to make it work yet however :(
Compromise: Remove the scoping by clientId altogether, effectively re-broadcasting all events to all users which doesn't matter when developing locally, but can not work for a hosted env.
Compromise: Have the clients generate their own session id and have the server generate dedicated rooms based on that; should work but not safe for hosted because clients get to determine which room they join.
Or do nothing for now as this is still somewhat edge case.

Thoughts welcome @cristiam86 @AgustinRamiroDiaz

@denishacquin sorry but I don't quite understand the problem.
On another topic, I thought the idea was to do broadcasting of all events, an then each client would just subscribe to the events they are interested in (by transaction hash for example)

You're right, I'll add tx-scoped subs then. I think we can have the transaction-based events scoped by transaction room/subscription and the other events can remain scoped to the socketio client IDs.

Awesome! Let me know if there's still an edge case I didn't think of
One key thing would be to remove the client ID from the Transactions table

Removed the column from the model, as well as all occurences and added migration.
To sum it up: transactions are scoped to clients based on client-side explicit subscriptions to specific rooms (=hash), while the other logs are still scoped to socket client IDs.


[BUG] Error in the AzureML tests with error lient is not permitted to update status for run. Status for this run is system managed

Description

In all AzureML tests, we get a similar error (see https://github.com/microsoft/recommenders/actions/runs/4049332367/jobs/6965640900)
Streaming user_logs/std_log.txt
===============================

INFO:submit_groupwise_azureml_pytest.py:Tests to be executed
INFO:submit_groupwise_azureml_pytest.py:['tests/smoke/examples/test_notebooks_python.py::test_baseline_deep_dive_smoke', 'tests/integration/examples/test_notebooks_python.py::test_baseline_deep_dive_integration', 'tests/smoke/examples/test_notebooks_python.py::test_surprise_svd_smoke', 'tests/integration/examples/test_notebooks_python.py::test_surprise_svd_integration', 'tests/integration/examples/test_notebooks_python.py::test_geoimc_integration', 'tests/integration/examples/test_notebooks_python.py::test_benchmark_movielens_cpu']
INFO:azureml._restclient.clientbase:Created a worker pool for first use
INFO:submit_groupwise_azureml_pytest.py:Python version
INFO:submit_groupwise_azureml_pytest.py:3.7.13 (default, Mar 29 2022, 02:18:16)
[GCC 7.5.0]
INFO:submit_groupwise_azureml_pytest.py:Executing tests now...
============================= test session starts ==============================
platform linux -- Python 3.7.13, pytest-7.2.0, pluggy-1.0.0
rootdir: /mnt/azureml/cr/j/82c5a50f0b2d4c9881f6deb1628b75cc/exe/wd, configfile: pyproject.toml
plugins: anyio-3.6.2, cov-4.0.0, hypothesis-6.60.0, rerunfailures-10.3, mock-3.10.0
collected 6 items

tests/smoke/examples/test_notebooks_python.py .                          [ 16%]
tests/integration/examples/test_notebooks_python.py
tests/smoke/examples/test_notebooks_python.py
tests/integration/examples/test_notebooks_python.py

=============================== warnings summary ===============================
../../../../../../../azureml-envs/azureml_362c648550ddf3444cbaf086714b5547/lib/python3.7/site-packages/ansiwrap/core.py:6
  /azureml-envs/azureml_362c648550ddf3444cbaf086714b5547/lib/python3.7/site-packages/ansiwrap/core.py:6: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses
    import imp

tests/smoke/examples/test_notebooks_python.py::test_baseline_deep_dive_smoke
tests/integration/examples/test_notebooks_python.py::test_baseline_deep_dive_integration[1m-expected_values0]
  /azureml-envs/azureml_362c648550ddf3444cbaf086714b5547/lib/python3.7/site-packages/traitlets/config/configurable.py:85: DeprecationWarning: Passing unrecognized arguments to super(PapermillNotebookClient).__init__(input_path='/mnt/azureml/cr/j/82c5a50f0b2d4c9881f6deb1628b75cc/exe/wd/examples/02_model_collaborative_filtering/baseline_deep_dive.ipynb').
  object.__init__() takes exactly one argument (the instance to initialize)
  This is deprecated in traitlets 4.2.This error will be raised in a future release of traitlets.
    super().__init__(**kwargs)

tests/smoke/examples/test_notebooks_python.py::test_surprise_svd_smoke
tests/integration/examples/test_notebooks_python.py::test_surprise_svd_integration[1m-expected_values0]
  /azureml-envs/azureml_362c648550ddf3444cbaf086714b5547/lib/python3.7/site-packages/traitlets/config/configurable.py:85: DeprecationWarning: Passing unrecognized arguments to super(PapermillNotebookClient).__init__(input_path='/mnt/azureml/cr/j/82c5a50f0b2d4c9881f6deb1628b75cc/exe/wd/examples/02_model_collaborative_filtering/surprise_svd_deep_dive.ipynb').
  object.__init__() takes exactly one argument (the instance to initialize)
  This is deprecated in traitlets 4.2.This error will be raised in a future release of traitlets.
    super().__init__(**kwargs)

tests/integration/examples/test_notebooks_python.py::test_geoimc_integration[expected_values0]
  /azureml-envs/azureml_362c648550ddf3444cbaf086714b5547/lib/python3.7/site-packages/traitlets/config/configurable.py:85: DeprecationWarning: Passing unrecognized arguments to super(PapermillNotebookClient).__init__(input_path='/mnt/azureml/cr/j/82c5a50f0b2d4c9881f6deb1628b75cc/exe/wd/examples/00_quick_start/geoimc_movielens.ipynb').
  object.__init__() takes exactly one argument (the instance to initialize)
  This is deprecated in traitlets 4.2.This error will be raised in a future release of traitlets.
    super().__init__(**kwargs)

tests/integration/examples/test_notebooks_python.py::test_benchmark_movielens_cpu[size0-algos0-expected_values_ndcg0]
  /azureml-envs/azureml_362c648550ddf3444cbaf086714b5547/lib/python3.7/site-packages/traitlets/config/configurable.py:85: DeprecationWarning: Passing unrecognized arguments to super(PapermillNotebookClient).__init__(input_path='/mnt/azureml/cr/j/82c5a50f0b2d4c9881f6deb1628b75cc/exe/wd/examples/06_benchmarks/movielens.ipynb').
  object.__init__() takes exactly one argument (the instance to initialize)
  This is deprecated in traitlets 4.2.This error will be raised in a future release of traitlets.
    super().__init__(**kwargs)

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
================== 6 passed, 7 warnings in 1552.75s (0:25:52) ==================
INFO:submit_groupwise_azureml_pytest.py:Test execution completed!
Cleaning up all outstanding Run operations, waiting 300.0 seconds
1 items cleaning up...
Cleanup took 0.5428390502929688 seconds

Execution Summary
=================
RunId: nightly_tests_group_cpu_002_1675123876_8a2b565c
Web View: https://ml.azure.com/runs/nightly_tests_group_cpu_002_1675123876_8a2b565c?wsid=/subscriptions/***/resourcegroups/recommenders_project_resources/workspaces/azureml-test-workspace&tid=***

Traceback (most recent call last):
  File "/opt/hostedtoolcache/Python/3.8.16/x64/lib/python3.8/site-packages/azureml/_restclient/clientbase.py", line 589, in _execute_with_arguments
    return self._call_api(func, *args_list, **kwargs)
  File "/opt/hostedtoolcache/Python/3.8.16/x64/lib/python3.8/site-packages/azureml/_restclient/clientbase.py", line 245, in _call_api
    return self._execute_with_base_arguments(func, *args, **kwargs)
  File "/opt/hostedtoolcache/Python/3.8.16/x64/lib/python3.8/site-packages/azureml/_restclient/clientbase.py", line 333, in _execute_with_base_arguments
    return ClientBase._execute_func_internal(
  File "/opt/hostedtoolcache/Python/3.8.16/x64/lib/python3.8/site-packages/azureml/_restclient/clientbase.py", line 367, in _execute_func_internal
    left_retry = cls._handle_retry(back_off, left_retry, total_retry, error, logger, func)
  File "/opt/hostedtoolcache/Python/3.8.16/x64/lib/python3.8/site-packages/azureml/_restclient/clientbase.py", line 426, in _handle_retry
    raise error
  File "/opt/hostedtoolcache/Python/3.8.16/x64/lib/python3.8/site-packages/azureml/_restclient/clientbase.py", line 358, in _execute_func_internal
    response = func(*args, **kwargs)
  File "/opt/hostedtoolcache/Python/3.8.16/x64/lib/python3.8/site-packages/azureml/_restclient/operations/events_operations.py", line 95, in post
    raise models.ErrorResponseException(self._deserialize, response)
azureml._restclient.models.error_response.ErrorResponseException: (ValidationError) Run nightly_tests_group_cpu_002_1675123876_8a2b565c status cannot be updated by python/3.8.16 (Linux-5.15.0-1031-azure-x86_64-with-glibc2.34) msrest/0.7.1  azureml._restclient/1.5.0 azureml-sdk-core/1.48.0

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "tests/ci/azureml_tests/submit_groupwise_azureml_pytest.py", line 499, in <module>
    run.complete()
  File "/opt/hostedtoolcache/Python/3.8.16/x64/lib/python3.8/site-packages/azureml/core/run.py", line [1411](https://github.com/microsoft/recommenders/actions/runs/4049332367/jobs/6965640900#step:3:1420), in complete
    self._client.complete(_set_status=_set_status)
  File "/opt/hostedtoolcache/Python/3.8.16/x64/lib/python3.8/site-packages/azureml/_run_impl/run_history_facade.py", line 621, in complete
    self.set_completed_status(_set_status=_set_status)
  File "/opt/hostedtoolcache/Python/3.8.16/x64/lib/python3.8/site-packages/azureml/_run_impl/run_history_facade.py", line 625, in set_completed_status
    self.run.post_event_completed(caller=self.identity)
  File "/opt/hostedtoolcache/Python/3.8.16/x64/lib/python3.8/site-packages/azureml/_restclient/run_client.py", line 384, in post_event_completed
    return self.post_event(event, is_async=is_async, caller=caller, custom_headers=custom_headers)
  File "/opt/hostedtoolcache/Python/3.8.16/x64/lib/python3.8/site-packages/azureml/_restclient/run_client.py", line 316, in post_event
    return self._execute_with_run_arguments(self._client.events.post, **kwargs)
  File "/opt/hostedtoolcache/Python/3.8.16/x64/lib/python3.8/site-packages/azureml/_restclient/run_client.py", line 564, in _execute_with_run_arguments
    return self._execute_with_arguments(func, copy.deepcopy(self._run_arguments), *args, **kwargs)
  File "/opt/hostedtoolcache/Python/3.8.16/x64/lib/python3.8/site-packages/azureml/_restclient/clientbase.py", line 591, in _execute_with_arguments
    raise ServiceException(e)
azureml._restclient.exceptions.ServiceException: ServiceException:
	Code: 400
	Message: (ValidationError) Run nightly_tests_group_cpu_002_1675123876_8a2b565c status cannot be updated by python/3.8.16 (Linux-5.15.0-1031-azure-x86_64-with-glibc2.34) msrest/0.7.1  azureml._restclient/1.5.0 azureml-sdk-core/1.48.0
	Details:
		Run nightly_tests_group_cpu_002_1675123876_8a2b565c status cannot be updated by python/3.8.16 (Linux-5.15.0-1031-azure-x86_64-with-glibc2.34) msrest/0.7.1  azureml._restclient/1.5.0 azureml-sdk-core/1.48.0

	Headers: ***
	    "Date": "Tue, 31 Jan 2023 00:41:13 GMT",
	    "Content-Type": "application/json; charset=utf-8",
	    "Content-Length": "1330",
	    "Connection": "keep-alive",
	    "Request-Context": "appId=cid-v1:2d2e8e63-272e-4b3c-8598-4ee570a0e70d",
	    "x-ms-response-type": "error",
	    "Strict-Transport-Security": "max-age=15724800; includeSubDomains; preload",
	    "X-Content-Type-Options": "nosniff",
	    "x-aml-cluster": "vienna-eastus-02",
	    "x-request-time": "0.052"
	***
	InnerException: ***
    "additional_properties": ***,
    "error": ***
        "additional_properties": ***
            "debugInfo": null
        ***,
        "code": "ValidationError",
        "severity": null,
        "message": "Run nightly_tests_group_cpu_002_1675123876_8a2b565c status cannot be updated by python/3.8.16 (Linux-5.15.0-1031-azure-x86_64-with-glibc2.34) msrest/0.7.1  azureml._restclient/1.5.0 azureml-sdk-core/1.48.0",
        "message_format": null,
        "message_parameters": null,
        "reference_code": null,
        "details_uri": null,
        "target": "Status",
        "details": [
            ***
                "additional_properties": ***
                    "debugInfo": null
                ***,
                "code": "Immutable",
                "severity": null,
                "message": "Run nightly_tests_group_cpu_002_1675123876_8a2b565c status cannot be updated by python/3.8.16 (Linux-5.15.0-1031-azure-x86_64-with-glibc2.34) msrest/0.7.1  azureml._restclient/1.5.0 azureml-sdk-core/1.48.0",
                "message_format": null,
                "message_parameters": ***,
                "reference_code": null,
                "details_uri": null,
                "target": "Status",
                "details": [],
                "inner_error": null,
                "additional_info": null
            ***
        ],
        "inner_error": null,
        "additional_info": null
    ***,
    "correlation": ***
        "operation": "f7b112a337eb8db68a8f472148b4d221",
        "request": "5600226ee0f6b4f9"
    ***,
    "environment": "eastus",
    "location": "eastus",
    "time": ***,
    "component_name": "run-history"
***
Error: Process completed with exit code 1.

In which platform does it happen?

AzureML tests
How do we replicate the issue?

Expected behavior (i.e. solution)

Other Comments

@pradnyeshjoshi do you know what the problem could be?


Examples from external files do not get reference in the Swagger POJO

If an external file reference an example as internal ref, it will not be resolved.

application/json:
  schema:
      ...
  examples:
      testExample:
        $ref: '#/components/examples/testExample'

components:
  examples:
    testExample:
       value:
          testKey: value

In the case the above data is in some referenced file the testExample will not be available in final openapi.getComponents() Collection.

closed by #854


Reprocess missed events

In case your event consumer might not have been running for a while (longer than some queue that would have hold the messages), it would be helpful to have a management command / helper method to reprocess missing event.
For this stripe.Event.list / stripe.Event.auto_paging_iter could be used, given some starting event (the last processed one).

It should check if the event does not exist yet, of course.
It should handle Stripe accounts, i.e. iterate over all your connected accounts.

I might end up writing this myself, but it might not become a full blown management command, but only a script / snippet to post here then.

This is the script I've used for reference, closing.
# Reprocess events that have been missed due to stopped stripe-events-consumer.
import datetime as dt
import stripe

from configurations import importer
importer.install()
import django  # noqa
django.setup()

from pinax.stripe.models import Account, Event  # noqa
from velodrome.lock8.utils import ingest_stripe_event

stripe.api_key = "XXX"

for account in Account.objects.all():
    print("=== %s ===" % account)
    stripe_account = account.stripe_id

    events = Event.objects.filter(
        stripe_account=account,
    )
    existing_events = set(x[0] for x in events.values_list("stripe_id"))

    process = []
    for e in stripe.Event.auto_paging_iter(
            stripe_account=stripe_account,
            limit=500,
    ):
        created = dt.datetime.fromtimestamp(e.created).replace(
            tzinfo=dt.timezone.utc)
        if created < dt.datetime(2018, 10, 11, tzinfo=dt.timezone.utc):
            break
        if e.stripe_id in existing_events:
            continue
        process += [e]

    for e in reversed(process):
        msg = e
        msg['account'] = stripe_account
        created = dt.datetime.fromtimestamp(e.created).replace(
            tzinfo=dt.timezone.utc)
        print("process: %s: %s" % (e.type, created))
        ingest_stripe_event(e)


Label of "Yes" and "No" choice not visible.

If the label of an option in assesments choice is either No or Yes:
assessments:
  - recurrence: once
    relatedObjectType: report
    questions:
      haveBreakfast:
        label: "Ring my bell?"
        type: enum
        choices:
          yes:
            label: Yes
          no:
            label: No

Solved by putting quotes around "Yes" and "No", to prevent it to be interpreted as boolean.