Update outlines support to v0.1.4

Upgrades (or loosens) the outlines dependency.
It out of the box supports a higher version which improves speed.
FIX #10489

Hi @Treparme could you please share how you tested? I was also working on this upgrade yesterday and ran into a breaking change due to the introduction of outlines-core
Here is how I setup and then my error.
Server:
vllm serve meta-llama/Llama-3.2-1B-Instruct

Client:
from pydantic import BaseModel
from openai import OpenAI

class Info(BaseModel):
    name: str
    age: int

client = OpenAI(base_url="http://<IP_ADDRESS>:8000/v1", api_key="dummy")
model_id = client.models.list().data[0].id
print("Model ID:", model_id)
completion = client.beta.chat.completions.parse(
    model=model_id,
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "My name is Cameron, I'm 28. What's my name and age?"},
    ],
    response_format=Info,
    extra_body=dict(guided_decoding_backend="outlines"),
)

message = completion.choices[0].message
print(message)
assert message.parsed
print("Name:", message.parsed.name)
print("Age:", message.parsed.age)

Error (truncated):
  File "/home/mgoin/code/vllm/vllm/engine/multiprocessing/client.py", line 582, in _process_request
    params = await \
             ^^^^^^^
  File "/home/mgoin/code/vllm/vllm/engine/async_llm_engine.py", line 539, in build_guided_decoding_logits_processor_async
    processor = await get_guided_decoding_logits_processor(
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/mgoin/code/vllm/vllm/model_executor/guided_decoding/__init__.py", line 16, in get_guided_decoding_logits_processor
    return await get_outlines_guided_decoding_logits_processor(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/mgoin/code/vllm/vllm/model_executor/guided_decoding/outlines_decoding.py", line 72, in get_outlines_guided_decoding_logits_processor
    return await loop.run_in_executor(global_thread_pool,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/mgoin/.local/share/uv/python/cpython-3.12.4-linux-x86_64-gnu/lib/python3.12/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/mgoin/code/vllm/vllm/model_executor/guided_decoding/outlines_decoding.py", line 127, in _get_logits_processor
    return JSONLogitsProcessor(guide, tokenizer, whitespace_pattern)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/mgoin/code/vllm/vllm/model_executor/guided_decoding/outlines_logits_processors.py", line 151, in __init__
    super().__init__(regex_string, tokenizer)
  File "/home/mgoin/code/vllm/vllm/model_executor/guided_decoding/outlines_logits_processors.py", line 115, in __init__
    guide = RegexLogitsProcessor._get_guide(regex_string, tokenizer)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/mgoin/venvs/vllm/lib/python3.12/site-packages/outlines/caching.py", line 122, in wrapper
    result = cached_function(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/mgoin/code/vllm/vllm/model_executor/guided_decoding/outlines_logits_processors.py", line 102, in _get_guide
    return RegexGuide(regex_string, tokenizer)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: RegexGuide.__init__() missing 2 required positional arguments: 'eos_tensor' and 'initial_state'

Hi @mgoin
We run it in a different way, something similar as below works

self.outlines_tokenizer = TransformerTokenizer(
    AutoTokenizer.from_pretrained("meta-llama/Meta-Llama-3.1-8B-Instruct")
    )
    logits_processor = JSONLogitsProcessor(schema=json_schema, tokenizer=self.outlines_tokenizer)
    logits_processor = build_vllm_logits_processor(self.tokenizer_data, parser)

sampling_params = SamplingParams(
  temperature=1e-6,
  max_tokens=2000,
  logits_processors=[logits_processor],
  logprobs=5,
)

results_generator = self.engine.generate(final_prompt, sampling_params, request_id, lora_request=lora)

This works
I want to add that the < 0.1.4 is intentional, and 0.1.3 is the highest one working.
0.1.4 has a caching bug :)
https://github.com/dottxt-ai/outlines/issues/1274

I believe 0.1.0-0.1.3 will have a larger issue with vLLM because the version of outlines-core that requires doesn't have a wheel for python 3.12, which we use in our testing image

Hmmm annoying
At the moment I install vllm this way
pip3 install --user outlines==0.1.3
pip3 install --user vllm==0.6.4.post1 --no-deps
pip3 install --user $(pip show vllm | grep "Requires:" | sed 's/Requires: //g' | tr ',' '\n' | grep -v "outlines" | tr '\n' ' ')
pip3 install --user ray[serve] boto3 distance

This works and skips the dependency issue (ignores it)
Outlines does work this version (if you set it up in a certain way, see above comment) and runs nicely.
I think maybe waiting for the caching bug to be solved (in 0.1.4) and having wheels for python 3.12 would make this mergeable?

Hi @Treparme could you please share how you tested? I was also working on this upgrade yesterday and ran into a breaking change due to the introduction of outlines-core.

Here's the PR that changed the interface: https://github.com/dottxt-ai/outlines-core/pull/40
I'll sort out what change we need on the vllm side.

Hi @Treparme could you please share how you tested? I was also working on this upgrade yesterday and ran into a breaking change due to the introduction of outlines-core.

Here's the PR that changed the interface: dottxt-ai/outlines-core#40
I'll sort out what change we need on the vllm side.

The change is trivial.
https://github.com/vllm-project/vllm/compare/main...russellb:vllm:outlines-0.1.4?expand=1
but with this change in place, I hit https://github.com/dottxt-ai/outlines/issues/1274
It sounds like we just need to wait for another release with a fix, and then we can move forward.

https://github.com/vllm-project/vllm/compare/main...russellb:vllm:outlines-0.1.4?expand=1
but with this change in place, I hit dottxt-ai/outlines#1274
It sounds like we just need to wait for another release with a fix, and then we can move forward.

I tested outlines with their fix (which was to just remove the cache usage). It worked after I removed vllm's usage of the same API. I updated my branch with that change.

https://github.com/vllm-project/vllm/compare/main...russellb:vllm:outlines-0.1.4?expand=1
but with this change in place, I hit dottxt-ai/outlines#1274
It sounds like we just need to wait for another release with a fix, and then we can move forward.

I tested outlines with their fix (which was to just remove the cache usage). It worked after I removed vllm's usage of the same API. I updated my branch with that change.

Hi @russellb
Thanks for this, higher version of outlines possible and working in vllm: cool
How would you like to proceed, create a new pr or?

https://github.com/vllm-project/vllm/compare/main...russellb:vllm:outlines-0.1.4?expand=1
but with this change in place, I hit dottxt-ai/outlines#1274
It sounds like we just need to wait for another release with a fix, and then we can move forward.

I tested outlines with their fix (which was to just remove the cache usage). It worked after I removed vllm's usage of the same API. I updated my branch with that change.

Hi @russellb
Thanks for this, higher version of outlines possible and working in vllm: cool
How would you like to proceed, create a new pr or?

Yes, I guess a new PR would be easiest. I opened #10576.
Thank you for opening this PR to help push this along!

Thanks @russellb
Will close this once #10576 gets closed, looking forward

Thanks @russellb Will close this once #10576 gets closed, looking forward

sounds good - i'm still working through some variations on the same root problem you observed with 0.1.4 (serialization failing in different spots)


Avoid unnecessary coercion

Fix for issue #613 and add test case

Good primary cause analysis and appropriate fix!
RTBC


Use naas.pipeline in utils

Integrate naas.pipelin in utils and use it in all pipelines

Done with issue #155


npm package v1.0.1 missing dist

Error: While trying to resolve module react-native-launch-arguments from file /Users/someuser/repos/xyz/xyz/src/context/GlobalContext.tsx, the package /Users/someuser/repos/xyz/Numerology/xyz/react-native-launch-arguments/package.json was successfully found. However, this package itself specifies a main module field that could not be resolved (/Users/someuser/repos/xyz/xyz/node_modules/react-native-launch-arguments/dist/index.js. Indeed, none of these files exist:

🤦♂sorry, just published 1.0.2, check it out please 🙂

Works now. Thanks @iamolegga


Finally!

This is not a bug report, as I haven't found any. But rather a sigh of relief—thank you so much for creating this plugin.
Given that there was a Notion plugin previously that was slow and ultimately given up upon a long time ago, I had almost buried my hope for a Notion integration for FlowLauncher. Your solution does not only work, but is elegant (think icons, which help with my code snippets database to differentiate what a snippet is meant for) and extremely fast. So thank you so much, this makes my life so much easier!

This is not a bug report, as I haven't found any. But rather a sigh of relief—thank you so much for creating this plugin. Given that there was a Notion plugin previously that was slow and ultimately given up upon a long time ago, I had almost buried my hope for a Notion integration for FlowLauncher. Your solution does not only work, but is elegant (think icons, which help with my code snippets database to differentiate what a snippet is meant for) and extremely fast. So thank you so much, this makes my life so much easier!

Thank you @enoversum for your thoughtful and encouraging words! It's great to hear that this plugin has positively impacted your workflow. Actually creating this plugin was a means for me to procrastinate from studying my lectures and I regretted spending time on it until I received your feedback. I'm glad it helped you out.

Thank you @enoversum for your thoughtful and encouraging words! It's great to hear that this plugin has positively impacted your workflow. Actually creating this plugin was a means for me to procrastinate from studying my lectures and I regretted spending time on it until I received your feedback. I'm glad it helped you out.

Well, in this case, you procrastinating helped doing a good deed to us. I'm pretty sure all the others that had reported they're missing a Notion integration are now happy as a heap of puppies as well. I'm using Notion all the time in my workday, so it's going to be an everyday helper. Cached results in FlowLauncher really make a big difference in terms of speed. No more each time opening the database URL, waiting for it to load, clicking into the search bar, typing and then waiting for the result.
Just a tiny thing for the me, it took me a while until I understood what the relation setting means, maybe you could add a sentence or two to your 'documentation', as it were, to explain it.

I'm glad it's speeding up your process with Notion. I'll definitely consider adding more clarification about settings in the documentation to make it easier for users to understand . I also plan to embed every single detail; it's just a matter of time.
Thank you for taking the time to share your experience and suggestions! If you have any more thoughts or ideas, feel free to let me know.

Thanks, @AminSallah , also for your kind words.
As for suggestions, well, for me personally, it would be cool if I could not only create a new page through your plugin and only get the notification for the page being created. It would be helpful if a) your plugin opened the new page's URL automatically after creating a specific note, so you can edit instead of only create it.
Would also be cool if b) your plugin had some kind of shortcut for creating an empty new page and opened it in a database/page of choice, something like c nn to quickly create a new empty page. Best even if there were separate settings for default search and new-page databases in your plugin.
I understand the shortcut-to-new-empty-note request would require some syntax for the command that avoids blocking the ability to search for parts of the command (in this case, you wouldn't be able to find a note with 'nn' in it).

Actually plugin already implemnt all of these except dealing with multiple workspaces but some of them still beta.
These tips to how you can create an emtpy page

Trigger the plugin using the action keyword c and choose a database using the action keyword for now is @, then press Enter to create.
To open anything in the browser or desktop app even after deletion, Hold the CTRL button and press Enter

https://github.com/AminSallah/Flow.Launcher.Plugin.Notion/assets/124622454/5b7651e9-324a-4ba9-b44a-a0798e4cca4d
Many more features will be explained in the documentation upon completion.

separate settings for default search and new-page databases in your plugin

I haven't implemented this because because Flow already provides this functionality. you can set custom query shortcuts in flow settings like this

If you want to remove a database from the search, you can easily hide all its pages by filtering the search to it. Simply set the name of the database between two dollar signs, like this:
c $plugin demo$, then press Shift + Enter, and select Hide all current query.

Hey  @AminSallah , sorry for taking so long today :) .
Thanks for pointing out that I can already open up pages I create in Notion/my browser by using Ctrl. However, since most of my new-page creations I also want to use, could you maybe provide a setting for the default behaviour? Using Ctrl, while this would be my standard procedure (create page, open it, because I want to use it), is just another step I need to remember, and also would defeat having a 'Custom Query Shortcut' (thanks for pointing that out!) if I still need to use the Ctrl key afterwards to actually open the note. So being able to toggle this behaviour (use Ctrl to just create, but not open the new page) would be awesome :) .
Also, would you consider a default search vs. a default page-creation setting for your plugin? It's not urgent, just thought this might make it even a bit more comfortable.

Closing this for now, feel free to reopen if further discussion is required

Actually, it doesn't make sense to me about the quick capture plugin that by default forces you each time to open Notion. You know, just hit the Notion app and create it. But if this makes a big difference for you it's easy to do. Just fork the repository and look for this line in Main.cs. Add ! before "c.SpecialKeyState" on the argument "open" to reverse it then build it.
Original:
_ = subProcess(create: true, dict_arg: filtered_query, open: c.SpecialKeyState.CtrlPressed);

Edited:
_ = subProcess(create: true, dict_arg: filtered_query, open: !c.SpecialKeyState.CtrlPressed);

Talking about your idea about default panel is search vs. page creation is interesting as well. Although it may not be an top priority, I'll keep it in mind for future updates. However, I cannot guarantee its addition at this time.

Sorry for taking so long, I currently have offline work in the real world that barely have me on my phone or computer :) .
Thanks for your tip. For me, it makes a lot of sense to automatically open up new pages in Notion or my browser; I wouldn't create more than a title for a page through your extension before I open it up and fully compose it from there. In the unlikely case that I want to create a quick note with content without actually opening it, I could imagine circumventing the open-by-default behaviour by using my Ctrl key.
I'm just saying this to stress that I might just have different needs than you, and I understand that it doesn't make sense to you. An option to reverse the behaviour thus would make sense for those with different workflows, at least I think so :) .
On any account, I'm still very, very, very thankful for you having created this extension. The search is the most important thing for me that I had been craving for so long, and creating new pages via command-line is a very big bonus, so I didn't want to put any pressure on you to bring in any features that I would want, or want differently. So alas, thank you also for this conversation :) !

