Blurry images due to small images in srcset

Bug Description
There were a few reports where images were blurry due to how srcset and sizes are applied on images. The browser will unexpectedly pick a low-res thumbnail instead of a more reasonable high-quality thumbnail.
Expected Behaviour

No blurry images
Steps to Reproduce

Note: depends on the viewport.
On this story: https://google-webstories.rt.gw/web-stories/batch-1-story-8-home-and-garden/
With the following markup on the first page:
<amp-img
        layout="fill"
         src="https://google-webstories.rt.gw/wp-content/uploads/2021/04/batch1_story8_homeandgarden_screen1_img1-1.jpg"
        alt="batch1_story8_homeandgarden_screen1_img1"
        srcset="
        https://google-webstories.rt.gw/wp-content/uploads/2021/04/batch1_story8_homeandgarden_screen1_img1-1.jpg 977w,
        https://google-webstories.rt.gw/wp-content/uploads/2021/04/batch1_story8_homeandgarden_screen1_img1-1-760x1024.jpg 750w,
        https://google-webstories.rt.gw/wp-content/uploads/2021/04/batch1_story8_homeandgarden_screen1_img1-1-223x300.jpg 223w"
        class="i-amphtml-layout-fill i-amphtml-layout-size-defined"
        i-amphtml-layout="fill">
</amp-img>

AMP runtime will turn it into:
Note: 1540px below is dynamic depending on the viewport.
<amp-img
    layout="fill"
    src="https://google-webstories.rt.gw/wp-content/uploads/2021/04/batch1_story8_homeandgarden_screen1_img1-1.jpg"
    alt="batch1_story8_homeandgarden_screen1_img1"
    srcset="
    https://google-webstories.rt.gw/wp-content/uploads/2021/04/batch1_story8_homeandgarden_screen1_img1-1.jpg 977w,
    https://google-webstories.rt.gw/wp-content/uploads/2021/04/batch1_story8_homeandgarden_screen1_img1-1-760x1024.jpg 750w,
    https://google-webstories.rt.gw/wp-content/uploads/2021/04/batch1_story8_homeandgarden_screen1_img1-1-223x300.jpg 223w"
    class="i-amphtml-layout-fill i-amphtml-layout-size-defined i-amphtml-element i-amphtml-built i-amphtml-layout"
    i-amphtml-layout="fill"
    style="--loader-delay-offset:84ms !important;">
    <img
        decoding="async"
        sizes="(max-width: 1540px) 72px, 100vw"
        alt="batch1_story8_homeandgarden_screen1_img1"
        srcset="
        https://google-webstories.rt.gw/wp-content/uploads/2021/04/batch1_story8_homeandgarden_screen1_img1-1.jpg 977w,
        https://google-webstories.rt.gw/wp-content/uploads/2021/04/batch1_story8_homeandgarden_screen1_img1-1-760x1024.jpg 750w,
        https://google-webstories.rt.gw/wp-content/uploads/2021/04/batch1_story8_homeandgarden_screen1_img1-1-223x300.jpg 223w"
        src="https://google-webstories.rt.gw/wp-content/uploads/2021/04/batch1_story8_homeandgarden_screen1_img1-1.jpg"
        class="i-amphtml-fill-content i-amphtml-replaced-content"
    />
</amp-img>

Screenshots

See how the browser chooses the 223w version, even though it's smaller than the actual size on the page

Removing the position: absolute on the image somewhat improves the experience. Seems like this trips up the browser's srcset picking

Additional Context

Plugin Version: 1.6.0
WordPress Version: 5.7
Operating System: macOS
Browser: Chrome

Do not alter or remove anything below. The following sections will be managed by moderators only.
Acceptance Criteria

Implementation Brief

cc @choumx @barklund for input

@choumx  @BrittanyIRL @miina one of you / your pods familiar with this area?

@swissspidy The sizes value of the img tag seems off:

Where does the 72px come from, does this seem right to you?

That <img> element with the sizes attribute is added by the AMP runtime. We only add the <amp-img> element with the srcset attribute (compare 1st vs 2nd code snippet above)

Hm, okay, there seems to be something off with the sizes. When saving this story locally and viewing it, a different (and correct) sizes value is added to the img tag. Or well, it looks like initially, it adds just the 72px, and then right away also adds another img element with the correct sizes, too. Which then visually replaces the stretched out image with the correct sized image:

@newmuis Sam mentioned that you had briefly looked into this issue before, mentioning how the sizes part is wrong. Since this is not added by the plugin, any advice on how we could fix this in WP? Or does this need fixing on the format side?

@newmuis @choumx friendly ping, would love some advice on this one :)

Sorry for the delay here! Looks like the poor image selection is due to amp-img's autogenerated size attribute:

If the srcset attribute is provided,  will autogenerate the HTML5 definition of the sizes attribute for the underlying , when none is specified.

sizes="(max-width: <current_viewport_width_px>) 72px, 100vw"

The 72px in this case comes from the image's calculated size during AMP layout, which is happens too early (relative to amp-story and fill layout) and is inaccurate (way too small).
We can fix this by rendering a correct sizes attribute for images, which we can calculate given the image element's size on the canvas (accounting for the desktop viewing mode). I'll try to make time to take a stab at a fix this week.

Verified in QA


Injected javascript not working in android release build.

Bug description:
As there is breaking change in 6.0.2 that we can not use window.postMessage() and window.__REACT_WEB_VIEW_BRIDGE.postMessage() anymore. To avoid replacing all instances with the window.ReactNativeWebView.postMessage(), i just injected the javascript like this:-
const injectedJavascript = (function() {       window.postMessage = function(data) {         window.ReactNativeWebView.postMessage(data);       };       window.__REACT_WEB_VIEW_BRIDGE = {};       window.__REACT_WEB_VIEW_BRIDGE.postMessage = function(data) {         window.ReactNativeWebView.postMessage(data);       };     })();;
However, the above code works perfectly when the app is running in development mode but fails in release mode for android.
<WebView           domStorageEnabled           javaScriptEnabled           automaticallyAdjustContentInsets           source={LocalWebURL}           scrollEnabled           mixedContentMode={'always'}           setJavaScriptEnabled           injectedJavaScript={loaded ? injectedJavascript : null}           mediaPlaybackRequiresUserAction={false}           onNavigationStateChange={this.onNavigationStateChange}           ref={webView => {             if (webView) this.webView = webView           }}           startInLoadingState           onError={this.handleError}           // cacheEnabled           // thirdPartyCookiesEnabled           onMessage={message => {             console.log('the url is', message)             this.onMessageRecieved(message.nativeEvent)           }}           allowsInlineMediaPlayback           onLoadEnd={() => {             this.webView.injectJavaScript(injectedJavascript)             if (this.state.isInitialRender) {               this.setState(                 { loaded: true, isInitialRender: false, error: false },                 () => {                   if (this.props.postJsonData) {                     this.webView.postMessage(                       JSON.stringify(this.props.postJsonData)                     )                   }                 }               )             }           }}         />
To Reproduce:
Run the application in release mode then the injected javascript doesn't work. Tried with injectedJavascript and injectJavascript api.
Expected behavior:
InjectedJavascript should work in release mode also.
Environment:

react-native version: 0.60.0
react-native-webview version: 6.0.2

@jamonholmgren @Titozzz Please help me with this i'm stuck.

Injected javascript is working in release mode as I've been using it for more than 2 years, so the problem is somewhere else. Your injected code looks ok however so I'm not sure what could be the issue. Please run in release mode and use https://github.com/react-native-community/react-native-webview/blob/master/docs/Debugging.md to understand what's going on

@Titozzz thanks for the quick reply. Yeah you are right issue is not with injectedJavascript it was onMessage which was not getting triggered when the debugger was off. If in case anyone stuck in such issue, I resolved it by removing console.log in onMessage callback. Once again thanks


Ability to search a specific URL

In the screenshot below, ive searched for a paper that was released a few days ago.
The answer says "I cannot access that link"
This pretty much defeats the purpose of using perplexica

I dont know if this is a bug? or a feature request lol :)
tldr: it should have the ability to retrieve the content from the url and use it as context

Similar to how open-webui allows you to tag a URL (or other documents) with '#' to do local RAG.

You got lucky that the model did not hallucinate something. Perplexica does not have the possibility to read pdf and make query from the pdf. There are other open source projects that do exactly that.
what you can do is to copy paste the title of the article. Then I got quite a good resume.
Skywork-Math's Exploration of Data Scaling Laws for Enhanced Mathematical Reasoning in LLMs
Abstract
In the explorative research conducted by Skywork-Math, there is a comprehensive analysis of data scaling laws and their potential to augment mathematical reasoning capabilities within Large Language Models (LLMs). The study posits that these models can achieve state-of-the-art accuracy even when they are smaller than 10 billion parameters. This outcome surpasses the performance of larger LLMs, including a notably early version of GPT-4 on MATH benchmark tasks.
Introduction to Data Scaling Laws in LLMs
Data scaling laws provide critical insights into how data quantity affects an LLM's proficiency in mathematical reasoning. The study argues that these models continue to benefit significantly from increased data inputs, contrary to the saturation point often assumed for such systems. This implies that even as LLMs grow more advanced and complex, their capacity for understanding mathematics can still be substantially improved by feeding them a greater amount of relevant training data.
The Impact on Mathematical Reasoning Capabilities
Mathematical reasoning presents unique challenges to language models due to its intricate structure and need for precision. DeepSeekMath 7B, an extension of the DeepSeek-Coder-Base-v1.5 framework with a significant addition of math-related tokens from Common Crawl, showcases how continued pretraining can enhance LLM performance on mathematical reasoning tasks.
Implications for Future Developments in LLMs
The findings by Skywork-Math suggest that data scaling laws remain an essential factor to consider when refining the capabilities of LLMs. This research underscores the significance of not only expanding model capacity but also strategically increasing training datasets, especially those pertaining to specific domains such as mathematics. Furthermore, this study encourages a re-evaluation of how we approach benchmark testing and dataset construction in order to foster advancements that more accuramately reflect real-world applications for LLMs.
Conclusion
In conclusion, Skywork-Math's research provides compelling evidence that the data scaling laws governing mathematical reasoning within large language models are far from saturated. As a result, there is ample room to enhance these models through deliberate and targeted increases in training data quantity. This finding has significant implications for future developments in LLMs and reiterates the need for continuous exploration of optimization strategies within this rapidly evolving field.
Citations:
[1] https://paperswithcode.com/task/mathematical-reasoning/codeless
[2] https://www.understandingai.org/p/large-language-models-explained-with
[3] https://www.linkedin.com/pulse/scaling-laws-large-language-models-isha-singh
[4] https://arxiv.org/html/2407.08348v1
[5] https://en.wikipedia.org/wiki/Neural_scaling_law
[6] https://aclanthology.org/2024.eacl-srw.17.pdf
[7] https://www.catalyzex.com/paper/skywork-math-data-scaling-laws-for
[8] https://www.reddit.com/r/mlscaling/comments/1ak28hd/deepseekmath_pushing_the_limits_of_mathematical/
[9] https://paperswithcode.com/paper/large-language-models-for-mathematical
[10] https://www.researchgate.net/publication/372888942_Scaling_Relationship_on_Learning_Mathematical_Reasoning_with_Large_Language_Models
[11] https://arxiv.org/abs/2303.05398
[12] https://aclanthology.org/2023.findings-acl.364/
[13] http://export.arxiv.org/abs/2407.08348
[14] https://medium.com/@linked_do/scaling-laws-for-ai-large-language-models-and-the-inverse-scaling-hypothesis-aef434b89a51
[15] https://huggingface.co/papers/2310.10631

