new version of fluentd does not auto load core libs

If you're new, read the [guidelines]
(https://github.com/reevoo/guidelines/blob/master/pull_requests.md).
Good code is tested, designed for change, easy to understand
and able to cope when things go wrong.
Good pull requests are descriptive, small and short-lived.
For the Author

[ ] Description explains what you have done and why.
[ ] Tests have been written (or you have explained why you don't need
tests).
[ ] Documentation/comments have been added/updated.

For the Reviewer

[ ] The code is well-designed and able to cope with change.
[ ] The code is easy to understand.
[ ] Tests cover happy and unhappy paths in the code.
[ ] Tests are green on CI (or pulled/tested on your machine).

Thanks for the PR . . . I have a few nits but it looks good thanks :)

Ok Merged


Initial Version of IAC Challenge

@jrearle this is a good challenge but very specific to what you think and how you think. Not an industry standard. For instance industry standard would be to never expose your Terraform state files because they contain secrets (https://www.terraform.io/language/state/sensitive-data). This is something I mentioned to you before as well. You can use terraform data to look up existing infrastructure in aws that isn't in terraform state file as long as you have tag information which is all you need and doesn't need to be in state file.
I would suggest you should also provide a solution that you expect the candidate to provide.
I have other questions about this as well but I suggest we get on a call with @zvika-peeriq @apspeeriq discuss candidate, requirements and reason we would hire someone?

@munjalt - This exercise does require exposure of state files. Please define / explain what you mean by exposed.

there should be no sensitive information in the state file, just as there shouldn't be in code or config files. This is a human implementation issue, not a framework / solution issue. If anyone is doing that in the real world, immediate corrective action needs to be taken. Unless you are considering information about resources and their attributes being available to other devops people internally only being sensitive information?
data is not exposed simply because it is in a remote state file. That again only happens when there is an implementation issue where the store mechanism is not properly configured.
using another data source still requires you to shared out the data, encrypt (if sensitive), and manage permissioning to it. Exposure can still be an issue here for the same reasons.
utilizing an additional storage mechanism outside of state files isn't as much about data protection as it is about data exposure in order to utilize the info with other tooling.

@jrearle pinging on slack to provide this information. I would suggest you go through the docs for terraform and setup a rds instances that you requested and see that it requires password. Happy to take things offline and talk about other things than this thread.


Revert "Update spdlog to 1.11 ( latest version ) (#342)"

Description
This reverts commit 3d5c0a1e0d94b0882f714cce05cb9a3bd1b0e3c7 / PR #342.
The update to spdlog 1.11.0 was tested for cuml (and seemed fine) but broke builds for cugraph both locally and in CI:

https://github.com/rapidsai/cugraph/actions/runs/3980866464/jobs/6824225844
https://github.com/rapidsai/rapids-cmake/pull/342#issuecomment-1399183315

I am reverting that change until a diagnosis can be performed and solution can be found.
See also this packaging change for rmm (not yet merged): https://github.com/rapidsai/rmm/pull/1177
Checklist

[x] I am familiar with the Contributing Guidelines.
[x] New or existing tests cover these changes.
[x] The documentation is up to date with these changes.
[x] The cmake-format.json is up to date with these changes.
[ ] I have added new files under rapids-cmake/

[ ] I have added include guards (include_guard(GLOBAL))
[ ] I have added the associated docs/ rst file and update the api.rst

/merge

This reads to me as a namespace resolution lookup issue.
Looking over the includes the compile issue looks to occur if either of the following includes occur:
#include "Static/KTruss/KTruss.impl.cuh"
#include "Static/KTruss/KTrussWeighted.impl.cuh"

Looking into both of those files they both do:
using namespace std;
using namespace rmm;

Which is really bad for a header file as it can cause global lookup issues when trying to resolve unspecified namespace types.
Locally if I can remove all 4 of those using namespace commands I get cugraph to compile with spdlog 1.11

Thanks @robertmaynard. I have identified that using namespace rmm is only present in the cuhornet repository, one of cugraph's dependencies. I will refactor cuhornet to avoid using namespace rmm and using namespace std.
https://github.com/search?q=repo%3Arapidsai%2Fcuhornet "using namespace rmm"&type=code


Bad environment variables in proxy lead to misleading metadata

Bug description
There are some bad values for ENV vars for the proxy images:

ISTIO_PROXY_VERSION is hardcoded to "1.1.3" (https://github.com/istio/istio/blob/master/pilot/docker/Dockerfile.proxyv2#L44)
ISTIO_VERSION is set to $istio_version, which comes from $VERSION in the Makefile, which defaults to "1.0-dev" (https://github.com/istio/istio/blob/master/Makefile#L23)

If I build a proxyv2 image from HEAD and inspect the metadata, I see:
...
"bootstrap": {
  "node": {
     "metadata": {
         "ISTIO_PROXY_VERSION": "1.1.3",
         "ISTIO_VERSION": "1.0-dev"
     }
   }
}

This information is incorrect.
Affected product area (please put an X in all that apply)
[ ] Configuration Infrastructure
[ ] Docs
[ ] Installation
[ X ] Networking
[ ] Performance and Scalability
[ X ] Policies and Telemetry
[ ] Security
[ X ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
Expected behavior
If there is metadata being collected, it should be accurate. We probably also should not have two different ways of reporting the same information.
Steps to reproduce the bug
Build a proxy image and use it.

Some more context, my understanding is that:
ISTIO_PROXY_VERSION is used as the "proxy capabilities version". In the code we check for this var to determine what the proxy can do (can it serialize Any types? etc).
ISTIO_VERSION is the actual istio version. While this is 1.0-dev when you build it, in the actual releases this (should) be correct.
It is a common source of confusion though. In 1.2 we switched istioctl ps to show ISTIO_VERSION instead of ISTO_PROXY_VERSION.

Fixed by https://github.com/istio/istio/pull/15886


[search-documents] suggest select types incorrect

Package Name: @azure/search-documents
Package Version: 12.0.0
Operating system:
[x] nodejs

version: 18.16.0

[ ] browser

name/version:

[x] typescript

version: 4.9.5

Describe the bug
The suggest API doesn't correctly narrow down types. If you follow the same example from the README that selects specific fields, but use suggest instead of search, a TypeScript error occurs.
To Reproduce
Steps to reproduce the behavior:
import { SearchClient, AzureKeyCredential } from '@azure/search-documents'

// An example schema for documents in the index
interface Hotel {
  hotelId?: string
  hotelName?: string | null
  description?: string | null
  descriptionVector?: number[] | null
  parkingIncluded?: boolean | null
  lastRenovationDate?: Date | null
  rating?: number | null
  rooms?: ({
    beds?: number | null
    description?: string | null
  } | null)[]
}

const client = new SearchClient<Hotel>('<endpoint>', '<indexName>', new AzureKeyCredential('<apiKey>'))

async function main() {
  const select = ['hotelId', 'hotelName', 'rooms/beds'] as const
  const searchResults = await client.search('wifi -luxury', {
    // Only fields in Hotel can be added to this array.
    // TS will complain if one is misspelled.
    select,
  })

  for await (const result of searchResults.results) {
    // result.document has hotelId, hotelName, and rating.
    // this example from the README works as expected
    console.log(result.document.hotelName)
    console.log(result.document.hotelId)
  }

  // however, the following does not:
  const suggestResults = await client.suggest('wifi', 'sg', {
    select,
  })

  for await (const result of suggestResults.results) {
    console.log(result.document.hotelName) // causes TS error
    console.log(result.document.hotelId) // causes TS error
  }
}

main()

The above causes a TypeScript error in the second for loop:
Property 'hotelName' does not exist on type 'Pick<Hotel, "hotelId"> | Pick<Hotel, "hotelName"> | { rooms?: Pick<{ beds?: number | null | undefined; description?: string | null | undefined; }, "beds">[] | undefined; }'.
  Property 'hotelName' does not exist on type 'Pick<Hotel, "hotelId">'.ts(2339)

Expected behavior
The log statements in the second for loop should not cause a Typescript error.

Hello, thanks for reporting this issue! In spite of the fact that this is in the README, you've found a gap in our test coverage. If you're blocked on this, you should safely be able to cast result.document to your model type. Hope to have a fix out soon.

This still happens in version 12.1.0 of the library. Given that this was identified 2 years ago I'd have expected a hotfix to fix this.


Create an installation package for conda package manager

Anaconda (https://www.continuum.io/what-is-anaconda) is the leading Python distribution for data science today. It has its internal package manager - conda (https://conda.io/docs/index.html), which is a rival to a well-known pip.
Since Anaconda as well as its python-only lightweight version of Miniconda (https://conda.io/miniconda.html) are getting more and more tracking within Data Science community these days, porting DVC installer to conda may become a good step to streamline DVC usage across industrial analytical circles.

Hi @gvyshnya !
Thank you for your feedback! Anaconda actually was our first guess when we were developing installers for dvc(you can actually see traces of it in git log), but considering that dvc is currently more of a standalone utility, we actually opted in favor of pyinstaller to create a standalone binary for dvc and distribute it in usual packages(rpm,dev,exe), and pip to distribute it as a python package. That being said, we actually were thinking of creating anaconda/miniconda package in the future, when dvc will be more fit to be used as a library. We can now see that there is a clear demand for it and will try to deliver it in the near future.

looking forward to conda support!

Fixed https://github.com/dataversioncontrol/dvc/commit/79d710010471293a1184d1e66e7619c9bcc00ea0 the issue with download_url/url fields in our package info that didn't allow me to use conda skeleton pypi dvc on 0.9.5. This fix will be released in 0.9.6 and I'll be sure to get back to creating conda package right after 0.9.6 is published on pypi.

Closing as stale. Please feel free to reopen if you feel like working on this.

Conda seems to have better support for creating identical and consistent environments on different platforms. For example, my development env is OSX (my laptop) but production is Ubuntu linux. I need to make sure that there are no differences in the packages installed on the two environments and that I am able to easily spin up a new machine with the same packages...

I agree with @yfarjoun.  There are a few reasons why it would be really nice to have a recipe for dvc in one of the main conda channels:

Convenience.  In my projects I prefer to create reproducible environments with conda.  While one can obviously install packages using pip into an environment created by conda that's both significantly less convenient (and more awkward to automate) and makes it much harder to generate reproducible environments.
Reproducibility.  Conda was, as I understand it, largely invented because the existing package management solutions in python space (including pip) did not provide ways to make fully reproducible environments.  Conda now includes many non-python packages, and is largely the default way to install native (e.g. C, C++) bioinformatics packages as well as python installations and packages.  It is much tougher to make a reproducible environment where conda does 90% of the setup and pip then installs packages.  This is particularly difficult when the pip packages drag in a lot of dependencies and some of those are shared with packages already installed via conda.  Since running pip dvc[s3] in a bare environment installs 38 packages, that's quite challenging.
Irony?  Sorry if this is too tongue-in-cheek, but it just seems ironic to me that a package whose goals are to provide reproducibility in data science is installed in ways that make reproducibility of the installation difficult!

@yfarjoun @tfenne Thank you guys for all the feedback! We really appreciate it! Reopening this issue :slightly_smiling_face:
Guys, btw, could you elaborate on why is using
dependencies:
  - pip:
    - dvc==0.32.1

in your conda env not reproducible?

Thanks @efiop.  This is essentially the strategy I'm using, but it's a bit more complicated than that.  What that section actually ends up looking like is more like this:
  - pip:
    - appdirs==1.4.3
    - asciimatics==1.10.0
    - boto3==1.7.4
    - botocore==1.10.84
    - chardet==3.0.4
    - colorama==0.4.1
    - configobj==5.0.6
    - configparser==3.7.3
    - contextlib2==0.5.5
    - decorator==4.4.0
    - distro==1.4.0
    - docutils==0.14
    - dvc==0.32.1
    - future==0.17.1
    - gitdb2==2.0.5
    - gitpython==2.1.11
    - grandalf==0.6
    - idna==2.8
    - jmespath==0.9.4
    - jsonpath-rw==1.4.0
    - msgpack==0.6.0
    - nanotime==0.5.2
    - networkx==2.2
    - ply==3.11
    - pyasn1==0.4.5
    - pyfiglet==0.8.post1
    - requests==2.21.0
    - s3transfer==0.1.13
    - schema==0.7.0
    - smmap2==2.0.5
    - urllib3==1.24.1
    - wcwidth==0.1.7
    - zc.lockfile==1.4

... because without pinning the versions of all the dependencies, it's hard to guarantee reproducibility.  Currently this is working because where dvc requires a package that is previously installed by conda (in my env) the version that's installed satisfies the requirement.  But if it required an earlier or later version that would start to be difficult to manage.

@efiop just curious, is anyone actively working on this issue? If not, it seems like something I wouldn't mind working on over the weekend.

@J0 That would be amazing! :slightly_smiling_face: No, no one is working on it right now. Thank you so much for looking into this!

FYI, the outstanding DVC dependencies that do not have a conda build are:

grandalf
inflect
jsonpath-ng
nanotime
schema
treelib

For DVC to provide a conda build, I believe the above packages will also need a conda build. See contributing packages guidelines on conda-forge. The process for porting a PyPi package to conda-forge is becoming increasingly streamlined but still not a trivial task.
I would like to see DVC on conda but currently do not have the time to assist on this issue.

Started to work on this. A basic meta.yaml for dvc is here - https://github.com/ei-grad/staged-recipes/blob/dvc/recipes/dvc/meta.yaml.
About dependencies:

@ei-grad: It is a bit unclear, if I want to add a package with dependencies which are not already on conda-forge, should I put this dependencies in the same pull-request with the package I want to add? Or should it be a separate PR for each dependency?
@chrisburr: Both will work but you should consider:
If the recipes are complex a separate PR will be easier to review
If you do it in one PR the first feedstock build will fail due to missing dependencies so you'll have to restart it ~an hour later
Multiple PRs can take longer to get reviewed

I guess it is better to put them in the same PR with the DVC.
Btw, @brbarkley could you please share how did you get the list of outstanding dependencies?

@ei-grad I manually went through DVC’s dependency list and searched for them on conda-forge.

looks like there's already a version on conda cloud: https://anaconda.org/derickl/dvc :eyes:

looks like there's already a version on conda cloud: https://anaconda.org/derickl/dvc 👀

that guy seems to have packaged everything that is needed. Including grandalf https://anaconda.org/derickl/grandalf .

@efiop , those are outside conda-forge (don't know if this is like the official distribution or something)

@J0 That would be amazing! 🙂 No, no one is working on it right now. Thank you so much for looking into this!

Any update on it? @J0

Hi @derickl ! We've found your conda package for dvc and we were wondering if you would be willing to contribute your scripts to create an official dvc repo, that we could help maintaining and keeping up-to-date?

Thanks to you all working on this. It world be awesome to have a Conda dvc package, as I mainly use conda as package manager. However, I prefer if it is possible to have the dvc package in the main or conda-force channel.

Help is needed on this, right? Whom can I discuss that with?

I'm happy to talk as a user.

@GildedHonour we actually have a guy who is looking into this right now. Are you interested in helping us for this specific task or just want to be involved and help DVC in general? Would be happy to discuss and find more stuff where we need more hands :)

@shcheklein in general too. Yes, let's discuss.

@GildedHonour Alex, can you find me and/or Ruslan on dvc.org/chat (ivan and ruslan)? would be happy to chat.

@shcheklein just done

https://github.com/conda-forge/staged-recipes/pull/8963 was merged. Dvc should be available throug conda-forge now https://github.com/conda-forge/dvc-feedstock , unless I'm missing something. Big thanks to @MaxRis :tada:

@efiop unfortunately, dvc package will be uploaded to conda-forge channel once we will have 1st successful ci build in feedstock repo's master https://github.com/conda-forge/dvc-feedstock/commits/master ( so far the build was failed because of others not yet uploaded dependencies ).
Another important thing is that only Python 2.7 and 3.6 builds are enabled for dvc feedstock. To enable Python 3.7 builds it will be needed to remove restriction from there https://github.com/conda-forge/dvc-feedstock/blob/master/recipe/meta.yaml#L14 , but before we can do that it's required to bring Python 3.7 based builds for all DVC's dependencies.

@MaxRis Thanks for the clarification! Let's keep this open for now then.

DVC 0.53.2 for Python 2.7 and 3.6 is available through conda-forge now!
conda install -c conda-forge dvc

Python 3.7 build of dvc is available now!
Odd thing is that on Windows 10 I'm receiving following error when trying to run installed dvc from conda-forge:
Fatal error in launcher: Unable to create process using '"c:\bld\dvc_1564563047081\_h_env\python.exe"  "C:\Users\max\Miniconda3\Scripts\dvc.exe" '

Will try to investigate this more.

Finally, dvc 0.54.1 build 1 with all extra deps is available in conda-forge

@MaxRis awesome stuff! Thanks. The only thing is the doc on how do we support/update it in the future before we close this ticket (finally).

k, thanks, @MaxRis, we have all the docs ready now - https://github.com/iterative/dvc/wiki/Maintenance-of-Anaconda-package-in-conda-forge-channel
@efiop please, take a look and let's update our release check list to include a step to upgrade requirements is necessary.
I think we are ready to close this issue at last 🎉

@shcheklein Added a quick one https://github.com/iterative/dvc/wiki/Release-checklist

thanks @efiop 🙏 :)


What licence?

What licence does this use?

Since materials posted here are from public domains, this repo can't have license,  I guess. Please correct me if I'm wrong.

exactly what licence are we talking about ???

Since it's a collection of many payloads grabbed around multiple sources, I think MIT is good enough. (SecLists project is using the same license)
The license was added in the latest commit.


[Bug]: Destroying an empty file session tries to delete the entire session directory

Which Remix packages are impacted?

[ ] remix (Remix core)
[ ] create-remix
[ ] @remix-run/architect
[ ] @remix-run/cloudflare-workers
[ ] @remix-run/dev
[ ] @remix-run/express
[ ] @remix-run/netlify
[x] @remix-run/node
[ ] @remix-run/react
[ ] @remix-run/serve
[ ] @remix-run/server-runtime
[ ] @remix-run/vercel

What version of Remix are you using?
1.0.5
What version of Node are you using? Minimum supported version is 14.
17.0.1
Steps to Reproduce
const sessionStorage = createFileSessionStorage({
  dir: path.join(process.cwd(), '.cache', 'sessions'),
  cookie: {
    name: '_session',
    sameSite: 'lax',
    path: '/',
    httpOnly: true,
  }
})

// create a new session (or forget to pass in a `request`...)
const session = await sessionStorage.getSession()

// delete the session
sessionStorage.destroySession(session)

Expected Behavior
I'd expect either:

Nothing happens, as the session is empty
An error is thrown stating that an empty session cannot be destroyed

Actual Behavior
Node will throw an error:
Error: EPERM: operation not permitted, unlink './.cache/sessions'

This is because the file storage adapter's deleteData method does not check if id is missing before trying to unlink, so the line unlink(getFile(dir, id)) ends up being unlink(dir). That results in the EPERM error from trying to unlink a directory instead of a file.
Although it of course doesn't make sense to delete an empty session, the typings do allow this to happen and the resulting error is confusing. I discovered this by accident when I was trying to delete a non-empty session, but forgot to pass request into the getSession() function.

Still happening on latest release

Fixed in 1.7.0


Fixes to README

Renamed Readme to README
Removed duplicate "Manually" section
"Embeded" fixed to "Embedded"

LGTM Thanks 👍🏻


TODO - This/Next Week

[ ] 1. Download the book and dump it into the book's repository
[ ] 2. Break down the RDF-JSON for annotations (documentation on format)
[ ] 3. Design the translation function within a new class (I am thinking RDFDecorder)

[ ] a.  I would love to hear your thoughts.

@cliolang Any change you have figured anything out about this format? I am thinking that I can whip up a simple converter over the weekend. I have not found much yet.

By Friday I will look into the form and highlight some portions of it. Sorry for the absence!

let me know if y'all need any help. I'll be tied up until Dec 1 but should have time after that

By Friday I will look into the form and highlight some portions of it. Sorry for the absence!

@cliolang Seriously not a problem. I have logged some time looking over materials and trying to get an idea, but I do not think I will write much code until at least next week.
@michaelgavin will do! Maybe when you're free you can send any links about RDF that you have found useful.


Taiwan nicename is incorrect

In your vue component, Taiwan nicename is Taiwan, Province of China. This is incorrect nicename. You should rename to "Taiwan, Republic of China". Please refer to the below.
https://en.wikipedia.org/wiki/Taiwan

No, Taiwan acturally is not part of China. Does China really governance Taiwan? Does Taiwan people pay any tax to China? Does Taiwan using the same constitution with China? All the answer is NO. China people always like to deceive themself.


[Misc] Logits processor plugins

This pull request adds support for Logits processor plugins.
This makes implementing custom Logits processors very easy, and eliminates the need to change vLLM directly to implement it.
For example with this merge request we could implement all of the guided decoding features, just by implementing a Python package and installing it in the same virtualenv as vLLM, without actually changing vLLM source code.
Example code for a logits processor plugin that given a token id multiplies its logit by 100:
from pydantic import BaseModel

class MyParameters(BaseModel):
    token_id: int

class MyLogitsProcessor:
    def __init__(self, tokenizer, parameters: MyParameters):
        self.tokenizer = tokenizer
        self.parameters = parameters

    def __call__(self, token_ids, logits):
        new_logits = logits.clone()
        new_logits[self.parameters.token_id] *= 100
        return new_logits

LOGITS_PROCESSOR_PLUGIN = {
    'logits_processor_class': MyLogitsProcessor,
    'parameters_model': MyParameters
}

And the setup.py file for the package should look something like this:
from setuptools import setup

setup(name='example_logits_processor',
      version='0.1',
      install_requires=[
            "pydantic>=1.8.2"
      ],
      entry_points={
            'vllm.logits_processors': ['example_plugin=example_plugin.main:LOGITS_PROCESSOR_PLUGIN']
      }
      )

With this merge request vLLM will load all the plugins at startup, and each inference request can specify usage of custom logits processors using the logits_processors field in the request body.
The parameters_model in the plugin dictionary is used to validate and parse the request body.
I will soon add to this pull request a page in the documentation explaining how to implement custom logits processors.

I added some documentation about this feature :)

@mmoskal @noamgat @br3no curious about your feedback on this!

I am very much in favor of this approach. A few months ago I tried to get a similar concept in huggingface-tgi:
https://github.com/huggingface/text-generation-inference/pull/1274
But have since switched to vLLM :)

I like this idea. And I agree with @mmoskal that it would be important to support the more involved API being worked on in #4775.
I wonder though how one would implement support for the OpenAI API on tool use if guided decoding were to be provided by such a plugin. The code on the OpenAI server depends on the guided decoding backend and will need to know how to transform the OpenAI API conformant parameters into valid guided decoding parameters (c.f. #4656).
Supporting the OpenAI API as thoroughly as possible is a very valuable thing that should not be sacrificed for software-architectural reasons.
So we can either define guided decoding as a core vLLM feature that is not in the scope of logit-processor plugins or we can think about e.g. also making the frontend part necessary to "correctly" use the plugins also pluggable. Latter would be a challenging endeavor.

Thank you for the feedback everyone.
Regarding @br3no response: It's a good point, I believe as a first step it does make sense to keep the guided decoding code as core vLLM logic, and even more so as it's already implemented this way.
I will try and think how it would be possible to implement it as plugins but still allow tool calling, but I believe this pull request is valuable both ways :)

@DarkLight1337 @simon-mo
Hi guys, any updates regarding this pull-request? (:


Doesn't work at all

Describe the bug
Complete failure to do anything.
To Reproduce
Steps to reproduce the behavior:

Fill Pi-hole's address http://pi.hole:8888/admin
Fill api token correctly
Try to click on the addon's red button on a random webpage
Nothing happens

Expected behavior
Turn off PI-hole for a bit
Desktop (please complete the following information):
Switch for PiHole: 2.3.3
Operating System: Win32
Browser: Mozilla Firefox 92.0
Additional context
I think the error comes from the custom port 8888.

Same issue here, but with standard port... It stopped working about 1 week ago.

Hello, thanks for reporting the issue.
Unfortunately the extension works like it should on my side. I also checked the compatibility to the current PiHole Version v5.6, and everything is fine there.
The extension also accepts custom ports.

I just changed the PiHole Address to http://openhab/admin/, and now all seems to work fine.
Hope this can help others as well :-)

From: Pascal Glaser @.>
Sent: Monday, September 13, 2021 16:18
To: badsgahhl/pihole-browser-extension @.>
Cc: dwemel @.>; Comment @.>
Subject: Re: [badsgahhl/pihole-browser-extension] Doesn't work at all (#50)
Hello, thanks for reporting the issue.
Unfortunately the extension works like it should on my side. I also checked the compatibility to the current PiHole Version v5.6, and everything is fine there.
The extension also accepts custom ports.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://github.com/badsgahhl/pihole-browser-extension/issues/50#issuecomment-918240681, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AN33D6K2CT7TXGUSXHRR3D3UBYB2RANCNFSM5DXRHS3A.
Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

It looks like it doesn't accept http://pi.hole:8888/admin for some reason, although this url works well on my browser.
http://pihole_ip_address:8888/admin works fine.


yt-dlp command arguments inside lua

DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

[X] I understand that I will be blocked if I intentionally remove or skip any mandatory* field

Checklist

[X] I'm asking a question and not reporting a bug or requesting a feature
[X] I've looked through the README
[X] I've verified that I have updated yt-dlp to nightly or master (update instructions)
[X] I've searched known issues and the bugtracker for similar questions including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue

Please make sure the question is worded well enough to be understood
There is this lua script below which is used inside vlc to extract and play youtube streams using yt-dlp. It works, however, it always opens the video in the best quality available.
I would like to modify and introduce another yt-dlp argument to specify the resolution for example. i want to know if this is possible? didn't found a correct argument.
JSON = require "dkjson" -- load additional json routines

-- Probe function.
function probe()
    if vlc.access == "http" or vlc.access == "https" then
        peeklen = 9
        s = ""
        while string.len(s) < 9 do
            s = string.lower(string.gsub(vlc.peek(peeklen), "%s", ""))
            peeklen = peeklen + 1
        end
        return s == "<!doctype"
    else
        return false
    end
end

function _get_format_url(format)
    -- prefer streaming formats
    if format.manifest_url then
        return format.manifest_url
    else
        return format.url
    end
end

-- Parse function.
function parse()
    local url = vlc.access .. "://" .. vlc.path -- get full url

    -- Function to execute command and return file handle or nil on failure
    local function execute_command(command)
        local file = io.popen(command, 'r')
        if file then
            local output = file:read("*a")    -- Attempt to read something to check if command worked
            if output == "" then              -- If nothing was read, assume command failed (like command not found)
                file:close()                  -- Important to close to avoid resource leaks
                return nil                    -- Indicate failure
            else
                file:close()                  -- Close and reopen for actual usage
                return io.popen(command, 'r') -- Reopen since we consumed the initial read
            end
        else
            return nil -- Command execution failed
        end
    end

    -- Try executing youtube-dl command
    local file = execute_command('youtube-dl -j --flat-playlist "' .. url .. '"')
    if not file then
        -- If youtube-dl fails, try yt-dlp as a fallback
        file = assert(execute_command('yt-dlp -j --flat-playlist "' .. url .. '"'),
            "Both youtube-dl and yt-dlp failed to execute.")
    end

    local tracks = {}
    while true do
        local output = file:read('*l')

        if not output then
            break
        end

        local json = JSON.decode(output) -- decode the json-output from youtube-dl

        if not json then
            break
        end

        local outurl = json.url
        local out_includes_audio = true
        local audiourl = nil
        if not outurl then
            if json.requested_formats then
                for key, format in pairs(json.requested_formats) do
                    if format.vcodec ~= (nil or "none") then
                        outurl = _get_format_url(format)
                        out_includes_audio = format.acodec ~= (nil or "none")
                    end

                    if format.acodec ~= (nil or "none") then
                        audiourl = _get_format_url(format)
                    end
                end
            else
                -- choose best
                for key, format in pairs(json.formats) do
                    outurl = _get_format_url(format)
                end
                -- prefer audio and video
                for key, format in pairs(json.formats) do
                    if format.vcodec ~= (nil or "none") and format.acodec ~= (nil or "none") then
                        outurl = _get_format_url(format)
                    end
                end
            end
        end

        if outurl then
            if (json._type == "url" or json._type == "url_transparent") and json.ie_key == "Youtube" then
                outurl = "https://www.youtube.com/watch?v=" .. outurl
            end

            local category = nil
            if json.categories then
                category = json.categories[1]
            end

            local year = nil
            if json.release_year then
                year = json.release_year
            elseif json.release_date then
                year = string.sub(json.release_date, 1, 4)
            elseif json.upload_date then
                year = string.sub(json.upload_date, 1, 4)
            end

            local thumbnail = nil
            if json.thumbnails then
                thumbnail = json.thumbnails[#json.thumbnails].url
            end

            jsoncopy = {}
            for k in pairs(json) do
                jsoncopy[k] = tostring(json[k])
            end

            json = jsoncopy

            item = {
                path        = outurl,
                name        = json.title,
                duration    = json.duration,

                -- for a list of these check vlc/modules/lua/libs/sd.c
                title       = json.track or json.title,
                artist      = json.artist or json.creator or json.uploader or json.playlist_uploader,
                genre       = json.genre or category,
                copyright   = json.license,
                album       = json.album or json.playlist_title or json.playlist,
                tracknum    = json.track_number or json.playlist_index,
                description = json.description,
                rating      = json.average_rating,
                date        = year,
                --setting
                url         = json.webpage_url or url,
                --language
                --nowplaying
                --publisher
                --encodedby
                arturl      = json.thumbnail or thumbnail,
                trackid     = json.track_id or json.episode_id or json.id,
                tracktotal  = json.n_entries,
                --director
                season      = json.season or json.season_number or json.season_id,
                episode     = json.episode or json.episode_number,
                show_name   = json.series,
                --actors

                meta        = json,
                options     = { "start-time=" .. (json.start_time or 0) },
            }

            if not out_includes_audio and audiourl and outurl ~= audiourl then
                item['options'][':input-slave'] = ":input-slave=" .. audiourl;
            end

            table.insert(tracks, item)
        end
    end
    file:close()
    return tracks
end

Provide verbose output that clearly demonstrates the problem

[ ] Run your yt-dlp command with -vU flag added (yt-dlp -vU <your command line>)
[ ] If using API, add 'verbose': True to YoutubeDL params instead
[ ] Copy the WHOLE output (starting with [debug] Command-line config) and insert it below

Complete Verbose Output
No response

you could try this:
     -- Try executing youtube-dl command
     local file = execute_command('youtube-dl -j --flat-playlist "' .. url .. '"')
     if not file then
         -- If youtube-dl fails, try yt-dlp as a fallback
-         file = assert(execute_command('yt-dlp -j --flat-playlist "' .. url .. '"'),
+         file = assert(execute_command('yt-dlp -j --flat-playlist -S res:720 "' .. url .. '"'),
             "Both youtube-dl and yt-dlp failed to execute.")
     end

of course change 720 to whatever your desired resolution is

Works! Thank you very much!


Add after method to the screenshot rule

Added after method to the IScreenshotRule so we can override logic of attaching screenshot to the external services.

Verified, fixed.


Migration Guide to Percolator

We have recently created a new grading framework, Percolator, to replace Barista. While the Barista library will still be hosted here and deployed on GitHub Packages for the time being, we strongly recommend migrating to Percolator if possible, as it will no longer receive updates.
Migrating to Percolator
GradescopeGrader is replaced by AutoGrader
Rather than use GradescopeGrader, you can use AutoGrader to grade test cases.
Before:
Class<?>[] testSuites = {UsernameGeneratorTest.class};
GradescopeGrader.run(testSuites, 100.0);

After:
Class<?>[] testSuites = {UsernameGeneratorTest.class};
AutoGrader.grade(testSuites)
    .withMaxScore(100.0)
    .run();

TestCase number parameter is now group
The optional number parameter is now group.
Before:
@Test
@TestCase(name = "Test 1", number = "Class 1")
public void testCaseOne() { ... }

After:
@Test
@TestCase(name = "Test 1", group = "Class 1")
public void testCaseOne() { ... }

WeightCalc has been removed
The WeightCalc class is no longer necessary and has been removed. This is because test case point scaling is done automatically.
TestSuite has been removed
The TestSuite annotation is no longer necessary and has been removed.
TestError is replaced by util.DebugUtilities
The TestError class and its methods have been replaced by the DebugUtilities class. TestError.unexpectedError can be replicated by using DebugUtilities.failWithoutCause, and TestError.studentError can be replicated by using DebugUtilities.failWithStackTrace.
Additional Information
API documentation is available to review. Details on new additions will be given in the release notes.

Update: Added DebugUtilities as drop-in replacement for TestError.


buttons to be explicitly circular via circle prop (861)

Description

Reverts changes made to automatically create circular buttons when only an icon prop was provided. This must now be explicitly set via the circle prop
Font size and color are also no longer automatically inherited and must be explicitly set.

Related Ticket
Resolves #861
Changes

Before
After

Checklist

[x] I have run npm run build-all without errors
[x] I have formatted JS and TS files with npm run format-all

Looking good @0xemc. Thanks for jumping on this one. I did a quick scan and it's looking a lot better. One thing I did note was that the color of the icons in light mode don't look quite right. I'm not confident in saying this was a regression introduced at some point or it was always the case. Would you be able to have a poke around? I'm pretty sure the color should be the same as the placeholder text.

Edit: Looked into it a bit more and confirmed my suspicions it's also a regression at some point. Here's a screenshot of it way back in the day. Link to ancient preview build: https://klimadao-site-git-release-pledge-klimadao.vercel.app/pledge/<address> (@Atmosfearful surprised these builds are still up, does it cost us anything to keep these deployments?)

Ok should definitely be good to go now as I removed all automatic styling and made everything explicit and opt-in.  Unfortunately in a lot of places the background and font colors are being set explicitly for svgs, backgrounds and font colors so it was going to be a nightmare to find all of those and make them work with the automatic style 🤷
I had a quick look around and everything seemed ok. If you find anything else let me know. Cheers!

Ok should definitely be good to go now as I removed all automatic styling and made everything explicit and opt-in. Unfortunately in a lot of places the background and font colors are being set explicitly for svgs, backgrounds and font colors so it was going to be a nightmare to find all of those and make them work with the automatic style 🤷
I had a quick look around and everything seemed ok. If you find anything else let me know. Cheers!

Appreciate you having a scan through the codebase for other instances where this might be an issue @0xemc!
What you've addressed is perfectly fine :) We can raise and address future instances as they come.
One of the challenges having contributors come and go at the beginning, so it feels like a broader style review is required at some point to get alignment on how we do things, now that there seems to be more stability.

@0xAeterno @Atmosfearful looks like this is ready to go, just need it merged by someone with the power ⚡


Update install to ensure extras repo is enabled

The extras repos are required for 17.06 which depends on the
container-selinux package.
CentOS typically has the repo enabled by default, but in some cases may
be disabled, and RHEL never has it enabled by default.
This is provided by the main Fedora repos and does not require any extra
setting.
ping @mstanleyjones

thanks for putting this together @cpuguy83! /cc @andrewhsu

does this resolve https://github.com/docker/for-linux/issues/21 ?

Yep, good catch!


codecov 3.2.0

What to do if the build fails?
At the moment contributors do not have access to the CI workflow triggered by StepLib PRs. In case of a failed build, we ask for your patience. Maintainers of Bitrise Steplib will sort it out for you or inform you if any further action is needed.
New Pull Request Checklist
Please mark the points which you did / accept.

[x] I will not move an already shared step version's tag to another commit
[x] I read the Step Development Guideline
[x] I have a test for my Step, which can be run with bitrise run test (in the step's repository)
[ ] I did run bitrise run audit-this-step (in the step's repository - note, if you don't have this workflow in your bitrise.yml, you can copy it from the step template.)
[x] I read and accept the Abandoned Step policy

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

🤷 it says that I signed the CLA on the site

@thomasrockhu-codecov there is a link at the bottom of the cla bot comment to refresh the cla state. Could you try clicking it?

@tothszabi I've tried refreshing it, but no dice. It still says unsigned, but I know I have signed it previously (as it shows on the website)

I have checked cla assistant and did not see anything obvious. Could you revoke your previously signed cla and sign it again? I am hoping that the issue is somehow only affecting your account a signature reset might solve it.
We require for the PRs to have the cla signed and I cannot merge it until it is.

To be fair, this is not the first time I've had a PR merged without the CLA bot saying it's been signed, though it has been for some time.

@thomasrockhu-codecov I have found a couple of cla-assistant Github issues describing the same problem. Those were wither closed or fixed. But there was not a clear description why this could be happening. But in the meantime I was looking into their features and I was able to pull out all of the people who signed the cla agreement for this repo and you were part of it. That is more than enough for me and will merge this PR now. Sorry for this delay.


Add support for aarch64-apple-darwin

Supersedes #1396, resolves #1646.
Also replace 'OSX' language with 'macOS', to match Rust's language.

bors r=asomers


Update Supabase demo to warn about js-logger when running Vite

Prevent this issue:
Uncaught SyntaxError: The requested module 'http://localhost:3000/@fs/.../<repo>/node_modules/js-logger/src/logger.js?v=eb4a8b9e' doesn't provide an export named: 'default'

Discussion started on Discord https://discord.com/channels/1138230179878154300/1272981660589363293

I needed to include js-logger, even having it installed in package.json. Can you please double check this?

In my case, I didn't install it.

In my case, I didn't install it.

Yeah well I mean pharsing Only when 'js-logger' isn't installed in package.json suggests that you don't need it when js-logger installed. But it seems that it's needed even when it's installed. So maybe just recommend to always include it? Or when you install it, it's not breaking without include?

How about now?

So turns out you need to install js-logger and configure/apply it, alternatively you can have the include rule. I think we should just add the include rule everywhere for the moment. @guillempuche would you mind applying it to all the vite projects when you have a moment?

@Chriztiaan, done.

Looks like there is work being done on this here to resolve the underlying exclude issue.


My mctx project

Hi, thanks for the great library! Recently, I use mctx to train a simple Connect-four agent.
The project is at https://github.com/NTT123/a0-jax
(A demo is also running at https://huggingface.co/spaces/ntt123/Connect-4-Game. It uses tfjs library to run the agent on the browser.)
I would be very glad if you can add this to your example projects list. Thank you!

Thanks for mentioning your project. The Connect-4 demo is very nice.
I will mention your project in the mctx README. You can add the link to the demo to your README.

Thanks indeed for the link - this is fun!

Thanks for mentioning your project. The Connect-4 demo is very nice. I will mention your project in the mctx README. You can add the link to the demo to your README.

@fidlej, thanks! I've updated the readme with the link to the demo.


[eloquent] Throw exception if package name is empty (#54)

Backport #54 to Eloquent.

Linux
Linux-aarch64
macOS
Windows


[Feature Request] Solution improvements

Hi, nice idea for project. For simple navigation and because it's true case, please create main solution and move into configuration and client projects. What do you think?

Hi, thank you!
I had the same idea but was unsure how to execute it. Could you elaborate on how I should move the config and client-project into the main solution?

Hi, nice idea for project. For simple navigation and because it's true case, please create main solution and move into configuration and client projects. What do you think?

Hi, thank you!
I had the same idea but was unsure how to execute it. Could you elaborate on how I should move the config and client-project into the main solution?

Hi, nice idea for project. For simple navigation and because it's true case, please create main solution and move into configuration and client projects. What do you think?

I have made some pretty big changes in the solution architecture (basicly recreating every item and copy pasting its content). Is this what you had in mind?

Hi! Not yet enough)) You need create one solution (one sln file) and this solution have projects: Client and Config. To reproduce this you need create project(in this moment creating solution with your project) after rightclick on solution you have choice to add new project to this solution. This architecture exists in all open source projects, if you want you must see public popular github projects.


Multiple GCP accounts

[Can multiple GCP accounts be added? Not seeing much documentation on this. Can this be done through powershell?]

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

ID: c9132fa3-434e-8339-b5e4-5ecc924d8f63
Version Independent ID: 365c05fb-43b8-807c-e14b-804050e0340a
Content: Connect your GCP account to Azure Security Center
Content Source: articles/security-center/quickstart-onboard-gcp.md
Service: security-center
GitHub Login: @memildin
Microsoft Alias: memildin

@ran-ten21
Thanks for your feedback! We will investigate and update as appropriate.

@ran-ten21
Thank you for your time and patience! I've assigned this issue to the author who will investigate and update as appropriate.

Hi @ran-ten21, thanks for the feedback and for taking the time to help us improve the docs.
I've updated the docs in response to your question.
You can connect your Google Cloud resources at either the organization or project level. Learn about the Google Cloud resource hierarchy in their online docs here.
To manage Security Center cloud connectors with a REST API, see the details of the Connectors API.
Thanks again!
#please-close


Ethernet bridge working in station mode with TCP/IP (IDFGH-6131)

Module or chip used: ESP32-WROVER-E
IDF version: v4.3
Operating System: Windows
Hello,
I'd like to implement an ethernet bridge for a generic network device (videocamera, printer, etc.) working as station and access point simultaneously with TPC/IP stack to implement custom application services.
I have been testing ethernet bridging using the eth2ap code, and also tryed to adapt source code from https://github.com/espressif/esp-idf/issues/7206 for working initially in station mode.
I've used the eth_fork_netif_glue solution without achieving my goal.
I can see that  pkt_eth2wifi is been called succesfully, whereas the callback registered for esp_wifi_internal_reg_rxcb is never been called.
Someone thinks is possible to achieve my goal, at least working in station mode?

Hi @maurotaroni
Thank you for raising this feature request. Could you please describe in more details of what you're trying to achieve? (as you've probably seen in the referenced issue, it had taken some time and posts to exchange for us to understand the desired use-case).
Let's start with the very simple Wifi station -- Ethernet scenario: Where's the DHCP server (or servers?), are both networks on the same subnet? any requirements on static IP's or running DHCP server on any interface?
My naive understanding of a simple STA-Ethernet bridge is that you'd just inter-connect the interfaces on L2 layer, the same way as it's done in this eth2ap example, so the nodes connected to Ethernet would get IP's form the wireless network. Is that correct? Have you tried to modify the eth2ap example to sta2eth ?
After getting this to work, you can use the eth_fork_netif_glue-like solution (it would be fork-wifi-gule) for getting IP connectivity to ESP32.

Hello David,
thanks for your attention. What I'd like to achieve is to implement a solution to transform a wired network commercial device (e.g. ip camera, printer, etc) into a wireless device. This could be achieved with one of the examples found.
But additionally I'd like to implement some custom logic on Espressif board, e.g. some rest webservice to configure the whole solution.
Going deeply, I'd like that Espressif could have an ip address different from the ip address of the attached etherned devices.
Using the Espressif ip address, I'd like to invoke some proprietary webservices. Using the ip address of the attached ethernet device (wich could be configured both as static or dynamic) I'd like to invoke the native services exposed by the commercial network device.
I've already tryed to adapt the source code eth2ap into a sta2eth using eth_fork_netif_glue.
I've seen that Espressif board could obtain an ip address from the access point (that hosts a DHCP server) and with that ip I can ping it succesfully.
The same is not true for the commercial ethernet device (configured with static ip in non conflicting range). I wasn't able to ping it.
What I found strange is that it seems that the callback registered with esp_wifi_internal_reg_rxcb is never been called.
Do you think that goals could be achievable?
Maybe, could be of some help if I post my modified source code? If so, I need to give it a clear of various debug print statements that I've inserted for debugging purpose.
Thank you

transform a wired network commercial device (e.g. ip camera, printer, etc) into a wireless device. This could be achieved with one of the examples found.

Could you please link this example? I guess it's just a L2 bridge, so the Espressif board has no IP, but transparently bridges the two networks.

Going deeply, I'd like that Espressif could have an ip address different from the ip address of the attached etherned devices.

Two options here, we could either create separate subnets or use the above L2 bridge and "fork" the station netif to L3 stack on Espressif board.

Using the Espressif ip address, I'd like to invoke some proprietary webservices.

If these services are meant to configure IP's (static/dynamic) of the ethernet devices, you'd probably have to go with L3 solution, i.e. create a separate L3 network for ethernet and start DHCP server there. Plus have to enable and setup NAT for that interface.

Do you think that goals could be achievable?

If I understand correctly, you're trying to implement something like a configurable router, rather than the simple ethernet bridge. Yes, it is possible, but please do not expect the solution would be competitive or even close to off-the-shelf routers, especially for the L3 approach, where each and every packet needs to go through lwIP (seeing the IP camera as an example of your ethernet devices, just understand that it would work, but will be slow)

Hello David,
thank you again for you support! You're great.

Could you please link this example? I guess it's just a L2 bridge, so the Espressif board has no IP, but transparently bridges the two networks.

You can find the example here: https://github.com/espressif/esp-iot-solution/tree/release/v1.0/examples/eth2wifi.
If I've understand correctly it work at L2.

If I understand correctly, you're trying to implement something like a configurable router, rather than the simple ethernet bridge. Yes, it is possible, but please do not expect the solution would be competitive or even close to off-the-shelf routers, especially for the L3 approach, where each and every packet needs to go through lwIP (seeing the IP camera as an example of your ethernet devices, just understand that it would work, but will be slow).

Yes, you're right. I'd like to implement a configurable router with the support for only an ethernet device.
My first goal is to enable the ethernet bridge and working in station mode. I'm trying to use the L2 approach with eth_fork_netif_glue and implement my custom routing policies from ethernet to wifi and viceversa.
But the problem is that whereas I can see packet going from ethernet to wifi, the opposite never occurs.
At least I can't seen any hit of the callback registered with esp_wifi_internal_reg_rxcb.
Maybe I've missed something while adapting eth2ap to eth2sta. I will try to review my code and if I don't achieve my goal I will share here. The only problem is that I'm working on it only in spare time.

Hello @maurotaroni
You can refer to this demo L3 implementation here: https://github.com/david-cermak/eth-ap-nat/tree/main/eth-sta-nat
There are several issues with L2 implementation, the main trouble is that we're trying to emulate multiple 802.1X nodes on one WiFi interface (no problem for ethernet, we just set promiscuous flag). The example you referred to simply pretended that the wifi station is the device behind it:
https://github.com/espressif/esp-iot-solution/blob/f94fde73bc222863743d221e0588ad5c88a36d53/examples/eth2wifi/main/ethernet2wifi_demo_main.c#L143-L146
This is possible, but works only for 1:1 relations, so no way for adding another ethernet device, or forking the netif (as we did for the eth-ap example)
Other issues are just minor, as you required to have a control over the IP's assigned to your ethernet nodes.
There's no easy solution to this; perhaps if you're okay to keep the WiFi open, you can try to setup promiscuous mode and capture data packets:
https://github.com/david-cermak/eth-ap-nat/blob/f4a893ef7b35966671d476bef200506327e15651/eth-sta-L2/main/ethernet_example_main.c#L295-L296

Hello @david-cermak,
thank you for your patience and great support. I really appreciate all your efforts to find a solution that will fit my needs.
I hope to find the time to see and try the demo projects you've linked during this weekend.
Thank you again.

@maurotaroni Any update? Could you please close the issue? Please note that this is not a problem in IDF and we won't add any example implementing such a bridge to IDF, since it is really a very very specific use case.

@david-cermak Thank you for the interest. I've tryed the examples you've provided but it seems they don't work as my expectations. I need another time to study and investigate.
But if you need to close the issue feel free to do so.
Thank you
Best regards
Taroni Mauro

But if you need to close the issue feel free to do so.

an open GitHub issue indicates there's something wrong with the project, a problem, deficiency, a bug or a grave suspicion for one, or some functionality is not supported. Also I usually prefer the reporter(s) to close their issue as an indication that you're okay with the resolution, support or assessment.

I've tryed the examples you've provided but it seems they don't work as my expectations.

Well, the L2 approach would never work as you've expected (as mentioned above), but the NAT example should at least work, although slowly and with potential memory issues and missing packets. What was wrong?
No problem to keep this issue open if something not working as expected.

Hello @david-cermak. I've tryed both examples because I havent't understant that L2 approach will not work as my expectations.
But also I have problem with NAT example. I can ping only the EspressIf address, while I receive no response from the attached ethernet device.
I can see this in the monitor.
I (6625) sta_to_eth_L3: Ethernet Link Up
I (6625) sta_to_eth_L3: Ethernet HW Addr c4:5b:be:3a:89:73
E (11575) TRANS_TCP: DNS lookup failed err=202 res=0x0

Maybe the problem is that the MAC address printed below is not the one of my attached device, but probably the address of the onboard Ethernet?
Or do you think that the problem could be related to the DNS lookup failed message?
I'm sorry for being not an expert in this field and let you spent your precious time.
Thank you
Best regards
Taroni Mauro

Hello Taroni Mauro,
It is not possible to ping the Ethernet device if it's behind a NAT, you'd have to think of some other way to access the device (I think you mentioned a web page running on the Espressif defice, where you can post the list of active devices connected to the DHCP server, or implement some kind of a port-forwarding)
As for the DNS issue, was the device connected to internet? I added a very simple mqtt client example to the application, just to demonstrate that node can access the outside network. (in that sense it works the same way as this example).

@maurotaroni Thanks for reporting, would you please help share if any updates? Thanks.

Hello @Alvin1Zhang ,
I'm sorry for the delay but I had to focus my effort on other projects. I've briefly tested the samples but the didn't work as my expectations. As I''ve understood the IDF has been develop for other purpose.
Since I need more time to investigate, and at the moment I cannot grant all my efforts to that, I'll close the issue.


clarify Azure App Services deployment applicability

per previous PR https://github.com/microsoft/azure-pipelines-tasks/pull/13722

nudge PRmerger


Grid items are not published when entire exhibit is published

The is_published field is not set to 1 in the database and index grid item record is_published field is not being updated to 1.

issue resolve

issue resolved


fix(package_info_plus): fix PackageInfoPlugin.kt on latest Android 34

Description
This plugin fails to compile with the latest nullability signatures for Android 34.0.0
The compilation error messages are:
PackageInfoPlugin.kt:45:56: error: [UNSAFE_CALL] Only safe (?.) or non-null asserted (!!.) calls are allowed on a nullable receiver of type ApplicationInfo?
                    put("appName", info.applicationInfo.loadLabel(packageManager).toString())
                                                       ^
PackageInfoPlugin.kt:47:36: error: [TYPE_MISMATCH] Type mismatch: inferred type is String? but String was expected
                    put("version", info.versionName)
                                   ^^^^^^^^^^^^^^^^
PackageInfoPlugin.kt:108:51: error: [SMARTCAST_IMPOSSIBLE] Smart cast to 'Array<(out) Signature!>' is impossible, because 'packageInfo.signatures' is a mutable property that could have been changed by this time
                if (signatures.isNullOrEmpty() || packageInfo.signatures.first() == null) {

Checklist

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I titled the PR using Conventional Commits.
[x] I did not modify the CHANGELOG.md nor the plugin version in pubspec.yaml files.
[x] All existing and new tests are passing.
[x] The analyzer (flutter analyze) does not report any problems on my PR.

Breaking Change
Does your PR require plugin users to manually update their apps to accommodate your change?

[ ] Yes, this is a breaking change (please indicate that with a ! in the title as explained in Conventional Commits).
[x] No, this is not a breaking change.

Could you share how you were able to reproduce the compilation failure? In which setup? Because the plugin switched to compileSDK 34 quite some time ago and there were no issues with compilation.
I assume it is something happening with some different set of Android dependencies than the ones that we have in the example app, because I can't see any of these warnings and can run it successfully.

It is weird indeed that we haven't seen this compilation issues, but checking the documentation, these two methods versionName and applicationInfo can indeed return null, so adding the null checks seems correct to me.

https://developer.android.com/reference/android/content/pm/PackageInfo#applicationInfo
https://developer.android.com/reference/android/content/pm/PackageInfo#versionName

Apologies, the initial description was wrong. The new signatures are in API level 35: https://developer.android.com/about/versions/15

There is a failing integration test on Android API 34 which is not related to timeouts we usually have and not related to changes in this PR.
Will be addressed in another PR.


C++ Implementation of Sine Wave

A C++ (an alternate language) implementation of game 78: Sine Wave

Many thanks!! 🌊


Gatlab Migration

We need to check that we can run against Catlab#main.

Ok I just tried to run dev Catlab in Decapodes and got this error. @epatters
(Decapodes) pkg> dev Catlab
     Cloning git-repo `https://github.com/AlgebraicJulia/Catlab.jl.git`
   Resolving package versions...
ERROR: Unsatisfiable requirements detected for package AlgebraicInterfaces [23cfdc9f]:
 AlgebraicInterfaces [23cfdc9f] log:
 ├─AlgebraicInterfaces [23cfdc9f] has no known versions!
 └─restricted to versions 0.1 by Catlab [134e5e36] — no versions left
   └─Catlab [134e5e36] log:
     ├─possible versions are: 0.15.5 or uninstalled
     └─Catlab [134e5e36] is fixed to version 0.15.5

I did ] add AlgebraicInterfaces and things started precompiling.
(Decapodes) pkg> add AlgebraicInterfaces
    Updating registry at `~/.julia/registries/General.toml`
   Resolving package versions...
   Installed AlgebraicInterfaces ─ v0.1.1
    Updating `~/AlgebraicJulia/Decapodes.jl/Project.toml`
  [23cfdc9f] + AlgebraicInterfaces v0.1.1
    Updating `~/AlgebraicJulia/Decapodes.jl/Manifest.toml`
  [23cfdc9f] + AlgebraicInterfaces v0.1.1
Precompiling project...

That wasn't the right move, you need to do ]add Catlab#main. It looks like CombinatorialSpaces is failing so I will open an issue there.


plan creation through tier CLI

What is the issue?
When using the Tier CLI and Model Builder to create plans with multiple features, my expectation is to generate 3 unique plans, each containing the same set of features. However, after pushing the plans through the CLI, I am observing 9 different plans in the Stripe dashboard instead of the expected 3 plans with identical features.
Steps to reproduce
No response
Are there any recent changes that introduced the issue?
No response
OS
No response
OS version
Windows 10
Tier version
0.12.0-dev

Okay is there any other alternative according to you which will suffice my subscription model condition in tier ? @jevon

Okay is there any other alternative according to you which will suffice my subscription model condition in tier ? @jevon

As long as you use the Tier SDK, it shouldn't matter to you, Tier will handle everything.


Semantic Cache is not working

I am utilizing the GPT Semantic Cache as outlined in the Langchain documentation, combined with the Groq API and the Llama3-70b-8192 model. However, I'm encountering an issue where the semantic cache returns the same response repeatedly, even when different questions are asked.
Can anybody know what could be the possible cause?
Here is the code:
import hashlib
from gptcache import Cache
from gptcache.adapter.api import init_similar_cache
from langchain.cache import GPTCache
from langchain_core.globals import set_llm_cache
def get_hashed_name(name):
return hashlib.sha256(name.encode()).hexdigest()
def init_gptcache(cache_obj: Cache, llm: str):
hashed_llm = get_hashed_name(llm)
init_similar_cache(cache_obj=cache_obj, data_dir=f"similar_cache_{hashed_llm}")
set_llm_cache(GPTCache(init_gptcache))

Wanted to know which vector store you're using . Are you having any issues using cloud vector stores?

according to langchain documentation of Semantic GPTCache I did not see any vector store utilization?
can you please guide me or share any link from where i can get it correctly?
here is the link of langchain doc of Semantic GPTCache: https://python.langchain.com/docs/integrations/llm_caching/#gptcache


Adding reference at the end

Please tell me how can I add references in a side by side fashion at the end of the CV. I would be very grateful of you for this support.

@husnain-ahmad see #38 if you mean references for publications. Or, perhaps you can use tables.

@husnain-ahmad please feel free to check out PR#313 It's not quite side-by-side as you are looking for, but could be modified to use the multicols package to accomplish what you're after


Add Support for Ninja Multi-Config Generator

With CMake 3.17.0 there is now support for a Ninja Multi-Config Generator. Please add support for it.

this is done in the libs. GitHub actions released, ADO task going to be soon.


Update changes required for Microsoft Graph

Which issue this PR addresses:
#2168
What this PR does / why we need it:
Apply changes required for MS Graph.  These commands are currently failing because they refer to a now nonexistent field name.
Test plan for issue:
Tested by rebuilding the local RP.  The rebuild was successful.
Is there any documentation that needs to be updated for this PR?
Docs update are included.

@karanmagdani so sorry didn't come to look if there was any reply... Anyway, I think the doc you mentioned doesn't need to be updated.  From the published breaking changes, az ad sp reset was changed, but the way the second command in the doc is not affected by them.
https://docs.microsoft.com/en-us/cli/azure/microsoft-graph-migration#az-ad-sp-credential-reset
Anything related to az aro has been handled by a different PR and didn't introduce any breaking changes to the customer.
Let me know if you have more questions.


vhost-user,memif  support

What issue would you like to bring attention to?
I want to ask if sriov-dp supports exposing vhost-user and memif sockets (which are created by either vpp or ovs-dpdk)?
What is the impact of this issue?
None
Do you have a proposed response or remediation for the issue?
I noticed intel userspace-cni has support for this but am not sure if the project is still actively supported (last update was in October 2020)

I want to ask if sriov-dp supports exposing vhost-user and memif sockets (which are created by either vpp or ovs-dpdk)?

sriov-dp doesn't support vhost-user or memif.

I noticed intel userspace-cni has support for this but am not sure if the project is still actively supported (last update was in October 2020)

@Billy99 may know the status of userspace-cni project.

@infinitydon Intel Userspace CNI is not being actively supported from my side. I'm not sure what Intel's stance is, but based on activity, I would say they are not supporting it either.

Thanks @Billy99 - Do you have any suggestion on a similar project that does the same thing?

I don't. There is ovs-cni, but I don't see any vhost-user references in it. contiv was the Cisco driven CNI for VPP. They probably have some memif support, but I haven't used it.

Thanks Bill, I also noticed calico has a vpp dataplane implementation and they're planning to add memif support, I will keep an on that..


Update dpf_rayfile.py

the flux_type shall be 0 or 1, not 0 or 2

@StefanThoene @pluAtAnsys
Hi Stefan and Pengyuan, I found a bug in rayfile converter when talking with channel partner, the flux type shall be 0 or 1 instead of 0 or 2.
That's why I modified the code. Could you please help review when you have time?
Many thanks


-test.run=TestCreateCluster runs both TestCreateCluster and TestCreateClusterPrivate

Can we rename TestCreateClusterPrivate to TestPrivateCreateCluster like TestNoneCreateCluster?
Since -test.run=TestCreateCluster runs both test cases even if we intent to run only TestCreateCluster since run takes it as regex input.

Running with regex pattern like -test.run="^TestCreateCluster$" solves the issue


[Question] ECMAScript 2019 is released ?

Line-72: https://github.com/swc-project/swc/blob/master/README.md#parsers
typo ? :(

EsTree has es2019.md.
https://tc39.github.io/ecma262/#sec-ecmascript-language-expressions says it's ECMAScript 2020 spec, so I guess es2019 is already released.

EsTree has es2019.md.
https://tc39.github.io/ecma262/#sec-ecmascript-language-expressions says it's ECMAScript 2020 spec, so I guess es2019 is already released.

Draft ECMA-262 / March 1, 2019
ECMAScript® 2020 Language Specification

This is a draft spec, not release. and the features maybe changed when release.
if released, i guess we can find at https://www.ecma-international.org/ecma-262/10.0/index.html


Include git information in package.json #158

it will fix problem related, check- https://stackoverflow.com/questions/16827858/error-npm-warn-package-json-no-repository-field


obi go [remote] fails when only ed25519 key has been deployed

└[~/sprockets]> obi go hex --dry-run
ssh -t<EMAIL_ADDRESS>"mkdir -p /tmp/arice/sprockets"
ssh -t<EMAIL_ADDRESS>"mkdir -p /tmp/arice/sprockets"
ssh -t<EMAIL_ADDRESS>"mkdir -p /tmp/arice/sprockets"
ssh -t<EMAIL_ADDRESS>"mkdir -p /tmp/arice/sprockets"
ssh -t<EMAIL_ADDRESS>"mkdir -p /tmp/arice/sprockets"

Fatal error: Needed to prompt for a connection or sudo password (host: <IP_ADDRESS>), but input would be ambiguous in parallel mode

Aborting.

Fatal error: Needed to prompt for a connection or sudo password (host: <IP_ADDRESS>), but input would be ambiguous in parallel mode

Aborting.

Fatal error: Needed to prompt for a connection or sudo password (host: <IP_ADDRESS>), but input would be ambiguous in parallel mode

Aborting.

Fatal error: Needed to prompt for a connection or sudo password (host: <IP_ADDRESS>), but input would be ambiguous in parallel mode

Aborting.

Fatal error: Needed to prompt for a connection or sudo password (host: <IP_ADDRESS>), but input would be ambiguous in parallel mode

Aborting.

Fatal error: One or more hosts failed while executing task 'build_task'

Aborting.

I think this is a wontfix, probably a paramiko bug?

Your call.

I just ran into this. Probably a low priority for y'all, but thought I'd +1 it.
Generating an RSA key now just for obi...


Allow non-admin users to filter linkifiers.

Go to Organization Settings > Linkifiers. We observe the filter linkifiers text input box is disabled for non-admin users. The user should be allowed to filter the linkifiers as this is a read-only operation.

Working on this.

I believe we fixed this in
https://github.com/zulip/zulip/commit/326b0e0378488e7334bcbc0ef71a003b45e2428a
@Pranav2612000 You can use "Fixes #nnnnn" for future commit messages that fix issues, so they will auto-close.
Closing.


download file failed

 [10:17:07] Local and remote file size DOESN'T match
Tell me how to solve it.PLZ！！

THANKS，I got it。some times later ，the process will go on and the task finished


Optimize Public IP Module

Current state:
The request is the only thing which makes fastfetch slower than archey.
With public ip module (all have the same modules enabled)
❯ hyperfine --warmup 3  --runs 10 'neofetch' 'archey' 'fastfetch'
Benchmark 1: neofetch
  Time (mean ± σ):     614.9 ms ±  22.7 ms    [User: 203.2 ms, System: 110.5 ms]
  Range (min … max):   561.4 ms … 645.7 ms    10 runs

Benchmark 2: archey
  Time (mean ± σ):     160.6 ms ±  18.4 ms    [User: 96.2 ms, System: 29.3 ms]
  Range (min … max):   145.2 ms … 210.2 ms    10 runs

Benchmark 3: fastfetch
  Time (mean ± σ):     377.7 ms ± 551.4 ms    [User: 11.8 ms, System: 5.0 ms]
  Range (min … max):   198.2 ms … 1947.0 ms    10 runs

Summary
  'archey' ran
    2.35 ± 3.44 times faster than 'fastfetch'
    3.83 ± 0.46 times faster than 'neofetch'

And with no public ip module (only at fastfetch, others still have it enabled):
hyperfine --warmup 3  --runs 10 'neofetch' 'archey' 'fastfetch'
Benchmark 1: neofetch
  Time (mean ± σ):     610.1 ms ±  24.7 ms    [User: 213.2 ms, System: 100.0 ms]
  Range (min … max):   564.0 ms … 642.2 ms    10 runs

Benchmark 2: archey
  Time (mean ± σ):     153.4 ms ±   5.8 ms    [User: 100.4 ms, System: 22.5 ms]
  Range (min … max):   142.7 ms … 164.9 ms    10 runs

Benchmark 3: fastfetch
  Time (mean ± σ):      85.5 ms ±   3.6 ms    [User: 6.2 ms, System: 5.3 ms]
  Range (min … max):    81.4 ms …  92.5 ms    10 runs

Summary
  'fastfetch' ran
    1.80 ± 0.10 times faster than 'archey'
    7.14 ± 0.42 times faster than 'neofetch'

Wanted state:
I want that the first benchmark as fast as the second :-D
Why the change is sensible:
Time is money ;-) no, but if you have such a tool starting at .bashrc, every millisecond counts ;-)

Try --public-ip-url v4.ident.me and make sure PublicIP is the last module to print

The other public IP provider did the trick...
Default:
❯ hyperfine --warmup 3  --runs 10 'neofetch' 'archey' 'fastfetch --structure Title:Separator:OS:Host:Kernel:Uptime:Packages:Shell:Display:DE:WM:WMTheme:Theme:Icons:Font:Cursor:Terminal:TerminalFont:CPU:GPU:Memory:Disk:Battery:PowerAdapter:Locale:Break:Colors:PublicIP'
Benchmark 1: neofetch
  Time (mean ± σ):     540.7 ms ±  19.1 ms    [User: 162.5 ms, System: 92.6 ms]
  Range (min … max):   507.4 ms … 571.1 ms    10 runs

Benchmark 2: archey
  Time (mean ± σ):     185.6 ms ±  15.6 ms    [User: 120.0 ms, System: 40.0 ms]
  Range (min … max):   163.4 ms … 219.7 ms    10 runs

Benchmark 3: fastfetch --structure Title:Separator:OS:Host:Kernel:Uptime:Packages:Shell:Display:DE:WM:WMTheme:Theme:Icons:Font:Cursor:Terminal:TerminalFont:CPU:GPU:Memory:Disk:Battery:PowerAdapter:Locale:Break:Colors:PublicIP
  Time (mean ± σ):     204.2 ms ±   2.2 ms    [User: 17.2 ms, System: 14.2 ms]
  Range (min … max):   200.1 ms … 208.5 ms    10 runs

Summary
  'archey' ran
    1.10 ± 0.09 times faster than 'fastfetch --structure Title:Separator:OS:Host:Kernel:Uptime:Packages:Shell:Display:DE:WM:WMTheme:Theme:Icons:Font:Cursor:Terminal:TerminalFont:CPU:GPU:Memory:Disk:Battery:PowerAdapter:Locale:Break:Colors:PublicIP'
    2.91 ± 0.27 times faster than 'neofetch'

With public ip url param:
❯ hyperfine --warmup 3  --runs 10 'neofetch' 'archey' 'fastfetch --structure Title:Separator:OS:Host:Kernel:Uptime:Packages:Shell:Display:DE:WM:WMTheme:Theme:Icons:Font:Cursor:Terminal:TerminalFont:CPU:GPU:Memory:Disk:Battery:PowerAdapter:Locale:Break:Colors:PublicIP --public-ip-url v4.ident.me'
Benchmark 1: neofetch
  Time (mean ± σ):     539.2 ms ±  21.4 ms    [User: 157.8 ms, System: 98.6 ms]
  Range (min … max):   510.2 ms … 574.1 ms    10 runs

Benchmark 2: archey
  Time (mean ± σ):     177.3 ms ±  13.0 ms    [User: 109.9 ms, System: 40.4 ms]
  Range (min … max):   152.9 ms … 192.9 ms    10 runs

Benchmark 3: fastfetch --structure Title:Separator:OS:Host:Kernel:Uptime:Packages:Shell:Display:DE:WM:WMTheme:Theme:Icons:Font:Cursor:Terminal:TerminalFont:CPU:GPU:Memory:Disk:Battery:PowerAdapter:Locale:Break:Colors:PublicIP --public-ip-url v4.ident.me
  Time (mean ± σ):      96.4 ms ±   3.8 ms    [User: 10.6 ms, System: 10.9 ms]
  Range (min … max):    92.3 ms … 102.9 ms    10 runs

Summary
  'fastfetch --structure Title:Separator:OS:Host:Kernel:Uptime:Packages:Shell:Display:DE:WM:WMTheme:Theme:Icons:Font:Cursor:Terminal:TerminalFont:CPU:GPU:Memory:Disk:Battery:PowerAdapter:Locale:Break:Colors:PublicIP --public-ip-url v4.ident.me' ran
    1.84 ± 0.15 times faster than 'archey'
    5.59 ± 0.31 times faster than 'neofetch'

Sorry i overlooked at the --public-ip-url param :+1:


Integrate ReasonML

And rewrite editor with it.

To be clear, while Flow is getting better every day, ReasonML is a way to go. I have no compelling reason to switch for now, except it has the foking good type system. Libs I would write in ReasonML today. App is a bit harder, all that GraphQL stuff, a lot of types, I think I would have to rewrite whole Else. And I will. One day.


Toolkit Discussion: Namespaces, Xamarin Forms and Xamarin Native Controls

Hi there!
I'm glad this project has been officially created!
I have a few things to discus about this,
firstly, I am a member of the Core Team of the UWP Community Toolkit, and we have been working on some .NET Standard libraries there (Under Microsoft.Toolkit namespaces).
Since these are two Microsoft Toolkits, we should have the same namespace layout.
All our UWP Specific libraries are under the Microsoft.Toolkit.UWP namespace, so it would be fitting if this had namespaces of Microsoft.Toolkit.Xamarin, and/or Microsoft.Toolkit.Xamarin.Forms.
Eventually we can move the .NET Standard Libraries under the Microsoft.Toolkit.* namespaces to a shared Toolkit of some kind, that both this and the UWP Community Toolkit have dependencies on.
Second discussion,
I separated the Parser from the MarkdownTextBlock on the UWP Community Toolkit, so that it can be used in other Scenarios and controls on other .NET Platforms. I got some way through implementing and Android Native Control called MarkdownTextView, and I had plans for creating native variants for iOS and others at a later date, as well as a Xamarin Forms variant. I would love to add this here, however, the description makes it seem that this is for Xamarin Forms only. Should this be the Xamarin Forms Toolkit, or will you allow libraries specific to Platform?
That is all of my thoughts for now 😀
Let me know what you think...

We had discussed namespaces a few weeks ago and I don't have a problem with using something like Microsoft.Toolkit.Xamarin.*. I could probably also put together a PR with changes for this to be ready for if we want to go forward with it.
I think (@jamesmontemagno can refresh my memory on this) that the long term plan was to focus on Forms first, and then open it up to the other platforms over time if we felt that the demand was there. There are a couple open proposals lacking a spec for controls that don't exist in the Forms core (RadioButton is one of those examples) which could be very useful to implement in the Toolkit. That said, utilizing the aforementioned namespace, it still works for scenarios where we could use a Microsoft.Toolkit.Xamarin.Android or Microsoft.Toolkit.Xamarin.iOS if we wanted to leave platform specific controls here.
You can also send me an email if you'd like to discuss this further more directly (paul.dipietro at microsoft).


Add support for 1-band imagery in do_seg() for segformer

Similar to this issue, the do_seg() function needs to be updated to support segmentation on 1-band imagery when using segformer.
Change this:
https://github.com/Doodleverse/doodleverse_utils/blob/83128ee3e7a8dd901415c6f00145f31b8c44bb02/doodleverse_utils/prediction_imports.py#L169-L170
and this:
https://github.com/Doodleverse/doodleverse_utils/blob/83128ee3e7a8dd901415c6f00145f31b8c44bb02/doodleverse_utils/prediction_imports.py#L306-L307
to:
if MODEL=='segformer':
            if N_DATA_BANDS == 1:
                image = np.dstack((image, image, image))
            image = tf.transpose(image, (2, 0, 1))

Note: there is no need to use tf.concat as image is already an ndarray, allowing the use of np.dstack().

Excellent, thanks. I have made this change in the latest push

git clean -xfd

Ooops, I messed up. What I proposed above works when the inputs are npz but not jpg or png.  When the image is standardized here
https://github.com/Doodleverse/doodleverse_utils/blob/fd884a7ef40f76f862449405d430fcc41cd10887/doodleverse_utils/prediction_imports.py#L167
or here
https://github.com/Doodleverse/doodleverse_utils/blob/fd884a7ef40f76f862449405d430fcc41cd10887/doodleverse_utils/prediction_imports.py#L291
the function will create a three-band image if the number of dimensions is 2 as shown here
https://github.com/Doodleverse/doodleverse_utils/blob/fd884a7ef40f76f862449405d430fcc41cd10887/doodleverse_utils/imports.py#L153-L154
However, if the input is an npz exported from make_nd_datasets.py, it will have three dimensions, even if it is a 1-band array as in (h, w, 1). But, if the input is a jpg or png, the number of dimensions will be 2, and the standardize function will create a 3-dimension array. Since the fix is using N_DATA_BANDS instead of the number of dimensions, the dstack will create a 9-band raster (3x3-band rasters stacked). I recommend changing this
https://github.com/Doodleverse/doodleverse_utils/blob/fd884a7ef40f76f862449405d430fcc41cd10887/doodleverse_utils/prediction_imports.py#L170
and this
https://github.com/Doodleverse/doodleverse_utils/blob/fd884a7ef40f76f862449405d430fcc41cd10887/doodleverse_utils/prediction_imports.py#L294
to this:
if np.ndim(image)==2:

Sorry for the mix-up!

Thanks, I can update do_seg

Implemented in https://pypi.org/project/doodleverse-utils/0.0.25/


Video shape is not populated when reading *.slp files

Pretty much as the title says: the shape property of a Video instance is never populated when reading videos in sleap_io.io.slp.read_videos().

Finally implemented in #31 and in the v0.0.3 release!


[POC] NuGet lockfile implementation

First draft at addressing #1303
I'm super unfamiliar with this project as well as Ruby, so guidance is very welcome.

Any news on this?

Hei @ldeluigi, you just got an update yesterday at #1303. Let's try to not be too pushy please, we get a lot of notifications around here 😅.

Hei @ldeluigi, you just got an update yesterday at #1303. Let's try to not be too pushy please, we get a lot of notifications around here 😅.

whops: I'm sorry!

Nudge @anthony-c-martin any chance of addressing my questions?☝
Be great to move this forward!

Note to self: Since this adds lockfile support, we'll need to ensure it supports the lockfile-only strategy, see how other ecosystems are wired up here:

https://github.com/dependabot/dependabot-core/pull/5902

I'm not entirely sure you want --force-evaluate since that could affect packages other than the one that :dependabot: is trying to update? At least for me it is sufficient to run the basic dotnet restore command to update the lockfile after :dependabot: has updated the .csproj files with the new version.

I really like that you're leveraging the native tooling... we want to migrate this direction as much as we can.
Today we do all our dotnet updating via ruby/regex text parsing hackery... now that we'd have the native tooling available, does it also support updating the manifest itself? Such that we could start to leverage that to migrate away from our existing text hackery? Obviously something we'd handle in a different PR, but just want to know if we should be creating a new ticket to track opportunities for migration.

These are great points, and something I was wondering about. The dotnet add <package> will take care of both updating the .csproj file, and then updating lockfiles afterwards. There's also dotnet outdated, but it's not built-in tooling, so you may want to understand the implications of taking a dependency.
A caveat that I can think of that needs investigating - You've already got some pretty sophisticated tooling here (for example, you're looking inside Directory.Build.props files for updates). I'm not sure whether the native tools actually support equivalent functionality for some of these edge cases.

I'm not sure whether the native tools actually support equivalent functionality for some of these edge cases.

I can confirm that dotnet add package <PackageName> --version <version> does not work in the Directory.Build.props scenario (it replaced Version="$(PackageVersion)" with Version="1.2.3").

is there any news on this? Would love to see depandabot to support nuget lock files :-)

@jeffwidman sorry for the delay, I've merged and fixed up the CI.

@jeffwidman, @Nishnha - out of interest, is there any way to manually test this against a repo prior to merging?

@jeffwidman, @Nishnha - out of interest, is there any way to manually test this against a repo prior to merging?

You could set up a smoke test https://github.com/dependabot/smoke-tests

@jeffwidman, @Nishnha - out of interest, is there any way to manually test this against a repo prior to merging?

You could set up a smoke test https://github.com/dependabot/smoke-tests

Thanks! I've done this, and temporarily updated this branch to point to my fork, to demonstrate that it's working.

@jeffwidman @anthony-c-martin @Nishnha are there any updates on this?

Since the last commit, nuget's dependabot logic has been rewritten in C#. I think this PR should (probably) be updated.

Closing this for now, as NuGet support has largely been rewritten in C# and this PR has diverged a lot.
Thank you @anthony-c-martin for the implementation, and thank you @na1307 for picking it up.


Multiple connections to feedback service

Correct me if I am wrong, but if I wanted to create multiple connections to the APN services, I would simply call connect function with a different connection name atom.  Would I not end up connecting to the feedback server in each gen_server worker which is probably redundant?
Thanks, O.

Ping.


Add readiness endpoint failing on shutdown.

This change adds a new endpoint /ready if a corresponding configuration option is set. It is meant to be served to downstream load-balancers as it will automatically stop serving 200 OK responses as soon as Traefik receives a termination signal.
Note that the PR contains commits from #1971. Please only review commit 2d115c2 (Add readiness endpoint failing on shutdown) and those following afterwards.
A design question we should answer: Currently, I made the option as simple as possible (just a boolean) and hard-coded the successful HTTP code to 200 and the failing one to 503. If we think that making this configurable in the future is realistic, we should probably go straight with a sub-struct inside the web provider configuration to leave room for further options (and not having to deprecate this very simple approach we have right now).
Another feature request often cited is draining, which we could implement with this new entry point by allowing a POST request to toggle its state (instead of a just a SIGINT/SIGTERM as of now). Allowing this option in the future would be another reason to add a generic struct.
Complements #1942.

Why not just make /ping return 503 during graceful time instead of creating a new endpoint ?
Moreover do you really think it is necessary to be able to disable it ?

@Juliens:

Why not just make /ping return 503 during graceful time instead of creating a new endpoint ?

Yes, we could extend /ping's purpose as you suggested. I thought about that as well but took the conservative route. My preference is to keep ping as simple as possible and use a dedicated endpoint for all things related to readiness, just to separate concerns more cleanly.
That said, If we think that it'd be better to fold the readiness feature into the ping endpoint (and be aware of the implications it brings for future features in this regard), I can do that as well.

Moreover do you really think it is necessary to be able to disable it ?

Not 100% sure if you're questioning the feature itself or the potential future feature to toggle the readiness endpoint off on demand.
In case of the former: I hope my rationale in the referenced issue describes why I think it's necessary.
In the case of the latter: To quote myself from the PR description:

Another feature request often cited is draining, which we could implement with this new entry point by allowing a POST request to toggle its state (instead of a just a SIGINT/SIGTERM as of now). Allowing this option in the future would be another reason to add a generic struct.

So draining would be one desirable candidate for making things toggleable.

Not 100% sure if you're questioning the feature itself or the potential future feature to toggle the readiness endpoint off on demand.

I think the enableReadiness option may not be necessary, we can alway enable it ?

@Juliens now I got you. I only added that option so that people might be less surprised if a new endpoint suddenly pops up. But that might not be that important, so I'm okay with enabling it unconditionally.

@timoreimann I tend to agree with @Juliens on this. IMHO, we already have too much endpoints:

/health which should only give health info, but here returns stats
/metrics which give some stats
/ping used to know if traefik us up
/ready would be used to know if traefik is ready

I really think /health, /ping & /ready are close and may be merged. But! We cannot change /health to stay backward compatible right now, and we would need to change webui. I suggest to reuse /ping as @Juliens said earlier :)

Alright, I'll update the PR to reuse /ping for the purpose at hand.
@emilevauge assuming your comment approves the design, I'll move foward with the state labels (but also add a WIP one until I've finished my updates).

