checkbox and radio button not displayed correctly in screenshots

Hey all,
Firstly, thank you for this project!  capybara-webkit is an excellent gem, a huge benefit to the community and has become an irreplaceable tool for this developer.
I have one "small" issue that I'm truly hoping would be a quick fix for someone familiar with this codebase:
checkboxes and radio buttons are not displayed correctly in screenshots.
When using page.save_screenshot('something.png') the pages all render correctly, except for checkboxes and radio buttons are displayed in the top-left corner.

I'm running:
capybara-webkit 1.7.1
capybara 2.4.1
minitest 5.8.3
minitest-capybara 0.7.2
minitest-rails-capybara 2.1.1
I compiled capybara-webkit on  Mac OS X Yosemite  10.10.5
gcc -v gives me:
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer//usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 7.0.2 (clang-700.1.81)
Target: x86_64-apple-darwin14.5.0
Thread model: posix

Any help or pointers for a fix would be much appreciated
Thank you capybara-webkit team!

What version of Qt did you compile capybara-WebKit with, and what css is positioning the checkboxes?

I'm glad to hear you're finding capybara-webkit so useful.
A few questions:

What versions of Qt/WebKit are you running on? (You can see these by running puts page.driver.version.)
Can you give an example of what your markup for that form looks like?
Do you have custom CSS on input elements that could affect positioning?
If you use the selenium driver, do the checkboxes and radios render as you'd expect?

I tried this out with a barebones form, and the elements are positioned like I'd expect.

    <form>

Test Form

          <input type="checkbox" id="input1">
          Checkbox inside label

        <input type="checkbox" id="input2">
        Checkbox outside label

        <input type="radio" name="group1" id="input3">

          Radio outside label

        <input type="radio" name="group1" id="input4">
        Radio outside label

          <input type="radio" name="group2" id="input5">
          Radio inside label

          <input type="radio" name="group2" id="input6">
          Radio inside label

    </form>

Here's what it looks like for me:

Thanks for the quick reply!
It's good to see that checkboxes/radio buttons are being displayed correctly on your machine.
I've run into this issue on multiple rails projects, so it's probably a machine-specific configuration issue.
Running page.driver.version gives me:
capybara: 2.4.1
capybara-webkit: 1.7.1
Qt: 5.4.1
WebKit: 538.1
QtWebKit: 5.4.1

I copied and pasted your form html (thank you!) onto an empty page with zero css.
It renders correctly for me when I run with the selenium-webdriver:

but I still have the same issue when calling page.save_screenshot using the capybara-webkit driver:

I'm hoping this is a QT issue?  Maybe I'm running a known-bad version? :)

There are generally known issues with Qt 4.x, but I haven't heard of this particular issue and I would expect Qt 5.4 to work correctly.
My versions are:
Capybara: 2.5.0
capybara-webkit: 1.7.1
Qt: 5.5.1
WebKit: 538.1
QtWebKit: 5.5.1

I'm on Linux, but I haven't encountered many Qt rendering bugs which are specific to a particular platform. I'm also on Qt 5.5 and Capybara 2.5.0. It seems very unlikely to be a Capybara bug. You could try updating Qt.

I'm going to close this, as it doesn't seem like a capybara-webkit bug, but I'm still watching the thread if you have further questions or ideas.

Seems like I'm encountering the exact same issue (all form elements positioned at the very top left edge).
I'm on Mac OS 10.10.5 and using:
Capybara: 2.5.0
capybara-webkit: 1.7.1
Qt: 5.5.1
WebKit: 538.1
QtWebKit: 5.5.1

Qt was installed and force-linked via Homebrew as described in the Wiki.
Anyone else experiencing this?

I am experiencing this too. I have Mac OS X 10.10.5 using:
Capybara: 2.6.2
capybara-webkit: 1.8.0
Qt: 5.5.0
WebKit: 538.1
QtWebKit: 5.5.0

Actually, I cannot see the checkboxes at all. For that reason, my tests fail. When I run selenium-webdriver everything seems to be ok.

For me all tests work correctly, even though the checkboxes are wrongly positioned (only using simple code like check "mycheckbox" and #has_checked_field?("mycheckbox"), though).

I'll try to do a local test soon using OS X 10.10.5. That seems to be the common element here.

I have the same issue on OSX 10.11. Your basic test case above shows up as below. I think it's a Qt problem:

Hello - out of interest, I fixed the problem in our code base (not related to this code base but using webkit) doing: setStyle(QStyleFactory::create("Fusion")); to the WebKit widget. Just in case this helps...

I can confirm the same fix on OSX (also not related to this code base) :)

Thanks for the info, @cpina and @kingcheez!
Can some of the users in this thread who have experienced this issue try out the branch from #908?

@jferris This totally fixes my issue!
I can see checkboxes and radio buttons again!  Thank you so much.
Confirmed working on:
Capybara: 2.7.0
capybara-webkit: 1.10.1
Qt: 5.5.1
WebKit: 538.1
QtWebKit: 5.5.1

This fix was released in 1.11.0.


Configure Chart icon

Towards https://github.com/giantswarm/giantswarm/issues/8676
Used same as in upstream Chart https://github.com/helm/charts/blob/master/stable/nginx-ingress/Chart.yaml#L7

Cleaned up giantswarm-test-catalog to keep just this latest build, logo gets displayed in catalog apps view:


for nsfw feature

Any idea how i can change all nsfw feature to premium only ??

Any idea how i can change all nsfw feature to premium only ??

Use isPremium


Merge kserve to main branch

What this PR does / why we need it:
This PR merges all the kserve rebranding work to main master branch!
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
Special notes for your reviewer:

Please confirm that if this PR changes any image versions, then that's the sole change this PR makes.

Release note:

/retest

/retest

/LGTM

/lgtm


[HW] ck.wong

Name: Wong Chun Kok
Email<EMAIL_ADDRESS>Linkedin Profile:
Attach the homework screenshots below for both step II and step III:
<SCREENSHOT

Wong Chun Kok
Thank you for your efforts, it is a pleasure for us to give you your well deserved BADGE at the following link

https://api.badgr.io/public/assertions/5aykS2yYRaSmTNlRJyQwQg

You can now brag about it on Twitter, Facebook or LinkedIn. It helps the workshops to be more visible and encourages us Advocates coming back every week with new content. Please make sure to use the hashtag #DatastaxDevWorkshops.
💚   🙏🏻    🙏🏽   🙏🏿
The Datastax Advocates Team (@DatastaxDevs)
#DatastaxDevWorkshops


bug: lazygit.lua assumes non-windows path separator

Did you check docs and existing issues?

[X] I have read all the LazyVim docs
[X] I have searched the existing issues of LazyVim
[X] I have searched the existing issues of plugins related to this issue

Neovim version (nvim -v)
0.10.0
Operating system/version
Windows 11
Describe the bug
in lazygit.lua, it creates some file paths that don't work on Windows because of the path separator.
M.theme_path = vim.fn.stdpath("cache") .. "/lazygit-theme.yml"

vim.env.LG_CONFIG_FILE = M.config_dir .. "/config.yml" .. "," .. M.theme_path

This file should be looking for the system path separator like in other areas
if package.config:sub(1, 1) == "\\" then
  -- windows specific logic
end

Maybe a global utility can be added like this:
local function get_path_separator()
  return package.config:sub(1, 1)
end

local function join_paths(...)
  local separator = get_path_separator()
  return table.concat({...}, separator)
end

local path1 = "home"
local path2 = "user"
local path3 = "documents"
local full_path = join_paths(path1, path2, path3)

Steps To Reproduce

Install default LazyVim on Windows
Try to open lazygit with gg
Observe error message mentioning "The system cannot find the file specified" referencing ...\lazygit/config.yml

Other info:
I'm running LazyVim in zsh shell with wezterm terminal. I got zsh working on windows using a guide like this: https://dev.to/equiman/zsh-on-windows-without-wsl-4ah9. I mention this in case zsh running in windows adds to the path separator issue.
Expected Behavior
LazyGit (gg) should work on windows the same as MacOS and Linux.
Repro
-- DO NOT change the paths and don't remove the colorscheme
local root = vim.fn.fnamemodify("./.repro", ":p")

-- set stdpaths to use .repro
for _, name in ipairs({ "config", "data", "state", "cache" }) do
  vim.env[("XDG_%s_HOME"):format(name:upper())] = root .. "/" .. name
end

-- bootstrap lazy
local lazypath = root .. "/plugins/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
  vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", lazypath, })
end
vim.opt.runtimepath:prepend(lazypath)

-- install plugins
local plugins = {
  "folke/tokyonight.nvim",
  "folke/LazyVim",
  -- add any other plugins here
}
require("lazy").setup(plugins, {
  root = root .. "/plugins",
})

vim.cmd.colorscheme("tokyonight")
-- add anything else here

Windows supports linux and mixed-style paths as well.
I just tried and for me it all worked correctly, so I assume zsh on Windows is the issue here.
I just pushed a change to use linux style paths in those two places.

Thanks for looking into this. I later found that the issue was that the config was missing on my machine. I'm not sure how that happened, maybe from when I uninstalled and reinstalled lazygit. Manually creating the ...lazygit/config.yml file fixed the issue. So it wasn't the path separators. Sorry for the false-issue.


Safari 7.1 called an "unknown browser that imitates Safari 7.1"

I am using Safari 7.1 on OS X Mavericks 10.9 with WebGL enabled, and it is calling my browser "an unknown browser that imitates Safari 7.1 on OS X Mavericks 10.9"

This should already be fixed.


missing view helper

the view helper Resize was not registered, so i added him in the config
added some little doc-blocks

Thanks =)

fixed the build fail in https://github.com/tck/zf2-imageresizer/pull/2 and https://github.com/tck/zf2-imageresizer/pull/3


Enhancement: warn when  element is missing

The SVG  element allows an author to provide a description of the artwork, and the contents of the  element can be read by webpage readers, which makes the artwork more accessible to people who are visually impaired.
It would be nice if svgcheck warned if the  element is missing or empty.

The description will be in a  or  element (or distributed over several of these). I agree this should be checked/warned. However, it's important to realize that a mechanical check is not enough, because tools cannot distinguish between a series of characters without meaning and a good description.


Paddle does not support for arm64/aarch64

Paddle does not have support for ARM64.
There are a few arm64/aarch64 related issues on the Paddle issue queue, i.e. https://github.com/PaddlePaddle/Paddle/issues/44712
Originally posted by @sivanantha321 in https://github.com/kserve/kserve/issues/3038#issuecomment-1653410150