Regarding the topic.
It is not just the model that matters, the prompt too is important. I made mathematics prompt that can be used everywhere works really good on gpt4.
My prompt is based on a paper:
This framework is based on two recent papers:
SELF-DISCOVER: Large Language Models Self-Compose Reasoning Structures
Accessing GPT-4 level Mathematical Olympiad Solutions via Monte Carlo Tree Self-refine with LLaMa-3 8B
As such the framework uses two modern paradigms self-discover and self-refine with the task of solving and assisting in the math domain.

The feature is nearly completed, will be released within the next few days.

The feature is nearly completed, will be released within the next few days.

Noice 👌


decouple pkg name from duplicati service

Description of changes

As discussed here discourse.nixos.org I'm encountering an issue when configuring the Duplicati service to use other channel version. This patch try to address the issue
Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

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

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

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

[ ] Fits CONTRIBUTING.md.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/modifying-systemd-services-channel-for-a-specific-package/31876/6


add all clusterset permission

Signed-off-by: ldpliu<EMAIL_ADDRESS>https://github.com/stolostron/backlog/issues/22020

/cc @qiujian16 @elgnay


Refactor: move resource exceptions to external files

Move the resource exceptions to a different file.
Currently the lists of exception resource are quite long e.g. https://github.com/yonahd/kor/blob/main/pkg/kor/configmaps.go#L17 and will cause future contributors more cognitive load.
We should separate these from the actual code

It might be nice to also break out resources into their individual clouds (then merge them all together), so we can better track changes related to specific environments.

pkg

exceptions

gke
aks
kind
minikube
universal (i.e. kube-proxy)

It might be nice to also break out resources into their individual clouds (then merge them all together) using a helper function. We can better track changes related to specific environments this way and also allow targeting specific environments.

pkg

exceptions

gke
aks
kind
minikube
universal (i.e. kube-proxy)

I was thinking of splitting it using the resource type but this might make more sense. Let's see if there are any takers and we'll see how simply it can be done

Happy to take a initial stab at this.

Go for it.
Let's see how it looks


Update RHEL documentation

Update RHEL documentation to add a small note for RHEL 7.0

Are RHEL 7 or RHEL 8 the only options? Or would it be more accurate to say "If you're not using RHEL 8.0, please change the version of the RPM file above from 8 to your RHEL version."?

Looks like 7 and 8 are the only current options:  https://access.redhat.com/support/policy/updates/errata#:~:text=7.4 (ends August 31%2C 2019,Final RHEL 7 EUS Release)
I committed your edit with one of mine to remove "please".


epic: Basic Automated test for Installation & Inference on compatible Hardware & OS

Goal

We should test for full e2e lifecycle of Cortex's main use case
This only covers llama.cpp for v0.1

Existing Work

Current e2e test
Previous Google Spreadsheet
[ ] Nicole to add Hardware Compatibility Matrix
#1125

Existing Bugs

Prev bug with appimage and Fedora https://github.com/janhq/cortex.cpp/issues/1105

Test Cases
Test Harness

#1069

Installation & Uninstallation

Test successful installation on all OS and hardware #1125

Starting