Thanks @enoversum for you feadback. Currently, there is a concept of adding a new list view in the settings panel to allow users to edit keywords and shortcuts scheduled for later. This is why adding it now may not be better, but I am currently working on v2. I plan to implement a brief logic for this by using the shift key. It's already done and working fine, so please hold on for version 2.

Hey @AminSallah, all good, as I said, I was just suggesting something while I'm already very happy with your plugin. Take your time, but good to hear you already more or less implemented it ♥!

Just go to come back, I've chatted with others, and apparently I'm not the only one wishing to create a page and then open it by default through your extension. So, if you would reconsider implementing a toggle optional for the Ctrl key behaviour/default when creating a page in your plugin, it appears it would not only make me even happier ☺!

It has already been implemented for some time, and currently testing v2 before releasing it.

Ah, alright, I didn't understand it fully the first time around. Really happy to hear ♥!

Hello there, I just wanted to inform you that version 2 is now available. If the update doesn't appear in the plugins store, you can get it by pasting the following command into your Flow Launcher query bar:
pm install https://github.com/AminSallah/Flow.Launcher.Plugin.Notion/releases/download/v2.0.0/Flow.Launcher.Plugin.Notion.zip

Hello there, I just wanted to inform you that version 2 is now available. If the update doesn't appear in the plugins store, you can get it by pasting the following command into your Flow Launcher query bar:
pm install https://github.com/AminSallah/Flow.Launcher.Plugin.Notion/releases/download/v2.0.0/Flow.Launcher.Plugin.Notion.zip

Hey Amin, gotcha! Needed to manually update it, but well, it's working now. So even better with the new option to open newly created pages directly. Thank you so much, that's beautiful!


failed: dlopen failed: cannot locate symbol "_ZN7Tangram11setPositionEdd" referenced by "libtangram.so"...

Hello! Thanks for submitting your issue. Can you tell me what operating system you're using, which target you're trying to build, and what steps you followed that led to this error? Thank you

Basically i am trying to build and compile tangram-es to use it as library project for vector tiling in my project. Following are two steps that i have followed
*I have downloaded the tangram-es complete package (including 'core') and then open 'android' project  in android studio. Now this project compile and build successfully but give me exception when i run it which says "Exception Ljava/lang/UnsatisfiedLinkError; thrown while initializing Lcom/mapzen/tangram/MapController;" By googling i found that it does not generate .so files that we are loading from MapController.java class due to which it throws linking error.
*Then i switched to manual/other way compiling it. I added all source (cpp) files from core to jni folder inside the project and also added android.mk and application.mk files in it and did changes in build.gradle to build it manually. Changes and codes are mentioned in this link. When i build the project now it generates a jniLib folder and tangram.so, c++_shared.so files in it but when running it throw me above error.
Following are my platform details:
Windows 7 64-bit OS
Android Studio 1.5
android-ndk-r10e
Building for APP_PLATFORM := android-19
Running on Huawei Honor 4C CHM-U01, 4.4.2 Kitkat
also tried to run on
Samsung galaxy s5, 5.0 Lollipop by building for APP_PLATFORM := android-21
Apologies if i didn't get something right as i dont have much expertise in ndk/cpp stuff. Please guide me if above two approaches are right or else can you provide some other way or steps need to follow to compile/build this project? Thanks

Can you please specify on which ndk version this code is compiled?

Hi Nouman
Yup, because of the libTangram.so dependency you will not be able to build the demo application directly from android studio.
Also thanks for specifying your platform details, we do not have any official support for windows build for tangram yet! But, the following instructions might help you get an android build working on windows.
To run the demo application, we have a cmake toolchain for android, which is used to build the tangram library. To make this cmake toolchain run on windows you might have to modify the NDK build tools path to use windows-x86_64 instead of darwin-x86_64, here. You might be able to explicitly call cmake instructions as specified in the makefile to get the library compiled for android use.
Sorry, we do not have any official support for windows build (including android builds on windows), hence the above manual process.

We also have tangram library snapshots in maven, you can grab it for your application by setting the following in your build.gradle:
dependencies {
    compile 'com.mapzen.tangram:tangram:0.1-SNAPSHOT'
}

This is a snapshot which is updated with every push to our master branch, so could have breaking API changes. We do plan to have proper Maven Central releases for tangram which will be more stable and versioned.
Hope this helps.

Rather than directly compiling tangram-es with the NDK, android applications should now use the tangram dependency available on Maven central (here).


More examples on common Recovery Plans and also around retaining IP address

It would be great to have more details on this article. Especially with some common Recovery plans with some examples.
I would also love to see additional coverage when retaining IP addresses on top of what we already have in the existing documentation on this topic.

Thanks for reporting - this issue is under review. This is a Microsoft Internal DevOps Bug ID # 445138

@didier-danloy, thank you for reaching out to us! Can you please share which article you are referring to?

Hello!
Just checking to see if you have had a chance to see the previous response. Kindly let us know if it answers your question and if you need further assistance on this issue.

Hello!
Here the article I was referring to:
https://docs.microsoft.com/en-us/azure/site-recovery/concepts-on-premises-to-azure-networking#retain-ip-addresses
Regards,
Didier
Get Outlook for Androidhttps://aka.ms/AAb9ysg