paddle runtime supports arm64 arch from 0.13.0.
https://github.com/kserve/kserve/blame/de96bd3f516597a2e07b9c92936f06357f94efd2/.github/workflows/paddle-docker-publish.yml#L96


Fix logging in test-acceptance-server commands

Start the acceptance image with a pseudo-tty, this fixing a buffering issue where the console output was not shown until exiting.

@sneridagh Why is the changelog check complaining? This is a change to the root level of the repository, not a package.

@davisagli @ichim-david It was like this because of something... I had to remove the tty. I barely recall it, but I think it was something in CI? well, we will find out...

@sneridagh Well, I wondered about that, but the acceptance tests passed, so... ¯_(ツ)_/¯


Back up reporting 141TB to back up

i am using crashplan in docker in qnap. Just updated and for some reason crashplan now reports it has 141tb to back up and literally 1% is backed up.The files i have selected only have 1.4TB in them so unsure what is going on?
any thoughts?

ok I think I have worked the issue out - I updated the back up files and added the contained folder - this only includes one container - but when I add it to Crashplan it reports I above over 110TB of data - once I remove this folder - it drops back to 1.4TB ? the folder is only taking up around 1GB in snap ? bug or do I have an issue?

I think this is expected when adding this folder: it should not be added to the backup set.  Note that CrashPlan is not the only application that struggle with this folder...

"GLAD" to see someone else had this issue (grin). Same thing happened to me at the end of May. System went into a "synchronize" mode that continued through the entire month of June. When I finally decided to see what was going on, I saw that instead of the 5TB I need backed up, it was claiming an additional 100TB. Took me a while to realize the problem was that the last thing I did the day this began was that I added the volume containing my docker containers folders.

Closing this issue.  Please re-open if needed.


Add multi language support.

Add strings of different languages to enable the user to view app in different languages.

I am doing this


totally useless...

How about telling us how to find all the classic resources so we can identify them and migrate them.
You sent me an email telling me i have to migrate.  then in that email you tell me the subscription containing the classic resources but you DO NOT TELL ME WHAT THEY ARE.  and the azure portal doesn't give a query or a filter or anything useful to find them.
Azure portal has sucked since day one.  on the aws console i can find anything i need in like three mouse clicks.  go study it

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

ID: 2fbd6b23-efb2-9e80-5152-5c2539d5fcb0
Version Independent ID: a8516cd0-322d-e5d1-1e25-233d260ec138
Content: Application Gateway classic to Resource Manager
Content Source: articles/application-gateway/classic-to-resource-manager.md
Service: application-gateway
GitHub Login: @greg-lindsay
Microsoft Alias: greglin

@JasonAbruzzoIDN
Thanks for your feedback! We will investigate and update as appropriate.

@JasonAbruzzoIDN
I'd recommend working closer with our support team via an Azure support request. Or you can leverage our Q&A forum by posting your issue there so our community, and MVPs can further assist you in troubleshooting this issue or finding potential workarounds.
Teams Q&A forum for technical questions about the configuration and administration of Microsoft Teams on Windows.
Microsoft Teams Community forum
Thank you for your time and patience throughout this issue.