Starts within X seconds (previous bug: #929)

Model Running

Successful load of cached model (e.g. tinyllama)
Successful inference request of cached model
Error messages are tested
Successful unloading of model
Ensure dylib issue is covered https://github.com/janhq/cortex.cpp/issues/953

Stopping

Successfully stops with no dangling processes

Uninstallation

Successfully uninstalls with no dangling files

For end to end testing. I'm proposing to use pytest.
Advantages

Easy testing our CLI and API server
Easy to write test as well as generate from AI

Current Manual QA Checklist
It is a combination of:

unit tests (soon to be automated by #1357)
integration & e2e tests (automation still needed)

Across the following:

Windows 11 (online & offline)
Ubuntu 24, 22 (online & offline)
Mac Silicon OS 14/15 (online & offline)
Mac Intel (online & offline)

I'm documenting this for @gabrielle-ong to ensure no tests fall through the cracks and eventually we have coverage across various kinds of tests.
Installation/Uninstallation

[ ] it should install with network installer

[ ] it should install with local installer

[ ] it should uninstall with & without purging the data folder

[ ] it should gracefully uninstall when server is still running

[ ] it should reinstall without having conflict issues with existing cortex data folders

[ ] it should install with correct folder permissions

[ ] it should install with folders: /engines /models /logs, and .cortexrc, and dbs

[ ] cortex update should update from ~3-5 versions ago to latest (+3 to 5 bump)

[ ] cortex update should update from the previous version to latest (+1 bump)

[ ] cortex update should update from previous stable version to latest (stable checking)

[ ] it should gracefully update when server is actively running

Basic Commands

[ ] cortex returns helpful text in a timely* way
[ ] cortex -v should check output current version and check for updates
[ ] it should correctly log to cortex-cli

Hardware Detection [WIP]

[ ] TODO

Server

[ ] it should start server
[ ] it should stop server
[ ] it should correctly log to cortex logs
[ ] it should return server status ps

Engines

[ ] it should CRUD engines
[ ] it should gracefully refine engine installation if interrupted halfway
[ ] it should update engines
[ ] it should gracefully handle when users try to CRUD incompatible engines

Model Management

[ ] it should pull by built in model_ID

[ ] it should pull by built-in model_id:variant

[ ] it should pull by HF repo/model ID

[ ] it should pull by partial HF url

[ ] it should pull by full HF url (ending in .gguf)

[ ] it should resume pull after interruption

[ ] it should CRUD downloaded models

[ ] it should correctly update state in /models

[ ] it should import models

Model Running

[ ] run should download missing models
[ ] run works on already downloaded models
[ ] run should autostart server
[ ] chat works

llamacpp
trtllm
With Hardware Acceleration

@gabrielle-ong Even though we are choosing to go with a Manual test for now, we should create an open Ticket for an Automated Test and put it in Icebox.

We should be careful of "QA Debt", and not let it grow too much


move long-running operations off of the UI thread

NOTE: only creating this issue since I see it mentioned as something needed long-term in other issues but all of them are closed AFAICT.  This isn't something that's an easy fix by any means, but as I was hoping to maybe take a shot at this, I wanted to file this both as a place to keep notes and also to try to contribute help from any others that either have already started on this or tried and have valuable insights to share, or even @paolosalvatori just deciding whether he's ok with the idea or not
The proposed 'phases' would be:
Phase 1 - entire UI is still blocked, user can't cancel the operation, but there's a new modal dialog with an indeterminate progress bar that's just cycling and states that an operation is in progress.  Bonus points for accepting a specific name for the operation
Phase 2 - entire UI is still blocked by modal, but the modal now includes a cancel button.  Implementation should use async/await and CancellationTokenSource / CancellationToken
Phase 3 - progress bars (where possible) implement actual progress
Phase 4 (maybe, distant future) stop blocking the full UI, potentially allow multiple concurrent operations.

There has been some requests for a progress bar so this is something that will be appreciated if done properly, which is not easy.
Today, I would say that many operations are not blocking the UI thread. However, I have the feeling that all paths does not work properly when another operation is going on.

The operations that block the UI thread (at least AFAICT / IME) are peek and receive+delete on queues/subscriptions. Admittedly, I may be an outlier when it comes to those, but as an example, I used it to drain 1.4M messages from a deadletter queue this past week and it took well over an hour and by all indications was blocking the UI thread the entire time (app won't paint, task manager shows it as not responding, etc).
There are probably tons of operations that either don't happen on the UI thread or do and just run quickly enough that I can't perceive that they're blocking the UI, it's really just those receive/peek operations that are problematic. :)

I used it to drain 1.4M messages from a deadletter queue this past week and it took well over an hour

Reading this thread, I can't shake off the fact that what SBE is doing is a workaround, to compensate for the missing feature, celebrating its 7th anniversary this month.

@SeanFeldman agreed, although in this case, I needed to download the contents of the 1.4M messages, so a purge operation that didn't grab the message contents wouldn't have helped me in this particular case.

I'd like to add here that the service bus explorer often hangs (until the timeout) when connection fails. Something that often happens with me switching between different VPN. It would make more sense if the UI kept responsive, and no longer relevant request would be cancelled.


Initial constant & property value type not reflected in backend

xref: https://issues.redhat.com/browse/ENTESB-14445

Fixed here: https://github.com/atlasmap/atlasmap/pull/2258


[AutoPR eventgrid/data-plane] Update a property name of SignalRService

Created to sync https://github.com/Azure/azure-rest-api-specs/pull/6345

This PR has been merged into https://github.com/Azure/azure-sdk-for-go/pull/5070


Add back CLA assistant check

The integration stopped working, so I turned off the branch protection rule for it. I can't figure out how to get qiskit/documentation to show up in https://cla-assistant.io.

This appears to be working again, and I've added back branch protection:

For the record, I'm not sure how I fixed it...I went to https://cla-assistant.io/ about an hour ago, but qiskit/documentation wouldn't show up in the list of repos to enable. I guess that alone fixed it?


Updates to matplotlib element references to use opts

I've gone through the suggestions above and I think my own preference is fairly clear and consistent: if you have a composition and don't need to distinguish identical element types, put .opts at the end and use the opts utility.
I think this has the advantages of:

Consistency
Separating content and presentation (all options at the end)
Allowing people to try out tab-completion in these element reference notebooks.

One thing I would say is maybe opts.defaults is more appropriate for some of these. For instance:
curve = hv.Curve((xs,ys))
arrow = hv.Arrow(0, 5, 'Inflection', 'v')
(curve * arrow).opts(
   opts.Curve(color='#D3D3D3'))

This is in the Arrows notebook but we are customizing Curve? If would be better to show opts.Arrow for something and given we are just changing the color of the curve (for no particularly important reason), I would also consider using opts.defaults(opts.Curve(color='#D3D3D3')) at the top of the notebook.

opts.defaults does seem more appropriate in some cases here, yes.

Thanks for updating these! I think we are converging on a common style now.
Merging.


Added zoneminder Run State sensor

Description:
This adds a sensor for ZoneMinder's run state - a named set of monitor states for each of ZoneMinder's cameras. This is an internal construct of ZoneMinder that's user-editable and exposed over the API, and is commonly used very similarly to burgular alarm states (i.e. run states of "Home", "Away", and "Disarmed" each map to different settings for different cameras).
Pull request in home-assistant.github.io with documentation (if applicable): https://github.com/home-assistant/home-assistant.github.io/pull/5655
Example entry for configuration.yaml (if applicable):
No configuration changes.
Checklist:

[x] The code change is tested and works locally.
[ ] Local tests pass with tox. _(All pass except the pylint suite, which fails on a unicode error in the readme for lyft-rides 0.2. The changed files pass flake8 and pydocstyle.)

If user exposed functionality or configuration variables are added/changed:

[x] Documentation added/updated in home-assistant.github.io - https://github.com/home-assistant/home-assistant.github.io/pull/5655

If the code does not interact with devices:

[ ] Tests have been added to verify that the new code works. (None of the zoneminder modules have tests currently.)

You have to fix lint issue first.

homeassistant.components.sensor.zoneminder
C:165, 8: Variable name "s" doesn't conform to snake_case naming style (invalid-name)

Apologies regarding the lint issue, I had issues running the tox env locally so I just did a quick pylint.
I'm going to close this PR for now and the matching one for the docs and come back to them later this week. There's some additional work that I'd like to do on this after having a conversation with @balloob


Sometimes the Snowflake connection does is missing the Schema level altogether

Description
We have a lot of databases in our Snowflake and I am now more often seeing the Database Navigator have incorrect structure, mainly missing the schema list within the Database, and showing Tables, Views, Procedures folder right away.  The work-around is to select the database and do a F5-Refresh, and the structure is restored.  FYI in the not-loaded-correctly state, all references in SQL editors are marked red, as it can't find the referenced database objects.
DBeaver Version
Community Edition <IP_ADDRESS>410061621
Operating System
macOS Sonoma 14.6.1 (23G93)
Database and driver
net.snowflake:snowflake-jdbc:RELEASE [3.14.4]
Snowflake 8.38.3
Steps to reproduce
Connect to Snowflake containing a lot of databases and schemas, expand a database in the Database Navigator, and see that it displays Tables, Views, and Procedures instead of all the Schemas in that database.
Additional context
No response

Thanks for the bug report. What connection view are you using?

This issue is stale. If it's still actual for you, please answer the question


Revisit performance scores

The Dice is highly sensitive to the size of the object (e.g., small lesion will highly impact Dice, and potentially be noisy), and the specificity includes voxels of class=0 (to confirm), which brings it to close to 1, which is not informative.
We might want to introduce more representative metrics, such as Hausdorff distance, and only include voxels=1 in the computation of the specificity. Object-based metrics (see Gros et al 2018) could also be relevant.

Not sure what we meant here:

voxels=1 in the computation of the specificity

Can someone help me to remember?


UILayoutFittingCompressedSize not working

If i try to use autolayout using compressed size for the contentviewSize It's not working.
contentViewSize = UILayoutFittingCompressedSize
I looked other answer but they were closed without an answer.
Also the example provided with the library does not work under the row 'Cusom ContentView Size'
(Tested under ios 8.1 and ios 9.2.1

+1


Automated Package Upgrade

:tada: This PR is included in version 12.4.15 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Normalize Size Field Property

As ...
Austin - Network Automation Engineer
I want ...
A Property attached to Circuit, Circuit Terminations, and VirtualMachines to normalize the data into bytes.
So that ...
I can easily store data in a normalized manner and then use other functions to convert to the necessary format whenever necessary.
I know this is done when...

The properties on VirtualMachine exist: normalized_memory, normalized_disk
The Property on Circuit exist: normalized_commit_rate
The properties on CircuitTermination exist: normalized_port_speed, normalized_upstream_speed

Optional - Feature groups this request pertains to.

[ ] Automation
[X] Circuits
[X] DCIM
[ ] IPAM
[ ] Misc (including Data Sources)
[ ] Organization
[ ] Plugins (and other Extensibility)
[ ] Security (Secrets, etc)
[ ] Image Management
[ ] UI/UX
[ ] Documentation
[ ] Other (not directly a platform feature)

Database Changes
No response
External Dependencies
No response

It might be a good idea to just standardize the database fields. For example, if it's a speed (circuit or interface speed), standardize on bits per second. If it's a size (memory, disk) standardize on bytes.


perception module launch fail + and  perception related .so file cannot be found

System information

Linux Ubuntu 18.04:
Apollo installed from source or binary:
Apollo version 5.5:

Steps to reproduce the issue:

I try to launch the perception lidar only dag but failed:
The error log showed that we lack or cannot load some .so:
because I used a vlp-32c lidar and currently the imu information has not very configured, so I use the segementation component to read the convert component directly instead of reading the compensation output:
anyone knows how to solve this problem?:

Supporting materials (screenshots, command lines, code/script snippets):
root@in_dev_docker:/apollo# cyber_launch start modules/perception/production/launch/cxx_perception_lidar.launch
[cyber_launch_3870] INFO Launch file [/apollo/modules/perception/production/launch/cxx_perception_lidar.launch]
[cyber_launch_3870] INFO ========================================================================================================================
[cyber_launch_3870] INFO Load module [perception] library: [lidar_perception] [CYBER_DEFAULT] conf: [/apollo/modules/perception/production/dag/dag_streaming_perception_cxx_lidar.dag] exception_handler: []
[cyber_launch_3870] INFO Start process [lidar_perception] successfully. pid: 3871
[cyber_launch_3870] INFO ------------------------------------------------------------------------------------------------------------------------
[lidar_perception]  WARNING: Logging before InitGoogleLogging() is written to STDERR
[lidar_perception]  I0718 18:43:26.032239  3871 module_argument.cc:81] []command: mainboard -d /apollo/modules/perception/production/dag/dag_streaming_perception_cxx_lidar.dag -p lidar_perception -s CYBER_DEFAULT
[lidar_perception]  I0718 18:43:26.036640  3871 global_data.cc:155] []host ip: <IP_ADDRESS>
[lidar_perception]  I0718 18:43:26.037391  3871 module_argument.cc:57] []binary_name_ is mainboard, process_group_ is lidar_perception, has 1 dag conf
[lidar_perception]  I0718 18:43:26.037782  3871 module_argument.cc:60] []dag_conf: /apollo/modules/perception/production/dag/dag_streaming_perception_carvex_lidar.dag
[lidar_perception]  E0718 18:43:26.222472  3871 class_loader_utility.cc:220] [mainboard]poco LibraryLoadException: libboost_filesystem.so.1.54.0: cannot open shared object file: No such file or directory
[lidar_perception]  E0718 18:43:26.222537  3871 class_loader_utility.cc:236] [mainboard]poco shared library failed: /apollo/bazel-bin/modules/perception/onboard/component/libperception_component_lidar.so
[lidar_perception]  E0718 18:43:26.222563  3871 class_loader_manager.h:70] [mainboard]Invalid class name: SegmentationComponent
[lidar_perception]  E0718 18:43:26.222584  3871 module_controller.cc:67] [mainboard]Failed to load module: /apollo/modules/perception/production/dag/dag_streaming_perception_cxx_lidar.dag
[lidar_perception]  E0718 18:43:26.222599  3871 class_loader_utility.cc:258] [mainboard]Attempt to UnloadLibrary lib, but can't find lib: /apollo/bazel-bin/modules/perception/onboard/component/libperception_component_lidar.so
[lidar_perception]  E0718 18:43:26.222615  3871 mainboard.cc:43] [mainboard]module start error.
[lidar_perception]
[cyber_launch_3870] ERROR Process [lidar_perception] has finished. [pid 3871, cmd mainboard -d /apollo/modules/perception/production/dag/dag_streaming_perception_carvex_lidar.dag -p lidar_perception -s CYBER_DEFAULT].
[cyber_launch_3870] INFO All processes has died.
[cyber_launch_3870] INFO Cyber exit.
[cyber_launch_3870] INFO All processes have been stopped.

Is it on branch  r5.5.0 or master?

To give a summary, the error information is like this:
[lidar_perception] E0718 18:43:26.222472 3871 class_loader_utility.cc:220] [mainboard]poco LibraryLoadException: libboost_filesystem.so.1.54.0: cannot open shared object file: No such file or directory
[lidar_perception] E0718 18:43:26.222537 3871 class_loader_utility.cc:236] [mainboard]poco shared library failed: /apollo/bazel-bin/modules/perception/onboard/component/libperception_component_lidar.so
[lidar_perception] E0718 18:43:26.222563 3871 class_loader_manager.h:70] [mainboard]Invalid class name: SegmentationComponent
[lidar_perception] E0718 18:43:26.222584 3871 module_controller.cc:67] [mainboard]Failed to load module: /apollo/modules/perception/production/dag/dag_streaming_perception_cxx_lidar.dag
[lidar_perception] E0718 18:43:26.222599 3871 class_loader_utility.cc:258] [mainboard]Attempt to UnloadLibrary lib, but can't find lib: /apollo/bazel-bin/modules/perception/onboard/component/libperception_component_lidar.so
[lidar_perception] E0718 18:43:26.222615 3871 mainboard.cc:43] [mainboard]module start error.
[lidar_perception]

@FengIvex Which version of Apollo do you use?

@FengIvex Which version of Apollo do you use?

5.5

Seems that you didn't build it right. Can you post your building steps here so that we can find out what caused the errors?

Seems that you didn't build it right. Can you post your building steps here so that we can find out what caused the errors?

I build it with "sudo bash apollo.sh build_opt_gpu"

The first error indicates that the libboost_filesystem library couldn't be found. Execute the command:
sudo find /usr/lib -iname 'libboost_filesystem*'

You will see the following result
/usr/lib/x86_64-linux-gnu/libboost_filesystem.so.1.65.1
/usr/lib/x86_64-linux-gnu/libboost_filesystem.so
/usr/lib/x86_64-linux-gnu/libboost_filesystem.a

If not, see which library versions are available and install one of them
sudo apt-cache search libboost | grep filesystem


Drop support for python 3.6

Python 3.6 is end of life.
Also added 3.10 to tox and gh-actions

Hey @killjoy1221, thanks for this! This is totally the right direction. A few minor tweaks:

Please remove the commit that adds to .gitignore. If you want to ignore those files, do it in your personal global .gitignore. This .gitignore should stay as lean and specific to this repo as possible
Looks like CI fails because python 3.10 is getting interpreted as a float. You need to quote it so it's a string
Thanks for updating the CHANGELOG, that's something that's easy to not do! Can you add that we start testing for python 3.10 there as well?