From: HarshitaSingh-MSFT @.>
Sent: Wednesday, June 23, 2021 4:55:24 AM
To: MicrosoftDocs/architecture-center @.>
Cc: didier-danloy @.>; Mention @.>
Subject: Re: [MicrosoftDocs/architecture-center] More examples on common Recovery Plans and also around retaining IP address (#2887)
Hello!
Just checking to see if you have had a chance to see the previous response. Kindly let us know if it answers your question and if you need further assistance on this issue.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2Farchitecture-center%2Fissues%2F2887%23issuecomment-866502025&data=04|01||7290ed1e7d0541993bd108d935fabb5a|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637600173272829142|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=FF940CzfdTZeJvI8iLV9AS4YWAyMPtBeVeV4bW%2BXdIE%3D&reserved=0, or unsubscribehttps://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAJPUBCSRROZNTPJWDC46BW3TUFLKZANCNFSM47DKHCCQ&data=04|01||7290ed1e7d0541993bd108d935fabb5a|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637600173272839139|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=VlD38VOSNFHWAnDXXFkKtLiSqHpI%2FMLfFVTKvcE2Lk8%3D&reserved=0.

We acknowledge your feedback and just to inform you that we have already worked upon this and is in queue for deployment. Please stay tuned to see these changes.
We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.


Stock items not listed + System Information / About InvenTree buttons not working

Please verify that this bug has NOT been raised before.

[X] I checked and didn't find a similar issue

Describe the bug*
After updating to 0.16.1, after a few days I noticed that i can no longer view stock items (url /stock).
The list is empty, but it knows it has many stock items. See screenshot.

In addition, the System Information / About InvenTree buttons are no longer working (no effect after click), unless I am in the main menu (i.e. after clicking the InvenTree logo in the top left corner).
Unable to reproduce this on the demo site.
Possibly related to #8078 ?...
Steps to Reproduce
go to "Stock" menu, click on System Information or About InvenTree
Expected behaviour
show stock, buttons work
Deployment Method

[ ] Docker
[ ] Package
[X] Bare metal
[ ] Other - added info in Steps to Reproduce

Version Information
Version Information:
InvenTree-Version: 0.16.1
Django Version: 4.2.15
Database: postgresql
Debug-Mode: False
Deployed using Docker: False
Platform: Linux-5.10.0-32-amd64-x86_64-with-glibc2.31
Installer: None
Active plugins: [{'name': 'InvenTreeBarcode', 'slug': 'inventreebarcode', 'version': '2.1.0'}, {'name': 'InvenTreeCoreNotificationsPlugin', 'slug': 'inventreecorenotificationsplugin', 'version': '1.0.0'}, {'name': 'InvenTreeCurrencyExchange', 'slug': 'inventreecurrencyexchange', 'version': '1.0.0'}, {'name': 'InvenTreeLabel', 'slug': 'inventreelabel', 'version': '1.1.0'}, {'name': 'InvenTreeLabelMachine', 'slug': 'inventreelabelmachine', 'version': '1.0.0'}, {'name': 'InvenTreeLabelSheet', 'slug': 'inventreelabelsheet', 'version': '1.0.0'}, {'name': 'DigiKeyPlugin', 'slug': 'digikeyplugin', 'version': '1.0.0'}, {'name': 'LCSCPlugin', 'slug': 'lcscplugin', 'version': '1.0.0'}, {'name': 'MouserPlugin', 'slug': 'mouserplugin', 'version': '1.0.0'}, {'name': 'TMEPlugin', 'slug': 'tmeplugin', 'version': '1.0.0'}]
Please verify if you can reproduce this bug on the demo site.

[ ] I can reproduce this bug on the demo site.

Relevant log output
No response

@JustusRijke have you tried refreshing the cache on your browser?
https://docs.inventree.org/en/latest/faq/#feature-x-does-not-work-after-update

Having the same Issue after just updating.
Browser cache refresh made no difference, and having the same issue when using the Android App.
Parts show up on the index page and can be found through the search bar.
When on the Stock or Part page the "Scan Barcode", "System Information", and "About InvenTree" buttons dont function.
However they seem to work on the other pages. (I only tried "/company/suppliers" and "/company/customers")
Looking at the server logs, it doesn't look like the server is getting the GET requests for /stats or /about when on the mentioned problem pages.
API Version: 232
Version Information:
InvenTree-Version: 0.16.1
Django Version: 4.2.15
Commit Hash: 4c15e5c
Commit Date: 2024-08-30
Database: postgresql
Debug-Mode: False
Deployed using Docker: True
Platform: Linux-6.1.0-23-amd64-x86_64-with
Installer: DOC
Active plugins: [{'name': 'InvenTreeBarcode', 'slug': 'inventreebarcode', 'version': '2.1.0'}, {'name': 'InvenTreeCoreNotificationsPlugin', 'slug': 'inventreecorenotificationsplugin', 'version': '1.0.0'}, {'name': 'InvenTreeCurrencyExchange', 'slug': 'inventreecurrencyexchange', 'version': '1.0.0'}, {'name': 'InvenTreeLabel', 'slug': 'inventreelabel', 'version': '1.1.0'}, {'name': 'InvenTreeLabelMachine', 'slug': 'inventreelabelmachine', 'version': '1.0.0'}, {'name': 'InvenTreeLabelSheet', 'slug': 'inventreelabelsheet', 'version': '1.0.0'}, {'name': 'DigiKeyPlugin', 'slug': 'digikeyplugin', 'version': '1.0.0'}, {'name': 'LCSCPlugin', 'slug': 'lcscplugin', 'version': '1.0.0'}, {'name': 'MouserPlugin', 'slug': 'mouserplugin', 'version': '1.0.0'}, {'name': 'TMEPlugin', 'slug': 'tmeplugin', 'version': '1.0.0'}]

When you click on these buttons, etc, can you look in your browser console (in the developer tab) to see if there are any error or warning messages?

Pressing the buttons, nothing appears in the console.
On load, I get
- Uncaught ReferenceError: loadApiIconPacks is not defined     <anonymous> https://**URL**/stock/#:716     jQuery 13         l         c         setTimeout handler*Deferred/then/a/<         u         fireWith         fire         u         fireWith         ready         _         EventListener.handleEvent*         <anonymous>         <anonymous> **URL**:716:5
Source map error: request failed with status 404 Resource URL: https://**URL**.com/static/script/chartjs-adapter-moment.js Source Map URL: chartjs-adapter-moment.min.js.map
Source map error: NetworkError when attempting to fetch resource. Resource URL: https://**URL**.com/static/script/moment.js Source Map URL: /sm/ac6ca6e51d8435fbb492538442f7060550b81bb0c2505d4048856d957213e3a8.map
The 2 "Source map error" warnings both show up on the "/customers/" page, but the Reference Error doesn't

@Data-Sorted I have tried to reproduce this on a server running 0.16.1 - but without success.
Can you try running invoke static first, to check if maybe the static js files are being correctly collected?

Doesn't look like it threw any warnings related to the static filescl
/home/inventree # invoke static
Python version 3.11.9 - /usr/local/bin/python3
/root/.local/lib/python3.11/site-packages/allauth/exceptions.py:9: UserWarning: allauth.exceptions is deprecated, use allauth.core.exceptions
warnings.warn("allauth.exceptions is deprecated, use allauth.core.exceptions")
Rendered all files in /home/inventree/src/backend/InvenTree/templates/js/translated
Collecting static files...
Python version 3.11.9 - /usr/local/bin/python3
Python version 3.11.9 - /usr/local/bin/python3
/root/.local/lib/python3.11/site-packages/allauth/exceptions.py:9: UserWarning: allauth.exceptions is deprecated, use allauth.core.exceptions
warnings.warn("allauth.exceptions is deprecated, use allauth.core.exceptions")

Still pretty new to the repo but I noticed that "loadApiIconPacks" is related to localization??
Anyway when I changed the language to Deutsch the error went away and the problems dissapeared. Only seems to be an Issue when the language is set to English

Anyway when I changed the language to Deutsch the error went away and the problems dissapeared. Only seems to be an Issue when the language is set to English

Even stranger. Does the problem return if you switch back to english?

Yup, goes right back to its previous state.

Ok, then it might be worth looking in the "network" tab in the developer console, and filtering requests by "javascript". Then, do a hard page refresh and see if the browser is failing to load a particular javascript file...

No failed requests.
On the /stock/ page in English there's no request for en.helpers.js. However, de.helpers.js is present when the language is switched to Deutsch.
On the /build/ page both de.helpers.js and en.helpers.js show up in their respective languages

After messing with the language setting a clearing the cache a few more times. It seems to have fixed itself??
No idea what changed, and I haven't been able to replicate it again yet.

I have the same problem, but switching the language (englisch / deutsch) and clearing browser cache does not help.
The left navigation does not show up on stocks or parts.

invoke update fixed it for me as well!
100% sure I ran invoke update after updating to 0.16.1 tho...

Glad you both got it working :)

Hi @SchrodingersGat,
i was facing the same situation and was not able to resolve the situation fully. After diving into this deeper, I found that the NGINX config you are providing are setting a 30 day cache via the NGINX headers to the browser and potentially other caching systems in-between.
In my case I'm running InvenTree behind Cloudflare, which is also caching the files on it's side. So forcing my browser to clear the cache doesn't solve the problem, since Cloudflare would also serve the file for the next 30 days from it's cache. Since the method is defined in the languages files, I was just adding a fake parameter to the URL (/static/i18n/de.helpers.js?test=1) and I saw the loadApiIconPacks method appear.
From this investigation, I would highly suggest to lower / remove the caching time from the NGINX configuration or event better, to work with "fingerprinted" asset urls like /static/i18n/de.helpers.js?($timestamp_of_creation_time_of_js_file).
I was only able to work around this, by switching to a different language, since the German JS file is still served by the cache of Cloudflare.
Regards,

This problem only affects the old interface - which is slated for removal. The new interface contains hashes in the filenames and is optimized to be cached so I do not think it makes sense to tackle this as it is very uncommon.

Hi @matmair,
since the new UI is not set as default, I was under the impression, that it's not useable on a daily base. Since the "old UI" is still the default, I think most people are using it. I don't know how much effort it is to add the hashes to the filenames, but it would help users to not run into the same issue again.
Thanks for your great work on this very useful project!

@nlsrchtr it is a lot of effort and we are 2.5 devs on this project, this will not be addressed from the core team.

In my case I'm running InvenTree behind Cloudflare

@nlsrchtr you are using the inventree behind a Cloudflare tunnel? How have you setup the  .env files. I'm not able to connect my inventree to the tunnel since inventree updated from ngnix to caddy.
This is my current  .env but I'm only available to connect from <IP_ADDRESS>.
INVENTREE_SITE_URL="http://<IP_ADDRESS>"
INVENTREE_TRUSTED_ORIGINS=["http://<IP_ADDRESS>","https://inventree.example.com"]

I Cloudflare I have configured the tunnel like shown below:
Public hostname: inventree.example.com
Service: http://<IP_ADDRESS>
Do you have any suggestion for me?

Hi @nikolai2111,
I'm using the NGINX setup with this config. Since this is used for serving the static files only, that works for me.
There is only the INVENTREE_SITE_URL environment variable available, related to those settings. I'm not using INVENTREE_TRUSTED_ORIGINS.
Hope this helps.


404 error returned when trying to save cluster management config

Rancher Server Setup

Rancher version: 2.6
Installation option (Docker install/Helm Chart):

Installed user docker run

Proxy/Cert Details:

Currently a standalone "just checking it out" instance.

Information about the Cluster

Kubernetes version:

:~ $ kubectl version
Client Version: version.Info{Major:"1", Minor:"21", GitVersion:"v1.21.4+k3s1", GitCommit:"3e250fdbab72d88f7e6aae57446023a0567ffc97", GitTreeState:"clean", BuildDate:"2021-08-19T19:10:03Z", GoVersion:"go1.16.6", Compiler:"gc", Platform:"linux/arm64"}
Server Version: version.Info{Major:"1", Minor:"21", GitVersion:"v1.21.4+k3s1", GitCommit:"3e250fdbab72d88f7e6aae57446023a0567ffc97", GitTreeState:"clean", BuildDate:"2021-08-19T19:10:03Z", GoVersion:"go1.16.6", Compiler:"gc", Platform:"linux/arm64"}

Cluster Type (Local/Downstream):