That’s just a complete waste of time.
If you can tell me in the notification email that a certain subscription has resources that need to be migrated why don’t you jus tell me in the same email which resource so I can fix it and be done.
You folks just don’t get it.  It’s all about my time.  Your customer service is terrible.   I should need to spend more of my valuable time doing anything other than migrating.
Portal.azure.com is horrible.
This should be a simple query.
It isn’t.
Your suggestion is to waste more time sleuthing around begging for answers from the communitity.
It should simply be on your horrible portal.
Need Help? Email Support at<EMAIL_ADDRESS>Jason Abruzzo
DevOps Engineer
Intellicheck, Inc (Nasdaq: IDN)
[A card with text on it  Description automatically generated]https://www.intellicheck.com/
Email<EMAIL_ADDRESS>Catch us on Social:
[A blue and white logo  Description automatically generated]https://www.linkedin.com/company/intellicheck-inc-/[A black and white x in a circle  Description automatically generated]https://twitter.com/IDNIntellicheck[A blue and white logo  Description automatically generated]https://www.facebook.com/intellicheckidn[A red and white logo  Description automatically generated]https://www.youtube.com/c/intellicheckidn
This message is intended only for the personal and confidential use of the designated recipient(s) named above. If you are not the intended recipient of this message you are hereby notified that any review, dissemination, distribution or copying of this message is strictly prohibited. Please delete it and any attachments and notify the sender that you have received it in error. Unintended recipients are prohibited from taking action on the basis of information in this e-mail. This communication is for informational purposes only and should not be regarded as an offer to sell or as a solicitation of an offer to buy any financial product. No representation is being made that the information presented is accurate, current or complete, and such information is at all times subject to change without notice.
From: ManoharLakkoju-MSFT @.>
Date: Monday, May 27, 2024 at 2:52 AM
To: MicrosoftDocs/azure-docs @.>
Cc: Jason Abruzzo @.>, Mention @.>
Subject: Re: [MicrosoftDocs/azure-docs] totally useless... (Issue #122744)
[CAUTION: This email originated from outside your organization. Exercise caution when opening attachments or clicking links, especially from unknown senders.]
Hi @JasonAbruzzoIDNhttps://github.com/JasonAbruzzoIDN
I'd recommend working closer with our support team via an Azure support requesthttps://docs.microsoft.com/en-us/azure/azure-portal/supportability/how-to-create-azure-support-request. Or you can leverage our Q&A forum by posting your issue there so our community, and MVPs can further assist you in troubleshooting this issue or finding potential workarounds.
Teams Q&A forumhttps://docs.microsoft.com/en-us/answers/topics/46488/office-teams-windows-itpro.html for technical questions about the configuration and administration of Microsoft Teams on Windows.
Microsoft Teams Community forumhttps://answers.microsoft.com/en-us/msteams/forum?sort=LastReplyDate&dir=Desc&tab=All&status=all&mod=&modAge=&advFil=&postedAfter=&postedBefore=&threadType=All&isFilterExpanded=false&page=1
Thank you for your time and patience throughout this issue.
—
Reply to this email directly, view it on GitHubhttps://github.com/MicrosoftDocs/azure-docs/issues/122744#issuecomment-2132765217, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ANGW53PYE7OIWAOXD7W37ATZELJ3NAVCNFSM6AAAAABIFWKQSSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMZSG43DKMRRG4.
You are receiving this because you were mentioned.Message ID: @.***>
Disclaimer
The information contained in this communication from the sender is confidential. It is intended solely for use by the recipient and others authorized to receive it. If you are not the recipient, you are hereby notified that any disclosure, copying, distribution or taking action in relation of the contents of this information is strictly prohibited and may be unlawful.
This email has been scanned for viruses and malware, and may have been automatically archived by Mimecast, a leader in email security and cyber resilience. Mimecast integrates email defenses with brand protection, security awareness training, web security, compliance and other essential capabilities. Mimecast helps protect large and small organizations from malicious activity, human error and technology failure; and to lead the movement toward building a more resilient world. To find out more, visit our website.

@JasonAbruzzoIDN
I'm going to assign this to the document author so they can take a look at it accordingly
@greg-lindsay
Can you please check and add your comments on this doc update request as applicable.

Open the All Resources blade and look for a (Classic) suffix after the resource name.
I'll add this to the article.
#please-close


Typed properties support

Fixes #2161

Haven’t checked the source entirely yet, but given that we’re changing a bunch of internals I’d suggest fixing this in 2.0 instead of 2.1. I’m not sure we should consider this a bug fix for 2.0.

@alcaeus the true part of the fix is couple of lines long, this won't be too much hassle to include in 2.0.x IMO


Rendered content of <For/> stops updating when underlying signal changes

Describe the bug
I am trying to render a dynamic list of elements using <For/>. In this example, I have a search box that searches over the names of countries, and a <For/> that renders each matched country as a button:
let all_items = create_resource(cx, || (), fetch_items);
let visible_items = ||{
  // ...
  filtered_copy_of_all_items
}

// ...
view!{cx, <For
    each=visible_items
    key=|item| item.id
    view=move |cx, item| {
      view! {
        cx,
        <button>{item.data.key}</button>
      }
    }
  />
}

The items in all_items are fixed (it's a resource that is fetched only once), and each Item has an id field that is a unique usize which never changes.
An example that I can easily reproduce is searching for "Canada". The contents of the <For/> update correctly for at least two updates. But at some point the <For/> stops updating. As you can see in this gif, even though I change the query to "United", the results do not change at all. However, if I make a side-effect that console logs visible_items, I can see that the signal itself is updating correctly. For example, in the gif you can see that after I change the query to "United", visible_items contains the UK and US as one would expect.
Leptos Dependencies
leptos = { version = "0.4", features = ["nightly", "csr"] }

To Reproduce

Clone the example repository here
Change directories into the cloned repository
Run trunk serve, and open the url it prints in your browser
Type "Canada" into the search box
Delete "Canada" and try typing another query like "United"

Expected behavior
I would expect the items rendered in the <For each=visible_items /> tag to match the items in the visible_items signal.
Screenshots

Thank you in advance for your help!

Thanks! This definitely appears to be path-dependent — i.e., if I paste in "Canada" and then start deleting letters, it works, but if I type "Canada", and then start deleting, it sticks. It is likely related to the issue with moving multiple items in a single change in #1274.
For your particular use case, by the way, where it's only 10 rows and often completely removing all the rows — I almost wonder if a plain iterator might work better anyway.
move || {
    visible_items()
        .into_iter()
        .map(|item| {
            view! { cx, <button>{item.data.key}</button> }
        })
        .collect_view(cx)

The reasoning here would be that keyed lists are mostly useful when you're only adding/subtracting one item at a time, in a large list, or when you're moving items around and don't want to rerender. When you're only showing 10 items and rendering just a button per row, with many of the items swapping out on every change anyway, it may really not make a difference!
Clearly this is still a bug we'll need to figure out, of course.

Great, thank you so much! That works well as a work-around for now.
Some of my actual use cases may be ultimately better suited for the <For/> version, so I'll definitely keep an eye on this issue. But this works fine for now and I'm not noticing any performance issues, so I don't mind waiting (and I'm sure you have a lot on your plate).
Thanks again for all of your hard work on this project!

Looks like we'll be fixing this sooner rather than later. The linked PR #1296 should make this behave exactly correctly. We're just adding one more small optimization and it should be good to go.

Awesome, thank you so much!

This is fixed by #1296.


use raw downloads instead of api downloads

while this will not work with private repos, it allows to fetch the public data.

the download link is
https://github.com/sustainability-zhaw/keywords/raw/main/{filepath}


🚀 : Implement User Interests Searching for interest hashtags (i.e. #reading #chess)

Is your feature request related to a problem? Please describe.
I'm always frustrated when I want to find users with similar interests but there isn't an easy way to search for or identify these interests.
Describe the solution you'd like
I would like a feature that allows users to add interests as hashtags (e.g., #reading, #chess) to their profiles and enables searching for these interest hashtags. This would help users connect with others who share similar hobbies and interests.
Describe alternatives you've considered
An alternative solution could be creating user groups or communities based on common interests where users can join and participate in discussions related to those topics.
Additional context
Implementing interest hashtags would enhance user interaction and community building by making it easier to find and connect with like-minded individuals.
Related w/ #476
Contributor: Maryam from Egypt 🇪🇬
If you want to speed up the process of this issue, please send 🚀 as a reaction.

related to #738 ?

related to #738 ?

Yes, it's absolutely related with it :)


Explicitly link to OpenMP

Fixes #220
Checklist

[ ] Added a CHANGELOG.rst entry

Manually tested that the produced M1 wheel works.


feature: added verbose flag to restore command

Restoring a big number of dependencies lasts for some time so it is nice to have some update about the progress.

@mariokostelac Can you rebase this and I'll check it out?

#152 is similar(ish) and merged. If you want to re-open a PR with cleaned up (or additional) output that would be great, but I'm going to close this for now.

Did you mean #243? Looks like #153 is still open (but should be closed?).

@kr Yeah. I did. I think I meant to reference both #152 and #243, but got distracted part of the way through. Thanks


⚠ Bofrost.fr has degraded performance

In d8c07b2, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 1725 ms

Resolved: Bofrost.fr performance has improved in ed78a9a.


updated monthly mean averaging example using new virtual variable syntax

uses new virtual variable syntax discussed in #345 and applied in #351.  Also see #337.

Thanks! I'll push this out to the stable branch so it appears on the main documentation.


Error running yarn install in lib

Trying to run yarn install  in lib directory gives error as .git cannot be found .

this is expected as the end user is installing via npx @playpickup/kickoff their-project and it runs the install scripts, which includes git init. If you're experiencing this while testing/developing on the repo, just running git init inside of the lib file will do


Checksum/Hash generator doesn't accept empty file/input

Description
Currently supported checksum algorithms return a valid hash for an empty file.
However, DevToys doesn't seem to accept an empty file and returns no result.
Steps To Reproduce

Go to Checksum Generator
Attempt to open/drag/paste an empty file

Expected behavior
Empty file hash is returned (e.g. MD5 - d41d8cd98f00b204e9800998ecf8427e)
DevToys Version
Version <IP_ADDRESS> | X64 | RELEASE | 99757dc | 99757dc
Relevant Assets/Logs
N/A

Hi, may I look into this issue?

@L1nu5 I don't think there's anything stopping you from looking into it and making pull requests.

@voidMike  Thanks, I'll get started!


SWIG fixes

Fixes some typos that prevents SWIG from parsing.

Woot! First PR, thanks! The swig docs are kind of a mess. Thanks/sorry for suffering through them ;p Will take a look at this over the weekend.


Dragonfly Manager console job preheat blank page

Python Code:
#!/usr/bin/python
import requests
url = 'http://dragonfly.test.xxx.com/oapi/v1/jobs'
headers = {
'Content-Type': 'application/json',
'Authorization': 'Bearer YTBhM2Y2ZWQtYzUwYS00NGxxxxxxxxMtNTk3ZjI2NDI2N2Rk'
}
data = {
"type": "preheat",
"args": {
"type": "image",
"url": "https://harbor.test.xxx.com/v2/init-images/centos/manifests/7",
"filteredQueryParams": "Expires&Signature",
"username": "admin",
"password": "xxxxx"
}
}
response = requests.post(url, headers=headers, json=data)
print(response.status_code)
print(response.text)

Environment:

Dragonfly version: 2.1.30 (helm:1.1.26)
OS: ubuntu18.04
Kernel (e.g. uname -a): 5.4.193-0504193-generic
Others: helm 安装

The current version is too low, please upgrade to the latest version.

helm upgrade 1.1.48

Already solved


[BUG] "update_params=False" in update() and in update_predict_single() seems not working

Describe the bug
After estimated a model, I would like to make forecast after my test set, but without updating parameters (changing the model parameters). This is specially important for comparison, moreover to forecast with new data without changing the model.
I have tried to set update_params=False in "update()"  and in "update_predict_single()", but it seems that is not working. Dates (timestamp) are updated, but forecast is the same for the previous period. I do not know If I am doing something wrong, or it is a bug. I have an example with auto.arima (code bellow and pdf attached).
Kind regards
To Reproduce
import pandas as pd
import numpy as np
from sktime.datasets import load_airline
from sktime.forecasting.arima import AutoARIMA
from sktime import show_versions
show_versions()

## data split
y=load_airline() ## total observations
y1 = y.head(y.shape[0]-6)  #train observations
y2 = y.tail(6) # test observations

forecaster = AutoARIMA(sp=12, suppress_warnings=True,random_state=123)
z=forecaster.fit(y1)
AutoARIMA(...)
y_pred = forecaster.predict(fh=[1,2,3,4,5,6])
### model configuration and parameters for train
z.summary()

y_pred_semfit = forecaster.predict(fh=[1,2,3,4,5,6]) ## o cutoff 1960-06
y_pred_semfit

## using a function from stkime for not update_params, but to forecast using the test portion of the data set (to append to train y1)
y_pred = forecaster.update_predict_single(y_new=y2, update_params=False)
y_pred
### dates changed, but forecasted values are the same as above

### just changing the input of the function
y_pred = forecaster.update_predict_single(y=y, update_params=False)
y_pred

### another function from stkime, without update/retrain model parameters using update_params=False
updated_model =  forecaster.update(y=y, update_params=False)
updated_model.predict()

### however, if we set "update_params=True", time for command excution increase and forecasted values change
updated_model =  forecaster.update(y=y2, update_params=True)
updated_model.predict()

## but model parameters/configuration are different
updated_model.summary()

### using another function from Sktime, .fit_predict, the same results as above
y_pred = forecaster.fit_predict(y,fh=[1,2,3,4,5,6])
y_pred

Sktime_update_model.pdf
forecaster.summary()

@raphaccf, thanks for reporting.
It sounds like this might be an issue specific to the AutoARIMA interface, will investigate.
Perchance, have you observed this in other estimators?

Thanks for your response. Actually, I also tested with auto.ets, and I identified  the same behavior.

Hm, yes, I'm able to reproduce this on my local system (3.8, win, main).
Any comments that help tracking down the issue are appreciated.
My first suspicion was that the model's cutoff is not updated correctly, hence the fh will be relative to the wrong cutoff, from fit rather than update. But that's not true, the cutoff seems to be updated correctly (by the base class).
So it does not seem to be a framework issue.
Hence, I now suspect that there is some systematic issue in how the fh is passed to the models, in the concrete classes.
If correct, the wrapped models should be asked to forecast at [number of time points seen in update] plus [relative fh], but probably they are just asked to forecast at [relative fh], since the implementer did not anticipate a situation in which the time point last seen is not the same as the time point last fitted.

@raphaccf, I'll look into this, since it seems like an important use case.
If you have time, would you be able to help with a list of the estimators where you think this is a problem?
You can loop over all forecasters by using registry.all_estimators(estimator_types="forecaster").
I'll check AutoARIMA and AutoETS first.

Just for information, if anyone else is looking at this:
the bug is a discrepancy between conceptual scientific behaviour and actual behaviour.
Running update(update_params=False) over 6 time periods and then asking for a forecast 1 period ahead (with the model fitted before the update) should in generael not be identical with a forecast for the 1st period of the updated time period, from the data previously seen.

Another question is how, if at all, one would test this. The forecaster is interface compliant, it just doesn't output what one would expect of the specified behaviour if an ARIMA model were used.

If correct, the wrapped models should be asked to forecast at [number of time points seen in update] plus [relative fh], but probably they are just asked to forecast at [relative fh], since the implementer did not anticipate a situation in which the time point last seen is not the same as the time point last fitted.

Yes, I think that's exactly what is happening. pmdarima assumes an internal cutoff which is always the last data point seen. The internals are using the sktime forecaster's cutoff (which has been updated) instead of the pmdarima cutoff, which leads to this behaviour in the one case where a discrepancy can arise (the update(update_params=False) case).

@raphaccf, I've looked into this now. It seems there are two things happening:

cutoff handling in sktime's interface to pmdarima - due to that, the pmdarima is asked to predict with a cutoff, as if update(update_params=False) never happened
pmdarima, and statsmodels on which it is based, does not seem to be able to make forecasts with fixed model parameters on data different from which it was fitted on. I may just be missing how to call it, but neither pmdarima nor statsmodels fit and predict seem to offer this functionality.

If the second is correct, the best we could do at sktime is to return the forecasts that the model would have produced for the same time stamps before update was called.
May be worth asking a question on statsmodels or pmdarima, and if the lack of this feature is confirmed, then raising an issue?

Franz, thank you so much for all the energy you put into this investigation. I understand the aspects you mentioned, and I will follow your suggestion and ask them. Thanks again.

well, there is still an sktime aspect to this, namely, intended behaviour on update_params=False - it's not just a statsmodels issue (see above, "two things happening"). I'll put the sktime` specific one on the todo list, hence I'm reopening the issue.
Depending on the answer in statsmodels, there may also be actions arising (a bugfix, or a "suggested enhancement")

Sorry Franz, I'm new to github discusssions, but you mean: open my issues respectavily int statsmodels and pmdarima github's Issues, than get a link from it and post it here?

Sorry Franz, I'm new to github discusssions, but you mean: open my issues respectavily int statsmodels and pmdarima github's Issues, than get a link from it and post it here?

Yes, exactly, so this issue links to the other issue(s) on the relevant topic, in the right package(s).
I was implicitly referring to this statement of yours

I understand the aspects you mentioned, and I will follow your suggestion and ask them.

which made me think you had already opened issues or were planning to.
I can also open the issues if you'd prefer me to do this, btw.

I haven't opened them yet. I will feel more comfortable (avoid any mistakes in the process) if you do it, sorry.

relevant issue already exists, was opened 11 days ago: https://github.com/statsmodels/statsmodels/issues/7981

also seems like there's a workaround for ARIMA at least, via the apply function

looks like it´s becoming a general interface point now: https://github.com/statsmodels/statsmodels/pull/8006
This should be an easy thing to interface, so putting this at the top.

FYI @raphaccf, I´ve updated the header of this issue, so it´s now an instruction what to do.

@chillerobscuro, some answers to questions from slack to have them here:

As far as I can tell, it is conceptually quite simple and I'm just utilizing the somewhat new apply function in statsmodels to update the "seen data" which will be the cutoff for new predictions. My questions are:
Is it clear what the entire set of sktime models with direct statsmodel  interfaces are? It seems from the ticket that it may be unknown. Should I just search the repo for all _StatsModelsAdapter instances?

Yes, that's right, although the generic _update behaviour would sit in the adapter class.

Where do you imagine the fix going? Will it likely be in the _StatsModelsAdapter somewhere, or is there a deeper base class or something that would make more sense?

Consistent with the above, in _StatsModelsAdapter. Although, in the past, some instances in statsmodels have been inconsistent, so some instances may also have to be fixed.

To find all models with the larger problem It'd be easy to run through all the estimators and see which ones give the exact same prediction after an update, but that would include the pmdarima and likely other interfaces as well.

Hm, it might be worthwhile to write a test for that, just to see which models may or may not have a problem.
It should be pointed out that some models with the behaviour (update does not matter) are not faulty, e.g., the naive forecaster with "last value carry forward".

Any other pitfalls or tips?

There might be some interaction with subsetting in pandas, where the freq attribute of index disappears, but that's just a hunch.

Thanks @fkiraly, I think I have a path forward: I will add an _update() method to _StatsModelsAdapter. Should I copy over the logic from the base class _update with regards to if update_params = True and elif self.is_composite()? Or somehow only call the new custom _update if update_params=False?
Also just to add info to this ticket, the statsmodels apply function assumes the new data is unrelated to the training data. The append and extend functions match what users will expect of an update() method so I will use them instead, likely append as it keeps the results objects for both the old and new data as shown here.

Thanks @fkiraly, I think I have a path forward: I will add an _update() method to _StatsModelsAdapter. Should I copy over the logic from the base class _update with regards to if update_params = True and elif self.is_composite()? Or somehow only call the new custom _update if update_params=False?

Both. From a logics/content perspective, I think your first instinct is correct, but you need to be aware that copy-paste is an anti-pattern in coding, at the least a serious code smell.
So, I would make a new custom _update but call super._update if update_params=True, or something else that minimizes copy-pasting.

Also just to add info to this ticket, the statsmodels apply function assumes the new data is unrelated to the training data. The append and extend functions match what users will expect of an update() method so I will use them instead, likely append as it keeps the results objects for both the old and new data as shown here.

Ok, the one thing to keep in mind is that update could be called with data that intersects the previously seen data.

So, I would make a new custom _update but call super._update if update_params=True, or something else that minimizes copy-pasting.

This makes sense, and the following logic does seem to work:
        if update_params:
            super()._update(y, X, update_params=True)
        else:
            # new logic here

However this makes false the warning in the base class _update, as it will no longer be true. It is currently
warn(
                f"NotImplementedWarning: {self.__class__.__name__} "
                f"does not have a custom `update` method implemented. "
                f"{self.__class__.__name__} will be refit each time "
                f"`update` is called with update_params=True."
            )

Why do we need a warning that we're refitting if they are passing update_params=True? Isn't that expected?
I don't quite comprehend is the base class elif self.is_composite(): logic, as I haven't worked with composite models in sktime. Can this be ignored for this ticket, and just use another super() call if  self.is_composite == True ?

The one thing to keep in mind is that update could be called with data that intersects the previously seen data.

This does add complexity. For a true "update", it looks like statsmodels has pretty good warnings when the data doesn't fit: ValueError: Given endog does not have an index that extends the index of the model.. Can we just rely on that if the user doesn't pass data with a correct time index?
If the data passed doesn't immediately follow the original training data, ie completely different or just overlapping, we can just use apply, as you seem to be getting at, and is pretty simple. But maybe this should live in a different function like apply_fitted_params_to_new_data or something to avoid confusion on what update is doing?

Why do we need a warning that we're refitting if they are passing update_params=True? Isn't that expected?

It's not in general expected, because many methods have a faster update than a fit method.
I think it also deserves a warning, becaue it can mean high compute usage if users do a rolling update, say, with one data point each - this would lead to many refits.
Regarding the design with super, I see how the warning could be a problem.
I would suggest to do the following in a separate PR (which you merge into this):
move the warning to update in BaseForecaster, and raise it only when the _update method is overridden. This can be checked by self._has_implementation_of("_update").
That would raise the warning only if _update is not overridden, i.e., not in the super._update case.

This does add complexity. For a true "update", it looks like statsmodels has pretty good warnings when the data doesn't fit: ValueError: Given endog does not have an index that extends the index of the model.. Can we just rely on that if the user doesn't pass data with a correct time index?

Unfortuantely, no.
But, we could take the set difference of index and subset?

Unfortuantely, no.

Just curious, why not? Wouldn't it come through and be descriptive of the issue?

But, we could take the set difference of index and subset?

How do I access the data that the model was fit on?
I could go either way on this. It's more user friendly to implicitly take the set difference, but it's also fair to expect users to input non-overlapping data. If we try to take a subset and the data is incorrect, wont it just fall to the statsmodels error anyway?

Can I request a sanity check before I continue? I am using sktime SARIMAX as an example of a model that uses the _StatsModelsAdapter. When I run the following code it seems to behave in a way that does not need fixing. If update_params=True, it runs the optimization before both predict steps, and outputs a prediction at the correct index position, directly after the last update value.
If update_params=False, then it does not show the optimization being run after update() is called. The prediction is different than the one from the previous case, but has the correct index, showing that the update() did work.
As far as I can tell everything is working as hoped - when running this code and the same block with update_params set to True, I am not seeing the "new index but same prediction value" that we were seeing with the pmdarima wrapped models, and I am seeing a difference between the refit model and the simply "updated" one.
from sktime.datasets import load_airline
from sktime.forecasting.sarimax import SARIMAX
ind = 24
y = load_airline()
mod = SARIMAX()
mod.fit(y.iloc[:si])
print(mod.predict(fh=1))
mod.update(y.iloc[ind:ind+3], update_params=False) # update data with 3 new steps
# mod._y is successfully updated and predict will forecast 3 steps past the original training data
print(mod.predict(fh=1))

I am surprised because I actually can't tell where we send the data to the underlying statsmodels model. I see the update method calls self._set_cutoff_from_y and self._update_y_X but as far as I can tell those don't seem to reach into the underlying statsmodel.

I've managed to re-identify the erroneous behavior. The _StatsModelsAdapter models do not refit when update_parms=False, and do update the index to the new data passed to update, both good behaviors.
However, the values passed to update do not affect the forecast predictions at all - they are the same as if you just forecast with a horizon equal to fh+length of update values before calling the update.
I'm still trying to track down the question from the last paragraph of the above post, understanding how the correct update indices are passed to the underlying model, but not actually using the correct statsmodels append behavior.

Unfortuantely, no.

Just curious, why not? Wouldn't it come through and be descriptive of the issue?

The interface contract allows the user to pass data that has already been seen.


Suggestions: iframe url, viewport scaling

Some suggestions for the template:

google.com has an security policy error within an iframe. Suggest using http://www.wikipedia.com instead

The header you could add code to set the default scale:
<meta name="viewport" content="width=device-width,initial-scale=1" />

I've made both of these changes as 0.5.0.
Thanks for the suggestions!

Awesome, thanks for making such a useful template!


shell doesn't work as expected with Starship: disabled due to TERM=dumb > (tmux - zsh)

[X] I have searched the FAQ and the documentation for solutions.
[X] I have searched the issue tracker for similar issues (the closed issues too).
[X] I have searched the Discourse for any errors and solutions.
[X] I can reproduce my issue on the latest commit of Doom Emacs.
[X] I have read How to Debug Issues and found no solution.

What did you expect to happen?
When I do M-x :shell, it should work?
What actually happened?
Ptmux;]1337;SetKeyLabel=F1=👉 public/foo\Ptmux;]1337;SetKeyLabel=F2=🎋 main\Ptmux;]1337;SetKeyLabel=F3=🔥[?]\Ptmux;]1337;SetKeyLabel=F4=🔼 push\Ptmux;]1337;SetKeyLabel=F5=🔽 pull\Ptmux;]1337;SetKeyLabel=F6=F6\]2;~/src/public/foo[ERROR] - (starship::print): Under a 'dumb' terminal (TERM=dumb).
Starship disabled due to TERM=dumb >

https://user-images.githubusercontent.com/16493751/123158835-f2384180-d474-11eb-9c51-f8dd50f3db28.mov
Describe your attempts to resolve the issue
🤷♂
Steps to reproduce

Open the Terminal (zsh) with Starship installed
Start the doom $ emacs . &
Call M-x :shell

System Information
https://paste.ubuntu.com/p/sNmKB4CJSD/

As described in the FAQ, shell is more of a repl for your shell environment, and is not capable of most graphical display cases. The term, and vterm modules however are more sophisticated and will be able to handle starship with no problems at all.

I second using vterm. "TERM=dumb" is expected behavior here.

What @destroyer449 said. shell is not a terminal emulator and it's current behavior is behaving correctly. Use vterm or term if you want a terminal emulator.

Thanks! I tried both of term and vterm but I got some issues:
term:

vterm:
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [../vterm-module.so] Error 1
make[1]: *** [CMakeFiles/vterm-module.dir/all] Error 2
make: *** [all] Error 2

Should I create another issue for the vterm compilation error? 🤔

@Dentrax In this case, starship is putting out ansi codes that term does not recognize. Perhaps starship can't cope with TERM=eterm-color either. Try setting it to xterm256-color in your shell dotfiles when you're in Emacs. Otherwise this seems like a configuration issue on starship's side, but I'm not familiar with starship so I'm afraid you're on your own with that.
As for vterm, it tries to compile vterm-module.so at startup. If that process fails, you'll have to compile it manually. There are instructions for doing so in the vterm module's readme. If none of those work or you are on an unsupported system (Windows), then vterm is no longer an option.


Error 'Could not find or access '/home/pi/tasks/handlers.yml' on the Ansible Controller'

I followed all the steps and it went pretty much as expected.
On the last step, I get:
pi@raspberrypi:~ $ ansible-playbook main.yml
[DEPRECATION WARNING]: Ansible will require Python 3.8 or newer on the controller starting with Ansible 2.12. Current
version: 3.7.3 (default, Jan 22 2021, 20:04:44) [GCC 8.3.0]. This feature will be removed from ansible-core in version
2.12. Deprecation warnings can be disabled by setting deprecation_warnings=False in ansible.cfg.
[WARNING]: No inventory was parsed, only implicit localhost is available
[WARNING]: provided hosts list is empty, only localhost is available. Note that the implicit localhost does not match
'all'
ERROR! Unable to retrieve file contents
Could not find or access '/home/pi/tasks/handlers.yml' on the Ansible Controller.
If you are using a module and expect the file to exist on the remote, see the remote_src option
When I put the PI's IP in my browser, I get "site can't be reached".
Suggestions welcome.

FYI I have installed Python 3.9

@shawnsBrain - When you run ansible-playbook main.yml, are you in the home directory? If so, did you just download certain files from this repository? The repository (internet-pi) is meant to be downloaded whole, or git cloned into your Pi, and it should be in a directory where it has all the same stuff that's present here.
If you type ls, does it show a tasks folder? And in that tasks folder does it contain all the relevant files from this repository?

Ola @shawnsBrain. Tenta rodar o comando ansible-galaxy collection install -r requirements.yml na pasta raiz do projeto.
Outra coisa interessante seria fechar e abrir seu terminal. Aconteceu a mesma coisa comigo.
E RESOLVIDO.

I am in the pi directory, which is under the home directory. The pi dir is the only thing in the home dir.
If I do ls in the pi dir, I get
config.yml  inventory.ini  main.yml  Python-3.9.5 (directory) requirements.yml

there is no 'tasks' folder

@shawnsBrain - How did you download this project? Did you do a git clone of it, or did you download it using the download link on the project page? It looks like there's a lot of missing files.

I followed steps on the git page.
Sorry I'm a newbie and don't know how to do a git clone.
I can pursue that but I'm wondering if I should start with a clean version of PI? I have a lot of stuff in there now.
Should I install everything to the home directory?

OK, figured out how to clone the git and it looks like everything is there. Still working on a couple things
`pi@raspberrypi:/home/internet-pi $ ansible-playbook main.yml
[DEPRECATION WARNING]: Ansible will require Python 3.8 or newer on the controller starting with Ansible 2.12. Current
version: 3.7.3 (default, Jan 22 2021, 20:04:44) [GCC 8.3.0]. This feature will be removed from ansible-core in version
2.12. Deprecation warnings can be disabled by setting deprecation_warnings=False in ansible.cfg.
PLAY [internet_pi] *****************************************************************************************************
TASK [Gathering Facts] *************************************************************************************************ok: [<IP_ADDRESS>]
TASK [Load configuration.] *********************************************************************************************ok: [<IP_ADDRESS>]
TASK [Ensure apt cache is up to date.] *********************************************************************************ok: [<IP_ADDRESS>]
TASK [Check if Docker is already present.] *****************************************************************************ok: [<IP_ADDRESS>]
TASK [Download Docker install convenience script.] *********************************************************************fatal: [<IP_ADDRESS>]: FAILED! => {"changed": false, "msg": "SSL validation is not available in your version of python. You can use validate_certs=False, however this is unsafe and not recommended", "status": -1, "url": "https://get.docker.com/"}
PLAY RECAP *************************************************************************************************************<IP_ADDRESS>                  : ok=4    changed=0    unreachable=0    failed=1    skipped=0    rescued=0    ignored=0`

now ls gives me:
pi@raspberrypi:/home/internet-pi $ ls
ansible.cfg  example.config.yml     files   internet-monitoring  LICENSE   README.md         tasks
config.yml   example.inventory.ini  images  inventory.ini        main.yml  requirements.yml  templates
which I think is good.
when running ansible-playbook main.yml I get
fatal: [<IP_ADDRESS>]: UNREACHABLE! => {"changed": false, "msg": "Failed to connect to the host via ssh<EMAIL_ADDRESS>Permission denied (publickey,password).", "unreachable": true}
so I'm wondering if I need to enter a password somewhere?

@shawnsBrain - It looks like you just need to edit inventory.ini and comment out the current IP address line and uncomment the <IP_ADDRESS> line like it says in the file.

I'm getting closer!
It says I have the wrong version of Python but I'm running the latest version.

I got it to work!
My problem was in the docker installation and setup.
I used this guide:
https://www.linux.com/topic/desktop/how-install-and-use-docker-linux/
Thanks for your help on this. You went above and beyond what I expected, and I learned a ton.


"cargo build" for redbpf fails with "the name  is defined multiple times"

Hi!
I have successfully build docker image from https://github.com/foniod/build-images:
docker build --no-cache -t ebpf-20.04 -f Dockerfile.20.04 .

Then I run docker image:
docker run -it --name ebpf-20.04 ebpf-20.04

And tried to build the release:
root@e53d1ecf1999:/build# git clone --branch v2.0.1 https://github.com/foniod/redbpf
root@e53d1ecf1999:/build# cd redbpf/
root@e53d1ecf1999:/build/redbpf# git submodule sync
root@e53d1ecf1999:/build/redbpf# git submodule update --init
root@e53d1ecf1999:/build/redbpf# cargo build

Build failed with:
...
   Compiling example-probes v0.1.0 (/build/redbpf/examples/example-probes)
error[E0428]: the name `BPF_ANY` is defined multiple times
      --> /build/redbpf/target/debug/build/redbpf-probes-40cfac10474760be/out/gen_bindings.rs:201062:5
       |
135864 |     pub const BPF_ANY: ::cty::c_uint = 0;
       |     ------------------------------------- previous definition of the value `BPF_ANY` here
...
201062 |     pub const BPF_ANY: u32 = 0;
       |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^ `BPF_ANY` redefined here
       |
       = note: `BPF_ANY` must be defined only once in the value namespace of this module
...

And a few dozen similar errors, see full build log in attach:
cargo-build.log
The following combinations ended with a similar error:

Dockerfile.20.04 + master
Dockerfile.20.04 + 2.0.1
Dockerfile.20.04 + 2.0.0
Dockerfile.18.04 + 2.0.1
Dockerfile.18.04 + 2.0.0

Host kernel:
$ uname -a
Linux desktop 5.10.0-4-amd64 #1 SMP Debian 5.10.19-1 (2021-03-02) x86_64 GNU/Linux

Hello @Des333
Thank you for filing this issue.
TL;DR
You can avoid this issue by passing a KERENL_VERSION environment variable.
In ubuntu 20.04
$ KERNEL_VERSION=5.4.0-81-generic cargo build

In ubuntu 18.04
$ KERNEL_VERSION=4.19.5-041905-generic cargo build

Cause
While building redbpf-probe, its build script tries to find the Linux kernel
headers of the currently running Linux kernel version. To find the headers,
it calls uname system call and gets information about the kernel. But in
the docker container the uname system call returns the information about a host
kernel and the build script of redbpf-probes can not correctly locate the
kernel headers in /lib/modules directory.
In this case, users can fix this problem by setting KERNEL_VERSION
environment variable.
Conclusion
I think that redbpf-probes should emit different error messages to give users
more transparent hint.. I'll consider a better method for this case.
Thank you


posterior : add elbo metric and rename ll to reconstruction_error

fixes #361
fixes #359

Codecov Report

Merging #358 into master will decrease coverage by 0.34%.
The diff coverage is 78.3%.

@@            Coverage Diff             @@
##           master     #358      +/-   ##
==========================================
- Coverage   88.84%   88.49%   -0.35%
==========================================
  Files          32       32
  Lines        3002     3034      +32
==========================================
+ Hits         2667     2685      +18
- Misses        335      349      +14

Impacted Files
Coverage Δ

scvi/inference/inference.py
100% <100%> (ø)
:arrow_up:

scvi/benchmark.py
100% <100%> (ø)
:arrow_up:

scvi/inference/trainer.py
89.95% <100%> (+0.23%)
:arrow_up:

scvi/inference/annotation.py
92.52% <100%> (ø)
:arrow_up:

scvi/models/log_likelihood.py
87.71% <22.22%> (-12.29%)
:arrow_down:

scvi/inference/autotune.py
69.67% <33.33%> (+0.56%)
:arrow_up:

scvi/inference/fish.py
79.51% <78.57%> (-3.6%)
:arrow_down:

scvi/inference/posterior.py
92% <88.33%> (-0.63%)
:arrow_down:

Continue to review full report at Codecov.

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

@jeff-regier Thank you for your review, this PR is done on my part, feel free to merge.


Remove workflow branch restrictions, add duplicate check, fix format check name

Describe the bug
The format check and static analysis workflows only run on pushes to main or on pull requests so community users will not get the alerts on their forks.
The CodeQL workflow may run on pull requests to branches other than main
To Reproduce
Fork repo, commit new branch: format check and static analysis workflows aren't triggered.
Expected behavior
All workflows run on fork branches, even those without pull requests.
Code snips
https://github.com/nasa/elf2cfetbl/blob/3eeae683cca418322077e89bea587cb3f1159354/.github/workflows/format-check.yml#L4-L9
https://github.com/nasa/elf2cfetbl/blob/3eeae683cca418322077e89bea587cb3f1159354/.github/workflows/static-analysis.yml#L4-L9
https://github.com/nasa/elf2cfetbl/blob/3eeae683cca418322077e89bea587cb3f1159354/.github/workflows/codeql-build.yml#L3-L8
System observed on:
GitHub
Additional context
Should also add check-for-duplicates job to workflows after relaing the branch requirement on the push trigger
Reporter Info
Full name and company/organization if applicable

Closed by #97


admin-ui: request new api token for existing user "Email address is not valid"

We got a request by another user that the Admin UI action "Request API token for existing user"
produces error "Email adress is not valid'" when mailadress contains "_"
(e.g<EMAIL_ADDRESS>How to reproduce?

create an user with such kind of email address (works...)
request a new api token

Should be verified and fixed

Manuela Kirchner<EMAIL_ADDRESS>Daimler TSS GmbH, imprint

Was not able to reproduce problem. But added some missing tests. Tested also manually over admin UI and worked as well. So closing this issue

Was not able to reproduce problem. But added some missing tests. Tested also manually over admin UI and worked as well. So closing this issue


Implementing Ordered Set

Hey, I've decided to write the Ordered Set class. I have a decent amount of code for it already, is there anything in particular (function, feature, topic etc) you would like specifically for this data type?
It shouldn't take me too long to complete this, maybe a day or two.
Thanks! :)

Forgot to add something. Let me make a different pull request


[1.0.0] 2 possible problems; chart/events and chart with older versions

Describe your bug here.
Hi, I don't know if this has been reported before, but I found 2 possible problems:
1 - If you save both the chart and the events, the variables that are incremented when calling a certain event are multiplied.
2 - If I save a chart in version 1.0.0 and then try to use it in version 0.7.3, the notes aren't displayed along with the respective character.  If I had to explain why, I would say it is because of how the “must hit section” has changed.
As this is my first bug report, I'm sorry if I shouldn't have put more than one bug.
Command Prompt/Terminal logs (if existing)
No response
Are you modding a build from source or with Lua?
Lua
What is your build target?
Windows
Did you edit anything in this build? If so, mention or summarize your changes.
No

None of the two mentioned are actual bugs


Add mobile-env as 3rd party env with gymnasium support

Description
mobile-env has already been listed as thrid-party environment in the Gymnasium docs.
Following the request by @elliottower in https://github.com/stefanbschneider/mobile-env/issues/26, I updated the mobile-env dependencies to support the latest version of gymnasium (part of mobile-env v2.0.0 release).
This PR updates the Gymnasium docs by moving mobile-env to the third-party environments with Gymnasium support.
Fixes https://github.com/stefanbschneider/mobile-env/issues/26
Type of change
Please delete options that are not relevant.

[x] This change requires a documentation update

Screenshots
Please attach before and after screenshots of the change if applicable.

Checklist:

[x] I have run the pre-commit checks with pre-commit run --all-files (see CONTRIBUTING.md instructions to set it up)
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes

The pre-commit issue is not associated with this PR and is fixed in #475


Ensure that Prometheus metrics are present on the metrics endpoint

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior
@hbagdi reported that
the metrics listed in
https://kic-v2-beta--kongdocs.netlify.app/kubernetes-ingress-controller/2.0.x/references/prometheus/
were not visible on the metrics endpoint of KIC 2.0.
Expected Behavior
Metrics listed in the doc above

send_configuration_count
ingress_parse_count
proxy_configuration_duration_milliseconds

are verified to be present in the prom output of KIC.
Steps To Reproduce
1. Run KIC from deploy/single-v2/all-in-one-dbless.yaml
2. curl the metrics endpoint of KIC
3. observe that these 3 metrics are not visible

Kong Ingress Controller version
2.0.0-beta.2

Kubernetes version
1.21 microk8s

Anything else?
Also it makes sense to enhance the regression test that we have in test/integration/controller_test.go to verify not only that the count of metrics is > 0, but also that these 3 are present in the output.

If I understand the test steps correctly, KIC is not exposed as a K8S service resource in all-in-dbless.yaml, if user curl metrics endpoints based on proxy hostname, it wont get KIC metrics. This is expected.
User can expose KIC metrics as a service as following
`apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/aws-load-balancer-backend-protocol: tcp
service.beta.kubernetes.io/aws-load-balancer-type: nlb
name: kong-controller
namespace: kong
spec:
ports:

name: cmetrics
port: 10255
protocol: TCP
targetPort: 10255
selector:
app: ingress-kong
type: LoadBalancer
`
And curl this service ip + 10255/metrics, should be able to review the data.
Or install prometheus operator, configure PodMonitor, ServiceMonitor, should also be able to see the metrics.

We need update docs - access KIC metrics guide step by step. Basically, there are two ways

expose KIC metrics as a k8s service (above sample), and deploy this service. and access the service directly (most efficient one)
install prometheus operator, pod and service monitor, following https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/user-guides/getting-started.md. configuration is pretty tricky


Port to C++

Port this repo to C++

code should be written in C++.
make a separate branch for this.
functionality should be same and performance should be better.
useful scripts in scripts folder should also be ported.
multiple pull requests are allowed for this but make sure that you are on correct path
:smile: :smile:

@prsntmaurya Can you do this ?

Yes, need some time.

i am trying to execute a program similar to this(Face Recognition using LBPH).
in cmd i have typed
python <pythonFileName> <'C:\FaceRocogProject\Face recog sqllite\test.mp4'>
i see no output nor error. What is the solution for this ?

i am trying to execute a program similar to this(Face Recognition using LBPH).
in cmd i have typed
python  <'C:\FaceRocogProject\Face recog sqllite\test.mp4'>
i see no output nor error. What is the solution for this ?

Open a seperate issue for this @codeArshad and mention the required details like what is the exact command that you ran and may be a screenshot of the output in the conosole.
This issue for porting the code to C++ so it will be lot easier if you open a new issue regarding this problem.
😸 🛩

@prsntmaurya  I have merged the C++ branch to master branch please check it it is working fine or not. Ping me for any issue. https://github.com/ITCoders/Human-detection-and-Tracking/commit/d12c4c2f8eae9649eb7fc0f8c927f7d00b528da6

@arpit1997 I have checked it, it's working fine.


search view for youtube videos

containing a search bar + search button and a list of results

done, closing


Admin view all products

admin should be able to see on every post the option to edit/delete as if they were the ones who posted them

Create buttons that allow patch route, and delete route to role: admin.


How can I train this model pytorch version > 0.4.0?

I work with RTX20.., which is unable to install pytorch0.4.0, any suggestion will be helpful

Sorry for the late reply.
If you want to run our code on pytorch>0.4.0, you may need to check the deepfill model.
Later, we will release the code for pytorch>=1.0.

A pre-release version for PyTorch>1.0 has been integrated into v1.1. You may have a look at that.

A pre-release version for PyTorch>1.0 has been integrated into v1.1. You may have a look at that.

Why the torch version still 0.4.0 in the requirements.txt of the new branch v1.1? and it can not run the command bash install-scripts.sh.


Mid Fi MP Validation and Validation Outcome Page Design (need by 8/23)

Message for validation in progress
Validation outcome page

@chrisgitsit —
Here's a link to the prototype for the MP validation flow in ECMPS. Some things to note:

This is based on this flow from ZenHub
There are a few things animating so it might lag the first time around. So click on "Evaluate," run through the whole animation, then view the report. After you run through it once, it should run smoother (it has to cache).
Visual feedback:

The "Evaluate" becomes both the progress meter, and the success message.
Once the evaluation has started, "Check back in" is disabled, the config tab icon changes from a pencil to a lock, a cancel link appears next to the evaluation progress indicator, and the eval status meta info goes away.
Once evaluation is complete, the config is unlocked, "Check back in" is enabled again, a direct link to the newest report appears next to the eval status meta message, and a "New" tag appears next to "Reports."
"Reports" and "Report" modals are intentionally left blank. Exiting these modals will take you back to frame one of the flow.
Hoping that all these visuals will convey what's happening, give them and exit, and give them in-context feedback on where to find the results of their eval.

Let me know if you have any issues with the prototype, or if you have any questions

Set up a visual pattern for those evaluations that might take a longer time, or still give you that evaluation progress on current evaluations if you navigate away.


feat: associated commit with benchmark results

I've introduced a new feature that records the commit SHA in the build-info.json file. The contents of the build-info.json resemble the following structure:
{
  "2024-01-23": {
    "commitSHA": "800542b22306fa4a70a3bfb5e3fda57485860fd4",
    "shortCommitSHA": "800542b22"
  }
}

On the website, the short commit SHA is displayed within a tooltip as shown below. Clicking on a data point will redirect you to the corresponding commit's details page on GitHub.

@jerrykingxyz cc


Add a copy of the license to the plugin folder

When I install the plugin using the "Install Project Builder Plugin" button, it doesn't come with a license file. Since I'm making a FOSS project, it's valuable to have license files in third-party folders to document what the separate license is for that folder compared to the rest of the project. I have to manually copy the license to that folder if there isn't one. So putting a license there makes things more convenient. (It's also one of the recommendations given by the Godot docs.)

So you are making a FOSS project that uses the addon as its component?
I never put duplicate license in my addons and no one asked for that since now. Probably because they are used in private projects.
You could just copy the license yourself. Though I could make an exception if that's a problem.

So you are making a FOSS project that uses the addon as its component?

Yes. That is, I plan to use the addon after the next version is released.
Mostly this is a convenience for others since I already copied the license there. Though depending on how the plugin is updated I might have to copy it again with every update, which would be inconvenient.
The case for doing this for Project Builder is a little better than doing this for other addons. When I click the "Install Project Builder Plugin" button, it creates the addon folder without me seeing it, so I didn't notice immediately that there was no license file there. When installing from the Godot Asset Library it shows the files being installed, so I can more easily notice the lack of a license file in the addon folder. So it's likely that if other people make FOSS projects using this they will forget to copy the license file.


Add next/previous month events

Would be nice to have access to the events of moving the calendar to the next date, so if you have custom navigation you can control the calendar.
In my instance, I only want to show a 'peek' of the next month, so I have multi calendar on in vertical mode, but am hiding all but the first line of the second month. When I click on any of the dates in the second month, I'd like it to move the calendar to this month.
Any other suggestions on ways I can achieve this would be appreciated! But I was thinking I could just get the next month event and call it when anything in the second calendar is clicked?

@EmilyFlocc Can you try setting the multiStatic prop to false and tell me if it works?

@Jasenkoo ooh thank you, thats definitely closer! It does when I select the second date in my range (sorry forgot to mention in my first comment that this is a calendar with a date range), but given that I'm only showing one row of the month, its not that helpful! Is there a way to change it to trigger on the first date in the range?
A screenshot of my calendar as reference:

Not right now, but can add it

@Jasenkoo thank you, that would be amazing if you could!


Final Review and Deploy

Upon completion of the coding exercise.  The challenge must be reviewed and submitted.

Submitted this challenge.


Parallelized pd.read_html()

In the modin docs, read_html is marked as Default to Pandas.
Is parallelizing read_html on the table? If not, what about the format means it cannot be processed in parallel?

Hi @klamike thanks for the request!
read_html can be difficult to parallelize, are you reading an extraordinarily large file? Everything is on the table 😄, but it is a matter of priority based on what the expected speedup would be. At a certain point the network could end up being slower than the parsing of the file, so parallelism would not particularly help in that case. Do you have an example file that we can use to evaluate expected speedup?

Closing to track #1296.


Example of eventGridPublishEventTypes property contains disallowed value.

A list of allowed event types to publish to Event Grid includes Started, Completed, Failed, Terminated. However, the example of host.json contains Pending state, which is not listed as allowed.

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

ID: 4b2c8f85-9416-d9f2-e082-b1b15961d810
Version Independent ID: e987c477-36ef-76b9-6dbd-db76fd291e7b
Content: Bindings for Durable Functions - Azure
Content Source: articles/azure-functions/durable/durable-functions-bindings.md
Service: azure-functions
GitHub Login: @ggailey777
Microsoft Alias: azfuncdf

@stepanbenes Thank you for your feedback! We will review and provide an update as appropriate.

Hey @stepanbenes - Thanks again for reporting this! I've created a PR that replaces Pending with Completed in host.json example. Once the PR is merged, the change should reflect within the next 24hrs. We will now proceed to close this thread. If there are further questions regarding this matter, please reopen it and we will gladly continue the discussion.

Ok, thanks! It seems fine now.


[WIP] Fixes Nearby edits didn't edit Wikidata items

Title (required)
Fixes #1601 Nearby edits didn't edit Wikidata items
Description (required)
Can you please test this @misaochan

Sorry, this still gives me the error:
08-05 00:09:27.203 18482-18847/fr.free.nrw.commons D/UploadService: Contribution upload success. Initiating Wikidata edit for entity id null
08-05 00:09:27.203 18482-18847/fr.free.nrw.commons D/WikidataEditService: Skipping creation of claim as Wikidata entity ID is null

Let us ping @nicolas-raoul for testing as well, in case I am not around tomorrow.

Codecov Report

Merging #1797 into 2.8-release will decrease coverage by <.01%.
The diff coverage is 0%.

@@              Coverage Diff               @@
##           2.8-release   #1797      +/-   ##
==============================================
- Coverage         3.65%   3.65%   -0.01%
==============================================
  Files              186     186
  Lines             9314    9315       +1
  Branches           823     824       +1
==============================================
  Hits               340     340
  Misses            8951    8951
- Partials            23      24       +1

Impacted Files
Coverage Δ

...a/fr/free/nrw/commons/upload/UploadController.java
0% <0%> (ø)
:arrow_up:

...rw/commons/mwapi/ApacheHttpClientMediaWikiApi.java
3.75% <0%> (-0.01%)
:arrow_down:

Continue to review full report at Codecov.

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


Delayed start for fetching routes data

What problem does this feature solve?
Some apps does not know routes structure in a compile time, but have to fetch some data in a run time. My use-case is content app which have to download content from CMS and then generate routes.
But currently in a meantime it reports "[Vue Router warn]: No match found for location with path". After routes loaded I have to call this.$router.replace(this.$route.fullPath).
What does the proposed API look like?
Option like start: false in createRouter.
Method like router.start().
Or just document how to solve it by current API. There are some workarounds, but they feels like a hacking.

The warning is okay, it helps people figure out typos too. This is documented in v4: https://next.router.vuejs.org/guide/advanced/dynamic-routing.html. It's similar to v3


Roblox returning a 264 error ( same account error) after installing the launcher and joining the game

After updating roblox and dowloding the launcher i get the same account error.
It's getting on my nerves  becouse if i join a diffrent game there's no sign of that error
And i don't know for how long the error stays but i always updated my client at night so after i wake up it's patched and i can play that game now.
IT"S LIKE A SOFTLOCK

I know that you can't enter the last game. Just wait a few minutes and it will be solved. Roblox thinks that you are playing the game.

is it the "same account launched from different device"  error? it happens on the same game but i was able to join a different one

is it the "same account launched from different device" error? it happens on the same game but i was able to join a different one

I found that it is happening on the normal launcher too. It is not related to custom launcher.

It is not related to custom launcher.

Thank god...


Recognize auto-generated inspect methods and create deftypes from them

Pull Request Test Coverage Report for Build 326470536

0 of 2 (0.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.009%) to 81.831%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

common/type_system/Type.cpp
0
2
0.0%

Totals

Change from base Build 326268466:
-0.009%

Covered Lines:
15079

Relevant Lines:
18427

💛  - Coveralls

In this PR:

Recognize new type definitions/parents/type flags in the decompiler
Analyze autogenerated inspect methods and dump guesses at fields to a file
Utility functions for accessing static data by label
Better ordering in the decompiler to go through functions in the order they appeared in the source
Added a decent number of types to all-types.gc based on the new field analyzer
Correct a few int/integer mistakes in gcommon.gc (this should really be a warning)
Correct a few type issues in gcommon and gkernel-h
Option in the decompiler to be strict about define-extern redefining a type of a symbol
Add a test to check consistency in types between all-types.gc (used by decompiler) and goal_src (used by the compiler)


⚠ ClamAV has degraded performance

In 17120d1, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 68 ms

Resolved: ClamAV performance has improved in 508f06d after 5 minutes.


Determine RDMS

My initial thoughts are to just bite the bullet and use postgres with the AGE graph DB plugin.
We'll start simple and just do basic document (mongodb) style
My concerns are this.
How much data can we really throw into postgres? Realistically full DB could be as small as 5TB but if we start allowing entries it could get really, really, big. what are the solutions here?
Postgres with the AGE plugin should theoretically satisfy our needs for a database that can do documents, tables, and graphs, but if there's some fundamental limitation here what should we look towards next that can satisfy all three needs?
ORMs in Go have a tenuous history. With generics we'll have a little more flexibility with data models but we also want some strong-ish typing to prevent spaghetti. Ideally we'd want a tight integration between the Go structs we define with the models stored in Postgres and would be nice to avoid the map[string]interface pattern seen in a lot of Go web projects.

Things we need to consider:

Datalog Compatible databases
SPARQL compatible databases
Implementing an SQL compiler (GraphJin) (maybe we can just use this)

Regarding blob storage, I realized that one of the issues that might come along the way is that we might bloat up Postgres if we use it to store blobs. I use S3 or the equivalent blob storage systems from the other big cloud providers. Maybe we could store the blob URL in the postgres rather than all the data directly.

Check out sqlc.dev
I’ve been using it lately and it’s fantastic. It takes your SQL schema and generates type-safe Go code. It non-trivially reduced the amount of bugs I get, while making my code more idiomatically Go. It does still require you to write SQL, however.


scylla: Add support for rustls Fixes #293

This PR adds support for rustls behind a feature. Rustls is a pure rust implementation of TLS. With this PR, it obviates the need for clients to install libssl separately, which can be advantageous for users who with to cross compile binaries or just want a simpler building process.
There is one breaking change:

Since the rustls and ssl features cannot be used together, the cloud feature no longer automatically pulls in ssl. Instead a compiler error is generated when the cloud feature is enabled without either rustls or ssl. A compiler error is also generated when both rustls and ssl are enabled.

Concerning scylla cloud:

I left the rustls implementation close enough to the current openssl one and I thought it would be easy to get scylla cloud to work with rustls. As I looked at the code, and realized I had no way to test it as I'm not a customer I opted to have the cloud feature depend on ssl. I don't have any business mucking around in your guy's cloud code.

Pre-review checklist

[x] I have split my patch into logically separate commits.
[x] All commit messages clearly explain what they change and why.
[x] I added relevant tests for new features and bug fixes.
[ ] All commits compile, pass static checks and pass test.
[x] PR description sums up the changes and reasons why they should be introduced.
[x] I have provided docstrings for the public items that I want to introduce.
[x] I have adjusted the documentation in ./docs/source/.
[x] I added appropriate Fixes: annotations to PR description.

While implementing this, I noticed that

The actual hostname that is used to connect to the cluster is not preserved. I think this is because Scylla doesn't actually know the hostnames of other nodes in the cluster, just the IP addresses. This presents a problem for Rustls - the default implementation expects to find the hostname or the IP address in either the common name or subject alternate name of the certificate.

Disabling hostname verification isn't easy and requires some boilerplate. There was a discussion in rustls/rustls#578 and rustls/rustls#1197 on making this easier in rustls itself that didn't make it as other database drivers had similar issues.  However, scylla-rust-driver's design has a "BYOB" style of configuration and it seems expected for the user to do this themselves. This is what I have done in the rustls example.

I'm not sure how to fix the Rust / min_rust (pull_request) test.

Do we have some performance numbers to compare between the two implementations?

As far as the implementations go, rustls is a bit faster than openssl as benchmarked here:
https://jbp.io/2019/07/01/rustls-vs-openssl-performance.html

See those posts for details and analysis. To summarise the results, though, we can say approximately:

rustls is 15% quicker to send data.
rustls is 5% quicker to receive data.
rustls is 20-40% quicker to set up a client connection.
rustls is 10% quicker to set up a server connection.
rustls is 30-70% quicker to resume a client connection.
rustls is 10-20% quicker to resume a server connection.
rustls uses less than half the memory of OpenSSL.

However I don't have the infrastructure to test the change in performance against a scylla cluster.

I started to review this, but I decided against posting comments to specific fragments of code. I really like the idea of adding rustls support and we'd like such support to be part of 1.0. But I think we should take a different approach. In this PR you introduced a new rustls feature, that is conflicting with ssl feature. This will make documentation confusing (now you have 2 instances of struct with the same name, but enabled for different features). It will prevent use of e.g. cargo check --all-features and make the features non-additive. Also the amount of cfg directives is quite high and it makes it hard to read the code.

I strongly agree that our features should be additive.

The approach I think should be taken is for SslConfig to be an enum or trait. Enabling rustls / ssl features would introduce implementation of the trait / variants of the enum. This makes features additive, and users would be able to choose at runtime the SSL implementation they want to use. I'm not sure which is better here: enum or trait. We also need to think about how to make cloud work best with this approach. WDYT @wprzytula @piodul ? Trait would enable external implementations. This makes sense if someone is using BoringSSL / new Amazon library or something else we don't (yet) support. Enum OTOH might provide simpler API / better performance.

I'm fine with the enum.
The usual tradeoff between enum and trait is that enum is more efficient, whereas a boxed trait enables user's custom implementations.
I think we could have pros of both this way:
trait SslProvider {
  ...
}

#[cfg(feature = ssl) // consider if putting this under feature is beneficial wrt performance
enum SslConfig {
  #[cfg(feature = "rustls")
  Rustls(RustlsProvider),
  #[cfg(feature = "openssl")
  Openssl(OpensslProvider),
  // maybe a cfg here as well?
  Custom(Arc(dyn CustomSslProvider),
}

impl SslProvider for RustlsProvider { ... }
impl SslProvider for OpensslProvider { ... }
impl SslProvider for SslConfig {
   // match and use trait impl on any of the 3 enum variants
}

The approach I think should be taken is for SslConfig to be an enum or trait. Enabling rustls / ssl features would introduce implementation of the trait / variants of the enum. This makes features additive, and users would be able to choose at runtime the SSL implementation they want to use. I'm not sure which is better here: enum or trait. We also need to think about how to make cloud work best with this approach. WDYT @wprzytula @piodul ? Trait would enable external implementations. This makes sense if someone is using BoringSSL / new Amazon library or something else we don't (yet) support. Enum OTOH might provide simpler API / better performance.

I'm fine with the enum. The usual tradeoff between enum and trait is that enum is more efficient, whereas a boxed trait enables user's custom implementations. I think we could have pros of both this way:
trait SslProvider {
  ...
}

#[cfg(feature = ssl) // consider if putting this under feature is beneficial wrt performance
enum SslConfig {
  #[cfg(feature = "rustls")
  Rustls(RustlsProvider),
  #[cfg(feature = "openssl")
  Openssl(OpensslProvider),
  // maybe a cfg here as well?
  Custom(Arc(dyn CustomSslProvider),
}

impl SslProvider for RustlsProvider { ... }
impl SslProvider for OpensslProvider { ... }
impl SslProvider for SslConfig {
   // match and use trait impl on any of the 3 enum variants
}

In your example our functions would accept SslConfig instead of Arc<dyn CustomSslProvider>, right? I like this a lot.

@Lorak-mmk @wprzytula I will take a look at this to move this forward if noone minds.
Correct me if I'm wrong, but one problem with the trait + enum suggestion, if you look closely, is that there's SslContext (which is a different for openssl / rustls) stored in Session. And you can't have that Custom(Arc<dyn>) if you have an associated type in the trait... so the only option if you wanted to retain what you've suggested is to store it as Arc<dyn Any>, would that be suitable?
Another question I had - in regards to feature names, it gets a bit confusing, should ssl be renamed to openssl? (a bit of a breaking change, of course) Does there need to be a separate ssl feature as well then, or perhaps not?

This fell off for me as it wasn't clear if rustls was something scylla wanted to support. I see it has the waiting-on-author label now. w.r.t ssl_context could just be SslConfig that does handwritten dynamic dispatch to the enum variants.
That said, I think changing ssl_context may be a more invasive change, and my original goal was to minimize the amount of code I touched. @aldanor let me know if you plan on taking this over - I'm not planning on refactoring this PR unless you are no longer interested.

I don't see why would there by any need for associated type in SslProvider trait.
Regarding the enum idea, we discussed it with @wprzytula and this optimization is not necessary here, we can just use Arc.

@Lorak-mmk As it's currently written, in Session you have an instance of an sslprovider-dependent type which is not the provider itself. Arc<dyn SslProvider> won't help you here unless you agree to store the context as Arc<dyn Any> or perhaps Arc<dyn SslContext> if the latter even makes sense. Or, do something like what @nemosupremo suggested above (config with dynamic dispatch).

@nemosupremo Thanks for answering (and apologies for taking long to get back).

@aldanor let me know if you plan on taking this over - I'm not planning on refactoring this PR unless you are no longer interested.

I think it makes sense for those present in this thread to jointly get this PR to completion in some way since it's more than halfway there already. To be frank I am barely familiar with either scylla or this particular codebase, so I'd definitely prefer it to be led by someone more knowledgeable than I am :) But if noone else wants or has time to, I could give it a try too, would really like to see it get merged in.
Cheers.

Did you wait a few minutes? Launching Scylla takes some time. It sometimes just hangs for me too - trying again (make down && make up) is usually enough.

Yep, tried it all possible ways, and waited over 10 minutes, make up/down, nothing helps, sigh (I'm on an m1 mac, if that's any relevant).

Could you share logs from Scylla? Either from the node that hangs at boot or from all 3. docker logs <container name>, you can obtain container name from docker ps (unless something is very different on macs...).


OpenID connect missing

Login using OAuth feature was missing.

Hi,
OAuth has already been integrated.
You can check it in login tab and not in new user tab
http://<IP_ADDRESS>:8100/rides/tabs/rides-available

Earlier, I couldn't see any Login using Google. It works fine now though.

Thank you for the confirmation


Bottleneck analysis

For enterprise applications it is very important to know if there are bottlenecks in a system. In case of AMP this means blocking tasks.
With a slightly modified loop driver it would be easy to identify and report blocking tasks. To achieve that, each executed watcher has to be measured. This only is not sufficient to debug an issue. It is necessary to identify the watcher in a reasonable way. The watcher needs more context. A backtrace of the point when the watcher was added would be helpful but slow. A faster ways would be to add a context to every watcher. For Aerys this could be the current request.
Adding context information to every callback would a) be very costly during development b) break the interface. It would be easier to set a context globally e.g. Loop\Context::set($request). A reference to the current context (an arbitrary object or object container) can be stored with every watcher when the watcher is being enqueued and restored before the watcher is being executed.
So every watcher always has a context and is able to report that (not only) when blocking tasks are detected.
In a parallel / concurrent system a global (static) context would be an issue and not reliable / consistent but as PHP in general and AMP in special is a single threaded / non-current runtime this works perfectly.
By measuring each watcher it is also possible to report the overall utilization and responsiveness of the loop. This helps to make decisions when to add more workers or machines:
Utilization = Time elapsed / Time spent executing watchers
This metric can be fetched and e.g. reported to a time series DB by the application using AMP.

There's one small library for this: https://github.com/kelunik/loop-block
Is that achieving what you need?

@bwoebi While kelunik/loop-block works, it's quite expensive to run it often. I'd be better to run it every tick, but that's not possible to implement outside the driver, because it has to schedule two ticks that immediately result in another tick instead of idling in stream_select.

Associating context will be much easier with Revolt's v0.2.0 release, which adds FiberLocal. Wrapping callbacks to measure their execution time will also be much more helpful now.


Update cats-effect to 2.0.0

Updates org.typelevel:cats-effect from 2.0.0-RC2 to 2.0.0.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention @scala-steward in the comments below.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.typelevel", artifactId = "cats-effect" } ]

labels: semver-pre-release

@gvolpe can you make a release when you have some spare time? :)

Sure, I know I'm running behind on all the Scala OSS libs!  :smile:

@kubukoz  https://github.com/profunktor/console4cats/releases/tag/0.8.0


Preserve user input after blur and tab down events

Also includes a change to prevent null reference errors in IE11

@Barraketh

@elementsean I (and probably all members) need write access to this repo when you have a sec


[release] v5.16.1

🚀

I merged #42713. Could you include it?

@ZeeshanTamboli updated

Latest updates:

No new @mui/base version is published in this release.
All @pigment-css packages have been marked as private and they won't be published in this release.


ModSecurity Audit Log Shows 403 or 200, but Nginx Returns 500 or 499 Under High Traffic

I'm encountering an issue where ModSecurity is blocking requests with a 403 status code, but Nginx is returning a 500 error to the client. Additionally, there are cases where ModSecurity returns a 200 status, but Nginx throws a 499 error instead. The ModSecurity audit log shows the expected 403 or 200 status codes, but this is not reflected in the Nginx responses.
This issue tends to occur when I send a large number of requests or simulate a DOS attack. I've included the relevant access, audit, and error logs below for further context.
Any guidance on why these discrepancies are happening under high traffic conditions and how to resolve them would be greatly appreciated.
access_log.json
audit_log.json
error_log.txt

Hi @rohithmulka,
thanks for reporting.
If I'm understand you correctly, you use libmodsecurity3 as a module for Nginx (through lingninx-mod-http-modsecurity), and Nginx (as a back end) sends a 5XX response to the client, but ModSecurity "transforms" it into 403, right?
That's a normal behavior if you use CRS. Please take a look the rule 950100. This rule catches the response with 5XX code, and the increments the tx.outbound_anomaly_score_pl2 by 5 (tx.error_anomaly_score). After that rule 959100 (which checks that score value) uses action deny. Default response code in case of deny is 403, so the behavior is normal.

that is ok the request is blocked but that 403 should be carried and NGINX should rely that to the client . What Im trying to say is whatever modsec is throwing that is not being displayed to the client.

I'm afraid based on your shared logs we can't help at the moment.
Could you show your relevant config?

@rohithmulka ping.


Add react-theme

Hi! Thanks for this collection!

hey @azazdeaz, thank you very much for your contribution and for your package.
I just leaved a couple of comments, if you could fix them then we'll merge the pr.
thanks!

I added a commit with the fixed mistakes and i renamed the active state to toggled (or should i remove it completely?)

thank you very much @azazdeaz!
if you don't mind, I would remove it completely as I think that having consistent demos is important.

Yes, that makes sense. I removed it.

Perfect, thanks!
Just https://github.com/MicheleBertoli/css-in-js/pull/8#discussion_r36997742 and then we can merge.

My bad!

Thank you very much @azazdeaz, merged ;)

Thank you!


phpExtensions.xdebug: 3.3.0alpha3 -> 3.3.0

Description of changes
This PR updates xdebug to its latest release: https://xdebug.org/updates#x_3_3_0
Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

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

@GrahamcOfBorg build php.extensions.xdebug


Legend title support

So far, mpl2tikz does not support legend titles. Consider this mwe,
import numpy as np
import matplotlib.pyplot as plt

plt.plot([1,2], label="foo")
plt.plot([1,3], label="bar")

plt.legend(loc="lower right", title="title")

from matplotlib2tikz import save as tikz_save
tikz_save("legend_title_mwe.tex")

the title is not displayed.
Adding a title to a legend in pgfplots has been discussed here.
Have you encountered this before/found an idea for a workaround?
Thanks, pylipp
EDIT:
A possible way could be to add
title_text = obj.get_title().get_text()
if title_text != "None":
    texts.append('%s' % title_text)

in draw_legend() before querying any other of the object's texts.
Eventually, \addlegendimage{empty legend} has to be added before the first \addplot.

This is really fiddly. One problem here is that the legend object may be parsed after all addplots, and the title would show up last. I would like to defer this until legend titles are supported in Pgfplots itself. If you open an issue for Pgfplots, feel free to reopen this bug and link it here.