Thanks for the feedback. I think I got everything fixed up.
I've also got a branch adding typing everywhere. Would you be interested in a PR for that?

I think black failed because there's a version conflict with click. As a solution, I can either undo the poetry update and leave that for a separate commit/PR or update black to 22.3.0. poetry.lock specifies black-21.12b0

That's my read on why black failed as well. Upgrading black to black = { version = "^22.3.0", optional = true } and re-running poetry update would be awesome if you're willing.

Thanks @killjoy1221! Do you need a release?
A PR adding typing would be great!


React v16.7.0-alpha, hooks

Something up with the latest react hooks stuff.  I'm trying to narrow it down but no luck so far.
Error: Uncaught [TypeError: Cannot read property 'network' of null]
result = window.eval(output + '\nPRERENDER_RESULT');

Seems like to be a syntax error. What version of Node are you running?

node 11.3.0

My prerender entry is running regular react-dom render
const prerender = ({ url = "/", title = "Studio" }: Props) => {

  // setup stuff ...

  // during dev we don't prerender
  return process.env.NODE_ENV === "development"
    ? ""
    : render(
        <Provider value={provide}>
          <App />
        </Provider>,
         window.document.getElementById("root")
      );
};

export default prerender;

Did you ever find the root cause for this?  There isn't really anything in prerender-loader that seems like it would cause this. Maybe it's an issue with React 16.7 + JSDOM?

I'm using 16.8.0-alpha.0 and hooks, does not seem any weirdness yet. Everything works fine.


Support for a DYNAMIC or ARBITRARY data type

Use case:
When capturing various data streams (e.g. http-requests, opc-ua) in CrateDB, one might come across various types of data encapsulated in a single message/payload. In order to ingest and query them in CrateDB, one must define a concrete data type for a column (exception to some degree OBJECT(IGNORED) for properties). To ingest data of variable type, one might need to have a custom ingest logic in place.
Further JSON text - often used for transport - is defined as any serialised value (RFC7159 [1])
i.e.

1
[1,2]
"Hello World"
{"a":1}

are all examples for valid JSON examples.
Workaround TEXT:
Text could be used to store any kind of data encapsulated as string literal.
However, one would need to encapsulate some data types like arrays in single quotes on ingest
CREATE TABLE tbl (txt TEXT);
INSERT INTO tbl (txt) VALUES ([1,2]) --> fails

Also by default this would lead to text-based indexing and doc values
Workaround OBJECT(IGNORED):
As mentioned above encapsulated in an OBJECT structure, any kind of data type can be stored within CrateDB already:
CREATE TABLE obj_ignored (obj OBJECT(IGNORED));
INSERT INTO obj_ignored VALUES
        ('{"x":[1,2,3]}'),
        ('{"x":"a"}');

However this today leads to some weird behaviour on SELECT:
cr> INSERT INTO obj_ignored VALUES
        ('{"x":[1,2,3]}'),
        ('{"x":"a"}');
INSERT OK, 2 rows affected  (0.050 sec)
cr> SELECT obj['x'] FROM obj_ignored;
+-----------------+
| obj['x']        |
+-----------------+
| ["1", "2", "3"] |
| a               |
+-----------------+
SELECT 2 rows in set (0.944 sec)

Feature description:
Basic Variant

Ability to define a DYNAMIC datatype, that accepts any other data type as input on ingest.
If a default return type is needed for PostgreSQL compatibility, this could just be TEXT.
Ability to cast from/to any other CrateDB data type

CREATE TABLE tbl (
    var DYNAMIC
);

INSERT INTO tbl (var) VALUES (1), ('a'), ([1,2,3]), ({x = 1});

Optional

dynamic indexing (e.g. two indices one for numeric, one for text, ...)

Other known implementations
Azure Data Explorer support a dynamic datatype [2]
Microsoft SQL Server [3]
Links
[1] https://www.ietf.org/rfc/rfc7159.txt
[2] https://docs.microsoft.com/en-us/azure/data-explorer/kusto/query/scalar-data-types/dynamic
[3] https://docs.microsoft.com/en-us/sql/t-sql/data-types/sql-variant-transact-sql?view=sql-server-ver15

Estimation discussion outcome:

5-8 for addressing the behavior on select. But need to check what we can do with limitations regarding types supported by clients. With pgwire we currently map to JSON and there likely is no better choice.

20+ if we add a type that also supports type dependent indexing and fast queries (my_dynamic_column = 10 would use index for numeric values)

Doing both is an option but should clarify requirements and expectations

I had a closer look at the select behaviour and that actually seemed like a bug, so it will be fixed in 5.8.4: https://github.com/crate/crate/pull/16672
So it seems to me that the main advantage of having a dynamic or arbitrary type would be indexing support for fast queries.

Another related approach that DuckDB provides is a union type: https://duckdb.org/docs/sql/data_types/union


Prefer injected, typed config over Config

AkkaDiscoveryServiceLocator uses the Config from the ActorSystem. Instead, it should receive a strongly typed custom configuration instance.

By "a strongly typed custom configuration instance" do you mean a custom case class, or one of those Scala wrappers of Config?

By "a strongly typed custom configuration instance" do you mean a custom case class, or one of those Scala wrappers of Config?

A custom case class.

How about mapping the settings to something like:
case class LagomAkkaDiscoveryConfigDefaults(portName: Option[String],
                                            portProtocol: Option[String],
                                            scheme: Option[String])

case class ServiceNameMapping(lookup: Option[String],
                              scheme: Option[String])

case class LagomAkkaDiscoveryConfig(defaults: LagomAkkaDiscoveryConfigDefaults,
                                    serviceNameMappings: Map[String, ServiceNameMapping],
                                    lookupTimeout: Duration)