Imported RPi based cluster.

Describe the bug
I am attempting to apply a customer rancher-client image.  I go into the cluster management UI and try to edit the config yaml file.
When I put in the new agentImageOveride name and try to save it, I get a 404 error
{ "data": "404 page not found\n" }

To Reproduce

Go into Cluster Management UI
Edit Config YAML file
Try to save
Get 404 error

{ "data": "404 page not found\n" }
Expected Result
The config should be successfully saved.

Duplicate of #4051


MAUI Shared Properties Incorrect

Type of issue
Missing information
Description
[Enter feedback here]
The MAUI Shared properties are partially inaccurate and don't match MAUI .NET 8 project files.

The documentation indicates a Application Display Version should be a one digit number, but Visual Studio suggests a 3 part version (e.g. 1.0.0) -  (see screenshot below)
The documentation doesn't provide guidance on the Application Version (see screenshot below)

Page URL
https://learn.microsoft.com/en-us/dotnet/maui/deployment/visual-studio-properties?view=net-maui-8.0
Content source URL
https://github.com/dotnet/docs-maui/blob/main/docs/deployment/visual-studio-properties.md
Document Version Independent Id
a0ecfb0a-e544-7118-d3bf-736bb4d3eb09
Article author
@davidbritch
Metadata

ID: a0ecfb0a-e544-7118-d3bf-736bb4d3eb09
Service: dotnet-mobile
Sub-service: dotnet-maui

Screenshot of incorrect documentation:


Added "normalize" parameter

warning: untested
If set, the --normalize flag modifies the behavior of clean_bibtex_tags by applying .lower().capitalize() on each keyword/tag. Default is False.
I noticed there were a lot of sinners in our group for simple keyword naming conventions...
How do you feel about this? My only concern is that it messes with all-caps abbreviations (LSP, GCD, OWA, ...), but then again, there are plenty of authors that always capitalize all their keywords, so I don't see a way around this besides telling my colleagues to get their act together ^^

Actually, I just read that Hugo's taxonomies automatically normalize taxonomy terms, so this can probably be ignored safely...

Actually, upon further investigation, I have noticed that setting the preserveTaxonomyNames breaks the academic template, because also the authors taxonomy is influenced. Since I can't find a way to apply this setting only on tags, perhaps the modification to the script might still be useful?

Thanks @Warkst !


Refactoring: create Membership class

Refactor StellarGradebook class into a Membership class
@pdpinch @carsongee

There was some question whether the current StellarGradebook class calls any membership service endpoints.   This is the endpoint called for get_students(): https://learning-modules-test.mit.edu/service/gradebook/students/...

There is no code from StellarGradebook that calls the Membership service.  I assumed that the names "Gradebook" and "Membership" refer to the two LMod services and that the names indicated that the API calls in each were to the named LMod service.  The other way to think of the class naming is to differentiate them by their conceptual distinction, i.e. get_students() would go in the Membership class since it conceptually answers a question about membership.

I thought get_students and the related get_student_by_email would go in this class. Are the endpoints between the two different on the remote end?  If so, shouldn't they return the same data, and thus we could replace one call with the other to have the semantics match the backend? Do you have a link handy on the LMOD API docs that would distinguish?

https://learning-modules-test.mit.edu/service/gradebook/doc.html#Students
https://learning-modules-test.mit.edu/service/membership/doc.html#Membership

My reading of this is that Membership is about groups, not about students.  Students only exist in the context of a Gradebook.

The endpoints of get_students() and get_student_by_email() have the same endpoint in Ike's code even though the LMod service has a separate endpoint for each of these calls.

But the students of a course are in a group which you get get the id of, and then list of the members in that group, so there is a point of redudancy here where you can get the same information from either API.  To me, semantically, it makes sense to have these in the Membership class, and if we want to be pure about the endpoints for a class, we can make an issue to swap out the current implementation with one that uses the membership API.

On your recommendation, I will put these two functions in the Membership class, though will continue to call the LMod Gradebook service for their data.


Blog: 10 tips for loading images instantly with the Intersection Observer

Remove typo's

 10 tips for loading images instantly with the Intersection Observer


Feature Request: Identify input used for spending script executions

Is your feature request related to a problem? Please describe.
My protocols are composable with other protocols as well as themselves. For example, for my lending/borrowing protocol, a borrower can make a payment of 5 ADA for one loan, make a payment of 7 ADA on another loan, and make a payment of 10 ADA on a third loan. Each loan is a separate UTxO and the action taken is specified by the redeemer used to spend that UTxO.
I would like to be able to query a specific loan's event history, but this requires me to tell these loans apart when they are composed in a single transaction. The tx_info endpoint returns the plutus_contracts list, but this only includes the datum and redeemer used for an execution. This is not always enough information to match redeemers to inputs. Consider the following (simplified) example:
Two inputs from the same spending script, both with datum A, are spent in the same transaction.
Input 1 used redeemer X while input 2 used redeemer Y.

Koios's tx_info enpoint is queried and the plutus_contracts list says:
[ datum A + redeemer X from the script
, datum A + redeemer Y from the script
]

From the returned information, I have no way of knowing that input 1 used redeemer X while
input 2 used redeemer Y.

The only exception to the above dilemma is when the datums themselves are unique; the datums can be used to identify the input that particular execution is for. However, this may not be a valid assumption for all use cases.
Describe the solution you'd like
When spending scripts are executed, I would like Koios to be able to tell me:

the datum used
the redeemer used
the input this execution is validating

Describe alternatives you've considered
I don't actually have any alternatives. I can currently use the datums to identify the inputs, but newer versions of plutus my favor designs where this approach will no longer be viable for me.
Additional Context
I am not married to the information having to be in the tx_info endpoint, but I would like to be able to get the results in the fewest number of queries possible. IMO the tx_info is great; this feature is the only thing missing from it. If possible, my preference would be to add this feature to the tx_info endpoint.

Was discussed with @Scitz0 , it is unfortunately not straightforward with on-chain data as currently there isnt a native mapping for the inputs to redeemers. The alternative is to sort all inputs with tx.hash and tx.index and map using redeemer indexes.
@fallen-icarus - how dependent are you on this one? Is it something we can push to v1.1.2 - to avoid delays with re-building specs and tests or something corer to your work making it a blocker?

Is it something we can push to v1.1.2

Yes, I think so. For now, I can use the datums so this isn't blocking me. I don't foresee this being a potential problem until after plutusV3 is released.

Perfect, so should be alright to club with other fork additions.
Thanks for confirming


Remove C++11 guards that are no longer needed

Just removing some pointless #if guards that are no longer needed.

LGTM


Add support for StartTLS protocol

Hello,
Thank you for your great tool. I wanted to test some SMTP servers so I added a few lines of codes.
Regards.
GJ

Codecov Report

Merging #120 (433d490) into master (81aeb7a) will decrease coverage by 0.67%.
The diff coverage is 60.00%.

@@            Coverage Diff             @@
##           master     #120      +/-   ##
==========================================
- Coverage   87.62%   86.94%   -0.68%
==========================================
  Files          34       34
  Lines        1212     1241      +29
==========================================
+ Hits         1062     1079      +17
- Misses        115      124       +9
- Partials       35       38       +3

Impacted Files
Coverage Δ

core/service.go
79.09% <30.00%> (-5.07%)
:arrow_down:

client/client.go
75.38% <75.00%> (-0.18%)
:arrow_down:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 81aeb7a...433d490. Read the comment docs.

Looks good, thank you for your contribution @gopher-johns!

Released in v2.7.0


clerk-sdk-node named exports import error

[X] Review the documentation: https://clerk.com/docs
[x] Search for existing issues: https://github.com/clerkinc/javascript/issues
[X] Go through package changelog files.
[ ] Provide the Frontend API key from your application dashboard.

Package + Version

[X] @clerk/clerk-sdk-node: 4.10.7
[ ] @clerk/clerk-js
[ ] @clerk/clerk-react
[ ] @clerk/nextjs
[ ] @clerk/remix
[ ] @clerk/types
[ ] @clerk/themes
[ ] @clerk/localizations
[ ] @clerk/clerk-expo
[ ] @clerk/backend
[ ] @clerk/shared
[ ] @clerk/fastify
[ ] @clerk/chrome-extension
[ ] gatsby-plugin-clerk
[ ] build/tooling/chore
[ ] other:

Dependencies + versions
Starting with<EMAIL_ADDRESS>named exports are not working when running our server app using tsx, which we use during development.
I've created a minimal reproduction to demonstrate this issue.
The repo has two directories: working and broken. The only difference between the two is the version of @clerk/clerk-sdk-node in package.json:

working/package.json has<EMAIL_ADDRESS>broken/package.json has<EMAIL_ADDRESS>
Working example
$ cd working
$ npm i
$ cat index.ts

import { sessions } from '@clerk/clerk-sdk-node'
console.log(sessions)

$ npm run start

> start
> tsx index.ts

xe { request: [AsyncFunction (anonymous)] }

Broken example
$ cd broken
$ npm i
$ cat index.ts

import { sessions } from '@clerk/clerk-sdk-node'
console.log(sessions)

$ npm run start

> start
> tsx index.ts

SyntaxError: The requested module '@clerk/clerk-sdk-node' does not provide an export named 'sessions'
    at ModuleJob._instantiate (node:internal/modules/esm/module_job:128:21)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at async ModuleJob.run (node:internal/modules/esm/module_job:194:5)
    at async Promise.all (index 0)
    at async ESMLoader.import (node:internal/modules/esm/loader:385:24)
    at async loadESM (node:internal/process/esm_loader:88:5)
    at async handleMainPromise (node:internal/modules/run_main:61:12)

Workaround
Changing from a named export to a default export works around the issue:
import clerk from "@clerk/clerk-sdk-node";
const { sessions } = clerk;

Environment

Node: Tested in both Node 16.15.0 and 20.3.0 with the same results.
OS: Arch Linux

After some more digging, the issue is unrelated to TypeScript/tsx. I've created a new branch in my repro repo which uses plain JS with ES modules: https://github.com/b0o/clerk-sdk-node-named-exports-repro/tree/js.

Hello @b0o and thank you for reporting this issue :)
We are investigating the report and the changes and I will get back to you when we identify the root cause.

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.


Remove the 'VisualBasic' support from Add-Type

PR Summary
Reference: https://github.com/PowerShell/PowerShell/pull/6141#issuecomment-384451216
There was a discussion about whether Add-Type should support Visual Basic, and the committee inclines to remove the Visual Basic support from Add-Type for three reasons:

Compiling VB source code with Add-Type is very rare (if there is any)
Extra disk footprint (5mb) brought by Microsoft.CodeAnalysis.VisualBasic.dll
It's always easy to bring the VB support back in case there is a strong user demand, but it would be impossible to remove if the VB support is included in the 6.1 official release.

This PR is to remove the VB support from Add-Type.
PR Checklist

[x] PR has a meaningful title

Use the present tense and imperative mood when describing your changes

[x] Summarized changes
[ ] Change is not breaking
[ ] Make sure all .h, .cpp, .cs, .ps1 and .psm1 files have the correct copyright header
[x] This PR is ready to merge and is not Work in Progress.

If the PR is work in progress, please add the prefix WIP: to the beginning of the title and remove the prefix when the PR is ready.

User-facing changes

[ ] Not Applicable
OR
[x] User-facing Documentation needed

[ ] Issue filed - Issue link:

Testing - New and feature

[ ] Not Applicable or can only be tested interactively
OR
[x] Make sure you've added a new test if existing tests do not effectively test the code changed

[x] Add [feature] if the change is significant or affects feature tests

There is one CodeFactor issue.

@iSazonov The CodeFactor reports String was used instead of string. There are 33 instances of String in this file. Changing them all will make it harder to review. I think the style changes can go to a separate issue. Actually, String is used heavily in our code base, especially when calling static methods/properties on string. It's probably better off to disable this rule.

@daxian-dbw Seems we already fixed some such issues. Also as I meantioned I compiled CodeFormatter with latest Roslyn and open PR #7263 to show results. We could add new rules to CodeFormatter to fix some code issues.


Add component publication

Without this line, the jar file does not appear on maven repositories.

Merged by hand 'cause this was on an old commit stack, but now in master and releasing as part of next version.


TextField widget on Android 12 uses clipboard during initialisation

In the app I am working on I see that whenever I am opening any screen with TextField widget on Android emulator with Android 12 (S) system shows toasts about pasting content from the clipboard usage, despite no user actions happening on these screens at all.
After some debugging I found out that there is no difference in what parameters I use for the TextField, it is just the widget itself causing such issue during initialisation/rebuild.
Due to that on screens with multiple fields system just spams with such notifications on every screen opening.
Logs show no information about this at all.
I created an empty sample app to reproduce the issue and it seems that having even non customised TextField() causes the issue (see the attached screenshot):

Here is the project to reproduce: paste_sample.zip
Steps to Reproduce

Run the project on Android S emulator/device.
Right after the splash screen a toast saying pasted_sample pasted from your clipboard will appear.

Expected results: No toasts about clipboard usage, since it is not used at all.
Actual results: System toast about clipboard usage appears during widgets initialisation/rebuild.

Logs
[✓] Flutter (Channel stable, 2.2.2, on macOS 11.4 20F71 darwin-x64, locale en-UA)
    • Flutter version 2.2.2 at /Users/vb/Development/flutter
    • Framework revision d79295af24 (3 weeks ago), 2021-06-11 08:56:01 -0700
    • Engine revision 91c9fc8fe0
    • Dart version 2.13.3

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at /Users/vb/Library/Android/sdk
    • Platform android-S, build-tools 30.0.3
    • Java binary at: /Users/vb/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/202.7351085/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.5.1, Build version 12E507
    • CocoaPods version 1.10.1

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.2)
    • Android Studio at /Users/vb/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/202.7351085/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)

Hi @vbuberen
I just tried your code sample Android S emulator, I don't see any toast when focusing on TextField
Preview
https://user-images.githubusercontent.com/48603081/124009943-dee22480-d9e6-11eb-9aa5-5e14c3bad95c.mp4

minimal code sample
import 'package:flutter/material.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        // This is the theme of your application.
        //
        // Try running your application with "flutter run". You'll see the
        // application has a blue toolbar. Then, without quitting the app, try
        // changing the primarySwatch below to Colors.green and then invoke
        // "hot reload" (press "r" in the console where you ran "flutter run",
        // or simply save your changes to "hot reload" in a Flutter IDE).
        // Notice that the counter didn't reset back to zero; the application
        // is not restarted.
        primarySwatch: Colors.blue,
      ),
      home: MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  MyHomePage({Key? key, required this.title}) : super(key: key);

  // This widget is the home page of your application. It is stateful, meaning
  // that it has a State object (defined below) that contains fields that affect
  // how it looks.

  // This class is the configuration for the state. It holds the values (in this
  // case the title) provided by the parent (in this case the App widget) and
  // used by the build method of the State. Fields in a Widget subclass are
  // always marked "final".

  final String title;

  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  int _counter = 0;

  void _incrementCounter() {
    setState(() {
      // This call to setState tells the Flutter framework that something has
      // changed in this State, which causes it to rerun the build method below
      // so that the display can reflect the updated values. If we changed
      // _counter without calling setState(), then the build method would not be
      // called again, and so nothing would appear to happen.
      _counter++;
    });
  }

  @override
  Widget build(BuildContext context) {
    // This method is rerun every time setState is called, for instance as done
    // by the _incrementCounter method above.
    //
    // The Flutter framework has been optimized to make rerunning build methods
    // fast, so that you can just rebuild anything that needs updating rather
    // than having to individually change instances of widgets.
    return Scaffold(
      appBar: AppBar(
        // Here we take the value from the MyHomePage object that was created by
        // the App.build method, and use it to set our appbar title.
        title: Text(widget.title),
      ),
      body: Center(
        // Center is a layout widget. It takes a single child and positions it
        // in the middle of the parent.
        child: Column(
          // Column is also a layout widget. It takes a list of children and
          // arranges them vertically. By default, it sizes itself to fit its
          // children horizontally, and tries to be as tall as its parent.
          //
          // Invoke "debug painting" (press "p" in the console, choose the
          // "Toggle Debug Paint" action from the Flutter Inspector in Android
          // Studio, or the "Toggle Debug Paint" command in Visual Studio Code)
          // to see the wireframe for each widget.
          //
          // Column has various properties to control how it sizes itself and
          // how it positions its children. Here we use mainAxisAlignment to
          // center the children vertically; the main axis here is the vertical
          // axis because Columns are vertical (the cross axis would be
          // horizontal).
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            Text(
              'You have pushed the button this many times:',
            ),
            Text(
              '$_counter',
              style: Theme.of(context).textTheme.headline4,
            ),
            TextField()
          ],
        ),
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: _incrementCounter,
        tooltip: 'Increment',
        child: Icon(Icons.add),
      ), // This trailing comma makes auto-formatting nicer for build methods.
    );
  }
}

flutter doctor -v
[✓] Flutter (Channel stable, 2.2.2, on Microsoft Windows [Version 10.0.19043.1081], locale en-US)
    • Flutter version 2.2.2 at C:\Users\Taha\Code\flutter_stable
    • Framework revision d79295af24 (3 weeks ago), 2021-06-11 08:56:01 -0700
    • Engine revision 91c9fc8fe0
    • Dart version 2.13.3

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at C:\Users\Taha\Code\SDK
    • Platform android-30, build-tools 30.0.3
    • ANDROID_SDK_ROOT = C:\Users\Taha\Code\SDK
    • Java binary at: C:\Users\Taha\Code\android-studio\jre\bin\java.exe
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6842174)
    • All Android licenses accepted.

[✓] Chrome - develop for the web
    • Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe

[✓] Visual Studio - develop for Windows (Visual Studio Community 2019 16.10.2)
    • Visual Studio at C:\Program Files (x86)\Microsoft Visual Studio\2019\Community
    • Visual Studio Community 2019 version 16.10.31410.357
    • Windows 10 SDK version 10.0.19041.0

[!] Android Studio (not installed)
    • Android Studio not found; download from https://developer.android.com/studio/index.html
      (or visit https://flutter.dev/docs/get-started/install/windows#android-setup for detailed instructions).

[✓] IntelliJ IDEA Community Edition (version 2021.1)
    • IntelliJ at C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2021.1.1
    • Flutter plugin version 57.0.5
    • Dart plugin version 211.7233

[✓] VS Code (version 1.57.1)
    • VS Code at C:\Users\Taha\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.23.0

[✓] Connected device (5 available)
    • SM M025F (mobile)            • R9ZR205XX0A   • android-arm    • Android 11 (API 30)
    • sdk gphone64 x86 64 (mobile) • emulator-5554 • android-x64    • Android 11 (API 30) (emulator)
    • Windows (desktop)            • windows       • windows-x64    • Microsoft Windows [Version 10.0.19043.1081]
    • Chrome (web)                 • chrome        • web-javascript • Google Chrome 91.0.4472.114
    • Edge (web)                   • edge          • web-javascript • Microsoft Edge 91.0.864.59

! Doctor found issues in 1 category.

Mine is  Pixel 3a

Which exact emulator are you using?

Thanks for such a quick reply.
Here is my emulator config, where I see this issue both in the project I provided and the one I am currently working on:

And here is a screen recording. Looks like in the sample I am getting this toast only during initialisation:

Hi @vbuberen
I just created the exact emulator, still no toast during initialization or when focusing
Preview
https://user-images.githubusercontent.com/48603081/124100914-8acb5480-da67-11eb-8b50-3a42848f7028.mov

flutter doctor -v
[✓] Flutter (Channel stable, 2.2.2, on macOS 11.4 20F71 darwin-x64, locale en-US)
    • Flutter version 2.2.2 at /Users/tahatesser/Code/flutter_stable
    • Framework revision d79295af24 (3 weeks ago), 2021-06-11 08:56:01 -0700
    • Engine revision 91c9fc8fe0
    • Dart version 2.13.3

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at /Volumes/Extreme/SDK
    • Platform android-30, build-tools 30.0.3
    • ANDROID_HOME = /Volumes/Extreme/SDK
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS
    • Xcode at /Volumes/Extreme/Xcode.app/Contents/Developer
    • Xcode 12.5, Build version 12E262
    • CocoaPods version 1.10.1

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)

