[python] Add run_with_dependencies to API

In typescript, the AIConfig API has runWithDependencies. In python, the run_with_dependencies is supported by passing kwargs to the run method. Instead of supporting this arbitrary kwargs data we should add the run_with_dependencies implementation as a method on the config to be consistent with typescript

See comment thread in https://github.com/lastmile-ai/aiconfig/pull/661#discussion_r1437945315 for details
There are two parts to this:

Instead of add run_with_dependencies to API, we should just re-use run() method but pass in an explicit boolean argument (run_with_dependencies) instead of relying on kwarg
We should also delete kwargs argument from the run() API method

Instead of adding run_with_dependencies to API, we should just re-use run() method but pass in an explicit boolean argument (run_with_dependencies) instead of relying on kwarg

Should this be part of inference options instead?
Also, note that this requires the same change to typescript side as well to remain consistent

Should this be part of inference options instead?

I don't think. Conceptually, inference options (things like setting streaming to true) are more like global functions you want to set for your entire session, not just 1 single action. I don't think automatically making every prompt required to re-run all it's dependencies is desirable

I would like to pick this up! 🚀

cc @sp6370 please follow instructions for this in https://github.com/lastmile-ai/aiconfig/issues/664#issuecomment-1871676370
Right now this function exists in typescript in https://github.com/lastmile-ai/aiconfig/blob/e47ce1ff59bd383cdda2c2682528d858adc376cd/typescript/lib/config.ts#L456, but I think it's better to remove it and simply make the run_with_dependencies an explicit method arg in the run() method

@rholinshead Clarification: Both Python and Type Script implementations need to be updated?

@rholinshead Clarification: Both Python and Type Script implementations need to be updated?

@sp6370 ideally both python and typescript implementations will match but it's ok to update the python implementation first and create an issue for the typescript side to match the python implementation afterwards, if you are primarily interested in the python side.
@rossdanlm's comment above outlines the python side changes and that's all that should be needed to close out this issue

See comment thread in #661 (comment) for details
There are two parts to this:

Instead of adding run_with_dependencies to API, we should just re-use run() method but pass in an explicit boolean argument (run_with_dependencies) instead of relying on kwarg
We should also delete kwargs argument from the run() API method

@rossdanlm  I think we might not be able to remove kwargs from the function directly.
AIConfigRuntime.run() is dependent on ParameterizedModelParser.run() supporting kwargs. I can add another optional parameter called callback_manager to   ParameterizedModelParser.run() to make elimination of kwargs possible.
 Tell me 10 cool things to do in NYC.', metadata=PromptMetadata(model=ModelMetadata(name='gpt-3.5-turbo', settings={}), tags=None, parameters={}, remember_chat_context=True), outputs=[])
model_name = 'gpt-3.5-turbo', model_provider = <aiconfig.default_parsers.openai.DefaultOpenAIParser object at 0x7816e3932360>

    async def run(
        self,
        prompt_name: str,
        params: Optional[dict] = None,
        options: Optional[InferenceOptions] = None,
        **kwargs,
    ):
        """
        Executes the AI model with the resolved parameters and returns the API response.

        Args:
            parameters (dict): The resolved parameters to use for inference.
            prompt_name (str): The identifier of the prompt to be used.

        Returns:
            object: The response object returned by the AI-model's API.
        """
        event = CallbackEvent(
            "on_run_start",
            __name__,
            {
                "prompt_name": prompt_name,
                "params": params,
                "options": options,
                "kwargs": kwargs,
            },
        )
        await self.callback_manager.run_callbacks(event)

        if not params:
            params = {}

        if prompt_name not in self.prompt_index:
            raise IndexError(f"Prompt '{prompt_name}' not found in config, available prompts are:\n {list(self.prompt_index.keys())}")

        prompt_data = self.prompt_index[prompt_name]
        model_name = self.get_model_name(prompt_data)
        model_provider = AIConfigRuntime.get_model_parser(model_name)

        # Clear previous run outputs if they exist
        self.delete_output(prompt_name)

>       response = await model_provider.run(
            prompt_data,
            self,
            options,
            params,
            callback_manager=self.callback_manager,
            **kwargs,
        )
E       TypeError: ParameterizedModelParser.run() got an unexpected keyword argument 'callback_manager'

src/aiconfig/Config.py:266: TypeError
--------------------------------------------------------------------------------------------------------------------- Captured log call ----------------------------------------------------------------------------------------------------------------------
INFO     my-logger:callback.py:140 Callback called. event
: name='on_run_start' file='aiconfig.Config' data={'prompt_name': 'prompt1', 'params': {}, 'options': None, 'kwargs': {}} ts_ns=1704483078795626702
====================================================================================================================== warnings summary ======================================================================================================================
../../../.conda/envs/aiconfig/lib/python3.12/site-packages/pydantic/_internal/_config.py:267
../../../.conda/envs/aiconfig/lib/python3.12/site-packages/pydantic/_internal/_config.py:267
../../../.conda/envs/aiconfig/lib/python3.12/site-packages/pydantic/_internal/_config.py:267
../../../.conda/envs/aiconfig/lib/python3.12/site-packages/pydantic/_internal/_config.py:267
../../../.conda/envs/aiconfig/lib/python3.12/site-packages/pydantic/_internal/_config.py:267
../../../.conda/envs/aiconfig/lib/python3.12/site-packages/pydantic/_internal/_config.py:267
  /home/sp/.conda/envs/aiconfig/lib/python3.12/site-packages/pydantic/_internal/_config.py:267: PydanticDeprecatedSince20: Support for class-based `config` is deprecated, use ConfigDict instead. Deprecated in Pydantic V2.0 to be removed in V3.0. See Pydantic V2 Migration Guide at https://errors.pydantic.dev/2.4/migration/
    warnings.warn(DEPRECATION_MESSAGE, DeprecationWarning)

../../../.conda/envs/aiconfig/lib/python3.12/site-packages/pydantic/_internal/_fields.py:128
  /home/sp/.conda/envs/aiconfig/lib/python3.12/site-packages/pydantic/_internal/_fields.py:128: UserWarning: Field "model_parsers" has conflict with protected namespace "model_".

  You may be able to resolve this warning by setting `model_config['protected_namespaces'] = ()`.
    warnings.warn(

<frozen importlib._bootstrap>:488
  <frozen importlib._bootstrap>:488: DeprecationWarning: Type google._upb._message.MessageMapContainer uses PyType_Spec with a metaclass that has custom tp_new. This is deprecated and will no longer be allowed in Python 3.14.

<frozen importlib._bootstrap>:488
  <frozen importlib._bootstrap>:488: DeprecationWarning: Type google._upb._message.ScalarMapContainer uses PyType_Spec with a metaclass that has custom tp_new. This is deprecated and will no longer be allowed in Python 3.14.

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
================================================================================================================== short test summary info ===================================================================================================================
FAILED tests/parsers/test_openai_util.py::test_get_output_text - TypeError: ParameterizedModelParser.run() got an unexpected keyword argument 'callback_manager'
=============================================================================================================== 1 failed, 9 warnings in 0.53s ================================================================================================================

How should I go about it?

Hey sorry just a heads up, I went ahead and just removed callback_manager since it's never being used: https://github.com/lastmile-ai/aiconfig/pull/886

Thanks! @rossdanlm
In that case I will go ahead and raise a PR by tomorrow with a test.


Integrate with coveralls

Not critical, but might be nice - see relude for example

bisect_ppx would be a better option if we can get it to work in bucklescript land.

coveralls doesn't add much value, so closing this


version 0.8 firefox ?

Hello, do you have any news about the approval by Firefox for the latest version? Thank you.

Any news ?

0.7.1 no longer works for Firefox. If I enable the TwitchNoSub extension. The Twitch videofeed doesn't load (black screen with buffering circle)

same here

0.7.1 no longer works for Firefox. If I enable the TwitchNoSub extension. The Twitch videofeed doesn't load (black screen with buffering circle)

no work anymore on Firefox, black screen in every twitch video, hope in 0.8 update

0.7.1 no longer works for Firefox. If I enable the TwitchNoSub extension. The Twitch videofeed doesn't load (black screen with buffering circle)

Same

Don't know what's taking so long for Mozilla to approve the extension.

Unfortunately, after a long wait for approval, the extension was denied due to new policies on remote code execution. But, you can still access the latest version on firefox by installing the Tampermonkey extension and using the userscript

Unfortunately, after a long wait for approval, the extension was denied due to new policies on remote code execution. But, you can still access the latest version on firefox by installing the Tampermonkey extension and using the userscript

The userscript bugs out vaft, though? Is there any way on your end to fix that, or are we gonna have to rely on vaft to fix that issue themselves?

vaft

what's vaft? 😦

it's the way to remove ads from twitch

it's the way to remove ads from twitch

do you mean TwitchAdSolutions (vaft) and/or TwitchAdSolutions (video-swap-new)?
try AdGuardExtra

The userscript bugs out vaft, though? Is there any way on your end to fix that, or are we gonna have to rely on vaft to fix that issue themselves?

I am using Firefox, the vaft script, and the TwitchNoSub script together. When I go to the Twitch website, I see that TwitchNoSub is not loaded yet. When I go to a VOD (Videos --> past broadcasts), the script is still not loaded. When I refresh the page on the VOD, the TwitchNoSub script loads and works fine with vaft.
So, in other words, if you get the message "This video is only available to subscribers. Subscribe now to watch and support...." while the TwitchNoSub script is enabled, just refresh the page.

i just mean the question that somebody asked above i answered that

I thought I was doing good

i just mean the question that somebody asked above i answered that

I thought I was doing good

yes you were i just mean it was for that. was just clarifying

The userscript bugs out vaft, though? Is there any way on your end to fix that, or are we gonna have to rely on vaft to fix that issue themselves?

I am using Firefox, the vaft script, and the TwitchNoSub script together. When I go to the Twitch website, I see that TwitchNoSub is not loaded yet. When I go to a VOD (Videos --> past broadcasts), the script is still not loaded. When I refresh the page on the VOD, the TwitchNoSub script loads and works fine with vaft.
So, in other words, if you get the message "This video is only available to subscribers. Subscribe now to watch and support...." while the TwitchNoSub script is enabled, just refresh the page.
Edit: It's possible the vaft script breaks sometimes.. Quote: "video-swap-new: Uses a lower resolution stream during ads. vaft: The same as video-swap-new but attempts to get a clean stream faster (may suffer from more freezing / playback issues)."
When the freezing / playback issues happens or you do get ads, just refresh. The TwitchNoSub is not loaded anymore. All is fine for me.

yeah, it doesn't work for me anymore. Even with vaft, ttv lol pro, and both ad guard extra and ublock origin off, the twitchnosub userscript doesn't work. I've tried refreshing, turning it on and off again, updating firefox, restarting firefox, and clearing cookies. nothing seems to work now. it worked once a few days ago after refreshing, but now it doesn't. I think I have to just download chrome for just twitch honestly.

The userscript doesnt work for me on firefox with violentmonkey, vods are still blocked

Unfortunately, after a long wait for approval, the extension was denied due to new policies on remote code execution. But, you can still access the latest version on firefox by installing the Tampermonkey extension and using the userscript

Userscript doesnn't work, it does the same as with the extension, black screen, buffering circle appears and that's it.

The userscript bugs out vaft, though? Is there any way on your end to fix that, or are we gonna have to rely on vaft to fix that issue themselves?

I am using Firefox, the vaft script, and the TwitchNoSub script together. When I go to the Twitch website, I see that TwitchNoSub is not loaded yet. When I go to a VOD (Videos --> past broadcasts), the script is still not loaded. When I refresh the page on the VOD, the TwitchNoSub script loads and works fine with vaft.
So, in other words, if you get the message "This video is only available to subscribers. Subscribe now to watch and support...." while the TwitchNoSub script is enabled, just refresh the page.
Edit: It's possible the vaft script breaks sometimes.. Quote: "video-swap-new: Uses a lower resolution stream during ads. vaft: The same as video-swap-new but attempts to get a clean stream faster (may suffer from more freezing / playback issues)."
When the freezing / playback issues happens or you do get ads, just refresh. The TwitchNoSub is not loaded anymore. All is fine for me.

yeah, it doesn't work for me anymore. Even with vaft, ttv lol pro, and both ad guard extra and ublock origin off, the twitchnosub userscript doesn't work. I've tried refreshing, turning it on and off again, updating firefox, restarting firefox, and clearing cookies. nothing seems to work now. it worked once a few days ago after refreshing, but now it doesn't. I think I have to just download chrome for just twitch honestly.

I just tested it and it still works for me.. As I wrote earlier, if it doesn't work immediately, I refresh and it works fine.
I only use ublock, vaft script and twitchNoSub script nothing else.

Do you really need Firefox's approval? Since we install the add-on from an external file, their opinion only matters to the user who is using it!

Do you really need Firefox's approval? Since we install the add-on from an external file, their opinion only matters to the user who is using it!

Mozilla has increased the security of the store, if you want to install unverified addons, just use a firefox nightly or a fork like waterfox

On my side, I've install it from source code.
In about:debugging ->   Temporary extension -> Load Temporary.
Not sure about the english menu names, my firefox is in french.
I've got to change manifest.json, like this (add scripts) ::
background": {
"service_worker": "src/background.js",
"scripts": ["src/background.js"]
},
The extension will be load just until next restart of firefox.
It work for me