(just a proposal, we should not use case classes because of the bin compat issues)
Then:
- private[lagom] class ServiceNameMapper(config: Config) {
+ private[lagom] class ServiceNameMapper(config: LagomAkkaDiscoveryConfig) {

- private[lagom] class AkkaDiscoveryHelper(config: Config, serviceDiscovery: ServiceDiscovery)(
+ private[lagom] class AkkaDiscoveryHelper(config: LagomAkkaDiscoveryConfig, serviceDiscovery: ServiceDiscovery)(

etc...
Most of the complexity in ServiceMapper would move away from that class into a separate Config loading function.


Add BlazorIntersectionObserver to Individual Component API

Individual Component API addition

Added BlazorIntersectionObserver to the readme.

Thanks. Released in https://github.com/AdrienTorris/awesome-blazor/releases/tag/v2020.W50

@AdrienTorris I see this in the release you linked to, but I don't see it on the readme, so I'm going ahead and merging this. Do you auto generate the releases from the commits on a weekly basis? Or are the release manually created?


removed libc from Cargo.toml as it was not used at all

I added this at some point when updating wasmer, as we were still pinned to an older libc version that was not compatible with the latest wasmer changes (needed latest point release for some extra features). But yeah, now that it is in Cargo.lock, this should be unnecessary


⚠ GitHub has degraded performance

In f73f782, GitHub (https://www.githubstatus.com/api/v2/status.json) experienced degraded performance:

HTTP code: 200
Response time: 326 ms

Resolved: GitHub performance has improved in dc0d80d.


The webpage content seems to be a notice asking users to enable JavaScript and disable ad blockers.

Hello,
Everything is ok.Only has one problem "The webpage content seems to be a notice asking users to enable JavaScript and disable ad blockers." Seems the crawler can't support JavaScirpt and it's disabled to Scraped.How to solve it?
Kindly regards
James

Can you send the website you are trying to scrape and the prompt, so I can replicate the issue?

I tried to  scrape multi-Page https://www.idealista.com/en/alquiler-viviendas/valencia-provincia/pagina-{page}.htm 2-165
I used llama3.1:8b.
Then I asked "What are the prices below 800 euros?"
It replied as follows:
[ { "Price": "N/A", "Address": "N/A", "Description": "N/A" } ]
However, I couldn't find any relevant information about apartments or houses with prices lower than 800 euros. The webpage content seems to be a notice asking users to enable JavaScript and disable ad blockers.
If you'd like to know more about the data on this webpage, here are some points:
The data type is: webpage content
The data source is: idealista.com
The data fields that could be extracted are:
Price (if available)
Address (if available)
Description (if available)
However, without more information about the apartments or houses on this website, it's difficult to provide meaningful data.
If you have any further questions or would like to extract data from a different webpage, feel free to ask!

user avatar
https://www.idealista.com/en/alquiler-viviendas/valencia-provincia/pagina-2.htm
assistant avatar
I've fetched and preprocessed the content from https://www.idealista.com/en/alquiler-viviendas/valencia-provincia/pagina-2.htm. What would you like to know about it?
user avatar
show me the data what you get?
assistant avatar
I'm ready to assist.
However, I don't see any preprocessed webpage content provided. Please provide the content for me to work with.
Once I have the content, I'll extract the relevant information and present it in a JSON array of objects as requested.

Okay, so I managed to fix the JavaScript issue. It was my fault. I added another feature for websites that have CAPTCHAs. You can use the URL here -captcha and add "captcha" at the end. The browser window will pop up. Complete the CAPTCHA, and the bot will do the rest. However, the website you gave me is using some kind of security measure that I intend to look into in a few days.
Atm you can clone the new version of the bot. To test the new features.


HELP shows ARGS section with all args hidden

app.arg(Arg::with_name("dummy").possible_value("some val").required(false).hidden(true));
Results in
USAGE:
    app [dummy] [SUBCOMMAND]

FLAGS:
    ...

ARGS:
   { EMPTY }

SUBCOMMANDS:
   ...

Additional comments:
If possible_value is used, USAGE ought to display the possible value instead of arg name?
Rust Version
N/A
Affected Version of clap
2.20.5

Thanks for reporting, this should be an easy fix!


Installing with pnpm shows issues with package.json

###
### The "request" library is not installed automatically anymore.
### But is a dependency of "request-promise".
### Please install it with:
### npm install request --save
###

/Users/tyler.thrailkill/.node/pnpm-global/2/node_modules/.registry.npmjs.org/request-promise/4.2.4/node_modules/request-promise/lib/rp.js:23
    throw err;
    ^

Error: Cannot find module 'request'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:603:15)
    at Function.Module._load (internal/modules/cjs/loader.js:529:25)
    at Module.require (internal/modules/cjs/loader.js:657:17)
    at require (internal/modules/cjs/helpers.js:20:18)
    at /Users/tyler.thrailkill/.node/pnpm-global/2/node_modules/.registry.npmjs.org/request-promise/4.2.4/node_modules/request-promise/lib/rp.js:11:16
    at module.exports (/Users/tyler.thrailkill/.node/pnpm-global/2/node_modules/.registry.npmjs.org/stealthy-require/1.1.1/node_modules/stealthy-require/lib/index.js:62:23)
    at Object.<anonymous> (/Users/tyler.thrailkill/.node/pnpm-global/2/node_modules/.registry.npmjs.org/request-promise/4.2.4/node_modules/request-promise/lib/rp.js:10:19)
    at Module._compile (internal/modules/cjs/loader.js:721:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:732:10)
    at Module.load (internal/modules/cjs/loader.js:620:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:560:12)
    at Function.Module._load (internal/modules/cjs/loader.js:552:3)
    at Module.require (internal/modules/cjs/loader.js:657:17)
    at require (internal/modules/cjs/helpers.js:20:18)
    at Object.<anonymous> (/Users/tyler.thrailkill/.node/pnpm-global/2/node_modules/.registry.npmjs.org/jira-cl/1.2.1/node_modules/jira-cl/lib/jira.js:43:23)
    at Module._compile (internal/modules/cjs/loader.js:721:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:732:10)
    at Module.load (internal/modules/cjs/loader.js:620:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:560:12)
    at Function.Module._load (internal/modules/cjs/loader.js:552:3)
    at Module.require (internal/modules/cjs/loader.js:657:17)
    at require (internal/modules/cjs/helpers.js:20:18)

It appears that the request library needs to be added to package.json.

I already included the request module in package and pushed a new version, can you please try installing again and tell me if it works for you? thanks!

@miguelmich 	hmm. I still get the same error. I might be misunderstanding why this is happening then... Maybe pnpm requires something else?

Yeah, can you please tell me what node and pnpm version do you have? I'll try to replicate your env with Docker

➜ node -v
v11.7.0

/ 
➜ pnpm -v
3.4.1

These are both brand new installs. I did all of this today.

@miguelmich 	I completely uninstalled all traces of node, npm, yarn, and pnpm and reinstalled just yarn and pnpm and jira-cli works 100% correctly now! Sorry for leading you astray. I am having other issues, but the tool isn't throwing those errors anymore.

I'm glad to hear that! :)


[Bug Report] Datepicker doesn't open on "Tab" focus

Element UI version
1.2.9
OS/Browsers version
Mac OS Sierra Safari  10.0.3
Vue version
2.2.6
What is Expected?
I expect Datepicker opens when I do a focus triggered by a TAB
What is actually happening?
Datepicker doesnt open

Bug reports with no reproduction link will be closed directly.


update androids

update android devices to v 5 6 7

Staying up-to-date with the rapidly evolving mobile phone market is outside the scope of the tutorial :smiley:


[release-v1.5] Preserve webhook namespaceSelector.matchLabels

Cherry-pick of https://github.com/knative/pkg/pull/2605/files
Signed-off-by: Pierangelo Di Pilato<EMAIL_ADDRESS>

/cherry-pick release-v1.4

/cc @aliok

/lgtm
/approve

I see https://github.com/knative/pkg/pull/2605/files is not merged yet but we're good midstream.

/retest

/retest

/retest


ROCm will work on AMD R9 m375 GPU?

As the title says I want to know whether the tool will work or not as I need to download linux for it and bunch of other stuff that should be soon or find another alternative because my time limitation.
And yes I checked the supported GPUs page but I couldn't find it there neither in the supported nor in the not supported section

R9 m375 is old and is not supported in ROCm. ROCm supports Polaris and newer which means Radeon RX or Vega.
See https://github.com/RadeonOpenCompute/ROCm#supported-gpus

@briansp2020 Thanks for your reply. Ok do you know any other alternative to HIP? as I need it to execute and run CUDA code on my GPU, gpuocelot will do the trick or do you know others? and yea I can't afford buying a new laptop for the sake of executing CUDA code.

@briansp2020 is correct. The R9 M375 is neither supported nor enabled in ROCm. This is a "GCN 1.0" GPU (also known as Southern Islands, of gfx6). gfx6 GPUs are not supported in ROCm, as described on our more detailed hardware requirements page. If you need this GPU to run OpenCL, you could try the amdgpu-pro drivers.
I can't give you any official recommendations for how to run CUDA applications on this device. You could try academic translation frameworks, such as SnuCL-Tr, CU2CL, or Swan. I can't guarantee that any of these applications will do what you want, and AMD does not offer support for these applications.


Prepare for v0.20.0

Following v0.19.0 release, let's prepare for next one :)
(this PR also removes a timeout parameter that should have been removed from list_repo_files in 0.17... :smile:)

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.

Nice, very little changes this time :)

Yes! Good sign that it's getting more and more stable :)


Add period for rate limiter middleware

What does this PR do?

We're getting some user feedback that they would like to be able to specify a
rate limit lower than 1 request per second. One possibility would have been to
change the "average" field to a float (e.g. 6 requests / minute would have been
average=0.1). However, that would break the configuration (among other things)
as TOML will not decode a value that looks like an int (no decimal point
specified) into a Go float64.
Therefore, this PR (re-)introduces the notion of a period, that allows one to
(optionally) specify the duration for which the given average applies. The
default value for the period is 1 second, which means if no period is specified,
the meaning of the average does not change compared with before this change (it
is still in requests/s).
Motivation

Fixes #5918
More

[x] Added/updated tests
[x] Added/updated documentation

Additional Notes

yay I deleted my branch while doing some cleanup


feat: improve transaction history

Changes description

Transaction history improvement
Transaction history page

Preview
user can see their transaction history

A few smaller ui update suggestions:

Darken the title, make it larger, and make it bold

Make the first character of "today" and "yesterday" uppercase

Space is missing for "DeleteAccount" action


Updated validations.py python script

Updated validations.py python script.
Fixed behavior of validate_user function in validations.py.

Used regular expression function match to match the first position of the name.
If it is a letter flips the boolean result from True to False or False to True.
This is done to check if the username starts without a letter.
@marga-google
Fixes #<issue_number_goes_here>

It's a good idea to open an issue first for discussion.

[ ] Tests pass
[ ] Appropriate changes to README are included in PR

@googlebot I signed it!


Update vue-faq-accordion.vue

fixed

"initialQuestionIndex = 0" was not working

https://github.com/gerasimvol/vue-faq-accordion/commit/0c65cb0944d1f1cade35df79ae57268e33bcab6c#diff-92fc9ea4ed0bb33b71444056c417f260


Use xcrun-rs for iOS SDK detection.

Use the xcrun crate for detecting the iOS SDK.

Thanks for the PR! Could you elaborate a bit on the rationale for this change though? I see that the crate was created a few hours before this PR, so I'm not sure what there is to gain by using this as a dependency vs what's there today

I ended up making the crate because I thought it'd be useful for my project (Crabapple) and remembered that this crate also used xcrun.
I simply thought it'd lead to neater code, and could be used for other iOS/macOS related stuff in the future (such as automatically finding the tools such as clang that are included with the SDK)

Ah ok, in that case I think I'd prefer to leave this as-is for now. If the need arises I think it may make sense to look into an external crate but for now this is simple enough I think it's ok to have inline.

Understandable.


modulesync 5.3.0

Looks like the stubbing needs to be rewritten to rspec-mocks.

Spec tests are working but I'm not sure how to get the acceptance tests to work

Spec tests are working but I'm not sure how to get the acceptance tests to work

Let's give it a try: I adjusted .sync.yaml to manage spec/spec_helper_acceptance.rb (its unmanaged by default) and re-run msync update on the repo to update it. I also removed the spec/acceptance/nodesets directory I believe is useless now (because we run acceptance tests on all supported OS in metadata.json we can run CI with).

Awesome! CentOS 6 failure was expected (EOL).  Can be removed in another PR along with Debian 8 and 9 which are also EOL. Debian 10 and 11 could alse be added because these are the current supported versions.

thank you all for the awesome work!


Rename Camera2D's smoothing to follow_smoothing

If https://github.com/godotengine/godot/pull/65776 is merged (it's been approved a while ago), it would make sense to, albeit very hastily and last minute, as beta is right here, to rename these ones. Even if not, the setter and getters of these properties were already confusingly named, for some mysterious reason.
I can only speculate that smoothing_enabled did not exist at some point, only  smoothing did. That would still leave the associated methods to call it follow_smoothing. Make it consistent!
For Camera2D:

smoothing_enabled ->  follow_smoothing_enabled
set_enable_follow_smoothing -> set_follow_smoothing_enabled
(is_follow_smoothing_enabled is conveniently unchanged)
smoothing_speed -> follow_smoothing_speed
set_follow_smoothing -> set_follow_smoothing_speed
get_follow_smoothing -> get_follow_smoothing_speed

@groud suggested using position_smoothing instead. No strong opinion either way myself.

Thanks!


Consufing terminology: syntax and format

The document uses the terms syntax and format in what I think is a confusing manner. It says:
> The syntax depends on the data provider
and then
> The format of a connection string is a semicolon-delimited list of key/value parameter pairs
I propose to:

avoid the term format altogether to prevent its confusion with syntax because the distinction is not obvious.

say that all connection strings share the same syntax, and

say that it is only the set of recognised keys (or keywords) that is specific to each provider.

I am willing to prepare a pull request with these modifications after issue #7628 is solved, to avoid a possible merging conflict.

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

ID: 0c0ea979-365a-bfce-31ed-638781065bca
Version Independent ID: 3672ed45-e05f-a292-16a0-9779254492be
Content: Connection Strings in ADO.NET
Content Source: docs/framework/data/adonet/connection-strings.md
Product: dotnet-framework
GitHub Login: @douglaslMS
Microsoft Alias: douglasl

@douglaslMS Can you comment on this proposal to update this article?

Thanks for submitting this @ant-222
I'd like others to answer if this is the right direction for this article.

Let us hear others' opinions. For my part, the issue was prompted by a grave misunderstanding on the part of an employee of a large company that has its own RDBMS with an ADO.NET provider. He used this line:

Valid connection string syntax depends on the provider

as an argument for not complying with the general escaping requirements and forcing the user manually to escape schema names with a full stop in them, e.g.:
Schema="My.Schema";

instead of the correct
Schema=My.Schema;

He would have been able to defend his incorrect opinion with clearer documentation.

@ant-222 cc @BillWagner I've verified your input about escaping with an ADO.NET subject matter expert. Can you do us the favor of preparing a pull request to capture your learnings? Thank you.

@ant-222 Excuse me, I was confused while looking at the several related issues and PRs that you've created. Yes, please create a PR for the changes that you recommend in this issue.
cc @BillWagner

@douglaslMS OK, just give me some time, for I am very busy on workdays.

Can you please tell me how to add proper references to:
a. DbConnection.ConnectionString and
b. DbConnection.Open() ?
I have tried to find their Markdown sources but failed.

You can use this syntax:
xref:UID
xref:UID?displayProperty=nameWithType
xamples:
xref:System.String displays as String
xref:System.String?displayProperty=nameWithType displays as System.String

@douglaslMS does't seem to work for me. Maybe a shall surround these xref: elements with some Markdown syntax?

@douglaslMS I have made a commit but I still need help in fixing xrefs, whence no pull request yet.

@ant-222 the xref should look like this:
<xref:System.Data.Common.DbConnection.ConnectionString?displayProperty=nameWithType>

@mairaw I have copied your example into the Markdown source, but to no avail. See the last commit. Sorry for misunderstanding something obvious.

My usage of xref is correct. It is only the preview here on github that does not handle them.

@ant-222 That's probably right, GitHub doesn't know about some of the Markdown extensions that we use internally at Microsoft.


Runworker process hangs after AMQPConnectionError exception

My rabbitmq server is running on an AWS instance.  I have one remote runworker client, connecting over the internet. After some time there may be some brief interruption in internet service and the asgi thread raises  AMQPConnectionError.  I assume this kills its thread but the main runworker process does not detect that the connection was lost and appears to hang.  The client shows as disconnected from the rabbitmq server.
Without the ability to detect and reconnect after an intermittent internet outage I cannot move my software to production.  I'm stuck.
Heartbeats are generated by the runworker client at a 10 second interval.
Occasionally a ConnectionClosed exception is raised in the runworker process and it exits.  But other
times it hangs and never exits.
My configuration:
rabbitmq-server: 3.6.15
asgi-rabbitmq==0.5.3
asgiref==1.1.2
channels==1.1.8
pika==0.10.0

The thread death traceback:
Exception in thread Thread-1:
Traceback (most recent call last):
  File "/usr/lib/python2.7/threading.py", line 801, in __bootstrap_inner
    self.run()
  File "/sigma/apps/sigmalabs-daqadaptor/local/lib/python2.7/site-packages/asgi_rabbitmq/core.py", line 735, in run
    self.connection.run()
  File "/sigma/apps/sigmalabs-daqadaptor/local/lib/python2.7/site-packages/asgi_rabbitmq/core.py", line 627, in run
    self.connection.ioloop.start()
  File "/sigma/apps/sigmalabs-daqadaptor/local/lib/python2.7/site-packages/pika/adapters/select_connection.py", line 355, in start
    self.process_timeouts()
  File "/sigma/apps/sigmalabs-daqadaptor/local/lib/python2.7/site-packages/pika/adapters/select_connection.py", line 283, in process_timeouts
    timer['callback']()
  File "/sigma/apps/sigmalabs-daqadaptor/local/lib/python2.7/site-packages/pika/connection.py", line 756, in connect
    error)
  File "/sigma/apps/sigmalabs-daqadaptor/local/lib/python2.7/site-packages/pika/callback.py", line 60, in wrapper
    return function(*tuple(args), **kwargs)
  File "/sigma/apps/sigmalabs-daqadaptor/local/lib/python2.7/site-packages/pika/callback.py", line 92, in wrapper
    return function(*args, **kwargs)
  File "/sigma/apps/sigmalabs-daqadaptor/local/lib/python2.7/site-packages/pika/callback.py", line 236, in process
    callback(*args, **keywords)
  File "/sigma/apps/sigmalabs-daqadaptor/local/lib/python2.7/site-packages/pika/connection.py", line 1265, in _on_connection_error
    self.params.connection_attempts)
AMQPConnectionError: Connection to X.X.X.X:5672 failed: timeout

The connection parameters are set like:  heartbeat_interval=10&connection_attempts=10
http://pika.readthedocs.io/en/latest/modules/parameters.html#urlparameters
Perhaps could also increase the low level socket_timeout?


BasicAuthenticationSecretParser Decode of Secrets that have + signs breaks

I just updated from 2.1.1 to 2.1.3. After the update I kept getting invalid_client on then token endpoint. With the reason of Invalid client secret.
I tracked this down to a change in 2.1.2 that added the Decode method to the BasicAuthenticationSecretParser on the secret.
https://github.com/IdentityServer/IdentityServer4/blob/bfd7031bdc1b950db12859d0597fec1f05cede60/src/IdentityServer4/Validation/BasicAuthenticationSecretParser.cs#L109
While adding this decoding of the Uri value meets RFC6749, it breaks any existing client secrets that have a + sign in them. Which is what is happening in the case of the secret that I am using.
Is there a standard for generating secrets that I should be using, so there isn't a breaking change to my secrets getting parsed in the future?

What happens if you encode your client secret before you send it?
The decode message replaces all unencoded plus signs with encoded spaces, changing the character it ends up as when the decode runs.

Right, so I saw that the TokenClient in the IdentityModel has been updated to have this encoding. So if I go update all the dependent applications to the latest version of IdentityModel, that adds this encoding, things start working again.
I also just found https://github.com/IdentityServer/IdentityServer4/issues/2086, which describes this issue as well. Closing


Co-log experiment

Alright - so this is an experiment to tackle #51. I wanted to dive into the magic world of monads and monad transformers - and logging seems to be one common problem solved with these mighty tools.
I used co-log and an (I think) pretty simple setup. This is not a full implementation, but just a proof of concept. It compiles, though.
The core part is this, which now lives in Poseidon.Utils:
type PoseidonLogIO = LoggerT Message IO

usePoseidonLogger :: PoseidonLogIO a -> IO a
usePoseidonLogger = usingLoggerT logAction
    where
        logAction :: LogAction IO Message
        logAction = cmap formatLogMessage logTextStdout
        formatLogMessage :: Message -> Text
        formatLogMessage me = showSeverity (msgSeverity me) <> msgText me

If a function yields any (log) messages then it should return not IO (), but PoseidonLogIO (). Then one can use all of these nice log message producing functions like logWarning, logInfo etc. in it. LoggerT is an instance of MonadIO, so one can still run IO actions within these functions - unfortunately always with this ugly liftIO, but I understood that many Haskellers are willing to accept that.
In this proof of concept validate yields the following output:

This looks neat and is a lot more easy to read. It would be easy to add more magic here: e.g. timestamps for each log message.
Let me know what you think! Is this too complicated? Or not complicated enough, so e.g. not general or future-proof enough?

Hmm, OK, I have to think about this. But basically this means that every IO action that needs logging needs to be augmented to live in the new Monad Stack. I'm not sure whether that is necessarily better than just logging directly from IO, which I think requires less of a change. But I need to read that blog post on co-log to understand its advantages.

OK... I went through the code an I'm actually very impressed. This looks pretty advanced and cool stuff! I tried to read through the blog post you've mentioned in #51 and found that my intellectual capabilities were inadequate... although the fact that I read it 11pm at night before going to bed might have contributed to my confusion. I will definitely now go through this again and try to get a hang of it. I like to understand better what the advantages are over the - arguably much simpler - hslogger within IO. But I'm definitely supportive of a more advanced technology here...

I think I'm sold, in principle, but perhaps still good to talk in person what exactly that change would entail for the rest of the code-base

Codecov Report

Merging #173 (bf216b2) into master (596e1c6) will increase coverage by 0.05%.
The diff coverage is 77.27%.

@@            Coverage Diff             @@
##           master     #173      +/-   ##
==========================================
+ Coverage   70.09%   70.15%   +0.05%
==========================================
  Files          18       18
  Lines        2070     2074       +4
  Branches      155      155
==========================================
+ Hits         1451     1455       +4
  Misses        464      464
  Partials      155      155

Impacted Files
Coverage Δ

src/Poseidon/CLI/Validate.hs
54.54% <40.00%> (ø)

src/Poseidon/CLI/Forge.hs
69.29% <70.37%> (+0.24%)
:arrow_up:

src/Poseidon/CLI/Fetch.hs
62.30% <71.42%> (-0.29%)
:arrow_down:

src/Poseidon/CLI/Genoconvert.hs
74.19% <71.42%> (+0.42%)
:arrow_up:

src/Poseidon/Package.hs
78.00% <77.27%> (ø)

src/Poseidon/CLI/List.hs
45.52% <77.77%> (ø)

src/Poseidon/CLI/Update.hs
71.13% <87.50%> (ø)

src/Poseidon/CLI/Init.hs
80.64% <93.75%> (ø)

src/Poseidon/CLI/Summarise.hs
66.66% <100.00%> (ø)

src/Poseidon/CLI/Survey.hs
90.32% <100.00%> (ø)

... and 1 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 596e1c6...bf216b2. Read the comment docs.

I think this could (!) work like this. The colog logging is now implemented for all the subcommands of trident. I did not touch the web server, because I guess you would want to use the opportunity to write an own logging action that writes to a nice log file, @stschiff. simpleLog and tridentDefaultLog are probably not suitable for a server.

My biggest struggle is, that we "log" warnings extremely deep in getConsensusSnpEntry, whose logging behavior can not easily be controlled from the top layer. Right now it's hardcoded:
https://github.com/poseidon-framework/poseidon-hs/blob/27c21bcae8db60d1a3a7539a5a6dde73ce920e7b/src/Poseidon/GenotypeData.hs#L186-L187
I see three options to solve this:

Solve it properly with a monad stack compatible with PoseidonLogIO, that goes to the very depths of poseidon-hs. All my efforts to do that have been in vain. An extremely frustrating experience, although valuable for didactic reasons. I'm sure you could pull that off, @stschiff, but I'm not sure if we even want that.
Pass the LogModus down, just as we pass the Boolean for Print Warning: yes/no. That's a bit ugly, but clear and simple.
Pass the warnings up and write them out there, where proper logging is available and easy. I don't know exactly how this should be done, but I think it's the cleanest solution. So far down in the program nothing should write to the command line.

I decided to solve this issue now pragmatically with a mixture of 2 and 3. Curious, what you say, @stschiff.
I will use this build in the next couple of days, to find things I might have missed. You could start thinking about how you want to use this for the server. Ready for Review!

ToDo from my own observations:

NoLog should also turn off the progress indicators
SimpleLog should feature a "manual" newline after the progress indicators


Adds new version of HassClient to core project

Breaking change

Proposed change

Adds a redesigned HassClient to the core project. This will make it easier to maintain since it is optimized for design using DI.
Other PR:s will add a new AppModel and change HassModel to use this version instead.
Type of change

[ ] Dependency upgrade
[ ] Bugfix (non-breaking change which fixes an issue)
[x] New feature (which adds functionality to an existing integration)
[ ] Breaking change (fix/feature causing existing functionality to break)
[x] Code quality improvements to existing code or addition of tests

Additional information

This PR fixes or closes issue: fixes #
This PR is related to issue:
Link to documentation pull request:

Checklist

[x] The code change is tested and works locally.
[x] Local tests pass. Your PR cannot be merged unless tests pass
[x] There is no commented out code in this PR.
[x ] I have followed the [development checklist][dev-checklist]
[x] The code compiles without warnings (code quality chek)
[x] Tests have been added to verify that the new code works.

If user exposed functionality or configuration variables are added/changed:

[ ] Documentation added/updated for www.home-assistant.io

Codecov Report

Merging #544 (13d357c) into dev (420f5d9) will increase coverage by 1.98%.
The diff coverage is 88.72%.

@@            Coverage Diff             @@
##              dev     #544      +/-   ##
==========================================
+ Coverage   60.02%   62.00%   +1.98%
==========================================
  Files         142      179      +37
  Lines        5946     6638     +692
  Branches      863      926      +63
==========================================
+ Hits         3569     4116     +547
- Misses       2080     2194     +114
- Partials      297      328      +31

Flag
Coverage Δ

unittests
62.00% <88.72%> (+1.98%)
:arrow_up:

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

Impacted Files
Coverage Δ

...HassClient/Common/HomeAssistant/Model/HassState.cs
66.66% <66.66%> (ø)

...ssClient/Internal/Json/HassDeviceModelConverter.cs
66.66% <66.66%> (ø)

...etDaemon.HassClient/Internal/Helpers/HttpHelper.cs
68.42% <68.42%> (ø)

.../Internal/Net/WebSocketTransportPipelineFactory.cs
75.00% <75.00%> (ø)

...mon.HassClient/Internal/Net/WebSocketClientImpl.cs
75.86% <75.86%> (ø)

...on/HomeAssistant/Extensions/HassEventExtensions.cs
80.00% <80.00%> (ø)

...n.HassClient/Internal/Extensions/JsonExtensions.cs
84.61% <84.61%> (ø)

...tDaemon.HassClient/Internal/HomeAssistantClient.cs
85.24% <85.24%> (ø)

...mon.HassClient/Internal/HomeAssistantApiManager.cs
85.71% <85.71%> (ø)

...mon.HassClient/Internal/HomeAssistantConnection.cs
86.81% <86.81%> (ø)

... and 31 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 420f5d9...13d357c. Read the comment docs.


Memory Allocation Performance

Hello!
I recently implemented the Llama 3.1 model logic with TorchSharp. It works, and I was able to load pretrained bf16 weights using TorchSharp.PyBridge. However, I found that it takes on the order of 60 seconds to instantiate the model on my development machine. By instantiate I just mean create an instance of the model class, which just entails all of the object and tensor allocations, but does not include the IO time to read model weights from disk (which is actually really fast with my SSD). Note that these tensor allocations are happening on the CPU device, I only transfer to my GPU after I've loaded the model weights. I observed the same behavior on Linux and Windows, and I determined that it was TorchSharp specific, because the (roughly) equivalent PyTorch code is able to instantiate much faster.
I profiled my program on Windows to get an idea of what's taking so long, and it appears the process is spending almost all of its time in the kernel:

I haven't dug into this further, but my hunch is that a ton of small allocations are being performed. I remember reading somewhere (I think it was in the PyTorch docs) about how PyTorch caches memory, and uses the cache to respond to allocation requests from user code. Model instantiation performance isn't huge problem for me, because I just need to instantiate the model in lifetime of my application, but it would be nice to reach performance parity with python.
Would it be possible to implement a similar allocation system in TorchSharp, and avoid the problem of context switching into the OS for lots of small allocations? By "possible" I just mean technically possible, I'm not looking for a commitment.
Finally, if it is possible what would be the right way to go about it?

Hmmm.
I thought the pre-allocation was done by libtorch (it certainly is on the CUDA side of things), which would benefit both TorchSharp and PyTorch.
I wonder if it has anything to do with the .NET JIT -- first time hitting certain code paths, etc. Still, 60s is a lot of time.
Can you try warming it up and measuring a second (full) creation of the model, see if that takes as much time?

Interestingly, it takes nearly the same amount of time to instantiate the model a second time. Both instantiations take about 46 seconds. I ran the test a couple times, and the run to run variance was on the order of one second.
I don't think the JIT is the culprit, because that code runs in userspace, but the profile shows that nearly all of the time is spent in kernelspace.

Good point, I didn't consider that it was kernel mode time, even though you said so.
Second WAG:
I wonder if has anything to do with the fact that .NET doesn't have native support for b16, so there has to be some conversion of weights done at runtime.

Yeah, the kernel isn't responsible for doing type conversions. It just gives bytes to your process, it's up to the process to handle them appropriately.
I did rerun my test using ScalarTypes Float16 and Float32. The Float16 test was similar to the Bfloat16 test, with 48 then 45 seconds to instantiate. Interestingly, the Float32 test results were 43 then 44 seconds to instantiate. What's interesting about this is that the time did not scale with the amount of memory allocated, which makes sense if the number of allocations is the bottleneck. This suggests that an in process cache would speed things up.
I feel I should provide a little more justification for why this is worth anyone's time, because just beating Python may not motivate everyone. The main reason I want this is so I can run my unit tests faster. The model instantiation latency creates a lower bound on the amount of time it takes to run any test that requires the model. So if I want to test a token sampler, or reinforcement learning environment, I must wait at least 45 seconds every time, which gets old when I'm running such tests on the order of 50 times a day.
Another use case this would benefit is CLI applications. Because these apps run interactively, the user feels the latency imposed by model instantiations. Improving this performance could make AI powered CLI tools written with TorchSharp viable.


PersonDirectory - AddPersonFaceAsync

Hi there,
With AddPersonFaceAsync on PersonDirectory api in Congnitive - Face , how to specify the image URL in the request?
It seems that parameter is missing from the method.
Please advice, Thanks.

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

ID: e9832084-3267-7d19-1fad-e99162c3187e
Version Independent ID: 7e5b72f9-03ef-eddc-655f-5f26b4db5164
Content: PersonDirectoryExtensions.AddPersonFaceAsync(IPersonDirectory, String, String, String, String, String, CancellationToken) Method (Microsoft.Azure.CognitiveServices.Vision.Face) - Azure for .NET Developers
Content Source: xml/Microsoft.Azure.CognitiveServices.Vision.Face/PersonDirectoryExtensions.xml
Service: cognitive-services
GitHub Login: @rloutlaw
Microsoft Alias: routlaw

Hey folks, any update on this one?


[WebExt] General API docs tasks, Fx 70

Trello: https://trello.com/c/hNQnoIAW/114-general-api-enhancements-fx-70
Acceptance criteria

[x] Extend the top sites API to optionally return TopSitesFeed sites for small history

[x] URLs with ports should either be rejected as "matches" patterns, or be matched properly (pretty small update to our Match patterns docs)

For Bugzilla 1362809, I added the following note in the path section of Match patterns in extension manifests:
Note: The path pattern string should not include a port number. Adding a port, as in: "http://localhost:1234/" causes the match pattern to be ignored. However, "http://localhost:1234" will match with "http://localhost/"
Please let me know if I misinterpreted the comments above. Thanks!

Added the following to :
newtab Optional
Boolean. If included, the method returns the list of pages returned when the user opens a new tab. If included, and set to true, the method ignores all other parameters except limit and includeFavicon. Defaults to false.
And this paragraph to the release notes:
Added a new parameter to the topSites.get() method that causes the method to return the list of pages that appear when the user opens a new tab (bug 1568617).


fixed youtube search+playback

I tried to fix the youtube search function, it kind of works.
I can search for videos, but I can't click on channel listings or it'll break.
Also, I can't exit out of videos.
Here's a few screenshots:

The screenshot of the channel listing being broken ⬇

Hi! The YouTube app is in an indev state — and it's currently best used thru casting to Cherry Tree via your phone instead of directly searching in the system.You can use the Backspace key to exit out of a video, but this closes the app.


Remove testSelectFromTableWithMap from ZetaSQLDialectSpecTest

Although table with a map field is supported by SchemaBaseBeamTable, ZetaSQL does not have a map type.
r: @apilloud
cc: @kennknowles @amaliujia
Post-Commit Tests Status (on master branch)

Lang
SDK
Apex
Dataflow
Flink
Gearpump
Samza
Spark

Go

---
---

---
---

Java

Python

---

---
---

XLang
---
---
---

---
---
---

Pre-Commit Tests Status (on master branch)

---
Java
Python
Go
Website

Non-portable

Portable
---

---
---

See .test-infra/jenkins/README for trigger phrase, status and link of all Jenkins jobs.

This test is still useful as it is testing what will happen when reading from a table that has unsupported type (aka. MAP). Current expected result is the map column will be skipped.

Interesting point. It may add convenience to Beam SQL to be able to process rows that include unsupported types. Because Beam schemas are not limited to a particular SQL dialect this will apply for SqlTransform for sure. I'm not sure what the right answer is. This is a good question for the dev@ list. Options seem to be (1) error (2) error only if the user tries to "touch" the column otherwise it doesn't matter. The test should be named and commented to be about this, not about map.

Created JIRA to track this: https://issues.apache.org/jira/browse/BEAM-8593

The test should be named and commented to be about this, not about map.

Agree.


Steps are pretty confusing. Would love a Docker-focused section too...

I'm assuming the best path for dockerized apps in Azure is to do something like this...

Set up some pipeline variables for <YOUR WORKSPACE ID> and <YOUR WORKSPACE PRIMARY KEY>

Add that wget command to the Dockerfile

Add that service_control restart(?) call to whatever script is getting called when starting the container (BTW, is there a start command? or just restart?)

Anyway, wanting to monitor Dockerized apps seems like a really common use case that could use some love...

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

ID: 73b603de-8e71-0cea-61f7-c831067501fa
Version Independent ID: 5bcac76e-9151-ece1-92ad-e114411a7868
Content: Configure Azure Log Analytics Agent for Hybrid Linux Computer
Content Source: articles/azure-monitor/learn/quick-collect-linux-computer.md
Service: log-analytics
GitHub Login: @MGoedtel
Microsoft Alias: magoedte

@mattyweb Thanks for your comment. The feedback has been shared with the content owner for further review. Thanks for your patience.

@mattyweb - Answered similar question on the other GitHub issue you opened - https://github.com/MicrosoftDocs/azure-docs/issues/31847. I'm going to bug this article and add a note/reference to the overview doc for the agent to avoid further confusion.  #please-close


Minor corrections in dfs_edge_neighbors pseudocode

Minor corrections in dfs_edge_neighbors pseudocode:

mention neighbors instead of edges
add missing label v as discovered

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.02%) to 98.488%