We have recently changed our internal Traefik setup so that we are not relying on the feature this PR offers anymore.
If there's still some interest, I'd be happy to move the PR to completion. Otherwise, I'd just close it.

Closing it for now. If interest resurfaces, please let me know.

@ravilr we are running on GKE/GCE and switched to Google's internal Service-based LoadBalancers which natively understand pod readiness states. Thus, when the kubelet decides to SIGTERM a pod, it implicitly makes sure that the readiness state transitions to false, which in turn causes the LB to remove the pod from rotation.
If that's not an option for you, I suppose it's okay to submit another PR on your own, taking into account what has been discussed along this PR.


chezmoi: 2.48.0 -> 2.48.1

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/twpayne/chezmoi/releases.
meta.description for chezmoi is: Manage your dotfiles across multiple machines, securely
meta.homepage for chezmoi is: https://www.chezmoi.io/
meta.changelog for chezmoi is: https://github.com/twpayne/chezmoi/releases/tag/v2.48.1
Updates performed

Golang update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 2.48.1 with grep in /nix/store/rkphccg38wasvq4w3kd1lcyi87ajkyy0-chezmoi-2.48.1
found 2.48.1 in filename of file in /nix/store/rkphccg38wasvq4w3kd1lcyi87ajkyy0-chezmoi-2.48.1

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath

chezmoi

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/rkphccg38wasvq4w3kd1lcyi87ajkyy0-chezmoi-2.48.1 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A chezmoi https://github.com/r-ryantm/nixpkgs/archive/09bc20ed991ffe499d4fd711051227fc1f236ed4.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/09bc20ed991ffe499d4fd711051227fc1f236ed4#chezmoi

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/rkphccg38wasvq4w3kd1lcyi87ajkyy0-chezmoi-2.48.1
ls -la /nix/store/rkphccg38wasvq4w3kd1lcyi87ajkyy0-chezmoi-2.48.1/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review --extra-nixpkgs-config '{ allowInsecurePredicate = x: true; }' run on x86_64-linux 1

1 package built:

chezmoi

Maintainer pings
cc @AndersonTorres for testing.

@NixOS/nixpkgs-merge-bot merge


Update spo serviceprincipal permissionrequest important box

For all spo serviceprincipal permissionrequest we have an important box saying: To use this command you have to have permissions to access the tenant admin site..
This description is quite vague in my opinion. We could make it a bit clearer, something like:
For commands:

spo serviceprincipal permissionrequest approve
spo serviceprincipal permissionrequest deny
spo serviceprincipal permissionrequest list

The admin role that's required to approve/deny permissions depends on the API. To approve permissions to any of the third-party APIs registered in the tenant, the application administrator role is sufficient. To approve permissions for Microsoft Graph or any other Microsoft API, the Global Administrator role is required.
For commands:

spo serviceprincipal grant add
spo serviceprincipal grant list
spo serviceprincipal grant revoke
spo serviceprincipal set

To use this command you must be a Global administrator.
!!! Let's also ensure that the important box is inside the Remarks section and not the Options section.

@pnp/cli-for-microsoft-365-maintainers any remarks?

Can I work on this?

Sure @nanddeepn, thank you!


Uncaught TypeError: Cannot read property 'uploadSelection' of undefined

With a chat channel open, but no active text window and/or selected text.
Atom Version: 1.0.0
System: Mac OS X 10.10.3
Thrown From: slack-chat package, v3.2.2
Stack Trace
Uncaught TypeError: Cannot read property 'uploadSelection' of undefined
At /Users/Jean/.atom/packages/slack-chat/lib/commands.coffee:11

TypeError: Cannot read property 'uploadSelection' of undefined
  at atom-workspace.<anonymous> (/Users/Jean/.atom/packages/slack-chat/lib/commands.coffee:11:103)
  at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/opt/homebrew-cask/Caskroom/atom/latest/Atom.app/Contents/Resources/app.asar/src/command-registry.js:241:29)
  at /opt/homebrew-cask/Caskroom/atom/latest/Atom.app/Contents/Resources/app.asar/src/command-registry.js:3:61
  at CommandPaletteView.module.exports.CommandPaletteView.confirmed (/opt/homebrew-cask/Caskroom/atom/latest/Atom.app/Contents/Resources/app.asar/node_modules/command-palette/lib/command-palette-view.js:159:32)
  at CommandPaletteView.module.exports.SelectListView.confirmSelection (/opt/homebrew-cask/Caskroom/atom/latest/Atom.app/Contents/Resources/app.asar/node_modules/atom-space-pen-views/lib/select-list-view.js:338:21)
  at space-pen-div.atom.commands.add.core:confirm (/opt/homebrew-cask/Caskroom/atom/latest/Atom.app/Contents/Resources/app.asar/node_modules/atom-space-pen-views/lib/select-list-view.js:109:19)
  at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/opt/homebrew-cask/Caskroom/atom/latest/Atom.app/Contents/Resources/app.asar/src/command-registry.js:241:29)
  at /opt/homebrew-cask/Caskroom/atom/latest/Atom.app/Contents/Resources/app.asar/src/command-registry.js:3:61
  at KeymapManager.module.exports.KeymapManager.dispatchCommandEvent (/opt/homebrew-cask/Caskroom/atom/latest/Atom.app/Contents/Resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:520:16)
  at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (/opt/homebrew-cask/Caskroom/atom/latest/Atom.app/Contents/Resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:355:22)
  at HTMLDocument.module.exports.WindowEventHandler.onKeydown (/opt/homebrew-cask/Caskroom/atom/latest/Atom.app/Contents/Resources/app.asar/src/window-event-handler.js:180:20)