[✓] VS Code (version 1.57.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.23.0

[✓] Connected device (4 available)
    • IN2011 (mobile)              • c9d8ee0c      • android-arm64  • Android 11 (API 30)
    • sdk gphone64 x86 64 (mobile) • emulator-5554 • android-x64    • Android 11 (API 30) (emulator)
    • macOS (desktop)              • macos         • darwin-x64     • macOS 11.4 20F71 darwin-x64
    • Chrome (web)                 • chrome        • web-javascript • Google Chrome 91.0.4472.114

• No issues found!

Just tried to create a few other emulators using the same config and it seems that the problem appears only on that one emulator I had yesterday I reported the issue. Not sure what is wrong there, since created that one just last Sunday.
Thanks for such a fast feedback loop. Going to close it as it seems not common issue.


Language Request

Hello, Can you plzz add the Urdu language and Additionally I really loved your project and want to contribute to it.
I can help you with the graphic assets bcoz I am a graphic designer and I you want your app to be published on the play store for free I can publish this app for no cost, trust me here is the link to my developer page: https://play.google.com/store/apps/dev?id=5781774584219069382

Hello,
Thank you for your interest in my project. It means a lot to me. Unfortunately, the Rest API the app uses does not support Urdu and even Arabic has some issues with it. I appreciate your offer to publish my app to the playstore, we can talk about it in detail over some sort of chat app, if you will. I also really appreciate your offer to contribute to my app, we can talk about it in detail in whatever messaging app we decide on.

thanks, Yusuf for replying to me. I am on Instagram and Facebook
Instagram: @salmanoyee
Facebook: facebook.com/salmanoyee.660/
It's on you which platform you prefer but I am more active on Instagram 😊


[AIRFLOW-3353] Upgrade redis client.

Make sure you have checked all steps below.
Jira

[x] My PR addresses the following Airflow Jira issues and references them in the PR title. For example, "[AIRFLOW-XXX] My Airflow PR"

https://issues.apache.org/jira/browse/AIRFLOW-3353
In case you are fixing a typo in the documentation you can prepend your commit with [AIRFLOW-XXX], code changes always need a Jira issue.

Description

[x] Here are some details about my PR, including screenshots of any UI changes:

Upgrade redis client to latest and rename StrictRedis to Redis.
Tests

[x] My PR adds the following unit tests OR does not need testing for this extremely good reason:

Covered by existing tests.
Commits

[x] My commits all reference Jira issues in their subject lines, and I have squashed multiple commits if they address the same issue. In addition, my commits follow the guidelines from "How to write a good git commit message":

Subject is separated from body by a blank line
Subject is limited to 50 characters (not including Jira issue reference)
Subject does not end with a period
Subject uses the imperative mood ("add", not "adding")
Body wraps at 72 characters
Body explains "what" and "why", not "how"

Documentation

[x] In case of new functionality, my PR adds documentation that describes how to use it.

When adding new operators/hooks/sensors, the autoclass documentation generation needs to be added.

Code Quality

[x] Passes flake8

Codecov Report

Merging #4203 into master will increase coverage by 62.47%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master   #4203       +/-   ##
==========================================
+ Coverage   15.23%   77.7%   +62.47%
==========================================
  Files         199     199
  Lines       16315   16315
==========================================
+ Hits         2486   12678    +10192
+ Misses      13829    3637    -10192

Impacted Files
Coverage Δ

airflow/executors/dask_executor.py
2% <0%> (+2%)
:arrow_up:

airflow/exceptions.py
100% <0%> (+2.85%)
:arrow_up:

airflow/utils/operator_resources.py
86.95% <0%> (+4.34%)
:arrow_up:

airflow/executors/__init__.py
55.76% <0%> (+5.76%)
:arrow_up:

airflow/utils/decorators.py
91.66% <0%> (+14.58%)
:arrow_up:

airflow/settings.py
80.41% <0%> (+14.68%)
:arrow_up:

airflow/hooks/oracle_hook.py
15.47% <0%> (+15.47%)
:arrow_up:

airflow/task/task_runner/__init__.py
63.63% <0%> (+18.18%)
:arrow_up:

airflow/utils/db.py
33.6% <0%> (+18.4%)
:arrow_up:

airflow/__init__.py
74.28% <0%> (+19.99%)
:arrow_up:

... and 160 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 6b68f08...3046e5e. Read the comment docs.

I need to revert this - right now this version of Redis breaks Celery.

Once https://github.com/celery/kombu/pull/948 or something like that is fixed in combo we can bring this change back

@ashb Sorry for this.. it looked like a good change and tests were passing. Our tests didn't catch this?

Yup, it's the fix for our hook.
Reduced integration tests (i.e. not the full suite, just a few dag tests like we do for kube) hitting celery+redis would be amazing to add!


Replacing doesn't find the right spot in the code

This idea is brilliant! Please keep going with the extension.
Currently, pasting back doesn't seem to work well.
My example, based on the sample functions you provided.
Request to LLM
###function divide(a: number, b: number): number {
  if (b === 0) {
    throw new Error('Division by zero');
  }
  return a / b;
}###

When division by zero would take place, return 5 instead

return:
{
  "id": "cfllm",
  "codeBlocks": [
    {
      "type": "replace",
      "start": "function divide\\(a: number, b: number\\): number \\{",
      "end": "\\}",
      "code": "function divide(a: number, b: number): number {\n  if (b === 0) {\n    return 5;\n  }\n  return a / b;\n}"
    }
  ]
}

Pasting this, replaces the wrong part of the script.

Hi @robvoi, I'm surprised you found this extension, haha 🤣.  Thanks for submitting an issue.
I know it is broken. I did this in one night, hacking for 4 hours, and then left it half complete. I'm sorry. The new Cursor IDE (aka VScode wrapper BS that is ok), does this natively https://www.cursor.com/.
I'd recommend using that. However, I wonder why they needed a separate IDE for this other than an easy way to collect money.
If you think this is better than Cursor, please let me know. I'm curious. Thanks again, wish you the best.

I'm a curious person. :-)
I don't want to use a different IDE than VScode. Don't see a reason. And I can't use any other GenAI solution than ChatGPT Enterprise for security reasons.
As I don't have access to API keys, I'm stuck with copy&paste. Therefore, I'm looking for ways to improve my workflow.
Started developing my own VSCode plugin. The first one. Just for fun, as I couldn't find anything really useful (or functional ;-)).

Thanks for the details @robvoi
I don't plan to work on this for the foreseeable future. Feel free to fork it and hack on it. If possible, I'd recommend the Cursor IDE, aka VSCode wrapper, using an API key from your company's enterprise plan.
Otherwise, I wish you luck. Thanks for reaching out.


validating openAPI spec with reusable requestBodies gives "should be object" error

The below spec, as far as I can tell, conforms to OpenAPI 3.0.3 per https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.3.md#requestBodyObject.
However, trying to validate at https://editor.swagger.io/ yields the following error at the line containing '$ref'.
Structural error at paths./test.put.requestBody
should be object

Here's the spec. What am I doing wrong?
openapi: 3.0.3
info:
  version: 1.0.0
  title: request body test

components:
  requestBodies:
    myRequestBody:
      description: request body
      content:
        application/json:
          schema:
            type: object

paths:
  /test:
    put:
      summary: put test
      requestBody:
        - $ref: '#/components/requestBodies/myRequestBody'
      responses:
        200:
          description: OK

You have a stray hyphen, causing the $ref to be treated as being within an array.

Oh my, feeling very dumb. Thank you!!


fix typo

closes https://github.com/MicrosoftDocs/Viva/issues/595

@bhaswatic
PR has been copyedited and is ready for final review, could you please check and merge? Thanks!


StepAction hub/catalog resolver support

Feature request
Make sure we can pull StepAction from the hub/catalog resolver, and also that we can configure the default "catalog" for them (similar to Task and Pipeline)
Use case
This is kind-of a follow-up of https://github.com/tektoncd/catalog/issues/1218 (and part of https://github.com/tektoncd/pipeline/issues/7424)

This is now implemented: https://github.com/artifacthub/hub/issues/3677#issuecomment-2034005179
@vdemeester can we close this issue now?
We have support for StepActions on our GitHub catalog, Tekton Bundles and ArtifactHub.

@chitrangpatel if we have tests already that get some stepaciton using the hub resolvers, yes we can 😉


No module named 'azure.identity'; 'azure' is not a package

Package Name: azure-identity
Package Version: 1.13.0
Operating System: Ubuntu 20.04.6 LTS (Azure VM)
Python Version: 3.8.10

Describe the bug
I installed the python modules pip3 install azure-keyvault-secrets azure-identity and got import error
ModuleNotFoundError: No module named 'azure.identity'; 'azure' is not a package
To Reproduce
Steps to reproduce the behavior:

I started the python3 interactively and typed in
from azure.identity import DefaultAzureCredential
and received the same error

Expected behavior
Nothing, successful import
Screenshots
If applicable, add screenshots to help explain your problem.

Additional context
As the screenshot shows, the pip list shows that the module is installed

Could you show the full list of pip3 list?

Thanks for the quick reply. Here is the full list:
`root@cmmc-stg-usermgmt-1:/home/cmmcadmin# pip list
Package                   Version

altgraph                  0.17.3
attrs                     19.3.0
Automat                   0.8.0
azure-common              1.1.28
azure-core                1.28.0
azure-identity            1.13.0
azure-keyvault-secrets    4.7.0
blinker                   1.4
certifi                   2019.11.28
chardet                   3.0.4
Click                     7.0
cloud-init                23.2.1
colorama                  0.4.3
command-not-found         0.3
configobj                 5.0.6
constantly                15.1.0
cryptography              2.8
dbus-python               1.2.16
distro                    1.4.0
distro-info               0.23ubuntu1
entrypoints               0.3
httplib2                  0.14.0
hyperlink                 19.0.0
idna                      2.8
importlib-metadata        1.5.0
incremental               16.10.1
isodate                   0.6.1
Jinja2                    2.10.1
json3                     1.0
jsonpatch                 1.22
jsonpointer               2.0
jsonschema                3.2.0
keyring                   18.0.1
language-selector         0.1
launchpadlib              1.10.13
lazr.restfulclient        0.14.2
lazr.uri                  1.0.3
MarkupSafe                1.1.0
more-itertools            4.2.0
msal                      1.23.0
msal-extensions           1.0.0
netifaces                 0.10.4
oauthlib                  3.1.0
pexpect                   4.6.0
pip                       23.2.1
portalocker               2.7.0
pyasn1                    0.4.2
pyasn1-modules            0.2.1
PyGObject                 3.36.0
PyHamcrest                1.9.0
pyinstaller               5.13.0
pyinstaller-hooks-contrib 2023.6
PyJWT                     1.7.1
pymacaroons               0.13.0
PyNaCl                    1.3.0
pyOpenSSL                 19.0.0
pyparted                  3.11.2
pyrsistent                0.15.5
pyserial                  3.4
python-apt                2.0.1+ubuntu<IP_ADDRESS>
python-debian             0.1.36+ubuntu1.1
PyYAML                    5.3.1
requests                  2.22.0
requests-unixsocket       0.2.0
SecretStorage             2.3.1
service-identity          18.1.0
setuptools                45.2.0
simplejson                3.16.0
six                       1.14.0
sos                       4.4
ssh-import-id             5.10
systemd-python            234
Twisted                   18.9.0
typing_extensions         4.7.1
ubuntu-advantage-tools    8001
ufw                       0.36
unattended-upgrades       0.1
urllib3                   1.25.8
wadllib                   1.3.3
WALinuxAgent              2.2.46
wheel                     0.34.2
zipp                      1.0.0
zope.interface            4.7.1
`