Totals

Change from base Build<PHONE_NUMBER>:
-0.02%

Covered Lines:
10941

Relevant Lines:
11109

💛  - Coveralls


Failure Cannot read property 'io.portainer.kubernetes.stack' of undefined

Question:
I deployed Portainer on Digital ocean and everything looks right except when selecting the dashboard I get
Failure Cannot read property 'io.portainer.kubernetes.stack' of undefined
Not finding much in the docs, but understandably since it's new, so what can I change add or do to resolve the error?
Cheers and GREAT JOB on this!!

Hi @tickers
I believe you are using our Kubernetes build, this image is only a development version at the moment and is not updated yet.
A release is planned at the end of the month though, we'll put a release notification in #1637 as soon as this is available.

Feel free to ping me directly on slack and I'll be able to share an updated version with you if you want to.

Sounds great! Need to find the SLACK info so I can locate you.

You can get a slack invite via the https://www.portainer.io/ website (top-right support menu, slack).


Seeing memory leak under normal usage.

Hi, we're using image proxy in a docker container, running on our on-premise Kubernetes environment.
When trying it out in a load test for the same image, we see memory use going up, and then our system killing the process eventually when it takes up too much memory. This happens very quickly when we have somewhat of a reasonable load on it. Our docker image is practically the same as https://hub.docker.com/r/willnorris/imageproxy/~/dockerfile/ except that we start it with a domain whitelist. Our configuration with which it is started is CMD /go/bin/imageproxy -addr <IP_ADDRESS>:80 -whitelist (... list of our domains )
We simply GET /400x,q80/https://cmgtcontent.ahold.com.kpnis.nl/cmgtcontent/media//001746500/000/001746560_001_superhero_BBQ_170523_(1).jpg. After about 20_000 requests the docker instance reaches its memory limit, after which it is killed.
Under no usage, it stays at its normal ~30 MB.