On my side, I've install it from the zip package. In about:debugging -> Temporary extension -> Load Temporary -> choose manifest.json of notwitchsub. Not sure about the english menu names, my firefox is in french.
I've got to change manifest.json, like this (add scripts) :: background": { "service_worker": "src/background.js", "scripts": ["src/background.js"] }, The extension will be load just until next restart of firefox. It work for me

Yup add "scripts": ["src/background.js"] line work for me too

can u send the updated version for firefox pls ?

On my side, I've install it from the zip package. In about:debugging -> Temporary extension -> Load Temporary -> choose manifest.json of notwitchsub. Not sure about the english menu names, my firefox is in french.
I've got to change manifest.json, like this (add scripts) :: background": { "service_worker": "src/background.js", "scripts": ["src/background.js"] }, The extension will be load just until next restart of firefox. It work for me

This is interesting! This solution doesn't work for me. I mean the TwitchNoSub extension is (temporary) loaded. But with a subonly VOD I can see the videoplayer, but I get a black screen with a buffering circle.
The script and refresh thing is still the best option for me.

On my side, I've install it from the zip package. In about:debugging -> Temporary extension -> Load Temporary -> choose manifest.json of notwitchsub. Not sure about the english menu names, my firefox is in french.
I've got to change manifest.json, like this (add scripts) :: background": { "service_worker": "src/background.js", "scripts": ["src/background.js"] }, The extension will be load just until next restart of firefox. It work for me

Tu peux le faire en version française, je possède firefox en fr aussi

In the video :
https://github.com/user-attachments/assets/81054a98-c860-4f90-836b-71f3088c51c8

about:debugging

Merci bcp bro, mais ça m'affiche ça...

about:debugging

Merci bcp bro, mais ça m'affiche ça...

je suis maudit lol

On my side, I've install it from the zip package. In about:debugging -> Temporary extension -> Load Temporary -> choose manifest.json of notwitchsub. Not sure about the english menu names, my firefox is in french.
I've got to change manifest.json, like this (add scripts) :: background": { "service_worker": "src/background.js", "scripts": ["src/background.js"] }, The extension will be load just until next restart of firefox. It work for me

Yup add "scripts": ["src/background.js"] line work for me too

works like a charm !

about:debugging

Merci bcp bro, mais ça m'affiche ça...

je suis maudit lol
peux-tu cliquer sur détail pour le detail ?

about:debugging

Merci bcp bro, mais ça m'affiche ça...

je suis maudit lol
peux-tu cliquer sur détail pour le detail ?

Ça me met ça ;

je suis maudit lol
peux-tu cliquer sur détail pour le detail ?

Ça me met ça ;
as-tu bien modifié le manifest.json (attention à la vigule à la fin de service_worker) ?
background": {
"service_worker": "src/background.js",
"scripts": ["src/background.js"]
},
Si oui, essaye avec :
background": {
"scripts": ["src/background.js"]
},

possible de le faire en vidéo rapidement ? (je suis désolé)

je suis maudit lol
peux-tu cliquer sur détail pour le detail ?

Ça me met ça ;
as-tu bien modifié le manifest.json (attention à la vigule à la fin de service_worker) ?
background": {
"service_worker": "src/background.js",
"scripts": ["src/background.js"]
},
Si oui, essaye avec :
background": {
"scripts": ["src/background.js"]
},

J'ai bien essayé avec la virgule, rien ne change réellement...

je suis maudit lol
peux-tu cliquer sur détail pour le detail ?

Ça me met ça ;
as-tu bien modifié le manifest.json (attention à la vigule à la fin de service_worker) ?
background": {
"service_worker": "src/background.js",
"scripts": ["src/background.js"]
},
Si oui, essaye avec :
background": {
"scripts": ["src/background.js"]
},

J'ai essayé avec le deuxième.. j'ai toujours le même message d'erreur...

je suis maudit lol
peux-tu cliquer sur détail pour le detail ?

Ça me met ça ;
as-tu bien modifié le manifest.json (attention à la vigule à la fin de service_worker) ?
background": {
"service_worker": "src/background.js",
"scripts": ["src/background.js"]
},
Si oui, essaye avec :
background": {
"scripts": ["src/background.js"]
},

possible de le faire en vidéo rapidement ? (je suis désolé)

déjà fait plus haut :
[https://github.com/user-attachments/assets/81054a98-c860-4f90-836b-71f3088c51c8]

je suis maudit lol
peux-tu cliquer sur détail pour le detail ?

Ça me met ça ;
as-tu bien modifié le manifest.json (attention à la vigule à la fin de service_worker) ?
background": {
"service_worker": "src/background.js",
"scripts": ["src/background.js"]
},
Si oui, essaye avec :
background": {
"scripts": ["src/background.js"]
},

J'ai essayé avec le deuxième.. j'ai toujours le même message d'erreur...

effectivement maudit :-) c'est bizarre que ça te parle de service_worker si tu l'as supprimé ...

Je sais pas trop comment faire du coup...

possible de le faire en vidéo rapidement ? (je suis désolé)