Hi tried the dependencies but could not repro the issue.

Hi - I have the same issue where I have installed azure-identity and then do the import getting modulenotfound error.

Forget those modules, save yourself grief and just use REST
On Mon, Oct 9, 2023, 19:21 Deepak Pradeep Kumar @.***>
wrote:

Hi - I have the same issue where I have installed azure-identity and then
do the import getting modulenotfound error.
—
Reply to this email directly, view it on GitHub
https://github.com/Azure/azure-sdk-for-python/issues/31329#issuecomment-1754052028,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AKFYHJM5M42IVUPZW4D6T7DX6SBHXAVCNFSM6AAAAAA2ZF24J2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONJUGA2TEMBSHA
.
You are receiving this because you modified the open/close state.Message
ID: @.***>

Make sure your script filename is not azure.py.

Make sure your script filename is not azure.py.

This was the fix for me.

Thank you for your response, appreciate it.
I got it resolved by uninstall python and all other libraries and started
from scratch to resolve the issue.
Thanks & Regards,
:-Deepak.P.
On Wed, Nov 15, 2023 at 8:28 AM AidanStrong @.***>
wrote:

Make sure your script filename is not azure.py.
This was the fix for me.
—
Reply to this email directly, view it on GitHub
https://github.com/Azure/azure-sdk-for-python/issues/31329#issuecomment-1812863424,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADZLLOMUHZCZ7P3PCUI6G43YETUT7AVCNFSM6AAAAAA2ZF24J2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMJSHA3DGNBSGQ
.
You are receiving this because you commented.Message ID:
@.***>


Fix gnome-shell-extension transaction

gnome-classic-session and gnome-classic-session-xsession must be removed as well to remove shell extensions (dependency chain)

Yep! That works! Thanks for the fix.


Suggestion: Artifact inclusion per character

A case:
I have only one set of 4-PC Pale Flame which was used by Eula. I don't use her very frequently and thus I put her in a relatively low position in Character Priority list. However, the circlet is very good, so it will appear in almost all builds for other characters. But I don't want to give it to others, or otherwise Eula will lose her 4PC. The current solution is to exclude it globally, which is not perfect because if I want to optimize Eula's build, I have to include it first and then optimize and then exclude it again.
I think there are two possible solution. One is to add a feature that can lock an artifact to a certain character. The other is to allow artifact inclusion per character. I think the latter is better, and can be done together with https://github.com/frzyc/genshin-optimizer/issues/901.
My proposal:
Replace the global include/exclude button of artifact with a list just like the Character Priority list in optimization. Here's a scheme (green frame mean button).

So for the previous case, I can find the circlet, click 'exclude for all' first, and then click 'include' for Eula. Also, for the case in https://github.com/frzyc/genshin-optimizer/issues/901, I can click 'include for all' first, and then click 'exclude' for the certain character.

There is a major overhaul to how characters, their "loadout" and how that interacts with equipped, unequipped and excluded artifacts work coming soon(tm) which will include removing the "global" exclusion in favor of per character exclusions

The main intention with removing the "global" exclusion is to remove "exclusion", which is only applicable to builder, from the artifact page, which should be only about artifacts. so adding a more complicated UI there is not something I want. Nor do i want to have to store include/exclude info per artifact, since thats a lot of data, and any flawed logic is hard to diagnose. I think the proposal within #901 should be good enough even for the case you outline above, unless there is a specific case you have to solve with a "include" logic, I am closing this issue.

why don't you just move eula up in the priority list?

Thanks for your reply. Same problem if I move her up, i.e., the optimization results of Eula will be filled with artifacts that I want for another character only (because I have Pale Flame for all the 5 positions, so the flexible position could be anyone). There may exist a global optimal order but it's hard to find. So I have to change the order of priority or enable/disable certain artifacts back and forth.


Add syntax and structure directly on Input and Position. Fixes #1141

Mima complaints can be ignored https://travis-ci.org/scalameta/scalameta/jobs/314757650#L755
The traits are sealed so no-one should inherit them outside of the repo, but that's possible to define in the bytecode


REST sensor not working in .106

The problem

I was using the following rest sensor to extract the codec being played on Sonos. It worked until .105
  - platform: rest
    method: POST
    resource: http://<IP_ADDRESS>:1400/DeviceProperties/Control
    name: Sonos Stereo
    headers:
      SOAPACTION: "urn:schemas-upnp-org:service:DeviceProperties:1#GetZoneInfo"
      Content-Type: text/xml; charset="utf-8"
    payload: '<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:GetZoneInfo xmlns:u="urn:schemas-upnp-org:service:DeviceProperties:1"></u:GetZoneInfo></s:Body></s:Envelope>'
    value_template: '{{ value | regex_replace(".*<HTAudioIn>([0-9]+)</HTAudioIn>.*", "\\1") }}'

It broke in .106 following the recent PR by @bdraco (most likely because things are not adequately documented).
The CURL command still works and provides the relevant information:
arsaboo@aloknuc:~$ curl --header 'SOAPACTION: "urn:schemas-upnp-org:service:DeviceProperties:1#GetZoneInfo"' --data '<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:GetZoneInfo xmlns:u="urn:schemas-upnp-org:service:DeviceProperties:1"></u:GetZoneInfo></s:Body></s:Envelope>' --request POST --header 'Content-Type: text/xml; charset="utf-8"' 'http://<IP_ADDRESS>:1400/DeviceProperties/Control'

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:GetZoneInfoResponse xmlns:u="urn:schemas-upnp-org:service:DeviceProperties:1"><SerialNumber>5C-AA-AA-31-EA-80:1</SerialNumber><SoftwareVersion>54.2-72160</SoftwareVersion><DisplaySoftwareVersion>10.6.1</DisplaySoftwareVersion><HardwareVersion><IP_ADDRESS>-1</HardwareVersion><IPAddress><IP_ADDRESS></IPAddress><MACAddress>5C:AA:AA:31:EA:80</MACAddress><CopyrightInfo>© 2003-2019, Sonos, Inc. All rights reserved.</CopyrightInfo><ExtraInfo></ExtraInfo><HTAudioIn>21</HTAudioIn><Flags>0</Flags></u:GetZoneInfoResponse></s:Body></s:Envelope>

As you can see the response is xml format. I want to extract the value 21 inside the tag <HTAudioIn>21</HTAudioIn>.
Environment

Home Assistant release with the issue: .106
Last working Home Assistant release (if known): .105
Operating environment (Hass.io/Docker/Windows/etc.): Ubuntu VENV
Integration causing this issue:
Link to integration documentation on our website:

Problem-relevant configuration.yaml

I tried the following (and lot of other variants).
  - platform: rest
    method: POST
    resource: http://<IP_ADDRESS>:1400/DeviceProperties/Control
    name: Sonos Stereo
    headers:
      SOAPACTION: "urn:schemas-upnp-org:service:DeviceProperties:1#GetZoneInfo"
      Content-Type: text/xml; charset="utf-8"
    payload: '<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:GetZoneInfo xmlns:u="urn:schemas-upnp-org:service:DeviceProperties:1"></u:GetZoneInfo></s:Body></s:Envelope>'
    json_attributes:
      - "HTAudioIn"
      - "IPAddress"
    json_attributes_path: '$.["Body"]["GetZoneInfoResponse"]'
    value_template: '{{ value_json["Body"] }}'

Any guidance will be appreciated.

So, after a lot of help from @skalavala, we figured out that the following works:
  - platform: rest
    method: POST
    resource: http://<IP_ADDRESS>:1400/DeviceProperties/Control
    name: Sonos Stereo
    headers:
      SOAPACTION: "urn:schemas-upnp-org:service:DeviceProperties:1#GetZoneInfo"
      Content-Type: text/xml; charset="utf-8"
    payload: '<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:GetZoneInfo xmlns:u="urn:schemas-upnp-org:service:DeviceProperties:1"></u:GetZoneInfo></s:Body></s:Envelope>'
    value_template: '{{ value_json["s:Envelope"]["s:Body"]["u:GetZoneInfoResponse"]["HTAudioIn"] }}'

We definitely need more debug logs in the code to figure things out. Also, I am still not sure what and how to use for the json_attributes_path.

@bdraco This could be another example in our docs (once you can figure out the json_attributes_path).

Closing this issue as we have now improved logging and a debug tool.


store: implement tree cache

The store currently has a "blob" store where the ACIs are stored. In order to optimize container launch times we should keep a "tree" store where unpacked ACIs are kept for faster startup times. For example stage0 could setup the appc rootfs by putting a RW overlayfs on top of the app trees and running out of that. This will be a huge optimization
Implementation hints:

[ ] Add a new type to the store package for trees
[ ] Store the ordering of the tar file into a manifest so that the trees in the store can be verified after being unpacked by streaming through a archiver and hash.Hash
[ ] Add helper functions to explode a blob into the tree store and to delete trees too

@philips I'd like to implement it using the acirenderer library proposed in #297. What do you think about it?
Point 2 talks about a single tar, but, as the rendered aci, can have dependencies and being composed by multiple tar I have to think on how to implement it. If I understand it correctly the need is to verify, in every moment, that the rendered ACI wasn't modified/corrupted. Am I right?

@philips I started implementing this using acirenderer in #297
As the rendered aci is not that same as the tar (as it's rendered from dependency) my idea for point 2 is:
*) On writing, after the rendering, walk the files tree (the order is lexically the same using filepath.Walk if no files are removed or added), build a new tar like actool build does but just stream the output to an hash and store it.
*) On verifiy do the same and verify that the generated hash is the same of the stored one.
This in theory will work but I noticed that recreating a tar with the same identical order, files and tar headers it's going to create a different tar every time (same identical contents but different hashes). Quite probably this is due to the fact that in pkg/archive/tar/writer.go the pax headers are written from a go map. So their order is randomized every time.
The tar headers are useful so one can verify that no permissions, extended attributes and so on were changed.
So there's the need to create an hash without relying on a tar but keeping all the infos to checks that nothing has changed.