Interesting.  And just to ask a dumb question which you sort of already answered, but I'll ask anyway... you're not using the in-memory cache right?  (by passing -cache memory) 😄

We didn't pass any additional caching options, Memory is default right? Anyway, we're only pulling the same image with the same parameters, I'd expect the in-memory cache to fill up if I were requesting many different images, but this is just the same image over and over.

Hi,
we faced the same problem. Although we tried three different cache providers it did not worked well for us and it was killing the machine. We tried in-memory, S3 and file cache. We did some tests and even for one single link with same parameters we get (we think) somehow non-cached image and with each request the memory went higher and higher resulting in the proxy beeing killed requesting the same URL for approx 30 times in a row.
We saw the image was properly saved to cache (tested on S3 and file systems) but it was not loaded. For every reload of the image the image was resaved to cache.
After those tests, we configured nginx proxy cache, and the server went from beeing constantly overwhelmed and killed twice a day to almost zero utilization. Weird... :)

Memory is default right?

Default is no caching at all.
Based on @Shimmi's additional info, this definitely sounds like an issue.  I'll try to look into it.

okay, I'm pretty sure I've figured out what is going on here.  The short answer is that transformation was being performed on already cached images, resulting in a bunch of extra memory allocations and CPU usage.  A fix will be pushed shortly.
A slightly longer explanation is below.
HTTP Caching
First, some background which you probably already know.  There are two main ways of doing caching in HTTP.  The Expires and Cache-Control headers allow the server to specify the lifetime of a resource such that a client can continue to use a cached copy for a specified amount of time.  If the client already has the resource cached and it hasn't expired, then no additional round trips are needed at all to use the resource.
The Etag and Last-Modified headers allow a client that has a cached version of a resource to check with the server to see if a new version is available.  This always requires an additional round trip to the server, but assuming there have been no changes, the server can simply respond with a 304 status code, which instructs the client to use their cached copy.  There's no need to send the resource over the wire again.
httpcache
Imageproxy uses the gregjones/httpcache package to handle caching.  For connections between imageproxy and remote servers, httpcache takes care of everything for us, including both flavors of caching mentioned above.  It enforces all the right validation checks, sends etags to the server when needed, etc.  If the server responds with a 304, then httpcache will return its cached copy with a 200 status.  Unless you inspect the X-From-Cache header, there's no way to know if the response came from the cache or the remote server.
For "downstream" connections (those between the browser and imageproxy), we reuse the same caching headers as the upstream resource.  That is, we use the same values for Expires, Cache-Control, Etag, and Last-Modified.  For Expires and Cache-Control, this means that clients can just keep using their cached versions without talking to us again.  But for Etag and Last-Modified, we need to handle those requests and respond with a 304 status when appropriate.  Currently, this is happening here.
So, for a remote image (like this one) that serves an Etag and Last-Modified header but not an Expires or Cache-Control header, then the flow looks something like:

Check for transformed image in cache

found it in the cache, but it doesn't have an Expires or Cache-Control, so we need to check to see if the original image has been updated

Check for original (non-transformed) image in cache

found it in the cache, but it doesn't have an Expires or Cache-Control, so we need to check with the server to see if it's been updated

Refetch the remote image, including the etag and last-modified values in the request

remote image hasn't been updated (got a 304 response from remote server), so use the cached versions

Transform the image as requested
Check if the original request contained etag or last-modified data

one or both match, so we can return a 304 response

Steps 1-3 still need to happen to make sure the remote image hasn't changed, but steps 4 and 5 should be flipped.  That was just an oversight on my part when I originally implemented this and never noticed.  We were still returning a 304 response, so from the client's perspective everything looks fine.  But inside the server, we're doing a transformation in step 4 that isn't needed.
Anyway, like I said... fix will be pushed shortly.  I'll leave this bug open until you confirm that the new version seems to have fixed the problem for you.

oh, also meant to add that I was able to easily replicate imageproxy using hundreds of megs of memory when requesting the same cached image thousands of times (rakyll/hey is great for testing this by the way).  After the forthcoming fix, it stayed constant at 65mb even with 20,000 requests.

@willnorris Many thanks! That was fast :)
I've tested it and can confirm the memory consumption is OK for me.

Hitting F5 for the same URL image for 30x times resulted in high CPU load:

Also the file in file cache is beeing modified with every new request:

Behaviour, I would expect is if the source image or URL parameters does not change, the image proxy should simply take the image from the cache and do not touch it again. Not sure what causes this...

okay, I'm going to close this as having fixed the original reported problem, the memory leak.  Please open a new issue to focus on the high CPU load, and I'll try to investigate.
As for the cached file being rewritten, that will end up needing to be fixed in the httpcache package.    I'd suggest opening a bug there, and I'll try and take a look at what would be involved in fixing it.


Docs don't rendering react

I access the docs page, there is an error message saying this:
Error 1101 Ray ID: 4a877182db75baf2 • 2019-02-13 12:54:24 UTC
Rendering error
PrintScreen
https://i.imgur.com/dO4t97Z.png

The old docs have been deprecated. If you're looking for the v6 readme, plase go here: https://github.com/tannerlinsley/react-table/tree/v6


Rename ParentOrElse to ParentBased and generalize to support all cases

https://github.com/open-telemetry/opentelemetry-specification/pull/610

I would like to work on this, please assign to me

@shivkanya9146 do you have an update on this?

@legendecas is working on the parent sampled flag in the probability sampler and this issue is related.


Xcode building stick on AlamofireImage

Hello,
I have a problem with building/compiling my project, it sticks on building! I have updated cocopods, and everything, but I cannot build and run my project!. How can I fix this issue? Please check this image:
https://imgur.com/XJMxnBs
Alamofire Environment
AlamofireImage version:
3.5
Xcode version:
11.1
Swift version:
4.2
Platform(s) running AlamofireImage:
macOS version running Xcode:
10.15.2

It was a problem with SwiftSoup I fixed it with this Q/A on stackoverflow:
https://stackoverflow.com/questions/58001433/xcode-11-stuck-on-archiving


Problem with width

As many others I have a responsive design and therefor fluid widths. My problem is that ChartJS overscale that width. I have a flex column that is flex:3 of the screen and one that is flex:2. The flex 2 comes first, however ChartJS makes that column 100% width for some reason, I can't figure out what is going wrong with ChartJS.

Can you create a test fiddle with this in it?

I have tried but the chart is not showing up, I don't know what's wrong. My charts are bound into Vue components so I couldn't just copy paste, but the example should work so far I can see:
https://jsfiddle.net/h75zymqf/3/
Hopefully it gives an idea what I have made and maybe why it's failing.

I have tried to add as a window resize event
chart.destroy();

chart = new Chart(
    this.$el.getContext('2d'),
    {
        type: this.type,
        data: this.data,
        options: {
            legend: {
                position: 'bottom'
            }
        }
    }
);

But it doesn't help fixing that the graph takes up 100% width

Here's what I ended up doing to solve a similar issue. Wrap your chart creation script in a custom function that can be called on your resize event. This custom function should look like this:
<script>
    function makeADoughnut() {
        var ctxDoughnut = document.getElementById("myDoughnutChart");
        var myDoughnutChart = new Chart(ctxDoughnut, {
            type: 'doughnut',
            data: dataDoughnut,
            responsive: true,
            maintainAspectRatio: false,
        });
        myDoughnutChart.update()
    }

    function doughnutUpdate() {
        makeADoughnut()

    }

</script>

I would then call doughnutUpdate() when I want to update and resize chart.

Thanks, I have tried as you say, but nothing works:
drawLater() {
    this.chart.clear();
    this.chart.destroy();
    this.$els.chart.style.width = '0px'; // reference to the canvas

    if (this.timeoutHandle)
        window.clearTimeout(this.timeoutHandle);

    this.timeoutHandle = window.setTimeout(this.draw, 1000);
}

I'm on the edge to throw this (bugged) chart away and find something else, I haven't found a solution to this for 4 days now. It seems to be especially the Bar Chart that is broken somewhere in the core.

Okay I think I have nailed that part, now I have a problem that when I resize the container, they don't act responsive (not changing size). But as I say, the ChartJS are bugged in this part. I had to manually destroy it and remove left over junk they isn't removed when destroying.
redraw() {
    this.chart.destroy();
    this.$el.childNodes[0].nextSibling.removeAttribute('width');
    this.$el.childNodes[0].nextSibling.removeAttribute('height');
    this.$el.childNodes[0].nextSibling.removeAttribute('style');

    if (this.timeoutHandle)
        window.clearTimeout(this.timeoutHandle);

    this.timeoutHandle = window.setTimeout(this.draw, 250);
}

I am going to handle the div width by an observer pattern, that other components call and then my graph resets.
I'm closing this question. Thanks for the effort @Jaded-Design

@EmilMoe I only had a chance to look at this now. I got your fiddle working at https://jsfiddle.net/j5d99zfn/2/ but it looks like the CSS is not being correctly applied so I can't look into why it's not responsive inside the flex container

Thanks I will look into it and debug my CSS if you think I have errors there

I don't think there are errors necessarily, I just am not seeing any CSS applied to the items in the fiddle.