déjà fait plus haut : [https://github.com/user-attachments/assets/81054a98-c860-4f90-836b-71f3088c51c8]

Je parlais avec la ligne à remplacer

On my side, I've install it from the zip package. In about:debugging -> Temporary extension -> Load Temporary -> choose manifest.json of notwitchsub. Not sure about the english menu names, my firefox is in french.
I've got to change manifest.json, like this (add scripts) :: background": { "service_worker": "src/background.js", "scripts": ["src/background.js"] }, The extension will be load just until next restart of firefox. It work for me

Merci chef, t'as plié le game

On my side, I've install it from the zip package. In about:debugging -> Temporary extension -> Load Temporary -> choose manifest.json of notwitchsub. Not sure about the english menu names, my firefox is in french.
I've got to change manifest.json, like this (add scripts) :: background": { "service_worker": "src/background.js", "scripts": ["src/background.js"] }, The extension will be load just until next restart of firefox. It work for me

Merci chef, t'as plié le game

Tu as vraiment réussi ?

Je n'y arrive vraiment pas.. je fais le truc bien.. et je me tape une erreur..

quelqu'un a la soluce ?

Je n'y arrive vraiment pas.. je fais le truc bien.. et je me tape une erreur..  quelqu'un a la soluce ?

Did you save the file, and reload manifest.json every time you restart Firefox?

Je n'y arrive vraiment pas.. je fais le truc bien.. et je me tape une erreur..  quelqu'un a la soluce ?

Did you save the file, and reload manifest.json every time you restart Firefox?

J'ai fait comme la vidéo,j'ai fait les modifications, puis j'ai appuyé ici

Je n'y arrive vraiment pas.. je fais le truc bien.. et je me tape une erreur..  quelqu'un a la soluce ?

Did you save the file, and reload manifest.json every time you restart Firefox?

J'ai fait comme la vidéo,j'ai fait les modifications, puis j'ai appuyé ici

If you do that in notepad++, it's not saved. By defaut, npp keep a backup of the file.
Save it manually before, ctrl+s or file->save before close it.

Je n'y arrive vraiment pas.. je fais le truc bien.. et je me tape une erreur..  quelqu'un a la soluce ?

Did you save the file, and reload manifest.json every time you restart Firefox?

J'ai fait comme la vidéo,j'ai fait les modifications, puis j'ai appuyé ici

If you do that in notepad++, it's not saved. By defaut, npp keep a backup of the file. Save it manually before, ctrl+s or file->save before close it.
Effectively, in my video you can´t see it, i've made a ctrl+s

Je n'y arrive vraiment pas.. je fais le truc bien.. et je me tape une erreur..  quelqu'un a la soluce ?

Did you save the file, and reload manifest.json every time you restart Firefox?

J'ai fait comme la vidéo,j'ai fait les modifications, puis j'ai appuyé ici

If you do that in notepad++, it's not saved. By defaut, npp keep a backup of the file. Save it manually,, ctrl+s or file->save, before close it.
Effectively in my video you can´t see it, i've made a ctrl+s

im gonna try thx us

its worked again ? i still have the infinite loading now..

its worked again ? i still have the infinite loading now..

can you provide test link?

its worked again ? i still have the infinite loading now..

yes still working, don't forget you have to reload the extension each time you close firefox.

On my side, I've install it from the zip package. In about:debugging -> Temporary extension -> Load Temporary -> choose manifest.json of notwitchsub. Not sure about the english menu names, my firefox is in french.
I've got to change manifest.json, like this (add scripts) :: background": { "service_worker": "src/background.js", "scripts": ["src/background.js"] }, The extension will be load just until next restart of firefox. It work for me

you are the goat <3

Unfortunately, after a long wait for approval, the extension was denied due to new policies on remote code execution. But, you can still access the latest version on firefox by installing the Tampermonkey extension and using the userscript

It works! Thank you!

Userscript worked but now get a error 4000. Just me ? or need a fix ?

Userscript worked but now get a error 4000. Just me ? or need a fix ?

I have the same error as you since today.
As it seems like something new, I opened up a new issue for it.
#144

Salut !
Merci beaucoup pour le tuto mais malheureusement j'ai un chargement infini. pourtant j'ai suivi le tuto vidéo...
Hi !
Thank you very much for the tutorial but unfortunately I have infinite loading. However I followed the video tutorial...

Salut ! Merci beaucoup pour le tuto mais malheureusement j'ai un chargement infini. pourtant j'ai suivi le tuto vidéo... Même les vods non payantes ont un chargement infini désormais.
Hi ! Thank you very much for the tutorial but unfortunately I have infinite loading. However I followed the video tutorial... Even non-paid vods have infinite loading now.

Hi, I have add a little thing in the video (deactivate cache)

or to refresh the screen do a ctrl-f5

Okay how did i made it work.
Download:
TwitchNoSub-firefox.0.7.1.xpi(rename to TwitchNoSub-firefox.0.7.1.xpi.zip)
TwitchNoSub-0.8.zip
Source.zip
1.Open source and unpack firefox-manifest.json then rename it to manifest.json and put it in TwitchNoSub-firefox.0.7.1.xpi.zip(override)
2.Now open source and copy src folder to and put it in TwitchNoSub-firefox.0.7.1.xpi.zip(override)
3.now go to source copy LICENSE and README.md and put it in TwitchNoSub-firefox.0.7.1.xpi.zip(override)
4.Go to addons and themes(ctrl+shift+a)
5.Press small gear icon
6.Debug add-ons
7.Load temporary add-ons

WARNING: REQUIRE BOTH "Ublock origin" AND "Privacy badger" FOR STABLE EXPIRIENCE(Why? I don`t know)

Just when you open video. Reload tab so Ublock and privacy badger "do something?" And its working

thanks a lot @daskolin !!

Nothing in here has worked for me. I get spinning wheel loading video or it still says please subscribe to watch vod. I have tried editing the Chrome version. Using the js file in Tampermonkey. and combining the old and new versions. Is there an updated script I can use in Tampermonkey to make it easier? Thank you for this service.


Short solution needed: "Using query parameters in Nginx" (nginx)

Please help us write most modern and shortest code solution for this issue:
Using query parameters in Nginx (technology: nginx)
Fast way
Just write the code solution in the comments.
Prefered way

Create pull request with a new code file inside inbox folder.
Don't forget to use comments to make solution explained.
Link to this issue in comments of pull request.

Accessing query parameters


Update buildkite config

This PR updates the buildkite config.
Right now, we're using a pretty dated configuration, due to slurm-buildkite getting quite stale.

We can probably just use an single environment: https://github.com/CliMA/RRTMGP.jl/pull/406

We can probably just use an single environment: #406

I agree, but that requires updating dependencies, so I was thinking that we can split it into two PRs, just to separate the config update from the dependencies update.


Feature/0.1.6

Please add some description as to what is changed and what issues are resolved with this, if any.


Added content specific links for StarkScan block explorer

Introduced changes

Links to StarkScan are now differentiated by type. Instead of the generic /search/<HASH>, they go to /tx/<HASH>, /class/<HASH> or /contract/<ADDR>, similar as with Voyager.

Checklist

[ ] Linked relevant issue
[x] Updated relevant documentation
[ ] Added relevant tests
[x] Performed self-review of the code
[x] Added changes to CHANGELOG.md

@integraledelebesgue done


Backport "HBASE-26471 Move tracing semantic attributes to their own class" to branch-2

Signed-off-by: Duo Zhang<EMAIL_ADDRESS>Signed-off-by: Tak Lon (Stephen) Wu<EMAIL_ADDRESS>

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
1m 45s
Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s
No case conflicting files found.

+1 :green_heart:
hbaseanti
0m  0s
Patch does not have any anti-patterns.

+1 :green_heart:
@author
0m  0s
The patch does not contain any @author tags.

_ branch-2 Compile Tests _

+0 :ok:
mvndep
0m 18s
Maven dependency ordering for branch

+1 :green_heart:
mvninstall
4m 52s
branch-2 passed

+1 :green_heart:
compile
5m 45s
branch-2 passed

+1 :green_heart:
checkstyle
2m 22s
branch-2 passed

+1 :green_heart:
spotbugs
4m 35s
branch-2 passed

_ Patch Compile Tests _

+0 :ok:
mvndep
0m 14s
Maven dependency ordering for patch

+1 :green_heart:
mvninstall
4m 40s
the patch passed

+1 :green_heart:
compile
5m 53s
the patch passed

-0 :warning:
javac
3m 41s
hbase-server generated 1 new + 192 unchanged - 1 fixed = 193 total (was 193)

+1 :green_heart:
checkstyle
2m 27s
the patch passed

+1 :green_heart:
whitespace
0m  0s
The patch has no whitespace issues.

+1 :green_heart:
hadoopcheck
16m 56s
Patch does not cause any errors with Hadoop 3.1.2 3.2.1.

+1 :green_heart:
spotbugs
5m 15s
the patch passed

_ Other Tests _

+1 :green_heart:
asflicense
0m 40s
The patch does not generate ASF License warnings.

66m 44s

Subsystem
Report/Notes

Docker
ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3905/1/artifact/yetus-general-check/output/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/3905

Optional Tests
dupname asflicense javac spotbugs hadoopcheck hbaseanti checkstyle compile

uname
Linux c595bb4c1e73 4.15.0-153-generic #160-Ubuntu SMP Thu Jul 29 06:54:29 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/hbase-personality.sh

git revision
branch-2 / 6fc5bbc19a

Default Java
AdoptOpenJDK-1.8.0_282-b08

javac
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3905/1/artifact/yetus-general-check/output/diff-compile-javac-hbase-server.txt

Max. process+thread count
86 (vs. ulimit of 12500)

modules
C: hbase-common hbase-client hbase-server U: .

Console output
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3905/1/console

versions
git=2.17.1 maven=3.6.3 spotbugs=4.2.2

Powered by
Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
0m 35s
Docker mode activated.

-0 :warning:
yetus
0m  8s
Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck

_ Prechecks _

_ branch-2 Compile Tests _

+0 :ok:
mvndep
0m 17s
Maven dependency ordering for branch

+1 :green_heart:
mvninstall
4m  1s
branch-2 passed

+1 :green_heart:
compile
1m 56s
branch-2 passed

+1 :green_heart:
shadedjars
6m 33s
branch has no errors when building our shaded downstream artifacts.

+1 :green_heart:
javadoc
1m 27s
branch-2 passed

_ Patch Compile Tests _

+0 :ok:
mvndep
0m 17s
Maven dependency ordering for patch

+1 :green_heart:
mvninstall
3m 47s
the patch passed

+1 :green_heart:
compile
1m 54s
the patch passed

+1 :green_heart:
javac
1m 54s
the patch passed

+1 :green_heart:
shadedjars
6m 40s
patch has no errors when building our shaded downstream artifacts.

+1 :green_heart:
javadoc
1m 22s
the patch passed

_ Other Tests _

+1 :green_heart:
unit
1m 29s
hbase-common in the patch passed.

+1 :green_heart:
unit
2m 46s
hbase-client in the patch passed.

+1 :green_heart:
unit
145m 50s
hbase-server in the patch passed.

181m 56s

Subsystem
Report/Notes

Docker
ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3905/1/artifact/yetus-jdk8-hadoop2-check/output/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/3905

Optional Tests
javac javadoc unit shadedjars compile

uname
Linux f55a18592710 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/hbase-personality.sh

git revision
branch-2 / 6fc5bbc19a

Default Java
AdoptOpenJDK-1.8.0_282-b08

Test Results
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3905/1/testReport/

Max. process+thread count
3465 (vs. ulimit of 12500)

modules
C: hbase-common hbase-client hbase-server U: .

Console output
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3905/1/console

versions
git=2.17.1 maven=3.6.3

Powered by
Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
1m 12s
Docker mode activated.

-0 :warning:
yetus
0m  5s
Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck

_ Prechecks _

_ branch-2 Compile Tests _

+0 :ok:
mvndep
0m 17s
Maven dependency ordering for branch

+1 :green_heart:
mvninstall
4m 30s
branch-2 passed

+1 :green_heart:
compile
2m  6s
branch-2 passed

+1 :green_heart:
shadedjars
7m 17s
branch has no errors when building our shaded downstream artifacts.

+1 :green_heart:
javadoc
1m 39s
branch-2 passed

_ Patch Compile Tests _

+0 :ok:
mvndep
0m 21s
Maven dependency ordering for patch

+1 :green_heart:
mvninstall
4m 20s
the patch passed

+1 :green_heart:
compile
2m  6s
the patch passed

+1 :green_heart:
javac
2m  6s
the patch passed

+1 :green_heart:
shadedjars
7m 25s
patch has no errors when building our shaded downstream artifacts.

+1 :green_heart:
javadoc
1m 37s
the patch passed

_ Other Tests _

+1 :green_heart:
unit
1m 47s
hbase-common in the patch passed.

+1 :green_heart:
unit
3m  2s
hbase-client in the patch passed.

+1 :green_heart:
unit
147m 21s
hbase-server in the patch passed.

188m  3s

Subsystem
Report/Notes

Docker
ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3905/1/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/3905

Optional Tests
javac javadoc unit shadedjars compile

uname
Linux 11761adddd6d 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/hbase-personality.sh

git revision
branch-2 / 6fc5bbc19a

Default Java
AdoptOpenJDK-11.0.10+9

Test Results
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3905/1/testReport/

Max. process+thread count
3461 (vs. ulimit of 12500)

modules
C: hbase-common hbase-client hbase-server U: .

Console output
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3905/1/console

versions
git=2.17.1 maven=3.6.3

Powered by
Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.


Expose stack outputs to sst shell

Currently, it seems only linked resources are injected in the env when running sst shell but stack outputs are also very useful in this context.
Is there any supported way to access them when running scripts?
* I am currently working around it by using a dummy linkable component that exports the stack outputs in its link properties, but it would be nice to have it baked in ion.

So any resource gets adding to the shell. It doesn't need to be linked but we have a feature coming soon that'll let you create a resource out of any output and that'll be exposed in the sst shell as well.

The upcoming feature you mentioned sounds like it will do the trick!
* Also, what I meant to say was "only linkable resources are currenlty added to the env" 🤦

this is released but not documented yet - you can do
new sst.Resource("MyResource", { any: "thing", foo: other.thing } )

and it will show up in sst shell

it's linkable too


Output of promtool unit tests is hard to read

Proposal
Currently the text that's output when a test is failing is pretty hard for a human to parse. This is an example of a test failure I'm working on today that takes a good amount of effort to identify the problem -- only one number differs between the two in the annotations:
  FAILED:
    alertname: DonateHighFailureRate, time: 1h1m,
        exp:[
            0:
              Labels:{alertname="DonateHighFailureRate"}
              Annotations:{description="More than 1 failed transaction per minute for the last hour\nhas been detected on the production donate.torproject.org\nsite. Last increase per 10 minutes is 1.\n\nThis might be card testing and should be investigated\npromptly.\n", playbook="https://gitlab.torproject.org/tpo/tpa/team/-/wikis/service/donate#stripe-
card-testing", summary="Unusually high failure rate on donate.torproject.org"}
            ],
        got:[
            0:
              Labels:{alertname="DonateHighFailureRate", severity="warning"}
              Annotations:{description="More than 1 failed transaction per minute for the last hour\nhas been detected on the production donate.torproject.org\nsite. Last increase per 10 minutes is 120.\n\nThis might be card testing and should be investigated\npromptly.\n", playbook="https://gitlab.torproject.org/tpo/tpa/team/-/wikis/service/donate#strip
e-card-testing", summary="Unusually high failure rate on donate.torproject.org"}
            ]

if the output looked more like a diff, the difference could be made more obvious. the diff output could be made optional with a CLI flag to activated it, and if it looks useful enough it could become the default in a future major release only.

hah ... and there's actually also a label difference that I had failed to spot

if the output looked more like a diff, the difference could be made more obvious

Hi! I decided to dig a little and discovered that the behavior you'd like to see can be achieved using this flag:
testRulesDiff := testRulesCmd.Flag("diff", "[Experimental] Print colored differential output between expected & received output.").Default("false").Bool()

ah nice. indeed. thanks for searching @crush-on-anechka
that was apparently merged in last january in #13342
apparently the reason I missed it out was that debian unstable still has promtool 2.45.6 which old by now. With the latest version in a container I can see and use the option.
I guess I'll turn around and poke debian into packaging a newer version.
cheers!


Filter 'Apply' Button Visibility Issue Introduced in PR #2501

After the merge of #2501, the filter "Apply" button is visible even when no filter option has been selected. This button should only appear when a filter option is selected. Multiple class attributes were applied to the button element. Previously, style="display: none;" was used to toggle the visibility.
Steps to Reproduce

Go to a page where the filtering is enabled.
The "Apply" button is visible despite no filters being selected.

Expected Behavior
The "Apply" button should be hidden when no filters are selected and only appear when a filter option is selected.
Possible Solution
The issue might be resolved by revising the Javascript code from bs4_filters.js.
Environment:

Python version: 3.10
Flask version: 3.0.3
Flask-Admin version: 2.0.0a0

Thanks for spotting this. Should be fixed by #2524 🙏

I came across this while improving Estonian translations and updating the Babel application in the example folder to display more translations in the user interface. The pull request for the translations seems to be bigger than I initially anticipated. Additionally, I found untranslated text, which I should include in a separate pull request to make it easier to review.


Multiple positions

Codecov Report
Patch coverage: 36.90% and project coverage change: -14.83% :warning:

Comparison is base (934d748) 57.53% compared to head (3963b6a) 42.70%.

Additional details and impacted files
@@             Coverage Diff             @@
##           master      #12       +/-   ##
===========================================
- Coverage   57.53%   42.70%   -14.83%
===========================================
  Files           3        4        +1
  Lines         471      480        +9
===========================================
- Hits          271      205       -66
- Misses        164      238       +74
- Partials       36       37        +1

Files Changed
Coverage Δ

internal/tnkposition/storage.go
0.00% <0.00%> (ø)

internal/tnkposition/position.go
22.85% <22.85%> (ø)

tinkoff.go
49.23% <62.06%> (-2.89%)
:arrow_down:

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


RabbitMQ and WebSocket publisher plugins

Closes #105

Added a RabbitMQ plugin that automatically publishes SynTest events
Added a WebSocket plugin that automatically publishes SynTest events

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.06%) to 53.713%

Totals

Change from base Build<PHONE_NUMBER>:
0.06%

Covered Lines:
709

Relevant Lines:
1279

💛  - Coveralls


Case-sensitive misspelled names and also missing namespaces cause a misleading error

I just switched from Preview 6 to 8 and started getting lots of this error:

The attribute names could not be inferred from bind attribute 'bind-value'. Bind attributes should be of the form 'bind' or 'bind-value' along with their corresponding optional parameters like 'bind-value:event', 'bind:format' etc.

After some digging it turned out that I was getting this for two reasons:

Component names are now case-sensitive (I think that's related to dotnet/aspnetcore#9860)
I was missing a namespace

So, the compiler was quite right, my code was bad, but the error message had me pulling my hair out for a while.
Say I've made a declaration like this:
<MyButton OnClick="Clicked" @bind-Value="@MyTextProperty"/>

Is there any way the error checking could identify that there's a binding statement and then throw a warning/exception if the component name (MyButton) doesn't match up to a component the error-checker can find?  I think this ties back to dotnet/aspnetcore#9786 too.

In case it helps with planning/prioritisation, it seems like the "The attribute names could not be inferred from bind attribute 'bind-value'" message is still catching people out:  My question on this on Stack Overflow now has 19k views and 38 question upvotes.  There are also 100+ upvotes across all the answers.

Opened https://github.com/dotnet/razor/pull/9712 to at least offer a code action that will help identify when component tags are case incorrectly.
For the record, in the last VS previews, I do see a diagnostic from the compiler saying it can't find the component, so it's not complete guess work that the component is wrong.

@davidwengier Thanks. That's definitely better UX

For the record, in the last VS previews, I do see a diagnostic from the compiler saying it can't find the component, so it's not complete guess work that the component is wrong.

Yes, the error message should be fixed by https://github.com/dotnet/razor/pull/9512 which should be in VS 17.9 Preview 2.

@jjonescz In that case, is #9712 enough to mark this as fixed? The tooling experience for mistyped components is a lot better with it, but its unclear to me if there is still a compiler bug to fix here.
Tooling looks like this once the PR is merged:

I agree this can be closed with the tooling fix.

Thanks all, that looks like it should help.  These are the Stack Overflow stats  as of today (2023-12-19) which I expect will tail off once that fix gets into the wild.


Update pyfa to 1.35.2,yc120.2-1.2

After making all changes to the cask:

[x] brew cask audit --download {{cask_file}} is error-free.
[x] brew cask style --fix {{cask_file}} left no offenses.
[x] The commit message includes the cask’s name and version.

Had some key errors so this commit came out as unverified


Uploaded corrected ipynb files for Track 1.

Track 1 ipynb files updated.

Updated Track 1 and Track 2 files.


fix(channels): fetch in activity mount not app

Description:
Call fetchChannels from the Activity componentWillMount not in the App.js callback

Motivation and Context:
App.js componentWillMount callback gets called before we signal to the state machine that we are fully synced. Activity.js callback is where we call for all other app related user node data and only renders afterwards. In this PR we move the fetchChannels call to Activity.js so that it can be received by ipcMain and return us channel data.

How Has This Been Tested?
Run the app on master and see the issue, run this PR and see it's fixed

Screenshots (if appropriate):
Types of changes:

Checklist:

[x] My code follows the code style of this project.
[x] I have reviewed and updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes where needed.
[ ] All new and existing tests passed.
[x] My commits have been squashed into a concise set of changes.

Coverage remained the same at 16.185% when pulling 48c9a2b4c0ca6a84fb0b22b1cba442cd245a6f93 on fix/fetchChannels into bf433a5450a249af8b2e2f1fedc98e3a97f5f3d0 on master.

Updated @mrfelton


Programatically fail a test

In the jest docs it mentions an example in the async tutorial
// Or try-catch.
it('tests error with async/await', async () => {
  try {
    await user.getUserName(2);
  } catch (object) {
    expect(object.error).toEqual('User with 2 not found.');
  }
});

I think that this code should be written like this:
// Or try-catch.
it('tests error with async/await', async () => {
  try {
    await user.getUserName(2);
    fail();
  } catch (object) {
    expect(object.error).toEqual('User with 2 not found.');
  }
});

The fail() will prevent the test from passing if getUserName() does not throw an error.
However, I see no mention of the fail() command anywhere in the docs, is this a supported API?

I'm not sure if we want to have a function like this.
fail() as you proposed here will also prevent the test from passing if getUserName() doesn't throw and returns instantly.
Instead you could test if getUserName function throws with e.g. .toThrow() method: http://facebook.github.io/jest/docs/api.html#tothrow

How would you use toThrow() to check for a rejection of a promise? Isn't toThrow only used to check if errors are thrown in a particular function?

If you want to test Promise rejection, you can still go on with something like this:
it('tests if getUserName rejects promise', () => {
  user.getUserName(2)
    .then(() => {}, error => {
      expect(error).toBe('My rejected Promise')
    })
});

There are plenty of ways, I just don't see the reason to add another one.

The problem with your method is that if the promise resolves then the test will pass even though you expect it to reject.
The test should fail if the promise resolves. It should only pass if it rejects with the exact error that you expected.
it('tests error with async/await', async () => {
  try {
    await user.getUserName(2);  //If this resolves then the test will pass
  } catch (object) {
    expect(object.error).toEqual('User with 2 not found.');
  }
});

I'm not sure if it's possible to do with async/await syntax, I didn't play with it much to be honest.
But maybe we could introduce a new matcher e.g. .toBeRejected(object | string)?
Then you could test the case like this:
it('rejects on username 2', () => {
  const object = {error: 'User with 2 not found'};
  expect(user.getUserName(2)).toBeRejected(object);
})

Yeah such an API would be awesome! And you could also use snapshots here:
it('rejects on username 2', () => {
  expect(user.getUserName(2)).toBeRejectedWithSnapshot();

Closing this in favour of #1377. You're welcome do discuss new this API shape there.

Somehow this is not documented, but since Jest uses Jasmin this is possible:
test('How to manually fail tests', done => {
  done.fail(new Error('I want my test to fail'))
})

You can also call done.fail() after done() has been called. This is important if you want to fail conditionally when a specific thing happens.
For example I wanted any call to console.error to trigger an exception and fail the test in question:
// console.error should fail the test
beforeEach(done => {
  jest.spyOn(global.console, 'error').mockImplementation(e => {
    done.fail(e);
  });
  done(); // it is important to call this here or every test will timeout
});

In case anyone else comes across this, the global function fail works. I believe it's a feature of Jasmine.
it('should not fail', () => {
  try {
    myFunctionThatWillNotError()
  } catch (e) {
    fail('should not have thrown an error')
  }
})

This feature is also useful in case you are programmatically generating test/it blocks based on async code. For example reading a text file -avoiding readSync- to assert something for each line.
As the describe doesn't allow the callback to return a promise (#2235), you cannot generate many its. So the solution is to use a beforeAll for the async code. Then you can only have a single it/test for the whole file.
So, if an expect fails, the error won't be verbose enough to understand the error (which line failed)
It is then cool to have a way to make it fail with a custom message.
Here is my example. done.fail() worked but an out-of-the-box fail() would get rid of the done().
Also having a custom message for expect() could have done it.
    describe('examples from file', () => {
        let lines;

        beforeAll(() => new Promise(resolve => {
          lines = []
          // asynchronously read each line into lines
        }))

        it('should accept all lines in samples.txt', done => {
          lines.forEach(line => {
            if (!someBooleanChecking(line)) {
              done.fail(new Error(`"${line}" was NOT accepted !`))
            } else {
              done()
            }
          })
        })
      })

I totally missed the expect.assertions(1) line. nice

So related to this, I'm currently trying to force my Jest tests to fail if console.error or console.warn is called. Unfortunately, the only reliable way I've found to do so is to use fail():

console.error = function(message) {
  error.apply(console, arguments); // keep default behaviour
  fail(message);
};

const warn = console.warn;

console.warn = function(message) {
  warn.apply(console, arguments); // keep default behaviour
  fail(message);
};

Raising an error does not work reliably when dealing with asynchronous React code, unfortunately. Does anyone have any thoughts on how this could be made to work without resort to fail()?

When we use it with restartBrowserBetweenTests:true -done.fail(msg) causing  no such session error to the rest of the test cases using chrome


.NET Core WebApp System.BadImageFormatException

Issue Title
App targeting .NETCore 2.2.1  deployed on Azure WebApps give error System.BadImageFormatException
Description
========
x64 targeting .NET Core 2.2 in Publish profile.
Published from VisualStudio 2017
Locally runs fine.
Web app is exposing
HTTP Error 502.5 - Process Failure
In logs we see:
Unhandled Exception: System.BadImageFormatException: Could not load file or assembly 'D:\home\site\wwwroot\xxxx.core.dll'. An attempt was made to load a program with an incorrect format.
We have successfuly run several instances of .NET Core web app on version 2.0.0.
Now we have migarated to .NET Core 2.2.1
Above error is in our logs, web app returns 502.5
When in Kudu:
D:\home\site\wwwroot\logs>dotnet --version
2.2.102

Please suggest what is wrong.

If anyone is interested in the solution - cleanup the site from all .NET core 2.0.0 files, then publish.


Add delay option

Would it be possible to add a tooltip delay option?
Thanks!

Please try the new beta! :smile:

Beta did not show me anything. No error, nothing.

Did you update your CSS? Classes changed.

Thanks, everything ok, did not see the new css-names.


Error toast on PR creation

Seeing this from time to time. This was from a one-line change:

duplicate of https://github.com/microsoft/vscode-pull-request-github/issues/4002


OCPBUGS-38062: [release-4.16] Use HTTP proxy for ingress controller

What this PR does / why we need it:
Ingress operator canary checks require access to the internet since they
probe the external canary routes. The socks5 proxy sidecar does not
provide external access when a user proxy is required. This commit
switches to using the konnectivity-https-proxy that does take into
account the user's proxy configuration.
The dialer that the https proxy was creating was not configured by
default to talk directly to cloud provider endpoints. This was
preventing the ingress operator from successfully tearing down hosted
clusters.
This commit configures the konnectivity-https-proxy to talk directly
to cloud api endpoints for the ingress operator and adds proxy env
variables if they exist.
Fixes dialing from ingress where we want to use the management cluster's
proxy (if configured) when connecting to cloud APIs.
Which issue(s) this PR fixes (optional, use fixes #<issue_number>(, fixes #<issue_number>, ...) format, where issue_number might be a GitHub issue, or a Jira story:
Fixes #OCPBUGS-38062
Checklist

[x] Subject and description added to both, commit and PR.
[x] Relevant issues have been referenced.
[ ] This change includes docs.
[ ] This change includes unit tests.

/jira refresh

/lgtm

/test e2e-kubevirt-aws-ovn-reduced
looks like this job may have started failing https://prow.ci.openshift.org/job-history/gs/test-platform-results/pr-logs/directory/pull-ci-openshift-hypershift-release-4.16-e2e-kubevirt-aws-ovn-reduced

/cherry-pick release-4.15


WRN-3709: Block wheel event in VideoPlayer

Checklist

[x] I have read and understand the contribution guide
[x] A CHANGELOG entry is included
[ ] At least one test case is included for this feature or bug fix
[x] Documentation was added or is not needed
[ ] This is an API breaking change

Issue Resolved / Feature Added
When scrolling wheel in video player, media list should be show up.
But in current status, try to seek media file.
Resolution
Wheel event handler in Slider is accept event more higher priority than video panel.
For resolve this issue, new prop is added to slider and used in MediaSlider.
Additional Considerations
N/A
Links
WRN-3709
Comments
N/A

I updated the checklist in the description; this PR does not break API but adds a single prop.


Not working with Node 12, primordials is not defined

With Node 12, simply doing a require("unzip") will crash your application with the following error:
const { Math, Object, Reflect } = primordials;
                                  ^

ReferenceError: primordials is not defined
    at fs.js:27:35
    at req_ (/home/martin/works/XXX/node_modules/natives/index.js:143:24)
    at Object.req [as require] (/home/martin/works/XXX/node_modules/natives/index.js:55:10)
    at Object.<anonymous> (/home/martin/works/XXX/node_modules/fstream/node_modules/graceful-fs/fs.js:1:37)
    at Module._compile (internal/modules/cjs/loader.js:759:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:770:10)
    at Module.load (internal/modules/cjs/loader.js:628:32)
    at Function.Module._load (internal/modules/cjs/loader.js:555:12)
    at Module.require (internal/modules/cjs/loader.js:666:19)
    at require (internal/modules/cjs/helpers.js:16:16)

Had the same issue on my project. Moved to unzipper fork instead, since this project seems abandoned unfortunately

The error I was getting when requiring this after the upgrade to node 12 is this:
/usr/local/bin/node[190]: ../src/node_contextify.cc:651:static void node::contextify::ContextifyScript::New(const v8::FunctionCallbackInfo<v8::Value>&): Assertion `args[1]->IsString()' failed.```

Hopefully will save someone else some time since search was coming up pretty empty on that one

Same root cause as https://github.com/EvanOxfeld/node-unzip/issues/115

I changed my node version to 10.16.0， and it works


Tablet transform not getting applied

Hyprland Version
 System/Version info
Hyprland, built from branch main at commit f7a34534873bf499fc1a04a5fa25ada03c4ee415 dirty (socket2: move to the wayland event loop).
Date: Mon Feb 26 18:20:51 2024
Tag: v0.35.0-103-gf7a34534

flags: (if any)

Bug or Regression?
Bug
Description
Trying to transform tablet orientation doesn't change anything when changing the value between 0-7. relative_input variable works so I should be targeting the correct device.
How to reproduce
Use a drawing board and change input:tablet:transform variable, nothing happens
Crash reports, logs, images, videos
No response

sameproblem, for touchscreen

Having a similar issue. This is a regression, looks like it was https://github.com/hyprwm/Hyprland/commit/13f6f0b923ff3ec94a3bec886c28b90402ceef91 that broke it

Also stopped working for me, though I can't say around when more precicely (some time in the last months)
I used to have a working service that took the orientation from iio sensors and applied it via:
monitor-sensor \
  | awk ' $4 ~ /bottom-up/ { print "2" }; $4 ~ /left-up/ { print "1" }; $4 ~ /normal/ { print "0" }; $4 ~ /right-up/ { print "3" }; { system("") };' \
          | xargs -rI{} hyprctl --batch "keyword device:elan2514:00-04f3:29f5:transform {} ; keyword device:elan2514:00-04f3:29f5-stylus:transform {} ; keyword monitor eDP-1,transform,{}"

Isolated:
> hyprctl --batch "keyword touch:elan2514:00-04f3:29f5:transform 3"
config option <touch:elan2514:00-04f3:29f5:transform> does not exist.

@thejch would this help to confirm that the culprit is the commit you pointed out?

Also stopped working for me, though I can't say around when more precicely (some time in the last months) I used to have a working service that took the orientation from iio sensors and applied it via:
monitor-sensor \
  | awk ' $4 ~ /bottom-up/ { print "2" }; $4 ~ /left-up/ { print "1" }; $4 ~ /normal/ { print "0" }; $4 ~ /right-up/ { print "3" }; { system("") };' \
          | xargs -rI{} hyprctl --batch "keyword device:elan2514:00-04f3:29f5:transform {} ; keyword device:elan2514:00-04f3:29f5-stylus:transform {} ; keyword monitor eDP-1,transform,{}"

Isolated:
> hyprctl --batch "keyword touch:elan2514:00-04f3:29f5:transform 3"
config option <touch:elan2514:00-04f3:29f5:transform> does not exist.

@thejch would this help to confirm that the culprit is the commit you pointed out?

Seems that the config syntax has changed. Try keyword input:touchdevice:transform 3

@thejch Thanks, that works!

wait so is this actually a problem or just people not updating their config?

Reading wiki this should work?

input {
tablet {
      relative_input = true
      transform = 5
 }
}

Relative input works but transform doesn't. I also tried under touchdevice but that did nothing either, anything I'm missing here?

https://github.com/hyprwm/Hyprland/pull/5178 works for my use-case, however there might be some situations where you would like to turn the tablet 90 degrees and get it flipped etc, so fixing this at some point might be a good idea.


Enable pull check

Subj

Oh wait, it duplicates all the workflows.

Thanks, will look into it

My previous experience shows that Igor generally does not approve use of third party actions. We may have smaller or different set of tests for pull requests.

There is for example this method: https://wildwolf.name/github-actions-how-to-avoid-running-the-same-workflow-multiple-times/

This is a good text. AFAIU they reworked event object, so implementing this will require an additional investigation


[WIP] Investigate AppVeyor build profile to reduce time

What changes were proposed in this pull request?
See if the profile affects the build time. Seems we don't need thriftserver profile.
How was this patch tested?
N/A

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/1407/
Test PASSed.

Test build #93672 has started for PR 21894 at commit df978c9.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/1410/
Test PASSed.

Merged build finished. Test PASSed.

Test build #93675 has started for PR 21894 at commit 2a8b314.

Test build #93675 has finished for PR 21894 at commit 2a8b314.

This patch fails PySpark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

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

Test build #93672 has finished for PR 21894 at commit df978c9.

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

Merged build finished. Test PASSed.

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

cc @felixcheung

Merged to master.
Thank you @felixcheung.


Fix --debug behavior

Will run a build with this later on and check :+1:

Is moving the ProcessorArguments function out to common.sh necessary? As far as I can see it seems like it's only used in wlinux-setup and so might be better to remain in there. Otherwise every source of common.sh will parse it which seems a little unnecessary.
Do call me out if I'm wrong though!

@grufwub is used by common.sh at the end. Each time a new .sh is called it lose its "debug behavior" or "set -x" this is indeed what I've fixed. This is why I pass "$@" to every sh


Explicitly pass label_count to confusion_matrix.

If batch size gets small enough, there can be not enough classes
in the validation batch, and auto-inference on each step may
return different sizes of the confustion matrices, and their
addition will fail

Can one of the admins verify this patch?

resolved in https://github.com/tensorflow/tensorflow/pull/14600


Add Redis instructions

Fixes #19680
Internal review URL

@petrsvihlik please review. See Internal review URL The only new code is
options.Configuration = _config["MyRedisConStr"];

@Rick-Anderson Perfect. This is good to go. 👍


Fix for speech cross platform support

Addition to #927
Since we expose the confidence level in the editor now we also need the using.
Those compiler directives are really annoying to spot in a diff.

@Zod-,
Thanks for having already signed the Contribution License Agreement. Your agreement was validated by Microsoft. We will now review your pull request.
Thanks,
Microsoft Pull Request Bot

I'll close this since you have the changes in #936 anyway

Oh no worries, I was expecting to merge this in once we got it accepted.

@Zod-,
Thanks for having already signed the Contribution License Agreement. Your agreement was validated by Microsoft. We will now review your pull request.
Thanks,
Microsoft Pull Request Bot


Introduce Group Milestone for GitLab and fix related parsing error.

According to the documentations, we have project milestones and  group milestones in GitLab world

Project Milestone - https://docs.gitlab.com/ee/api/group_milestones.html
Group Milestone - https://docs.gitlab.com/ee/api/milestones.html

Parsing Error
The current DSL will lead to parsing error while a merge request is using a group milestone:

ERROR: Failed to parse JSON: keyNotFound(CodingKeys(stringValue: "project_id", intValue: nil), Swift.DecodingError.Context(codingPath: [CodingKeys(stringValue: "danger", intValue: nil), CodingKeys(stringValue: "gitlab", intValue: nil), CodingKeys(stringValue: "mr", intValue: nil), CodingKeys(stringValue: "milestone", intValue: nil)], debugDescription: "No value associated with key CodingKeys(stringValue: "project_id", intValue: nil) ("project_id").", underlyingError: nil))

Changes Made

Add a property groupId to Milestone.
Breaking Change Change projectId into an optional property to avoid the parsing error.

JSONs grabbed from API request
Project Milestone
Which will not have group_id key
{
   "id":1672801,
   "iid":1,
   "project_id":21265694,
   "title":"Project Milestone",
   "description":"This is a project milestone",
   "state":"active",
   "created_at":"2020-10-13T00:23:21.267Z",
   "updated_at":"2020-10-13T00:23:21.267Z",
   "due_date":null,
   "start_date":null,
   "expired":null,
   "web_url":"https://gitlab.com/groupname/projectname/-/milestones/1"
}

Group Milestone
Which will not have project_id key
{
   "id":1672771,
   "iid":1,
   "group_id":9449452,
   "title":"Group Milestone",
   "description":"",
   "state":"active",
   "created_at":"2020-10-13T00:06:28.047Z",
   "updated_at":"2020-10-13T00:25:26.099Z",
   "due_date":null,
   "start_date":null,
   "expired":null,
   "web_url":"https://gitlab.com/groups/groupname/-/milestones/1"
}

Warnings

:warning:

Sources/Danger/GitLabDSL.swift#L57 - Line should be 120 characters or less: currently 137 characters (line_length)

:warning:

Sources/DangerFixtures/DangerDSLResources/DSLGitLabGroupMilestone.swift#L1 - SwiftLint rule 'line_length' did not trigger a violation in the disabled region. Please remove the disable command. (superfluous_disable_command)

  Generated by :no_entry_sign: Danger Swift against 0e508fa312a4bdf31341547f968d69950a5d2fe8

Warnings

:warning:

Sources/Danger/GitLabDSL.swift#L59 - Line should be 120 characters or less: currently 133 characters (line_length)

:warning:

Sources/DangerFixtures/DangerDSLResources/DSLGitLabGroupMilestone.swift#L1 - SwiftLint rule 'line_length' did not trigger a violation in the disabled region. Please remove the disable command. (superfluous_disable_command)

:warning:

Sources/DangerFixtures/DangerDSLResources/DSLGitLabProjectMilestone.swift#L1 - SwiftLint rule 'line_length' did not trigger a violation in the disabled region. Please remove the disable command. (superfluous_disable_command)

  Generated by :no_entry_sign: Danger Swift against 943024a8d12a30a19df0a44e453b81c34ae56352

@f-meloni I have updated the code. But SwiftLint seems triggered some warnings unexpectedly after package update, should I fix them?

Warnings

:warning:

Sources/Danger/GitLabDSL.swift#L150 - SwiftLint rule 'identifier_name' did not trigger a violation in the disabled region. Please remove the disable command. (superfluous_disable_command)

:warning:

Sources/Danger/GitLabDSL.swift#L157 - SwiftLint rule 'identifier_name' did not trigger a violation in the disabled region. Please remove the disable command. (superfluous_disable_command)

:warning:

Sources/Danger/GitLabDSL.swift#L179 - SwiftLint rule 'identifier_name' did not trigger a violation in the disabled region. Please remove the disable command. (superfluous_disable_command)

:warning:

Sources/Danger/GitLabDSL.swift#L222 - SwiftLint rule 'identifier_name' did not trigger a violation in the disabled region. Please remove the disable command. (superfluous_disable_command)

:warning:

Sources/Danger/GitLabDSL.swift#L261 - SwiftLint rule 'identifier_name' did not trigger a violation in the disabled region. Please remove the disable command. (superfluous_disable_command)

:warning:

Sources/Danger/GitLabDSL.swift#L274 - SwiftLint rule 'identifier_name' did not trigger a violation in the disabled region. Please remove the disable command. (superfluous_disable_command)

:warning:

Tests/DangerTests/GitDiffTests.swift#L4 - Type body should span 200 lines or less excluding comments and whitespace: currently spans 204 lines (type_body_length)

:warning:

Tests/DangerTests/GitDiffTests.swift#L5 - Function body should span 40 lines or less excluding comments and whitespace: currently spans 69 lines (function_body_length)

:warning:

Tests/DangerTests/GitDiffTests.swift#L10 - Line should be 140 characters or less: currently 156 characters (line_length)

:warning:

Tests/DangerTests/GitDiffTests.swift#L18 - Collection literals should not have trailing commas. (trailing_comma)

:warning:

Tests/DangerTests/GitDiffTests.swift#L19 - Collection literals should not have trailing commas. (trailing_comma)

:warning:

Tests/DangerTests/GitDiffTests.swift#L21 - Line should be 140 characters or less: currently 195 characters (line_length)

:warning:

Tests/DangerTests/GitDiffTests.swift#L30 - Collection literals should not have trailing commas. (trailing_comma)

:warning:

Tests/DangerTests/GitDiffTests.swift#L31 - Collection literals should not have trailing commas. (trailing_comma)

:warning:

Tests/DangerTests/GitDiffTests.swift#L33 - Line should be 140 characters or less: currently 145 characters (line_length)

:warning:

Tests/DangerTests/GitDiffTests.swift#L36 - Line should be 140 characters or less: currently 145 characters (line_length)

:warning:

Tests/DangerTests/GitDiffTests.swift#L38 - Line should be 140 characters or less: currently 255 characters (line_length)

:warning:

Tests/DangerTests/GitDiffTests.swift#L39 - Line should be 140 characters or less: currently 249 characters (line_length)

:warning:

Tests/DangerTests/GitDiffTests.swift#L43 - Collection literals should not have trailing commas. (trailing_comma)

:warning:

Tests/DangerTests/GitDiffTests.swift#L44 - Collection literals should not have trailing commas. (trailing_comma)

:warning:

Tests/DangerTests/GitDiffTests.swift#L46 - Line should be 140 characters or less: currently 153 characters (line_length)

:warning:

Tests/DangerTests/GitDiffTests.swift#L55 - Line should be 140 characters or less: currently 166 characters (line_length)

:warning:

Tests/DangerTests/GitDiffTests.swift#L57 - Line should be 140 characters or less: currently 160 characters (line_length)

:warning:

Tests/DangerTests/GitDiffTests.swift#L60 - Collection literals should not have trailing commas. (trailing_comma)

:warning:

Tests/DangerTests/GitDiffTests.swift#L63 - Line should be 140 characters or less: currently 160 characters (line_length)

:warning:

Tests/DangerTests/GitDiffTests.swift#L64 - Line should be 140 characters or less: currently 151 characters (line_length)

:warning:

Tests/DangerTests/GitDiffTests.swift#L66 - Line should be 140 characters or less: currently 196 characters (line_length)

:warning:

Tests/DangerTests/GitDiffTests.swift#L67 - Line should be 140 characters or less: currently 152 characters (line_length)

:warning:

Tests/DangerTests/GitDiffTests.swift#L68 - Line should be 140 characters or less: currently 198 characters (line_length)

:warning:

Tests/DangerTests/GitDiffTests.swift#L73 - Collection literals should not have trailing commas. (trailing_comma)

:warning:

Tests/DangerTests/GitDiffTests.swift#L74 - Collection literals should not have trailing commas. (trailing_comma)

:warning:

Tests/DangerTests/GitDiffTests.swift#L76 - Line should be 140 characters or less: currently 211 characters (line_length)

:warning:

Tests/DangerTests/GitDiffTests.swift#L99 - Collection literals should not have trailing commas. (trailing_comma)

:warning:

Tests/DangerTests/GitDiffTests.swift#L111 - Collection literals should not have trailing commas. (trailing_comma)

:warning:

Tests/DangerTests/GitDiffTests.swift#L121 - Line should be 140 characters or less: currently 236 characters (line_length)

:warning:

Tests/DangerTests/GitDiffTests.swift#L122 - Line should be 140 characters or less: currently 230 characters (line_length)

:warning:

Tests/DangerTests/GitDiffTests.swift#L126 - Collection literals should not have trailing commas. (trailing_comma)

:warning:

Tests/DangerTests/GitDiffTests.swift#L127 - Collection literals should not have trailing commas. (trailing_comma)

:warning:

Tests/DangerTests/GitDiffTests.swift#L132 - Line should be 140 characters or less: currently 144 characters (line_length)

:warning:

Tests/DangerTests/GitDiffTests.swift#L141 - Collection literals should not have trailing commas. (trailing_comma)

:warning:

Tests/DangerTests/GitDiffTests.swift#L142 - Collection literals should not have trailing commas. (trailing_comma)

:warning:

Tests/DangerTests/GitLabTests.swift#L10 - Function body should span 40 lines or less excluding comments and whitespace: currently spans 74 lines (function_body_length)

:warning:

Tests/DangerTests/GitLabTests.swift#L44 - Line should be 140 characters or less: currently 219 characters (line_length)

  Generated by :no_entry_sign: Danger Swift against da32773799f03ae4f7ca7d747acde41acf8d3f66


Add the build configuration

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


Bug: Null Body Error

Description:
The code encounters an error when attempting to read properties of null due to issues without a body or due dates. This results in the following error message:
Error: Cannot read properties of null (reading 'match')

Problematic Code Section:
issues.forEach(issue => {
  const dueDateMatch = issue.body.match(/Due\s*[:|-]?\s*(\d{4}-\d{2}-\d{2})/i);
  if (dueDateMatch) {
    const dueDateStr = dueDateMatch[1];
    const dueDate = new Date(dueDateStr);

    // Calculate the difference between today and the due date in days
    const timeDiff = dueDate.getTime() - today.getTime();
    const daysUntilDue = Math.ceil(timeDiff / (1000 * 3600 * 24)); // Convert milliseconds to days

    if (dueDate <= notificationDate) {
      octokit.rest.issues.createComment({
        owner,
        repo,
        issue_number: issue.number,
        body: `This issue is due in ${daysUntilDue} day(s) on ${dueDateStr}.`
      }).catch(error => core.setFailed(error.message));
    }
  }
});

Proposed Solution:
Add checks to ensure issue.body is not null and that dueDateMatch is not null before accessing properties or creating comments.
Steps to Reproduce:

Create an issue without a body or due date.
Trigger the notification system.
Observe the error message.

Expected Behavior:

The system should handle issues without a body or due date gracefully, without throwing errors.

Due: 2024-06-17

This issue is due in 1 day(s) on 2024-06-18.

This issue is due in 0 day(s) on 2024-06-18.

This issue is due in 0 day(s) on 2024-06-18.

This issue is due in -1 day(s) on 2024-06-17.

This issue is due in -2 day(s), on 2024-06-16.

The due date of this issue has passed.

The due date of this issue is today.

This issue is due in 1 day(s), on 2024-06-19.

The due date of this issue has passed.

Added #4
Fixed.


Roll engine to f0d440bec3ed79f01890e956b07b6e8e6182db62

Looks like this roll may have regressed microbenchmarks stock_layout_iteration by about 2x. Only one data point so far, so let's keep watching to see if it was a flake.

Also hot reload.

This included https://github.com/flutter/flutter/pull/11553 which I suspect is the cause of the performance regressions.

Filed https://github.com/dart-lang/sdk/issues/30388 to track regressions.

This improved the memory benchmarks, but the improvement later regressed, see https://github.com/dart-lang/sdk/issues/30432.


save_open not working with joblib

System Info
safetensors v0.3.2
joblib v1.3.2
Information

[ ] The official example scripts
[X] My own modified scripts

Reproduction
import torch
from safetensors import safe_open
from safetensors.torch import save_file
from joblib import Parallel, delayed

tensors = {
   "weight1": torch.zeros((1024, 1024)),
   "weight2": torch.zeros((1024, 1024))
}
save_file(tensors, "model.safetensors")

def test():
    tensors = {}
    with safe_open("model.safetensors", framework="pt", device="cpu") as f:
        for key in f.keys():
            tensors[key] = f.get_tensor(key)

Parallel(n_jobs=2)(delayed(test) for _ in range(10))

Expected behavior
joblib.externals.loky.process_executor._RemoteTraceback:
"""
Traceback (most recent call last):
  File "/home/user/miniconda3/envs/test/lib/python3.10/site-packages/joblib/externals/loky/process_executor.py", line 426, in _process_worker
    call_item = call_queue.get(block=True, timeout=timeout)
  File "/home/user/miniconda3/envs/test/lib/python3.10/multiprocessing/queues.py", line 122, in get
    return _ForkingPickler.loads(res)
AttributeError: type object 'safe_open' has no attribute 'metadata'
"""

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/user/test.py", line 19, in <module>
    Parallel(n_jobs=2)(delayed(test) for _ in range(10))
  File "/home/user/miniconda3/envs/test/lib/python3.10/site-packages/joblib/parallel.py", line 1952, in __call__
    return output if self.return_generator else list(output)
  File "/home/user/miniconda3/envs/test/lib/python3.10/site-packages/joblib/parallel.py", line 1595, in _get_outputs
    yield from self._retrieve()
  File "/home/user/miniconda3/envs/test/lib/python3.10/site-packages/joblib/parallel.py", line 1699, in _retrieve
    self._raise_error_fast()
  File "/home/user/miniconda3/envs/test/lib/python3.10/site-packages/joblib/parallel.py", line 1734, in _raise_error_fast
    error_job.get_result(self.timeout)
  File "/home/user/miniconda3/envs/test/lib/python3.10/site-packages/joblib/parallel.py", line 736, in get_result
    return self._return_or_raise()
  File "/home/user/miniconda3/envs/test/lib/python3.10/site-packages/joblib/parallel.py", line 754, in _return_or_raise
    raise self._result
joblib.externals.loky.process_executor.BrokenProcessPool: A task has failed to un-serialize. Please ensure that the arguments of the function are all picklable.

Yes save_open is handling open files...
open doesn't work either:
from joblib import Parallel, delayed

def test():
    with open("test.txt") as f:
        print(f.read())

Parallel(n_jobs=2)(delayed(test) for _ in range(10))

General question: are there any other good ways of parallelizing safe_open?
So far I found pathos.multiprocessing that can serialize this.

Why do you need it ?
safe_open is memory mapping the file, leading to most likely the optimal way to read the file (the OS is in charge). Parallelization never helps in that case. Only case where it's subpar is when you're loading from a network mounted disk (you're basically lying to the OS, therefore it's not doing a great job at making the reads sequential which network prefers).
Sending data to your threads/processes AFTER load should be easy enough. (or making you various threads/processes read only the bit of data they are interested in, this is what is done here https://github.com/huggingface/text-generation-inference and we cut load times by a big factor over torch pickle.)
Doc reference: https://huggingface.co/docs/safetensors/index#load-tensors

I'm using safetensors as a data storage format. It's always going to be faster to parallelize pre-processing. I haven't had issues with pathos so I'll keep using that.


Fix typo in hieradata for government-frontend

https://trello.com/c/vticNyhn/233-fix-government-frontend-unicorn
The variables were incorrectly using a hyphen in 'government-frontend',
instead of an underscore, which is what the module is expecting.

@benthorner good find :+1: It would be great if you could make the same change in the AWS specific hieradata [1], so that the behaviour doesn't revert in the event of production being migrated to AWS.
1: https://github.com/alphagov/govuk-puppet/blob/master/hieradata_aws/common.yaml#L495-L497


Update classifiers.py

Description
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Fixes # (issue)
Type of change
Please delete options that are not relevant.

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[x] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

[ ] Test A
[x] Test B

Test Configuration:

Firmware version:
Hardware:
Toolchain:
SDK:

Checklist:

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

REVERIFY

Jenkins job python-classifiers-project/nightly-job ended with SUCCESS. Build: http://sullust.ddns.net:33404/job/python-classifiers-project/job/nightly-job/3/


Improve Cuppa's use of exceptions

This change improves the test coverage of the exceptions thrown by Cuppa and fixes several bugs uncovered by the improvements.

:ship: it


symbolicator: fix build on Darwin

Description of changes
Add the SystemConfiguration framework as a buildInput. Otherwise, symbolicator fails to link on Darwin.
Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[x] x86_64-darwin
[x] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Also, the failure was unnoticed in #270482.


Node.js v18 support?

For #reasons (it's an Electron app) we can't upgrade our project to use Node v20.
Because this module specifies "node": ">=20.0.0" in it's package.json engines, yarn and npm will throw a hard error on install when trying to use the module with any version of node below v20.
I've verified that the theme works just fine on v18 locally. Any way we can remove the engine specifier so module cli's don't yell?
(Yes, I can use the --ignore-engines flag, but this is a shared repo and that's a lot to ask of everyone to use every time they want to use a yarn command, and the strict engine check is useful for modules that actually do require v20).

Opened a PR with the needed change if this sounds wanted ☝

I tend to follow Node.js release schedule and discard versions not active nor current to avoid any maintenance burden. I'll make an exception here as I don't expect much changes in this package. It should be available in version 1.0.2.
PS: electron v29 should have Node.js 20 🤞


bug when setting a float value to -10. and not -10.0

When fixing a value defined with:
parser.add('--'+par_name,type=types.FloatType,required=False,help=par_help, default=par_default)
I get an error if in the config file i set
par_name = -10.
or
par_name = -9.
The error doesn't occur in the following:
`
par_name = -10.0
par_name = 10.
par_name = 10.0
`

Tested with ConfigArgParse 0.10.0.
I can test with the latest ConfigArgParse, if you need me to.

the error is:
fit: error: argument --param_name: expected one argument

any idea ?

argparse behaves the same way.
import argparse as ap
p = ap.ArgumentParser()
p.add_argument("-x", type=float, required=True)
options = p.parse_args()
print(options)

python test_script.py -x -10.
usage: test_script.py [-h] -x X
test_script.py: error: argument -x: expected one argument

Why do you need -10. to work?

Hi @bw2, thank you for the attention to my bug report.
What I don't like is that in "sys" there are no problems to give "-10.":
`import sys
a = sys.argv[1]
print a
a = float(a)
print a`
python test_script.py -10.
Furthermore I see many reasons to give "-10." and not "-10":
-    -10. and -10 are not the same number one is a real the other a relative integer
-    even if we cast -10 into a float, it breaks the principle of code self readability.
I want my readers to see that the input should be a float, and so that the parameter is a float.
-    In physics -10. and -10.0 isn't the same number.
-    there is a lack of symmetry between 10. working and -10. working.
-    it works with a basic module as sys
Would you agree ?

Technically you are right, there's no reason -10. shouldn't work.
I you see a straight forward way to fix this, please submit a pull request.

Thank you for the answer.
I don't really see a good way to correct it. Have you any idea why this is happening ?
Maybe "expected one argument" says that a "." with no zero after is a delimiter.

It looks like the issue is in argparse which has this line:
# determines whether an "option" looks like a negative number
self._negative_number_matcher = _re.compile(r'^-\d+$|^-\d*\.\d+$')

int the  _ActionsContainer constructor. The fix would be to somehow replace this regexp.

So it is a deliberative choice of the argparse team.
It would be good to know why they choose to make this selection before introducing some more
bugs.
Or we can overrite their code line.

Anything I can do to make this issue move ?

sorry, I will not be able to work on this. If you'd like to submit a pull request, I will take a look.

Also configArgParser accepts "1.0e-5  " but doesn't accepts " -1.0e-5 "
The problem is related to formating negative numbers.

I found a way to fix it, doing:
p = ap.ArgumentParser()
p._negative_number_matcher = ap._re.compile(r'^-\d+$|^-\d*.\d+$|^-\d*.')
p.add_argument("-x", type=float, required=True)
options = p.parse_args()
print(options)
how could we fix that in configArgParser ?


Status code on validation fail

Hello,
I found such bug in returned status code when using Apollo (even in the example in this repository).
If some validation failed Apollo return status 500. I would say status code should be 400 because it is client error, not server error.
I was digging a little bit deeper. In my opinion the problem is, that you are throwing GraphQlError in error cases. But in all examples from graphql recommended in Apollo docs, they are calling ValidationContext.reportError(new GraphQlError(...) instead.
I can make pull request and we can discuss it more then.

Hello,
The problem with adding error to the current context is that you will keep processing validation and the whole point of limiting is to early cancel such processes.
However, this is indeed, not sustainable to return a 500 error code, at all.
I'll get back to you as soon as I figured out behavior and tradeoff.

Hello again @PatizonP,
I came up with a solution, what do you think about doing a plugin that handle GraphQLError and set appropriates error codes ?
Here a documentation link: https://www.apollographql.com/docs/apollo-server/data/errors/#returning-http-status-codes

I proposed my changes in #193.

Hello @c3b5aw,
yes its sounds OK. Are you sure, that plugin is called event if validation failed ? 🤔
And what about to make even more flexible and let user to specify error code. Or give him options 500(default), 400, 200.
I am asking because other examples in this project returning 200 even on validation error. And it is quite common, that graphql returning 200 but errors[] in the response.

Hello @PatizonP,
Indeed, when throwing, Apollo won't go further, here is the associated thread: https://community.apollographql.com/t/hooking-to-the-end-of-requests-after-throwing-errors/4515
I'll re-iterate on this issue later during the day, hopefully I figure out the best way to handle this safely.

Hello @c3b5aw,
could I ask for for some update ?
My suggestion to not throw an Error and call context.reportError instead is not the right way for you ? I know, you don't want to make all the validations when the first fail, but I don't see any other option at the moment unfortunately.
Thank you very much.

Hello @PatizonP,
As far from now, I don't know how to handle this but yes, I don't think that reporting is right.
I'll bump the thread on the apollo forum!

Hello,
I see that it was merged already. Everything is working just fine, just one small issue. I have to install @escape.tech/graphql-armor-types separately. Otherwise typescript control fail on Cannot find module<EMAIL_ADDRESS>or its corresponding type declarations.

Hello, I see that it was merged already. Everything is working just fine, just one small issue. I have to install @escape.tech/graphql-armor-types separately. Otherwise typescript control fail on Cannot find module<EMAIL_ADDRESS>or its corresponding type declarations.

Great catch, pushing a patch version!


Issue with Bonfire: Factorialize a Number

Challenge Bonfire: Factorialize a Number has an issue.
User Agent is: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36.
Please describe how to reproduce this issue, and include links to screenshots if possible.
Whenever I try to look at my code it shows me the exercise for a second, then it shows me a blank page with 5 5 10 20
I can't look at my code from the exercise, but I have the closest copy I can give you.
function factorialize(num) {
if(num == 0){
return 1;
}
else{
var myArray = new Array(num);
var size = myArray.length;
for (i=0;i<size;i++){
myArray[i]=num;
}
var fac = -1;
myArray = myArray.map(function(val){
fac = fac + 1;
return val-fac;
});
var facTotal = myArray[0];
document.writeln(facTotal);
for (i=1;i<size;i++){
facTotal = facTotal*myArray[i];
}
num = facTotal
return num;
}
}
Would you be able to reset my exercise and I'll try to solve it a different way.

In progress challenge code is stored in localStorage, so you will need to reset it yourself. You can follow this guide from the wiki on how to do that:
How to clear specific values from your browser's local storage
Closing this issue but please feel free to comment if you need further help.
Thanks and happy coding!


incorrect identicon is shown if user profile is not connected yet.

This should be to a degree resolved by #531. I think we need some default avatar for the form there if no logged in account is present.

If there is no logged in account, why show the form

If there is no logged in account, why show the form

It works with the web-wallet via deeplinks if there is no logged wallet.

good point, so we need a default, or better for without identicon. But I guess it should not "bug" or change when logging in properly


Modify Informational meeting templates to include the Product Information

We need to add the Product name into the templates for Informational meetings.

Modified the template and the app to send a Product Name property in the json.
I didn't modify the Cloud Flow.


ROE-533 Add trust data

Needs a PR description, and add a link to the Jira story into the description if you have one

Superceded by #63


feature: add a tile-map from json file with several layouts. camera f…

tilemap is done in 2500x2500 size

new feature merged: tilemaps


Why does Serenity.Data not support asynchronous operations?

Hi,
Why does Serenity.Data not support asynchronous operations?
In some cases asynchronous operations are required for performance.
Please update the Serenity.Data package to support asynchronous query operations.
Thank you very much!

You may use Dapper for asynchronous operations if you like. Asynchronous and performance does not have much relation, it is mostly for IO bound app scalability in some cases. Anyway this is open source project, so you fork and add async methods if you like.

https://docs.microsoft.com/en-us/aspnet/core/performance/performance-best-practices?view=aspnetcore-3.1


[Bug Report] Background tab enters loop untill it is focused

Element UI version
2.0.3
OS/Browsers version
Fedora 25/Chrome 62.0.3202.75, Firefox 56.0
Vue version
2.5.3
Reproduction Link
https://jsfiddle.net/qrq3qdf4
Steps to reproduce
1 - Open reproduction link
2 - Check console log
3 - Click on second tab
4 - Check console log
What is Expected?
No loop for unfocused tabs
What is actually happening?
Infinite re-rendering if tab is not pressed

Duplicate of #8266


Unable to play PlayReady DRM video offline

I have a video file placed in azure media server. The video file is MPEG-DASH protected and it requires JWT token, uses Software DRM. Video works fine when internet is available.
I wanted to play the same video in offline mode. Therefore I used AdaptiveMediaCache sample of https://github.com/flecoqui/Windows10/tree/master/Samples to achieve this. With this, i am able to download the video content and able to play the downloaded video content only if the internet is available. Because it requires the play ready license url https://xxxxxx.keydelivery.mediaservices.windows.net/PlayReady/.
However when there is no internet this service is not available to me. Therefore I receive the "Video could not be decoded" error in video player and "MF_MEDIA_ENGINE_ERR_DECODE : HRESULT - 0x8004110E" exception in MediaFailed event handler.
What i am missing here? Or how to cache or persist the playready license for offline play?

Currently this sample application only support Smooth Streaming Assets. DASH and HLS support will require a specific effort. The manifestCache.cs file needs to be updated to spport DASH and HLS:
https://github.com/flecoqui/Windows10/blob/master/Samples/AdaptiveMediaCache/cs/AdaptiveMediaCache/ManifestCache.cs#L796
Moreover, If you look at the sample streams there:
https://github.com/flecoqui/Windows10/blob/master/Samples/AdaptiveMediaCache/cs/AudioVideoPlayer/DataModel/MediaData.json
You'll see that some use "Non persistent" and "Persistent" license. In order to support offline video you need to use Persistent license.
For instance with PlayReady test servers:
Non Persistent:
http://playready.directtaps.net/pr/svc/rightsmanager.asmx?PlayRight=1&UseSimpleNonPersistentLicense=1
Persistent during a period of time:
http://playready.directtaps.net/pr/svc/rightsmanager.asmx?PlayRight=1&FirstPlayExpiration=600
You need to configure your backend to deliver persistent license.
At least, I didn't test this application with Azure Media Services JWT Token.
The sample there: https://github.com/flecoqui/Windows10/tree/master/Samples/TestMediaApp does support JWT Token Authentication.
Hope this helps,
Fred


Update sites.yml

Add my site:
https://crtv.pages.dev/

Website (if applicable): https://example.com <-- TODO: CHANGE ME
This PR is:

[x] Adding a new domain
[ ] Updating existing domain
[ ] Changing domain name
[ ] Removing existing domain from list
[ ] Website code changes (darktheme.club site)
[ ] Other not listed

[x] The following information is filled identical to the data file

I confirm that I have read the FAQ page, particularly the red section about inappropriate content, and I attest that this site is appropriate based on those criteria.

[x] Check to confirm

- domain: crtv.pages.dev
  url: https://crtv.pages.dev/
  method: mediaquery
  last_checked: 2024-07-13

Thanks!


MAISTRA-1666: Add go mod vendor as part of make gen

This is to make sure all PR's will have an updated
vendor directory. The gencheck prow job will ensure that.

/test unit


Misc fixes

handle/surface crypto errors if encountered
refactor input/read operations for easier testing
fix buffer overflow error on large inbound message

does the small api change to shutdownInput warrant a version change? i dont' know enough to tell so i'll just ask and you can decide.


Clearer goals - Meta Tx Standard vs Relayer Network

This effort seems to encompass a few different goals. For the sake of clarity, and making progress, we should try to parse them out, and clearly define them. Here's a quick stab:
Goal 1 - Meta Tx Standard
Create a standard for meta transactions and relayers, so that any relayer can submit meta transactions from any dapp. This way, you decouple the two roles, so that not every dapp needs to run their own relayer, and a single relayer can serve many dapps.
The experience should be similar to choosing your Node to submit a regular Ethereum transaction, where you can easily switch between Infura, Etherscan, your own node, etc, and they all accept the same format.
Goal 2 - Relayer Network
A decentralized network of relayers, so that dapps do not need to explicitly choose relayers to rely on, and the load (and rewards) of relaying can be spread across many parties. This requires finding solutions to issues like collisions.
Other Goals
On the call, some other topics came up that may or may not be under the scope of this effort. For example, the idea of relayers also passing multi-sig messages between each other, and potentially sharing rewards. Let's discuss if these are included in the scope, or just related.

These two tracks are defined here! https://medium.com/@pet3rpan/harbour-mvp-update-1-35ddbbb9e288