@sgotti would you mind confirming that this can be closed out, or is there other stuff remaining?

@jonboulle No other stuff remaining. I hope it satisfies the @philips original idea.

Yes, I believe it does - we can revisit as necessary. Thanks a lot!!


Add No Fog

Is your request related to a problem? Please describe if so.
N/A
Describe the mod you'd like to add, remove, or change
https://modrinth.com/mod/no_fog
This mod allows you to toggle each fog type when you are in biomes, dimensions, and globally in that order of priority.

Most of this mod is already implemented in Sodium Extra.


Add Equalizer filter

How can i add equalizer when play, plug like CSCore, ... ?

Any updates on this request?

I don't really understand this issue, but it looks like you are looking for some vlc options. Then, you can pass them to this library. Feel free to reopen if needed


Device type changes: superset -> superset of

Device type library spec is looking to change the column notation as captured in the title.  Alchemy should adjust in turn.

Fixed in 0.9.7.


tasks: release: automatically bump last stable

What does this PR do?
This PR updates release.json last_release field when finalizing a non-RC version

Motivation
So we don't have to update that field manually

Additional Notes

Possible Drawbacks / Trade-offs

Describe how to test/QA your changes

Reviewer's Checklist

[ ] If known, an appropriate milestone has been selected; otherwise the Triage milestone is set.
[ ] Use the major_change label if your change either has a major impact on the code base, is impacting multiple teams or is changing important well-established internals of the Agent. This label will be use during QA to make sure each team pay extra attention to the changed behavior. For any customer facing change use a releasenote.
[ ] A release note has been added or the changelog/no-changelog label has been applied.
[ ] Changed code has automated tests for its functionality.
[ ] Adequate QA/testing plan information is provided if the qa/skip-qa label is not applied.
[ ] At least one team/.. label has been applied, indicating the team(s) that should QA this change.
[ ] If applicable, docs team has been notified or an issue has been opened on the documentation repo.
[ ] If applicable, the need-change/operator and need-change/helm labels have been applied.
[ ] If applicable, the k8s/<min-version> label, indicating the lowest Kubernetes version compatible with this feature.
[ ] If applicable, the config template has been updated.

Nice !
One thing I'm not sure of is whether we want to update the field when doing the release or just after ?
Imagine the merge pipeline to main fails, artifacts aren't generated / published, we need to revert the change in last stable
There could also be a race issue: between the merge and the end of the pipeline the last stable entry points to a version which is not yet available

Nice ! One thing I'm not sure of is whether we want to update the field when doing the release or just after ? Imagine the merge pipeline to main fails, artifacts aren't generated / published, we need to revert the change in last stable There could also be a race issue: between the merge and the end of the pipeline the last stable entry points to a version which is not yet available

Indeed you are correct, this is executed before the build starts so this is invalid. I'll try to find another entry point.
I'd rather have this done automatically as part of an existing task, and not have to fall back to a new task since it wouldn't really help as far as forgetting to update that field goes.


Remove briding message

Current dependencies on/for this PR:

main

PR #131

PR #132

PR #137

PR #139   👈

This stack of pull requests is managed by Graphite.


create-react-app in production environment can't configure multiple entry

I had configured  the  webpack.config.prod.js:
entry: {         index: [require.resolve('./polyfills'), paths.appIndexJs],         detail: [require.resolve('./polyfills'), paths.appDetailJs],     },
 new HtmlWebpackPlugin({             inject: true,             template: paths.appHtml,             chunks: ['index'],         }),         new HtmlWebpackPlugin({             inject: true,             template: paths.appDetailHtml,             chunks: ['admin'],             filename: 'admin.html',         }),
but I can't go to the admin.html,it also stay on index.html

Hi Wayne, create-react-app doesn't allow custom webpack configurations.  Did you eject by any chance?  Do you mind filling out an issue template?


Adding Gribi Failover Test

Pull Request Functional Test Report for #3423 / dee4ab6befe37564a63baa57db77a1feedd32e7b
Virtual Devices

Device
Test
Test Documentation
Job
Raw Log

Arista cEOS

RT-14.2: Gribi Route Test
a02c8fe1
Log

Cisco 8000E

RT-14.2: Gribi Route Test
7a361147
Log

Cisco XRd

RT-14.2: Gribi Route Test
9411fbad
Log

Juniper ncPTX

RT-14.2: Gribi Route Test
cac76e73
Log

Nokia SR Linux

RT-14.2: Gribi Route Test
9674508c
Log

Openconfig Lemming

RT-14.2: Gribi Route Test
bb5f8a74
Log

Hardware Devices

Device
Test
Test Documentation
Raw Log

Arista 7808

RT-14.2: Gribi Route Test

Cisco 8808

RT-14.2: Gribi Route Test

Juniper PTX10008

RT-14.2: Gribi Route Test

Nokia 7250 IXR-10e

RT-14.2: Gribi Route Test

Help

Pull Request Test Coverage Report for Build<PHONE_NUMBER>9
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 55.252%

Totals

Change from base Build<PHONE_NUMBER>1:
0.0%

Covered Lines:
1983

Relevant Lines:
3589

💛  - Coveralls


Use console.log instead of alert

Because alert doesn't work in Apps Script.

[x] npm run test succeeds.
[x] npm run lint succeeds.
[x] Appropriate changes to README are included in PR.

Thanks!


Populate caller remote IP and introduce function to get remote hostname

Purpose

$Title

Fixes #22283
Samples
string? remoteHostName = caller.getRemoteHostName();

Definition :
# Gets the hostname from the remote address. This method may trigger DNS reverse lookup if the address was created
# with a literal IP address.
#
# + return - the hostname part of the address or nil if it is unresolved
public function getRemoteHostName() returns string? {}

Codecov Report

Merging #22569 into ballerina-1.1.x will not change coverage by %.
The diff coverage is n/a.

@@               Coverage Diff                @@
##           ballerina-1.1.x   #22569   +/-   ##
================================================
  Coverage            15.21%   15.21%
================================================
  Files                   50       50
  Lines                 1341     1341
  Branches               208      208
================================================
  Hits                   204      204
  Misses                1121     1121
  Partials                16       16

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 1c5dbfa...3e54943. Read the comment docs.


Fix various ref handling (fixes : #2086)

This PR is to address the $ref handling issues in callbacks and discriminator mapping objects as detailed in #2086.
It does it with the following changes

Extends discriminator mapping handling for anyOf like its done for OneOf in SchemaProcessor class.
Add ref path resolution for examples of Parameters
Handles ref path resolution for array items with ComplexSchemas
Refactors the processRefToExternalPathItem in ExternalRefProcessor so that it can be used for $ref path resolution in PathItems used within callbacks.

Each done in dedicated commits, although there might be some spill over.

@gracekarina I see that you have worked on the files in which most of this changes are done for this issue (#2086). Would be great if you can take a look at these changes.

Have a blanket IT type test for now, can add more in depth UTs once  I get some comments on these changes.

P.S: These issues are not present in the npm swagger-parser lib.

@frantuma I've changed the oneOf and anyOf to be inclusive, kindly help take a look when possible, thanks!

@frantuma @gracekarina @walaniam Can anyone kindly help look at these changes?

Hi @frantuma @gracekarina @walaniam - I am the Product Manager for Java Frameworks at PayPal. This PR is currently blocking an enterprise-level initiative to upgrade to OAS 3.0. Below is the business case and impact if this PR is not merged in the coming weeks. Please let me know if there is a better channel to escalate this in to get better visibility. Thank you in advance - appreciate the partnership!
The code generation tool is crucial for developers to accurately validate specification and implement REST APIs at PayPal. This PR fixes critical bug that impact virtually all OAS3 REST API specifications using examples, parameter, discriminator and callback features, making the codegen tool incompatible in its current state. Without this fix, developers are forced with cumbersome workarounds to choose between restructure their API specifications that hinder reusability or generate java model classes on the resolved specification resulting significant disruption to existing API implementation. This issue not only impacts individual teams but also prevents the API Platform team from effectively testing and ensuring the platform meets customer needs. Ultimately, Failing to merge this PR to address this critical issue could delay API deployments and hinder the overall adoption of the new platform.
APIReferenceTemplate Repo: https://github.paypal.com/ApiSpecifications-R/APIReferenceSpecification/tree/develop/v1/schema/components


Stitch menu resets PDF location with each setting change

Now that the transform origin in set to center, the stitch menu resets the location of the pdf whenever there is a setting change.

@j-huff what do you think about this one? I’m thinking about switching the transform origin back to the top left. The switch menu feels quite frustrating now.

Right, it's set to recenter whenever the layout changes. So if you go from show 1 page to 2 pages it recenters, or if you change the number of columns. I can remove that if it's annoying.

Since when is it unreasonable to expect users to understand greek alphabet math notation? 🤔
I'll think of something. Also I'm going to add drag grid snapping to this PR as it seems natural as the position gets displayed as fractions only if you are on the grid.


Auth headers

Coverage remained the same at 100.0% when pulling 9165b333f8840018862d0e7ec0d0e110082a4bee on auth-headers into 8fc34ecdc2ce6e8284c3756894061358a7d2a650 on master.


added popitem to dictionaries

This change resolves issue #14 my adding popitem() to the dictionaries notebook

来件已收到，确认后会回复给你哦


feat: add role attribute

As mentioned in #35 a role should be provided alongside the aria-label attribute.

Hey,
thanks for suggesting the marquee role, haven't seen that yet, and it seems appropriate for this component.
Setting role="figure" would be another idea that would also make it worth passing the role as a prop.
The major issue is that we're misusing the aria-label as I previously commented.
As a workaround for now, before i merge and publish the new version with your PR, I think you can just wrap the type animation in a <figure> together with a <figcaption> which contains the contents of the aria-label and does not risk being ignored by screen readers as with the aria-label.
So something like this:
<figure>
  <TypeAnimation aria-hidden="true" [...] />
  <figcaption> Main contents of the animation text here </figcaption>
</figure>

I think this approach is actually the best, without any aria-labels or roles. I'll update the docs and component accordingly and probably remove the aria-label section.

I've been testing <figure> with Talkback on my Android phone and it will mention a graphic. On Apple devices it will talk about an image. After some more digging I found this: https://www.hassellinclusion.com/blog/figure-figcaption-extended-alternate-text-screen-readers/
So I came to the conclusion that role="marquee" and an aria-label is more precise for a screen reader.