Commands
     -1:22.3.0 core:move-down (atom-text-editor.editor.mini.is-focused)
     -1:22 core:confirm (atom-text-editor.editor.mini.is-focused)
     -1:22 slack-chat:move-up (atom-pane.pane.active)
     -0:46.6.0 command-palette:toggle (atom-pane.pane.active)
  2x -0:44.6.0 core:move-down (atom-text-editor.editor.mini.is-focused)
     -0:44.1.0 core:confirm (atom-text-editor.editor.mini.is-focused)
     -0:44.1.0 slack-chat:move-down (atom-pane.pane.active)
     -0:19.6.0 command-palette:toggle (atom-pane.pane.active)
  3x -0:17.5.0 core:move-down (atom-text-editor.editor.mini.is-focused)
     -0:16.5.0 core:confirm (atom-text-editor.editor.mini.is-focused)
     -0:16.5.0 slack-chat:upload-selection (atom-pane.pane.active)
     -0:04.4.0 command-palette:toggle (atom-pane.pane.active)
     -0:02.3.0 core:select-all (atom-text-editor.editor.mini.is-focused)
  3x -0:01.3.0 core:move-down (atom-text-editor.editor.mini.is-focused)
     -0:00.7.0 core:confirm (atom-text-editor.editor.mini.is-focused)
     -0:00.7.0 slack-chat:upload-selection (atom-pane.pane.active)

Config
{
  "core": {
    "disabledPackages": [
      "atom-ctags",
      "goto"
    ]
  },
  "slack-chat": {
    "api_key": "xxx",
    "api_secret": "yyy",
    "notifications": false,
    "api_token": "zzz"
  }
}

Installed Packages
# User
autocomplete-ctags, v0.2.0
autocomplete-paths, v1.0.2
docblockr, v0.7.2
highlight-selected, v0.10.1
language-docker, v1.1.3
language-gherkin, v1.0.2
linter, v1.1.0
linter-rubocop, v0.2.7
minimap, v4.10.0
slack-chat, v3.2.2

# Dev
No dev packages

seems to have been fixed along with the other errors.