Add request start time metrics to request header field

📝 Summary
This PR introduces the ability to add the request start time in Unix milliseconds and the start time into the slot to the request headers. This enhancement facilitates the measurement of latency between the validator and the relay.
⛱ Motivation and Context
By adding these time metrics into the headers, we can better analyze the causes of request delays, determining whether they are due to network latency or performance issues with the validator node.
✅ I have run these commands

[x] make lint
[x] make test-race
[x] go mod tidy

This seems reasonable 👍 good idea.
Can we add back the deleted blank lines? This is just a nit.

Those lines were deleted for a reason. Linter was throwing error as below.
server/service.go:295:1: Function name: handleGetHeader, Cyclomatic Complexity: 24, Halstead Volume: 5978.93, Maintainability Index: 19 (maintidx) func (m *BoostService) handleGetHeader(w http.ResponseWriter, req *http.Request) { ^ make: *** [lint] Error 1

interesting that removing blank lines makes the linter think there is less complexity. the function probably needs refactoring

interesting that removing blank lines makes the linter think there is less complexity. the function probably needs refactoring

Hi @avalonche  are we waiting for anything else, can we please merge this PR


Updating for Iris 1.6.11

No longer works with newest Iris, kindly requesting an update if/when you get the chance please.

trying to build this myself since its been quite a while and no response from the repo owner. i... have no idea what im doing...


Per-message/enum file output

⚠ This is a breaking change
With this PR, the as-proto-gen package has made a change in the way it nests messages in the output. Instead of using namespace, it will now generate a separate .ts file for each message or enum, and use ESM modules to connect them. This update brings better compatibility with current web practices and helps to avoid excessively large output files.

@pienkowb This PR addresses some of the issues from #22. Is this enough for you to use this package, or do you need these _export.ts files?


Added LICENSE file

Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[x] Reset the build number to 0 (if the version changed)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

Hi Mike, thanks for the PR
Can you please share some more context about this? The source code already contains the license file, which we include in the packages here

Thanks @jakirkham Sorry, I meant to add context but got distracted. Someone pointed out to me that the license linked from https://anaconda.org/conda-forge/cuda-python results in a 404. I believe the license_file in recipe/meta.yml is relative to the recipe directory. Adding the file there should fix it?

@mmccarty If you're referring to the hyperlink LicenseRef-NVIDIA-SOFTWARE-LICENSE, you should just add one more entry license_url to meta.yaml pointing to CUDA Python's license page. This will not work.

Thanks for the context Mike. No worries 🙂
Agree with Leo. Would also suggest re-rendering after making that change.

ex: https://github.com/conda-forge/cusparselt-feedstock/blob/a38651f7ee8ce4182376664bc7215df842d1326a/recipe/meta.yaml#L71

@jakirkham That said, I do notice a few other feedstocks have incorrect hyperlinks too, even though license_url has been added:

https://anaconda.org/conda-forge/cusparselt
https://anaconda.org/conda-forge/cuquantum

However, the license link of cuTENSOR (https://anaconda.org/conda-forge/cutensor) works. I suspect it has to to with the "LicenseRef-" prefix that we added to suppress the linter complaint (when cuTENSOR was added to conda-forge, it started without the prefix; it's added later after the initial package already lived on anaconda.org). I think there is a bug somewhere in anaconda.org's hyperlink handling (as I checked and didn't spot anything odd in conda-build or conda-smithy).

Could you please raise new issues on those feedstocks regarding these links?

@conda-forge-admin, please rerender

@leofang @jakirkham Looks like that did the trick. At least for the ReadMe. Thanks!

Could you please raise new issues on those feedstocks regarding these links?

Thanks @jakirkham for a few good catches, I narrow it down to this list:

https://github.com/conda-forge/cusparselt-feedstock/issues/14
https://github.com/conda-forge/cuquantum-python-feedstock/issues/4
https://github.com/conda-forge/cuquantum-feedstock/issues/3

Thanks Leo! 😄 Will follow up in those issues

Let's see if this change would get the hyperlink fixed on anaconda.org! (My guess is it would not.)

If it doesn't, let's open an issue on this feedstock and we can go from there


Enable-WriteCore-feature-for-recoveryservices-siterecovery

Contributing to the Azure SDK
Please see our CONTRIBUTING.md if you are not familiar with contributing to this repository or have questions.
For specific information about pull request etiquette and best practices, see this section.

API change check
APIView has identified API level changes in this PR and created following API reviews.
Azure.ResourceManager.RecoveryServicesSiteRecovery


Bug in tutorial code

What version of Remix are you using?
1.2.2
Steps to Reproduce
I followed the tutorial and found a small mistake:
See https://remix.run/docs/en/v1/tutorials/blog#dynamic-route-params at
// app/post.ts
import path from "path";
import fs from "fs/promises";
import parseFrontMatter from "front-matter";
import invariant from "tiny-invariant";
import { marked } from "marked";

//...
export async function getPost(slug: string) {
  const filepath = path.join(postsPath, slug + ".md");
  const file = await fs.readFile(filepath);
  const { attributes, body } = parseFrontMatter(
    file.toString()
  );
  invariant(
    isValidPostAttributes(attributes),
    `Post ${filepath} is missing attributes`
  );
  const html = marked(body);
  return { slug, html, title: attributes.title };
}

Expected Behavior
The slug variable is defined
Actual Behavior
The slug variable is not defined

slug is defined as a parameter of the getPost call. I'm not sure what you mean by the actual behavior being undefined.

Yea fuck, I think I made a copy paste mistake somewhere and didn't check properly. Sorry, my bad.

Seems like I made a copy paste mistake and didn't check properly. Sorry my bad.

 My bad.


Reorganize folders of DataScienceTutorials.jl

This includes removing useless files, reorganizing common ones together, centralizing the routing index at the top-level and most importantly using a folder layout instead of prefixes to distinguish different tutorial types.

Why does this heading exist? Old Instructions gives the impression that there are "alternative instructions"; meanwhile, in reality they do add information about exactly three things :

How to visualize after changing (e.g., adding a new tutorial)
Adding plots
Troubleshooting

I would vote for the following:

Get rid of the potentially misleading "Old Instructions" title
So far, I added briefly how to visualize the changes as the last step in the "add tutorial section" instead I can link to here (which is less brief and more informative) or get rid of this section.
The "Adding Plots" section is not absolutely necessary because it was mentioned earlier to follow the blueprint by copying another tutorial which makes that easy. Thus, we can either remove this section or keep it and link to it in the "adding tutorials section. In the latter case, we have to remove what's mentioned there on PyPlot
Troubleshooting section should stay.

@EssamWisam I'm very happy for you to make an executive decision about these details. Feel free to rewrite these instructions as much as you like.
Since the original developer has moved on, just go ahead do your best. You are the active maintainer with the most knowledge about the how the process now works and I will defer to you on this.
Do ping me when you are ready for final review.

Alright. Ready for review. Here is a pretty print of the new README for easier review. The rest as can be seen are folder organization changes. I tested rendering the website after I did those.


Carousel doesn't work correctly in safari (MacOS)

Describe the bug
Carousel doesn't operate correctly when using desktop safari. It will move only a few pixels as you attempt to navigate through items
To Reproduce
Literally check the website on desktop safari https://flowbite-react.com/carousel
Expected behavior
Each event moves the entire card content fully
Screenshots
https://user-images.githubusercontent.com/94366107/196922775-6a4ee4a9-e5d2-4d92-80df-d6357fa14be9.mov
System information:

Device: MacBook Pro 14
Resolution:
OS: Macos
Browser: Safari
Version: 16.0 (176<IP_ADDRESS>.10, 17614)

Project information:
N/A as its happening on the website

i have similar issue with nextjs13,  i'm using brave browser and  non of the carousel images or elements are  displayed.

I have the same issue happening on my website as well. Only is an issue in Safari.

There may be an issue with scroll-behavior: smooth in Safari. The property scroll-smooth is set on Carousel by default, you can check that via dev-tools.
Try wrapping your Carousel with the <Flowbite /> component.
It accepts a theme object as a prop and can be used to overwrite Flowbite default styles.
In the such case may work out this approach:
<Flowbite
   theme={{
     theme: {
       carousel: {
         scrollContainer: {
           base: 'flex h-full snap-mandatory overflow-y-hidden overflow-x-scroll scroll-auto rounded-lg',
           ...
         }, ...
       }, ...
     },
   }}>
  {/* Your Carousel component*/}
</Flowbite>

All default styles of Flowbite components you can find here.
Also, it may be useful to check out this pull request.

Thank you for reporting this issue. However, we regret to inform you that we won't be able to address it for the following reasons:

The reported issue refers to an unsupported old version of our project.
Our team was unable to reproduce the problem with the information provided.
Insufficient information was provided to conduct a thorough investigation.

We recommend upgrading to the latest version and submitting a new issue if the problem persists. Thank you for your understanding.


Show current admin and user spec in the accept/review page

As an admin it would be interesting to see the current config so we can identify easily the difference when executing a day 2 operation.

Done and merged in dev branch


[mdx] remove mention of layout frontmatter property

Description (required)
This removes mention of the frontmatter layout property available to MDX files from the MDX page so we can consolidate all mention of it to the Layouts page itself.
As we are not sure how much we want to promote this, leaving it to the Layouts page still makes the information prominently available without encouraging/assuming its use. Importing and using an Astro component as a layout is a more flexible option than the "magic" special property, so it will be easier to mention any limitations and caveats in just one place.
Related issues & labels (optional)

Closes #9166

While this PR itself isn't exactly what the issue asked for, I do think a few recent changes to this, the layouts and the markdown pages all combined will work together to prevent people trying to use named slots in MDX with the special frontmatter property.

Lunaria Status Overview
🌕 This pull request will trigger status changes.

Learn more
By default, every PR changing files present in the Lunaria configuration's files property will be considered and trigger status changes accordingly.
You can change this by adding one of the keywords present in the ignoreKeywords property in your Lunaria configuration file in the PR's title (ignoring all files) or by including a tracker directive in the merged commit's description.

Tracked Files

Locale
File
Note

en
guides/integrations-guide/mdx.mdx
Source changed, localizations will be marked as outdated.

Warnings reference

Icon
Description

🔄
The source for this localization has been updated since the creation of this pull request, make sure all changes in the source have been applied.

Alright, I think I got everything worked out!

!coauthor

Thanks! I'll go with this for now! Appreciate the help and attention to detail!

gah, now I want to update the rest of them...

Alright, are you up for one last check @ArmandPhilippot ???


Unable to use gpt-3.5-turbo deployed on Azure OpenAI with langchain embeddings.

I have a gpt-3.5-turbo model deployed on AzureOpenAI, however, I always keep getting this error.
openai.error.InvalidRequestError: The API deployment for this resource does not exist. If you created the deployment within the last 5 minutes, please wait a moment and try again.
index_creator = VectorstoreIndexCreator(             embedding=OpenAIEmbeddings(                 openai_api_key=openai_api_key,                 model="gpt-3.5-turbo",                 chunk_size=1,             )         )
indexed_document = index_creator.from_loaders([file_loader])
chain = RetrievalQA.from_chain_type(             llm=AzureOpenAI(                 openai_api_key=openai_api_key,                 deployment_name="gpt_35_turbo",                 model_name="gpt-3.5-turbo",             ),             chain_type="stuff",             retriever=indexed_document.vectorstore.as_retriever(),             input_key="user_prompt",             return_source_documents=True,         )
open_ai_response = chain({"user_prompt": query_param})

Hey @r-naeem-afzal, which model have you been using while gpt3 is not available ?

Turns out the problem wasn't with gpt3.5 model but the model I was providing to the the embeddings. I was passing it gpt3.5 while it expected text-embeddings-ada. This fixed the issue.

that did the trick, thank you @r-naeem-afzal 🔥

Happy to help :)

gpt-3.5-turbo

when run this example code: https://python.langchain.com/en/latest/modules/models/text_embedding/examples/azureopenai.html
I still got the following error.. and have no idea what to do..
InvalidRequestError: The API deployment for this resource does not exist. If you created the deployment within the last 5 minutes, please wait a moment and try again.

iam getting the same error still

I am also getting this same error.

Also getting this error.

For me the following fixed it: https://github.com/langchain-ai/langchain/issues/8687#issuecomment-1673345226


[WIP] pythonPackages.fipy: init at 3.3

Motivation for this change
Add the FiPy PDE solver, see https://www.ctcms.nist.gov/fipy/
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[ ] NixOS
[ ] macOS
[x] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

@wd15 please change the title of the PR to pythonPackages.fipy: init at 3.3

PR builds for me
Result of nix-review pr 65035 1

7 package were build:

python27Packages.fipy
python27Packages.pyamg
python27Packages.pysparse
python27Packages.scikit-fmm
python37Packages.fipy
python37Packages.pyamg
python37Packages.scikit-fmm

I would name the maintainer commit "Add wd15 to maintainers.nix" and put it before any of the others

I think it's not usual to merge master into your branch either

python27Packages.pysparse fails to build on Darwin with the following error:
builder for '/nix/store/ywgvqx50gz794d6zz6i29md2qz2pr7wf-python2.7-pysparse-1.1.1-dev.drv' failed with exit code 1; last 10 log lines:
      self.calc_info()
    File "/nix/store/0kfl9gvfhazc0m8yak0k4pnr535ww11n-python2.7-numpy-1.16.4/lib/python2.7/site-packages/numpy/distutils/system_info.py", line 1700, in calc_info
      lib = self.has_cblas(info)
    File "/nix/store/0kfl9gvfhazc0m8yak0k4pnr535ww11n-python2.7-numpy-1.16.4/lib/python2.7/site-packages/numpy/distutils/system_info.py", line 1743, in has_cblas
      extra_postargs=info.get('extra_link_args', []))
    File "/nix/store/m96dlplafzcpmy8sbvgkq4r5ny55w4gg-python-2.7.16/lib/python2.7/distutils/ccompiler.py", line 700, in link_executable
      debug, extra_preargs, extra_postargs, None, target_lang)
    File "/nix/store/m96dlplafzcpmy8sbvgkq4r5ny55w4gg-python-2.7.16/lib/python2.7/distutils/unixccompiler.py", line 205, in link
      raise LinkError, msg
  distutils.errors.LinkError: Command "clang /private/var/folders/r2/zwnv7zsd4bd99mqkn4mhqxn800034l/T/nix-build-python2.7-pysparse-1.1.1-dev.drv-0/tmpsvlr5e/private/var/folders/r2/zwnv7zsd4bd99mqkn4mhqxn800034l/T/nix-build-python2.7-pysparse-1.1.1-dev.drv-0/tmpsvlr5e/source.o -L/usr/lib -lblas -o /private/var/folders/r2/zwnv7zsd4bd99mqkn4mhqxn800034l/T/nix-build-python2.7-pysparse-1.1.1-dev.drv-0/tmpsvlr5e/a.out" failed with exit status 1

@alexarice: commits should be clean now

@wd15 remove the [WIP] tag. Looks like this PR ready to go (aside from the darwin issue). If you want you could set platforms = platforms.linux; in meta to limit builds to only linux. Not sure if you have confirmed support for osx

@costrouc, I just need to make one more change. I need to remove Gmsh as a dependency on Darwin as it doesn't seem to build and after than have @smaret retest. I updated the PySparse version since smaret review and checked that it built on Darwin so I'll ping smaret to retest once that is done.

@smaret, thanks for your previous test. I've updated the PySparse build to a more recent version, which built for me on Darwin. Could you try again?

I feel like that brokepip.patch is a little heavy at 22k lines...

@jonringer, I can fix that. I should just apply the patch and use the GitHub repository.

@jonringer, large patch is gone

@smaret, thanks for your previous test. I've updated the PySparse build to a more recent version, which built for me on Darwin. Could you try again?

PR builds on Darwin for python27. I get an error while building python37.tkinter but that's most likely probably unrelated to this PR. Looks good to me.

Result of nix-review pr 65035 1

7 package were build:

python27Packages.fipy
python27Packages.pyamg
python27Packages.pysparse
python27Packages.scikit-fmm
python37Packages.fipy
python37Packages.pyamg
python37Packages.scikit-fmm

nix review passes! LGTM


Support array syntax in beforeEnter

What problem does this feature solve?
This will allow splitting guard logic in smaller functions and making it easy to chain them. It's similar to express middlewares
What does the proposed API look like?
{ path: '/some', beforeEnter: [authGuard, adminGuard] }

current solution to this: https://www.npmjs.com/package/vue-router-multiguard
Edit: Supporting arrays for in-component guards seems unnecessary as a component guard is specific to a component, they are not reused. On top of that, the typing of this would probably break so I removed them from the proposal.

For those interested in this feature request, is there any use case that requires array syntax for the in-component guards? I can see how having an array for beforeEnter is useful to reuse small middlewares that are unrelated to component but I can't find a use case for in-component guards

At this moment, I can't think of a use-case that would require an Array based syntax for guards at component level, but are we sure that there wouldn't be? and would there be additional cost to add that syntax to component level?
In my opinion, it is better to support this new syntax at any level just to keep the convention.

I used vue-router-multiguard when i needed to pass multiple guards to some pages on the previous project i worked on.
This was the situation on that project and doesnt seem like a rare use case.
There is the auth guard and guest guard for checking authentication, but even when user is authenticated some pages had to be accessible by the subscribed users only, so i created another guard, subscription guard, there was probablly admin guard too, for similar reasons, and if you think i could have done it better some other way, i'd like to hear about that, because like i said its not a rare use case

I used vue-router-multiguard when i needed to pass multiple guards to some pages on the previous project i worked on.
This was the situation on that project and doesnt seem like a rare use case.
There is the auth guard and guest guard for checking authentication, but even when user is authenticated some pages had to be accessible by the subscribed users only, so i created another guard, subscription guard, there was probablly admin guard too, for similar reasons, and if you think i could have done it better some other way, i'd like to hear about that, because like i said its not a rare use case

arrays for in-component guards seems unnecessary as a component guard is specific to a component, they are not reused.
right, something like isAuthenticatedGuard will never be reused anywhere, its specific guard for specific component for specific route only... or not? What if we have more guards like localization? Captchas and other security which will be unnecessary to call if first failed? See Symfony Voters, they have somthing similar  for PHP.
Yes, package solves the issue and there are plenty of other workarounds.
Talking about
    "vue-router": "^3.0.1",
    "vuex-router-sync": "^5.0.0",

Not sure if this has been resolved within vue-router already (might have missed something in the docs), but fwiw this is my current implementation:

import {
  createRouter,
  createWebHistory,
  NavigationGuard,
  NavigationGuardNext,
  RouteLocationRaw,
  Router
} from "vue-router"

import {
  doesNotHaveTeams,
  hasTeams,
  isAuthenticated,
  isNotAuthenticated
} from "./guards"

/** Define provider signature **/
export type MultiGuard = (guards: NavigationGuard[]) => NavigationGuard

/**
 * Provide routes with the ability to execute multiple guards.
 * This is implemented due to a gap in Vue Router functionality which limits callbacks to a single guard.
 *
 * @see https://github.com/vuejs/vue-router/issues/2688
 * @param {NavigationGuard[]} guards
 * @return {NavigationGuard}
 */
export const multiGuard: MultiGuard =
  (guards: NavigationGuard[]): NavigationGuard =>
  async (to, from, next) => {
    // Let sharedNext callback break execution if a guard is triggered.
    let resolved: boolean = false

    // Create a "shared" next callback which breaks the iteration loop if "next()" is called within guard.
    // TODO: Implement "boolean" and "callback" cases...
    const sharedNext = (location?: RouteLocationRaw): void => {
      if (location) {
        resolved = true
        next(location)
      }
    }

    // Iterate through provided guards array until complete or redirected.
    for (const guard of guards) {
      await guard(to, from, sharedNext as NavigationGuardNext)
      // Check if the sharedNext callback triggered a break.
      if (resolved) {
        break
      }
    }
    // If none of the guards triggered a redirect, allow the original intent.
    if (!resolved) {
      next()
    }
  }

/**
 * Example multiguard implementation.
 *
 * @type {Router}
 */
export const router: Router = createRouter({
  history: createWebHistory(),
  routes: [
    {
      path: "/teams",
      name: TEAMS_ROUTE,
      beforeEnter: multiGuard([isAuthenticated, hasTeams]),
      component: () =><EMAIL_ADDRESS>    },
    {
      path: "/onboarding",
      name: ONBOARDING_ROUTE,
      beforeEnter: multiGuard([isAuthenticated, doesNotHaveTeams]),
      component: () =><EMAIL_ADDRESS>    },
    {
      path: "/sign-in",
      name: SIGN_IN_ROUTE,
      beforeEnter: multiGuard([isNotAuthenticated]),
      component: () =><EMAIL_ADDRESS>    }
  ]
})

Example route guard.

/**
 * Example route guard.
 *
 * @param {RouteLocationNormalized} _to
 * @param {RouteLocationNormalized} _from
 * @param {NavigationGuardNext} next
 * @return {Promise<void>}
 */
export const isAuthenticated: NavigationGuard = async (
  _to,
  _from,
  next
): Promise<void> => {
  if (!await session().isAuthenticated()) {
    next({
      name: SIGN_IN_ROUTE
    })
  } else {
    next()
  }
}

Nice to have!

Is this still not supported in Vue router?


Intermittent 500 errors after moving AWS accounts and Serverless Image Handler version

Describe the issue
We have transferred our site to a new AWS account. Which meant moving all the images into a new bucket and setting up Serverless Image Handler in CloudFormation. I think we have probably upgraded from v5.2.0 > v6.0.0. When we now load the website we get 500 errors from an intermittent number of images (within 'img' tags). The erroring images seem to lower over time. I.e. if we have 10 images on the page broken today, it could be 5 tomorrow.
 I'm not sure if its an import issue, it could take a while to re-process all the images again.
Version: v6.0.0
Region: us-east-1
Was the solution modified from the version published on this repository? No.

@amcfarlane thank you for reporting the issue. Do you have any cache? It seems after some period of time, when the cache invalidated it starts working.

@fisenkodv thanks for responding. I’m not sure about the cache. The whole setup, apart from the existing S3 images is standard. We didn’t add any extra caching on top of the default Serverless Image Handler setup.

I was thinking similar. But all images are loading from img2.picle.io and only 20% are failing. I wouldn't imagine the browser would use different DNS routes for 1 pageload? But I might be wrong.

@amcfarlane still see the issue? Have you tried to open links in different browsers, have you tried to clean the DNS cache?

@fisenkodv thanks for your ongoing support with this. Unfortunately we have an hopefully temporary issue with our entire AWS account at the moment which is making debugging impossible. Before the issues we where experiencing the issue on other browsers and devices. But I can debug more once we are back up and running.

@fisenkodv The CORS settings are below. I still see intermittent images in Chrome.

@amcfarlane what I've noticed is when I open https://picle.io/games/ghost-of-tsushima link in the Firefox some images aren't loading, e.g. https://img2.picle.io/eyJlZGl0cyI6eyJyb3RhdGUiOm51bGwsInJlc2l6ZSI6eyJ3aWR0aCI6ODAwLCJoZWlnaHQiOjgwMCwiZml0IjoiY292ZXIifX0sImJ1Y2tldCI6InByb2QuaW1nMi5waWNsZS5pbyIsImtleSI6ImVudHJpZXNcLzVMN3JwSkthXC9lODM0YWNkNS1lZjkxLTQ2YTQtYTdkNS01YTU5M2YwZjg2NzYifQ== and in the browser's network I see 500 error(if you open that link now, you will be able to see that image, please continue reading). For that image Firefox sends
curl --location --request GET 'https://img2.picle.io/eyJlZGl0cyI6eyJyb3RhdGUiOm51bGwsInJlc2l6ZSI6eyJ3aWR0aCI6ODAwLCJoZWlnaHQiOjgwMCwiZml0IjoiY292ZXIifX0sImJ1Y2tldCI6InByb2QuaW1nMi5waWNsZS5pbyIsImtleSI6ImVudHJpZXNcLzVMN3JwSkthXC9lODM0YWNkNS1lZjkxLTQ2YTQtYTdkNS01YTU5M2YwZjg2NzYifQ==' \
--header 'Host: img2.picle.io' \
--header 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0) Gecko/20100101 Firefox/91.0' \
--header 'Accept: image/webp,*/*' \
--header 'Accept-Language: en-US,en;q=0.5' \
--header 'Accept-Encoding: gzip, deflate, br' \
--header 'Connection: keep-alive' \
--header 'Referer: https://picle.io/' \
--header 'Cookie: _rdt_uuid=1656342238487.792d85fd-b5ab-483a-8a17-8225ac9015de; _tt_enable_cookie=1; _ttp=94baabd5-cd11-45cb-b1d6-6e2e290e1744; _ga_SZGQSD8XXQ=GS1.1.1656342<IP_ADDRESS>6342476.0; _ga=GA1.1.2070033236.1656342239; _fbp=fb.1.1656342239846.1350367669; __stripe_mid=0379a393-9b1d-4924-9578-c9e9d120bceaec6ccd' \
--header 'Sec-Fetch-Dest: image' \
--header 'Sec-Fetch-Mode: no-cors' \
--header 'Sec-Fetch-Site: same-site' \
--header 'Pragma: no-cache' \
--header 'Cache-Control: no-cache' \
--header 'TE: trailers'

then, I've tried to open the same page in the Chrome and I was able to see that image. When I compared requests I noticed that the Chrome sends a bit different Accept header namely image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8 instead image/webp,*/*, i.e. in the Chrome I was able to see the image, and that image is JPEG image, not WebP. When I updated the page in the Firefox, I saw that image as well, since it was cached by CloudFront and it explains why you see images after some period of time.
Taking into account the aforementioned, could you please double-check why the Firefox sends that value in the Accept header.

@amcfarlane could you please check the following:

do you see the Content-Type key in the Metadata in the S3 bucket for an image you don't see in the browser?
do you see any error messages, please refer to https://github.com/aws-solutions/serverless-image-handler/blob/b6a4f88567ba7a1f2c64978f9a2edd0051c4e938/source/image-handler/image-request.ts#L404 in the CloudWatch?

My concern is even if I unable to see an image in a browser I can see the image if open the image link directly (image's src attribute).

@fisenkodv I thought that might be the issue as well, as we don't have file extensions. But as the image loads eventually it makes me think this isn't the issue. But I'll check for those errors now. Also, this wasn't present on our older v5.2.0 setup.
After a long search I did find the following within the API-Gateway-Execution-Logs/image which looks like it might fit the problem. There are roughly the same number of errors as matching 500 images. Also the return 500 status is the same.
Lambda invocation failed with status: 429.
Execution failed due to configuration error: Rate Exceeded.
Method completed with status: 500
I'm pretty new to these services and CloudWatch so it took me a while to find, my apologises.

@fisenkodv Thanks again for your help with this. Finally a solution. 🎉
Our old AWS account has the default quota of concurrent Lambda executions of 1000. The new account had 10. 😅 So on pages of a large number of images after the 10 concurrent was reached we got the 500 error. This was then cached for a period of time by CloudFront. So we were basically rendering 10 (probably more) images on each view of the page.
Asking AWS to increase our concurrent Lambda executions to 1000 has fixed the issue. Once all the new images are cached again this won't be an issue.
It might be helpful to add a note about this to the Serverless Image Handler Implementation Guide. Does anyone know who I can contact about that?

@amcfarlane thank you for the update! Also, wanted to share this link https://aws.amazon.com/premiumsupport/knowledge-center/lambda-troubleshoot-throttling/ which could be useful. We will add updating the Serverless Image Handler Implementation Guide to our backlog.

@fisenkodv Thanks again for your help with this. Finally a solution. 🎉
Our old AWS account has the default quota of concurrent Lambda executions of 1000. The new account had 10. 😅 So on pages of a large number of images after the 10 concurrent was reached we got the 500 error. This was then cached for a period of time by CloudFront. So we were basically rendering 10 (probably more) images on each view of the page.
Asking AWS to increase our concurrent Lambda executions to 1000 has fixed the issue. Once all the new images are cached again this won't be an issue.
It might be helpful to add a note about this to the Serverless Image Handler Implementation Guide. Does anyone know who I can contact about that?

Hey, how did you request an increase of the concurrent Lambda executions quota? Is there an interface for this? Can't seem to find it. Thanks.

@iuliuvisovan, there is the interface to do that, please refer to https://docs.aws.amazon.com/servicequotas/latest/userguide/request-quota-increase.html.

It appears that this is no longer a pending issue. Please re-open the issue if there is still a concern.


[BUG] Build problem, ovos-buildroot with x86_64-base

When building the image from develop I get an error:
57900K .......... .......... .......... .......... .....       148K=3m55s

2023-12-16 23:14:20 (246 KB/s) - ‘/media/2945e18b-2c55-4874-93df-7622d24d7eb6/OpenVoiceOS/ovos-buildroot/buildroot/output/build/.deepfilternet-ladspa-27b5f07be6caba1abec7907fcca89ba906732800.tar.gz.YwQkIq/output’ saved [59336129]

    Updating git repository `https://github.com/aldanor/hdf5-rust/`
error: failed to sync

Caused by:
  failed to load pkg lockfile

Caused by:
  failed to get `hdf5` as a dependency of package `deep_filter v0.4.1-pre (/media/2945e18b-2c55-4874-93df-7622d24d7eb6/OpenVoiceOS/ovos-buildroot/buildroot/output/build/.deepfilternet-ladspa-27b5f07be6caba1abec7907fcca89ba906732800.tar.gz.YwQkIq/deepfilternet-ladspa-27b5f07be6caba1abec7907fcca89ba906732800/libDF)`

Caused by:
  failed to load source for dependency `hdf5`

Caused by:
  Unable to update https://github.com/aldanor/hdf5-rust/?rev=refs/pull/216/head#fd323b3d

Caused by:
  object not found - no match for id (fd323b3d88d9f4eb339c5ccd1f3127a2367da3c8); class=Odb (9); code=NotFound (-3)
wget --passive-ftp -nd -t 3 -O '/media/2945e18b-2c55-4874-93df-7622d24d7eb6/OpenVoiceOS/ovos-buildroot/buildroot/output/build/.deepfilternet-ladspa-27b5f07be6caba1abec7907fcca89ba906732800.tar.gz.MxD8kE/output' 'https://sources.buildroot.net/deepfilternet-ladspa/deepfilternet-ladspa-27b5f07be6caba1abec7907fcca89ba906732800.tar.gz'
--2023-12-16 23:14:29--  https://sources.buildroot.net/deepfilternet-ladspa/deepfilternet-ladspa-27b5f07be6caba1abec7907fcca89ba906732800.tar.gz
Resolving sources.buildroot.net (sources.buildroot.net)... 2606:4700:20::ac43:4838, 2606:4700:20::681a:125, 2606:4700:20::681a:25, ...
Connecting to sources.buildroot.net (sources.buildroot.net)|2606:4700:20::ac43:4838|:443... connected.
HTTP request sent, awaiting response... 404 Not Found
2023-12-16 23:14:29 ERROR 404: Not Found.

wget --passive-ftp -nd -t 3 -O '/media/2945e18b-2c55-4874-93df-7622d24d7eb6/OpenVoiceOS/ovos-buildroot/buildroot/output/build/.deepfilternet-ladspa-27b5f07be6caba1abec7907fcca89ba906732800.tar.gz.LWGPqw/output' 'https://sources.buildroot.net/deepfilternet-ladspa-27b5f07be6caba1abec7907fcca89ba906732800.tar.gz'
--2023-12-16 23:14:29--  https://sources.buildroot.net/deepfilternet-ladspa-27b5f07be6caba1abec7907fcca89ba906732800.tar.gz
Resolving sources.buildroot.net (sources.buildroot.net)... 2606:4700:20::681a:25, 2606:4700:20::681a:125, 2606:4700:20::ac43:4838, ...
Connecting to sources.buildroot.net (sources.buildroot.net)|2606:4700:20::681a:25|:443... connected.
HTTP request sent, awaiting response... 404 Not Found
2023-12-16 23:14:30 ERROR 404: Not Found.

wget --passive-ftp -nd -t 3 -O '/media/2945e18b-2c55-4874-93df-7622d24d7eb6/OpenVoiceOS/ovos-buildroot/buildroot/output/build/.deepfilternet-ladspa-27b5f07be6caba1abec7907fcca89ba906732800.tar.gz.Fp7KZB/output' 'https://github.com/skiffos/mirror/raw/master/deepfilternet-ladspa/deepfilternet-ladspa-27b5f07be6caba1abec7907fcca89ba906732800.tar.gz'
--2023-12-16 23:14:30--  https://github.com/skiffos/mirror/raw/master/deepfilternet-ladspa/deepfilternet-ladspa-27b5f07be6caba1abec7907fcca89ba906732800.tar.gz
Resolving github.com (github.com)... <IP_ADDRESS>
Connecting to github.com (github.com)|<IP_ADDRESS>|:443... connected.
HTTP request sent, awaiting response... 404 Not Found
2023-12-16 23:14:31 ERROR 404: Not Found.

make[1]: *** [package/pkg-generic.mk:179: /media/2945e18b-2c55-4874-93df-7622d24d7eb6/OpenVoiceOS/ovos-buildroot/buildroot/output/build/deepfilternet-ladspa-27b5f07be6caba1abec7907fcca89ba906732800/.stamp_downloaded] Error 1
make[1]: Leaving directory '/media/2945e18b-2c55-4874-93df-7622d24d7eb6/OpenVoiceOS/ovos-buildroot/buildroot'
rsync -ah --progress buildroot/output/images/disk.img release/OpenVoiceOS_x86_64-base_20231216_2210.img
sending incremental file list
rsync: [sender] link_stat "/media/2945e18b-2c55-4874-93df-7622d24d7eb6/OpenVoiceOS/ovos-buildroot/buildroot/output/images/disk.img" failed: No such file or directory (2)
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1338) [sender=3.2.7]
make: *** [Makefile:26: x86_64-base] Error 23

buildroot_x86_64-base_output.txt

Apologies! I have not been updating the x86-64 defconfig for the new container based system as while working on it i focussed on the rpi boards and the ova system for testing.
I will try to get that defconfig up to date somewhere this week.

Thank you very much!

Apologies. Ended up into a little rabbit whole while migrating from systemd-networkd towards NetworkManager.
Will look into getting the rpi3, ova and x84 defconfigs into shape.

Should be fixed now with;
https://github.com/OpenVoiceOS/ovos-buildroot/commit/5e7fd2e185ba723c1f5a50c871d5e4f9ceb78d06
Haven't booted it as of yet. Needs extensive testing going forward.
Closing this issue in favor of any newly opened issue for bugs that surface during testing.


Uptime kuma showing blank screen when connecting through domain & reverse proxy

⚠ Please verify that this bug has NOT been raised before.

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

🛡 Security Policy

[X] I agree to have read this project Security Policy

📝 Describe your problem
Hi all,
I'm running Uptime Kuma in a docker container, and can access it using it's local IP/hostname just fine.
However, when I try accessing it through my domain (status.mydomain.com) it just presents a blank page.
This is the uptime kuma server block in my nginx reverse proxy:

I am using CloudFlare as well. WebSockets are turned on.
Any ideas what's going wrong here?
🐻 Uptime-Kuma Version
1.11.3
💻 Operating System and Arch
Debian 10
🌐 Browser
Google Chrome 98.0.4758.82
🐋 Docker Version
Docker 19.03.8
🟩 NodeJS Version
No response

Same issue here, have been trying to fix it for hours.
Also getting blank screen. Im using nginx proxy manager (also direct acces locally works)

I had this problems frequently with Nginx Proxy Manager and different Proxy Hosts that I forward to (not only uptime-kuma).
Sometimes when SSL settings or certificate of the proxy host are changed; the page will not be reachable and you get a blank page.
Restarting/Recreating the Nginx Proxy Manager might solve this problem.
I think this issues were fixed with Nginx Proxy Manager v2.19.4 / v2.19.5 - at least for me.

Also have the problem. I'm using traefik 2.6.1 and I'm sure the request is reaching uptime kuma but it just shows a blank page.
I have tried setting the 'Primary Base URL' in the general settings to the hostname I'm using to access it but it hasn't helped.
I also tried restarting everything without success. Any idea?

Also have the problem. I'm using traefik 2.6.1 and I'm sure the request is reaching uptime kuma but it just shows a blank page. I have tried setting the 'Primary Base URL' in the general settings to the hostname I'm using to access it but it hasn't helped. I also tried restarting everything without success. Any idea?
Edit: Uptime Kuma version 1.11.4

I no longer have the issue. Now the website loads normally. I'm not sure what I did to solve it. Maybe it was some kind of problem with Traefik, it's the only thing I may have changed from then until now.

Using NPM I have the same issue. The vendor.js, manifest, etc are going to the root URL.
I'm trying to reverse proxy using a custom location.
proxy host
test.com - main website, plain html (server 1)
test.com/kuma - uptime kuma (server 2)
Blank page when I visit test.com/kuma
I tried changing the Primary Base URL but that doesn't look like it does anything. My expectation is that if I change the Primary Base URL to say something like https://google.com/ I should break Uptime Kuma. Am I wrong?
Looks like it keeps looking for js files at the root of the domain.

This is a known issue, tracked here #147


Add support for CommonJS consumers

Perceived Problem
Alge currently can only be consumed by ESM packages/projects. This leaves out too many people in the community I feel.
Ideas / Proposed Solution(s)
I'm actually not sure what the mechanism to support both ESM and CJS is anymore. I am already fairly knowledgeable but hopefully there's just something simple I don't know yet. Anyways, more research to do.

Solution was simply to specify the types field. If this were a multi entry point package then that wouldn't be enough but luckily it is here.


Perf. Considerations After Initial Checks

During testing #125, a few thoughts have come to mind:

We can load a lot of data (and visualise it), but this can be expensive in terms of re-querying, and re-drawing (e.g. resizing)
The challenge is that we may actually end up with very few elements (e.g if doing KDE) or as many as are in the dataset (if doing a scatterplot).
We have a few other items we've identified in terms of how much processing Deneb might be doing internally (or having to do based on updates coming from the main window)

We need to think about suitable ways of handling some of the following (and there will likely be more):

[ ] Measuring rendering performance
[ ] Applying some form of proactive management or keeping performance reliable, either semi-intelligently or through properties that can be opted-in (like the data row limit, and more of a likely solution)
[ ] Looking for ways to optimise internal logic or delay until we know it's the right time (e.g. wait until resizing has finished, which will be possible)
[x] Look at moving more state management into React rather than Redux (notably the dataset, as versioning this is going to hurt after a while) #147
[ ] Possibly more advanced profiling, such as how many elements potentially get produced by a view (if using SVG) and suggesting that canvas be used rather than SVG (or even auto-switching and creator needs to opt-in and accept risks)

A lot of this is being (or has been) cleaned up in re-building the visual workflow in v2. Closing.


Can't start Genie interactive mode

An installing of Genie was succeeded first time today.
But Genie console don't automatically start when I created new app.
If I run Genie server by myself (click .bat or , run bin/server) I get errors.
I'm using
Windows 10, Powershell
Julia v1.0
Genie (up to date)
julia> using Genie

julia> Genie.REPL.new_app( "my_genie" );
[2018-09-12 08:34:35|info]: Done! New app created at C:\users\wall-e\juliatest\my_genie

julia>
PS C:\users\wall-e\juliatest> cd my_genie
PS C:\users\wall-e\juliatest\my_genie> bin/server

C:\users\wall-e\juliatest\my_genie>C:\Users\Wall-E\AppData\Local\Julia-1.0.0\bin\julia -L ../genie.jl --color=yes --depwarn=no -q -- s
ERROR: could not open file C:\users\wall-e\juliatest\genie.jl
Stacktrace:
 [1] include at .\boot.jl:317 [inlined]
 [2] include_relative(::Module, ::String) at .\loading.jl:1038
 [3] include(::Module, ::String) at .\sysimg.jl:29
 [4] macro expansion at .\logging.jl:324 [inlined]
 [5] exec_options(::Base.JLOptions) at .\client.jl:219
 [6] _start() at .\client.jl:421

Thanks - yes, it no longer automatically loads the app, felt too hacky.
I'll update the docs to reflect the change.
So why can't it open the file C:\users\wall-e\juliatest\genie.jl ?
Is the file there? Are you using PowerShell?

Can you check now? I pushed a lot of updates (plus new README)

I updated :smile:
Then I tried again but I have another error messages..

julia> Genie.REPL.new_app("my_genie")
[2018-09-13 14:38:46|info]: Done! New app created at C:\Users\Wall-E\AppData\Local\Julia-1.0.0\my_genie
[2018-09-13 14:38:47|info]: Changing active directory to my_genie
[2018-09-13 14:38:48|info]: Installing app dependencies
  Updating registry at `C:\Users\Wall-E\.julia\registries\General`
  Updating git-repo `https://github.com/JuliaRegistries/General.git`
[2018-09-13 14:38:56|info]: Starting your brand new Genie app - hang tight!
 _____         _
|   __|___ ___|_|___
|  |  | -_|   | | -_|
|_____|___|_|_|_|___|

Starting Genie in >> DEV << mode

ERROR: LoadError: Base.Meta.ParseError("invalid escape sequence")
Stacktrace:
 [1] #parse#1(::Bool, ::Bool, ::Bool, ::Function, ::String, ::Int64) at .\meta.jl:129
 [2] #parse at .\none:0 [inlined]
 [3] #parse#4(::Bool, ::Bool, ::Function, ::String) at .\meta.jl:164
 [4] parse(::String) at .\meta.jl:164
 [5] top-level scope at none:0
 [6] include at .\boot.jl:317 [inlined]
 [7] include_relative(::Module, ::String) at .\loading.jl:1038
 [8] include(::Module, ::String) at .\sysimg.jl:29
 [9] include(::String) at .\client.jl:388
 [10] top-level scope at none:0
 [11] eval(::Module, ::Any) at .\boot.jl:319
 [12] #load_app#4(::Bool, ::Function, ::String) at C:\Users\Wall-E\.julia\packages\Genie\v85ZV\src\REPL.jl:75
 [13] #load_app at .\none:0 [inlined]
 [14] #new_app#1(::Bool, ::Bool, ::Bool, ::Function, ::String) at C:\Users\Wall-E\.julia\packages\Genie\v85ZV\src\REPL.jl:47
 [15] new_app(::String) at C:\Users\Wall-E\.julia\packages\Genie\v85ZV\src\REPL.jl:25
 [16] top-level scope at none:0
in expression starting at C:\Users\Wall-E\AppData\Local\Julia-1.0.0\my_genie\genie.jl:40

julia>

@showsaitoh That's odd... Are you on the latest #master? Can you try a pkg> up?

I tried
pkg> up Genie and pkg> up SearchLight but I got same errors :disappointed_relieved:
And I tried install Julia & Genie to WSL ! Then I succeeded launch Genie :satisfied:
I don't know why Genie isn't working on Windows main system,
but my Ubuntu sub system on Windows went fine!
Thank you for your kindly support anyway !!
I hope to Genie grew up to serious full-stacky web framework like a Django !

@showsaitoh You're welcome
I actually figured it out -- it's a problem on Windows only. I'm fixing it now.

@showsaitoh If you update to the latest #master it will work on Windows as well.

Finally working on Windows! thanks a lot :satisfied:

Excellent, great to hear it!


Upgrade to bevy 0.14

Based on the bevy migration guide I updated this plugin to support bevy 0.14.1. All the changes were relatively straightforward.
I also bumped the version and expanded the README.

@edlundNWP
Thank you for your upgrading bevy!
I would like to request just one correction.
Could you please run cargo fmt --all to format it correctly?


$HOME is somehow required

When using npm programmatically, it seems to require ~/.npm/ even after using .load({root:X}).  Had to resort to setting process.env.HOME before require('npm').

It uses $HOME for the cache, and on windows, for the temp folder.
You can set these things programmatically.  "root" isn't used for anything.
Please see npm help config

Ahh it was "cache" not "root" (was seeing npm.config.get("root") in the code), my bad, thanks!
On Nov 22, 2011, at 4:16 PM, Isaac Z. Schlueter wrote:

It uses $HOME for the cache, and on windows, for the temp folder.
You can set these things programmatically.  "root" isn't used for anything.
Please see npm help config

Reply to this email directly or view it on GitHub:
https://github.com/isaacs/npm/issues/1755#issuecomment-2841678


Provide abstraction for generic default root dir

Requested feature
TL;DR: I am looking to improve this:

Most of the time, this is a .git folder, but each server defines the root config in the lua file.

This is a good 80% solution.  In the current SCM monoculture, it may even be a 95% solution.  But it has several limitations:

It assumes you're using Git as your SCM.
It assumes you're using an SCM at all.
It assumes the workspace root is the same as the repository root.

The problem is that if you bump into one of these situations, you're screwed.  Since the .git detection is inside each LSP config, you need to assess each LSP you use on a case-by-case basis, and more often than not will need to yank out its internal root_dir and manually tweak it.
My proposed solution would be something like the following:

Add a new Boolean config key which specifies whether a generic fallback is desired.
Alter launch() to respect this config key and call find_git_ancestor() if no other root was found.  This could later be tweaked (e.g., to add a non-SCM based default) or made configurable by some mechanism.
Change all existing adapters using either find_git_ancestor() or root_pattern(..., '.git') to instead set this Boolean key.

The bulk of the work is in that last step, but that's easy enough to divide and conquer, and it can be done incrementally.  As for the first part, I could certainly take a stab at it if there's interest.  I imagine someone more familiar with the project than I could make quick work of it.
Other clients which have this feature
No response

The problem is that if you bump into one of these situations, you're screwed. Since the .git detection is inside each LSP config, you need to assess each LSP you use on a case-by-case basis, and more often than not will need to yank out its internal root_dir and manually tweak it.

That's true, you can compose root directory functions with the original default, but it's a bit verbose:
require('lspconfig').pyright.setup {
root_dir = function(fname)
    return require('lspconfig.server_configurations.pyright').default_config.root_dir(fname) or my_fallback_func(fname)
end
}

My proposed solution would be something like the following:

* Add a new Boolean config key which specifies whether a generic fallback is desired.
* Alter launch() to respect this config key and call find_git_ancestor() if no other root was found. This could later be tweaked (e.g., to add a non-SCM based default) or made configurable by some mechanism.
* Change all existing adapters using either find_git_ancestor() or root_pattern(..., '.git') to instead set this Boolean key.

Alternatively, we could add a generic fallback function that we manually add to the default configuration root directory in place of what is usually find_git_ancestors, which would be user overridable. That way, if users want to override the generic fallback behavior, they can, and if they want to override it for a specific server, they just override that servers root pattern as usual.
I'm happy to make the change when we decide on the implementation, I'm open to your solution but I just want to brainstorm the alternatives first, as I try to keep the number of configurations we have as small as possible.

The problem is that if you bump into one of these situations, you're screwed. Since the .git detection is inside each LSP config, you need to assess each LSP you use on a case-by-case basis, and more often than not will need to yank out its internal root_dir and manually tweak it.

That's true, you can compose root directory functions with the original default, but it's a bit verbose:
require('lspconfig').pyright.setup {
root_dir = function(fname)
    return require('lspconfig.server_configurations.pyright').default_config.root_dir(fname) or my_fallback_func(fname)
end
}

Covers the most common cases, but isn't a 100% solution for things like "I don't want .git detection ever because it always latches onto a submodule root rather than the real project root".

Alternatively, we could add a generic fallback function that we manually add to the default configuration root directory in place of what is usually find_git_ancestors, which would be user overridable. That way, if users want to override the generic fallback behavior, they can, and if they want to override it for a specific server, they just override that servers root pattern as usual.
I'm happy to make the change when we decide on the implementation, I'm open to your solution but I just want to brainstorm the alternatives first, as I try to keep the number of configurations we have as small as possible.

My tastes lean declarative. In fact I almost took it a bit further and proposed root_markers = {'package.json', 'jsconfig.json'} which would be a big win for composability, but that's a bigger change. And on those grounds, I think yours wins because it's the smallest of all. We can shelve my idea for now and bring it back if that extra level of abstraction ends up being desirable.

Covers the most common cases, but isn't a 100% solution for things like "I don't want .git detection ever because it always latches onto a submodule root rather than the real project root".

 For rust we end up having to shell out to cargo to get it to return the correct root.

My tastes lean declarative. In fact I almost took it a bit further and proposed root_markers = {'package.json', 'jsconfig.json'} which would be a big win for composability, but that's a bigger change. And on those grounds, I think yours wins because it's the smallest of all.

I definitely agree when we've converged to an option that is common/requested, the functional apis accommodate a wide variety of user preferences. I think the issue historically with root directories there are some issues where the fallback needs to have additional logic for submodules/such that have made that difficult, but I'm happy to implement your suggestion and see which fits best.
Also, if you ever want to chat about any of these design things more synchronously we have less high volume matrix rooms like https://matrix.to/#/#neovim-dev:matrix.org, really glad to be getting feedback from an expert :)

I definitely agree when we've converged to an option that is common/requested, the functional apis accommodate a wide variety of user preferences. I think the issue historically with root directories there are some issues where the fallback needs to have additional logic for submodules/such that have made that difficult, but I'm happy to implement your suggestion and see which fits best.

Oh I have no doubt you'll always need a Turing-complete configuration option as an escape hatch. There would still be benefits to saving it for the exceptions rather than the norm. Heck, you could probably use it to generate that docs.default_config.root_dir declaration rather than repeating yourself; that alone would make it worth it.
But all of this is an aside. To reiterate, I think your proposed "generic fallback function" is a safe step in the right direction and wholeheartedly endorse it.

Also, if you ever want to chat about any of these design things more synchronously we have less high volume matrix rooms like https://matrix.to/#/#neovim-dev:matrix.org, really glad to be getting feedback from an expert :)

May take you up on that, thanks.

But all of this is an aside. To reiterate, I think your proposed "generic fallback function" is a safe step in the right direction and wholeheartedly endorse it.

Ok! Sounds good, we will start with that. I haven't had as much neovim time lately but I should be able to implement it this week.

Heck, you could probably use it to generate that docs.default_config.root_dir declaration rather than repeating yourself; that alone would make it worth it.

Hah, it's funny you say that because I did have a solution that used the lua debug module to pull the text and insert that in docgen. I want to revisit out docs pipeline at some point.

See https://github.com/neovim/neovim/pull/31031 for progress related to this.


Add a !mypy command

Proposal to add a !mypy command
Works like !eval or !timeit but instead of running the file, run a mypy type check on the file using snekbox and return the stdout results.
Discussions on mypy results and inferrable types are pretty common, and usually means copying the output of mypy to paste with code in a discussion, having a command would encourage reproducible examples (like eval does)
Depends on

https://github.com/python-discord/snekbox/pull/159
https://github.com/python-discord/bot/pull/2326
Add mypy to our snekbox deployment venv

Related: #1880

Related: #1880

Hm, do you think we should just give a way for users to specify a -m? That would allow stuff like mypy and flake8 without adding new commands. It would just need for those modules to be added to snekbox.
!e -m mypy
# code to check with mypy

!e -m flake8
# code to check with mypy

we can continue to default the first block as main.py and append main.py to the end of the arguments

Dedicated commands would make it easier to add special casing to commands, which we may need (e.g. to provide default settings, maybe allow users to change settings, and maybe for formatting the output).
Commands are more "standard" so e.g. they would work with the !help command by default.

Closing as a duplicate of https://github.com/python-discord/bot/issues/1880, since it's still not approved I think it makes sense to keep discussion in once place.


DJV 1.3 - ZOOM/MAGNIFY beyond 32x blurred with "Nearest"

DO:

PREFERENCES > OpenGL > SCALE UP = NEAREST
open any image
zoom from 32x to 64x

HAPPEN

pixels get blurred

SHOULD:

not blur

NOTES:

reproducible on 2 different Linux machines
this might be an OpenGL bug
I doubt a zoom factor of more than 32x is required in real life

Compare to Bug https://github.com/darbyjohnston/DJV/issues/10


Reduce the CUDA target launch overhead by JIT compiling the launch code

Currently the CUDA target prepares for launch and is launched entirely from Python code. This should be replaced by CPU JIT code such that the launches are free of python, this reducing the launch overhead. Further, it is a large step in the direction of making it possible to launch CUDA kernels from CPU JIT regions.
For simplicity, depends on https://github.com/numba/numba/issues/7741

Path finding patch is here: https://github.com/numba/numba/pull/7860


point thecannon.io to The Cannon documentation

If you log in to Gandi, you should see that you are the admin for thecannon.io.  Do your magic.

Done


training warning

Epoch 3/25:   0%|          | 0/204 [00:00<?, ?it/s<class 'dict'>]D:\Model\efficientDet\04\efficientdet-pytorch\Utils\dataloader.py:130: VisibleDeprecationWarning: Creating an ndarray from ragged nested sequences (which is a list-or-tuple of lists-or-tuples-or ndarrays with different lengths or shapes) is deprecated. If you meant to do this, you must specify 'dtype=object' when creating the ndarray
bboxes = np.array(bboxes)
D:\Model\efficientDet\04\efficientdet-pytorch\Utils\dataloader.py:130: VisibleDeprecationWarning: Creating an ndarray from ragged nested sequences (which is a list-or-tuple of lists-or-tuples-or ndarrays with different lengths or shapes) is deprecated. If you meant to do this, you must specify 'dtype=object' when creating the ndarray
bboxes = np.array(bboxes)

你可以np.array(bboxes, dtype=object) 或者去了这行


Time synchronization instructions per cloud provider

See https://github.com/cockroachdb/cockroach/issues/13808#issuecomment-286390103, which focuses on Azure.

From chat with client:
Quote from Jepsen:

Like Spanner, Cockroach's correctness depends on the strength of its clocks. If any node drifts beyond the clock-offset threshold (by default, 250 ms), all guarantees are basically out the window.

What exactly does all guarantees are out the window mean in practice?
Raphael 'kena' Poss:

The default has been bumped to 500ms, btw, and the nodes will spontaneously abort when they detect a drift half of the configured value. The guarantees here are that of serializable consistency. You can then get stale reads and write skews

Spencer Kimball:

The guarantee you lose is that you may fail to read a value that was written before the read started.

Ben Darnell:

there's an issue filed for clockless mode (https://github.com/cockroachdb/cockroach/issues/14093), but no plans to implement it at this point. the cost would be that reads can no longer be served from a single node, you'd have to talk to a quorum for every read

Spencer Kimball:

But as @knz says, it's very difficult to experience that issue in practice as we are constantly measuring clock offsets and have a more than generous default max offset. You would need to have a node's clock jump suddenly by more than 500ms, and even then, you would be facing only 3s window of vulnerability. NTP should keep your clock offsets within 10s of milliseconds.

The issue addressed by #13808 is supposed to be fixed soon, making that workaround no longer needed.

Give that the Azure workaround is no longer needed, closing this issue in favor of #960.


remove references to confirmation_token in the model

The confirmation_token model attribute is no longer needed now that we use generates_token_for :email_verification.
An addition test is also added to ensure the User model can be successfully created.

Nice catch. I was reading that the other day and thought something was off.

I installed it in a side project last night and found out the hard way 😁


chunkById misbuilds query between where/orWhere

Laravel Version: 5.8.32
PHP Version: 7.3.8
Database Driver & Version: MariaDB 10.2.23

Description / Repro Steps:

Build a query that leverages where/orWhere

        User::query()
            ->where(function (Builder $query) {
                // basic where
            })
            ->orWhere(function (Builder $query) {
                // basic where
            })
            ->chunkById(50, function (Collection $users) {
                // logic
            });

This generates
SELECT * FROM … WHERE a OR b AND id > X

Which when grouped becomes
SELECT * FROM … WHERE a OR (b AND id > X)

While I think it should be
SELECT * FROM … WHERE (a OR b) AND id > X

This led to a situation where our queue system ran out of bounds and just queued millions of millions of jobs until redis died out.
Workaround
        User::query()
            ->where(function (Builder $query) {
                $query->where(function (Builder $query) {
                    // basic where
                })
                ->orWhere(function (Builder $query) {
                    // basic where
                });
            })
            ->chunkById(50, function (Collection $users) {
                    // logic
            });

We basically just shove the logic into a where closure to force the grouping. I think this is a bug or at least unexpected behavior.

I agree that Laravel should support this kind of query.

Closing this since the proposed PR was rejected. This will probably be a no-fix.

@driesvints I think it may be fixed. The mentioned PR was changing code in some other functions forPageBeforeId and forPageAfterId. But maybe a PR that fixes inside chunkById would be fine, as already suggested by @rgehan ?

@halaei you can always attempt a new pr. But I'm keeping the issue as a no-fix because Taylor rejected the first attempt and gave his reasons why.

@driesvints I consider that a straw man. Does that mean that if I start submitting half baked PRs, claiming to fix real issues, that are being rejected that all those issues will be marked “Wont Fix, because the first attempt was rejected”? That does not seem to be right.
The argumentation given by Taylor in #29721 might be valid for forPage(Before|After)Id, because other query builder methods can be chained. But you cannot chain anything after chunkById, because it calls get internally:
https://github.com/laravel/framework/blob/438b78d20e888eaa8217144a330aca7850f51912/src/Illuminate/Database/Concerns/BuildsQueries.php#L92
The fact that it uses forPage(Before|After)Id is an implementation detail that the API user should not need to know. I can't comment on whether #29721 is technically sound, but if changing forPage(Before|After)Id is the easiest way to fix this issue then it is a net-positive, even if forPage(Before|After)Id still misbuilds queries when not using chunkById.
I propose re-opening this issue. It's definitely non-intuitive and potentionally leads to infinite loops if you don't make sure to examine the generated queries. I am specifically using a query builder, because I don't want to do raw SQL.

About the infinite loop, it wasted a couple of hours of mine 🥴

def. needs a fix.

This issues saved me hours of debugging what the hell is happening with chunkById 🙃

Same probleme there


feat: initial version

This pull requests creates the initial version of the suggest-changes GitHub Action.

Do you want to add the auto-release setup with semantic-release?

@gr2m Yes, I just hadn't gotten around to it quite yet. 🙂

Note to self: only diff files that were changed in the pull request.


Feature Request: Let admins authenticate users without password

I am playing around with passkey based login, and got it to work, the only problem is, when I successfully authenticated
the user with their passkey, I have no way to let pocketbase know that.
Until #406 is implemented, I want to propose a way for the backend to authenticate a user without their intervention.
Something along the lines of pb.collection('users').authManual(userID). This could be set to only be accessible by admins, so the backend could authenticate as an admin and log in a user after they successfully presented a passkey.

Option for admins to generate auth user tokens by user id eventually will be handled in https://github.com/pocketbase/pocketbase/issues/718.
As a workaround for now, you can register a custom Go route and use the tokens.NewRecordAuthToken() to return a record token by the record id (see also Fetch single record).


Keep alive property is typed as undefined in RedisOptions

RedisOptions has the keepAlive property from CommonRedisOptions and from TcpSocketConnectOpts
The only overlapping type is undefined here so this can not be set on the config.

Hey @wildewouter 👋
I don't see keepAlive is defined in TcpSocketConnectOpts or maybe I missed something?


Windows release build failure (due to the linux only posix sigaction api usage) fix

Make soak-test signal handling portable to windows. sigaction is linux API only, but signal works both at linux and windows. Replaced it with simple signal api which also exists at linux.
This caused the windows release build to fail.

Linux test PASSed.

Windows test PASSed.

Linux test PASSed.

Windows test PASSed.


Download is broken (for at least one experiment)

I get a 500 error for: /admin/surveys/3.csv on our server

Can't duplicate this error locally, looking on our server. It's breaking even before it gets to the JSON parser newline error.
I, [2020-03-02T16:47:57.365676 #1612]  INFO -- : [1b9b023c-881a-4113-8bf8-d395b857f7a7]   Rendered admin/surveys/show.csv.erb (14.7ms)
ActionView::Template::Error (PG::SyntaxError: ERROR:  zero-length delimited identifier at or near """"
LINE 1: ...ssages"."survey_id" = $1 ORDER BY "text_messages"."" ASC LIM...
                                                             ^
: SELECT  "text_messages".* FROM "text_messages" WHERE "text_messages"."survey_id" = $1 ORDER BY "text_messages"."" ASC LIMIT $2):

The code in admin/surveys/show.csv.erb looks non-offending:
<%= CSV.generate_line ['survey', 'participant_key', 'from', 'to', 'direction', 'time', 'message'] -%>
<%- @survey.text_messages.order('created_at').find_each do |m| -%>
<%=<EMAIL_ADDRESS>m.participant_external_key, m.from_number.humanize, m.to_number.humanize, m.direction, m.delivered_at_in_zone, m.message]).html_safe -%>
<%- end -%>

I dunno what about the @survey.text_messages.order call could be making it generate ORDER BY "text_messages".""
Interestingly, if I go into a console and do
s = Survey.find(3)
s.text_messages.order('created_at')

I get a bunch of stuff. But,
s.text_messages.order('created_at').find_each { |m| p m }
Scoped order is ignored, it's forced to be batch order.
Traceback (most recent call last):
        1: from (irb):2
ActiveRecord::StatementInvalid (PG::SyntaxError: ERROR:  zero-length delimited identifier at or near """")
LINE 1: ...ssages"."survey_id" = $1 ORDER BY "text_messages"."" ASC LIM...
                                                             ^
: SELECT  "text_messages".* FROM "text_messages" WHERE "text_messages"."survey_id" = $1 ORDER BY "text_messages"."" ASC LIMIT $2

Ugh, rails paging magic or something? I suspect this breaks on any survey it has to page, and none of my testing/local surveys have enough data for that.

The issue here is that there's an unescaped \n for one of the text messages, and so when Rails tries to deseralize the json it barfs.

I could just set server_response to {} for all the records


Add Create Azure Container Registry command

Part of #425.

Don't want to use Docker's existing create ACR command?

The main reason we don't want to use Docker for this is because the code-to-cloud scenario should be enabled in VS Code for the Web which we wouldn't be able to support if we use the Docker extension.

That's a very good reason. :smile:


Trace logging

Hi,
Would you be willing to accept a PR for trace logging HTTP requests and responses?
I was thinking something along the lines of an optional constructor parameter for an (untyped) logger so that a Grails log object/slf4j Logger could be passed in (but without adding extra project dependencies).
Happy to supply this if you're interested.
Thanks,
Tom

+1 for the ability to enable logging. At the moment I monkey-patched logging into wslite with groovy meta programming.

+1


RFC: Threading Haskell functions into the AST

RFC to enable threading of haskell functions into the Kriti AST.
rendered

First off: it's probably worth mentioning @paf31's dovetail project as a source of prior art.
It's obviously much more complex than what we need [^1], but dovetail is very well documented and there seems to be at least some correspondence with what you've outlined in this RFC.
[^1]: i.e. grafting some Haskell functions into a closed templating language like kriti versus an extant programming language like PureScript


362 Use FullName of class instead of HachCode in CacheKey

Motivation
#362
Checklist

[ ] Code follows coding conventions held in this repo
[ ] Automated tests have been added
[ ] Tests are passing
[ ] Docs have been updated (if applicable)
[ ] Temporary settings (e.g. variables used during development and testing) have been reverted to defaults

How to test
If manual testing is required, what are the steps?

Approved by Vit Svoboda


flexget: override jsonschema

Motivation for this change
Fix build (https://hydra.nixos.org/build/167066653)
Things done

Built on platform(s)

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

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

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

What is the status on this? Currently blocking the deployment of my server.
The current patch works fine (just tested it!), I am unsure if we should go the way that @marsam points out, as it seems like a cleaner solution :)

Result of nixpkgs-review pr 160003 run on x86_64-linux 1

1 package built:

flexget

Build, pushed, deployed and tested works fine! :)


Package overhaul/clean up of go-talib

PR Description
This is a first round pass at a general clean up of the go-talib package for use within GCT
This splits different indicators into seperate files (under the same package) to make them easier to maintain and group
Also enableds go module support and github actions for CI testing
Type of change

[x] Breaking change (fix or feature that would cause existing functionality to not work as expected)

How has this been tested
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration and
also consider improving test coverage whilst working on a certain feature or package.

[x] go test ./... -race
[x] golangci-lint run

Checklist

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

noticed some inconsistencies with data sets after i expended to include larger / real data have flagged this as reconstructing while i do further testing today

Looks like Obv values are still off (Thanks @gloriousCode for testing !)  i have gone ahead and added reconstructing while i investigate again but feel free to review other indicators if you wish

Grouping doesn't support adding up the volume - did you notice?

n/a moved to github.com/thrasher-corp/gct-ta


Add 'cannot run on windows' to FPGA tools tutorials

Existing Sample Changes
Description
This change adds a warning to two code samples that do not support running on Windows, and prevents CMake from running any further. This is to make sure users who didn't notice the code sample doesn't support windows will not accidentally try running it only to hit issues further in.
Fixes Issue#
External Dependencies
N/A
Type of change
Please delete options that are not relevant. Add a 'X' to the one that is applicable.

[X] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Implement fixes for ONSAM Jiras

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

[X] Command Line
[ ] oneapi-cli
[ ] Visual Studio
[ ] Eclipse IDE
[ ] VSCode
[ ] When compiling the compliler flag "-Wall -Wformat-security -Werror=format-security" was used

Approving to trigger CI

Oops, I forgot CI won't run on a PR to a fork


Pivot with a custom name is not taken into account

Larastan Version: 1.7.13
--level used: 8
Pull request with failing test: https://github.com/pacoorozco/gamify-laravel/pull/268

Description
 ------ --------------------------------------------------------------------
  Line   app/Models/User.php
 ------ --------------------------------------------------------------------
  285    Access to an undefined property Gamify\Models\Question::$response.
 ------ --------------------------------------------------------------------

Laravel code where the issue was found
283: public function getResponseForQuestion(Question $question): ?UserResponse
284:    {
285:        return $this->answeredQuestions()
286:            ->where('question_id', $question->id)
287:            ->first()
288:            ?->response;
289:    }
290:
291: public function answeredQuestions(): BelongsToMany
292:     {
293:        return $this->belongsToMany(
294:            Question::class,
295:            'users_questions',
296:            'user_id',
297:            'question_id'
298:        )
299:            ->as('response')
300:            ->withPivot('points', 'answers')
301:            ->using(UserResponse::class);
302:    }

I support a project where this can be seen also: as() method is not recognized.

And have you found any way to fix it? Or Should I ignore these messages?

I would love to see this resolved!


Fix CI

Fixes #450

@fzyzcjy could you rerun failing ci

Sure.
By the way, you can always make a dummy commit (e.g. change a line and then change back) to trigger ci

On macOS there are seems to be an cargo error but there is no real error provided or it least I cannot read it. And those xcode and pods things are out of my knowledge.

for ios test the fix seems trivial given the error message:
               [+5764 ms] lib/main.dart:50:20: Error: 'Size' is imported from both 'dart:ffi' and 'dart:ui'.
               [   +3 ms]         imageSize: Size(width: 50, height: 50), zoomPoint: examplePoint, scale: generateScale(), numThreads: 4);
               [        ]                    ^^^^
               [   +4 ms] Target kernel_snapshot failed: Exception

I will check macos later.

In CI we have checks to make sure that with_flutter and pure_dart folders have line length of 120 other files are standard 80. Changes in justfile now reflect that.

I will check macos later.

Apparently all is OK now.

Great work!


How to change matching pattern

Hi,
I am trying to change the matching pattern and I don't know how.
Right now if i have an array like this ['as11s', 'sa231e'] and i type a in the search box both strings appear as results, but i want just the one starting with 'a' to show.
Is there a way to change the matching pattern?
Thanks

you can create a custom data provider

Thanks

How can i use this custom data provider  with my auto complete field.

Yes, like this Issue: https://github.com/oferh/ng2-completer/issues/308
I tried to extend my component with  extends CompleterBaseData, but then I get:
Cannot find module "ng2-completer/src/services/completer-base-data"

The example implementation is inside native-cmp.ts


Sensitivity to input changes status

This issue is to keep track of the issue reported here: https://github.com/SymbiFlow/symbiflow-arch-defs/issues/1776.
Problem statement
The auto-generated designs, such as litex, present some small variations in the memory initialization of the BRAMs. This causes a small perturbation in the initial conditions of a test, which lead to major changes in the output results.
This problem might not be only related to the BRAM initialization, but to any small changes that are applied to a specific design, but for the sake of this issue description, we will keep the small BRAM initialization changes as the triggering factor for this issue.
There are several levels that affect the final output results.
Synthesis
The mem.init changes make yosys produce two completely different output eblifs. There are some tests that need to be performed in order to asses whether the two different eblifs represent the same circuit, and it is just a matter of ordering.

run post_synthesis simulations
apply sorting to the output blifs

The expected output of the synthesis step would be to have only a small number of lines affected, relative to the BRAM initializations.
Packer
The perturbation in the nets ordering of the circuit might affect the way the packer acts. For instance, two different runs of the same test produced the following packing results:
Test 1:
Resource usage...

        Netlist
                1114    blocks of type: BLK-TL-SLICEL
        Architecture
                2150    blocks of type: BLK-TL-CLBLL_L
                1200    blocks of type: BLK-TL-CLBLL_R
                1800    blocks of type: BLK-TL-CLBLM_L
                3000    blocks of type: BLK-TL-CLBLM_R

The two Verilog descriptions of the design are identical, except for the memory initialization.
A possible solution to this behaviour is to make the packer algorithms more robust to changes in the ordering of the input circuit, making it less sensitive to changes in input conditions.
Placer
Initial placement is currently very sensitive to the seed. In fact, changing the seed can generate very different outcomes, in terms of CPD as well as router run-time.
This is proven by the following test, which, taken two initially equal packed netlists and two different SEEDs, the router behaviour drastically changed:
default seed:
## Initializing router criticalities took 0.03 seconds (max_rss 3353.3 MiB, delta_rss +0.0 MiB)
---- ------ ------- ---- ------- ------- ------- ----------------- --------------- -------- ---------- ---------- ---------- ---------- --------
Iter   Time    pres  BBs    Heap  Re-Rtd  Re-Rtd Overused RR Nodes      Wirelength      CPD       sTNS       sWNS       hTNS       hWNS Est Succ
      (sec)     fac Updt    push    Nets   Conns                                       (ns)       (ns)       (ns)       (ns)       (ns)     Iter
---- ------ ------- ---- ------- ------- ------- ----------------- --------------- -------- ---------- ---------- ---------- ---------- --------
Warning 108: 6 timing startpoints were not constrained during timing analysis
Warning 109: 1521 timing endpoints were not constrained during timing analysis
   1   17.0     0.0    0 2.2e+08    7670   25926   12853 ( 0.439%)  332480 ( 5.2%)   18.939     -70.37     -2.273      0.000      0.000      N/A
   2    5.0     2.8    2 4.9e+07    5694   18419    6520 ( 0.223%)  363815 ( 5.7%)   18.424     -52.74     -1.758      0.000      0.000      N/A
   3    4.1     3.4    4 3.7e+07    4113   13278    4585 ( 0.157%)  382077 ( 5.9%)   18.440     -63.06     -1.774      0.000      0.000      N/A
   4    3.6     4.1    4 3.2e+07    3018   10305    2985 ( 0.102%)  396871 ( 6.2%)   18.349     -49.51     -1.683      0.000      0.000      N/A
   5    3.3     4.9    9 2.8e+07    2131    7832    1730 ( 0.059%)  410556 ( 6.4%)   18.377     -53.28     -1.711      0.000      0.000      N/A
   6    3.1     5.9    4 2.4e+07    1396    5555     947 ( 0.032%)  421353 ( 6.6%)   18.409     -52.52     -1.743      0.000      0.000      N/A
   7    1.9     7.0    6 1.5e+07     819    3461     437 ( 0.015%)  428970 ( 6.7%)   18.409     -54.91     -1.743      0.000      0.000      N/A
   8    1.6     8.4    5 1.1e+07     437    1848     190 ( 0.006%)  433440 ( 6.7%)   18.406     -58.14     -1.740      0.000      0.000      N/A
   9    0.5    10.1    8 3655223     202     735      65 ( 0.002%)  435479 ( 6.8%)   18.389     -57.54     -1.723      0.000      0.000      N/A
  10    0.8    12.2    3 4537900      76     281      19 ( 0.001%)  436226 ( 6.8%)   18.389     -58.77     -1.723      0.000      0.000       14
  11    0.1    14.6    0  577913      23      78       4 ( 0.000%)  436748 ( 6.8%)   18.389     -59.10     -1.723      0.000      0.000       13
  12    0.0    17.5    0  154050       5      11       1 ( 0.000%)  436723 ( 6.8%)   18.389     -59.10     -1.723      0.000      0.000       13
  13    0.0    21.0    0   19600       1       5       0 ( 0.000%)  436780 ( 6.8%)   18.389     -59.85     -1.723      0.000      0.000       12

custom seed (1000):
## Initializing router criticalities took 0.03 seconds (max_rss 3353.0 MiB, delta_rss +0.0 MiB)
---- ------ ------- ---- ------- ------- ------- ----------------- --------------- -------- ---------- ---------- ---------- ---------- --------
Iter   Time    pres  BBs    Heap  Re-Rtd  Re-Rtd Overused RR Nodes      Wirelength      CPD       sTNS       sWNS       hTNS       hWNS Est Succ
      (sec)     fac Updt    push    Nets   Conns                                       (ns)       (ns)       (ns)       (ns)       (ns)     Iter
---- ------ ------- ---- ------- ------- ------- ----------------- --------------- -------- ---------- ---------- ---------- ---------- --------
Warning 108: 6 timing startpoints were not constrained during timing analysis
Warning 109: 1521 timing endpoints were not constrained during timing analysis
   1   19.2     0.0    0 2.3e+08    7670   25926   13086 ( 0.447%)  340954 ( 5.3%)   19.869     -132.1     -3.203      0.000      0.000      N/A
   2    5.3     2.8    4 4.5e+07    5679   18278    6717 ( 0.229%)  371999 ( 5.8%)   19.854     -130.3     -3.188      0.000      0.000      N/A
   3    4.3     3.4    7 3.4e+07    4149   13441    4758 ( 0.162%)  391802 ( 6.1%)   19.774     -138.9     -3.108      0.000      0.000      N/A
   4    4.1     4.1    4 3.2e+07    3005   10744    3210 ( 0.110%)  407592 ( 6.3%)   19.761     -137.1     -3.095      0.000      0.000      N/A
   5    3.8     4.9    2 2.8e+07    2148    8274    1896 ( 0.065%)  423111 ( 6.6%)   19.839     -143.1     -3.173      0.000      0.000      N/A
   6    2.7     5.9    7 2.0e+07    1420    5994    1071 ( 0.037%)  432306 ( 6.7%)   19.858     -154.0     -3.192      0.000      0.000      N/A
   7    1.8     7.0   11 1.3e+07     890    3846     509 ( 0.017%)  440328 ( 6.9%)   19.879     -157.9     -3.213      0.000      0.000      N/A
   8    1.2     8.4    8 8812194     450    1885     224 ( 0.008%)  445947 ( 6.9%)   19.923     -163.2     -3.257      0.000      0.000      N/A
   9    1.0    10.1    4 6420327     212     870      78 ( 0.003%)  448470 ( 7.0%)   19.911     -162.1     -3.245      0.000      0.000      N/A
  10    0.3    12.2    4 2119048      82     279      31 ( 0.001%)  449305 ( 7.0%)   19.897     -161.4     -3.231      0.000      0.000       15
  11    0.2    14.6    2 1247043      40     131      12 ( 0.000%)  449878 ( 7.0%)   19.911     -163.3     -3.245      0.000      0.000       14
  12    0.1    17.5    1  798032      17      39       6 ( 0.000%)  450097 ( 7.0%)   19.911     -163.3     -3.245      0.000      0.000       14
  13    0.2    21.0    1  962631      11      23       4 ( 0.000%)  450117 ( 7.0%)   19.911     -163.3     -3.245      0.000      0.000       14
  14    0.2    25.2    0  744835       5       5       2 ( 0.000%)  450255 ( 7.0%)   19.911     -163.3     -3.245      0.000      0.000       14
  15    0.0    30.3    0  104536       2       4       0 ( 0.000%)  450311 ( 7.0%)   19.911     -163.3     -3.245      0.000      0.000       15

On a separate test, I have verified and confirmed that having exact same input conditions (seed, packed netlist, etc)  produces the same outputs.
Steps to reproduce

Get the latest version of symbiflow-arch-defs (https://github.com/SymbiFlow/symbiflow-arch-defs/commit/991c74f0e1d579f143878b22d72ab65235f3c18c at the moment of writing)
Run one of the litex tests as follows:

cd symbiflow-arch-defs
make env
cd build
make minilitex_arty_bit

Save all the run results somewhere
Go to the minilitex_arty build directory and delete the arty_soc directory.

cd build/xc/xc7/tests/soc/litex/mini && rm -r arty_soc

Re-run the minilitex test, which will trigger a new litex-design generation:

make minilitex_arty_bit

Compare the newly generated results with the ones saved from the previous run.

To temporary work-around the litex differences between different builds, a patch might be applied to litex, as this line in the bios source code produce the small changes in the mem init file:

To temporary work-around the litex differences between different builds, a patch might be applied to litex, as this line in the bios source code produce the small changes in the mem init file:

Could we propose a patch to #ifdef out that line so we get reproducible builds?  They have other #define's for adding and removing stuff from the BIOS header.

@litghost Sure, opened PR here: https://github.com/enjoy-digital/litex/pull/702

@acomodi Can we split this bug into two seperate things?

[ ] (a) Synthesis issue -- Why does a small change in BRAM contents cause anything other than a small change in the output eblif's BRAM init?
[ ] (b) Packing issue -- Why do two eblifs which should have almost identical content end up at very different packing results?

It could turn out that due to (a) the assumption that in (b) the two eblifs are actually "almost identical" is incorrect.


Updated config file when repository settings change

This is reference to issue #8.
Added Functionality :
1.) Whenever Github UI changes are made for settings like

Name of repo
Topics
description
homepage
or any
other settings provided by probot/settings bot

then when code is pushed into repository and if any file is changed except .github/setting.yml (master branch) it will update config file of master branch.
Also added some modification in test file.
2.) Add status to commit if invalid settings.yml file

yes still relevant.

Yes relevant


Do not group hostNetwork Pods in ClusterGroup/AddressGroup

Fixes #3078
Signed-off-by: Yang Ding<EMAIL_ADDRESS>

Codecov Report

Merging #3080 (4ad2c0a) into main (b7da020) will decrease coverage by 7.90%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main    #3080      +/-   ##
==========================================
- Coverage   59.79%   51.89%   -7.91%
==========================================
  Files         292      292
  Lines       24732    24732
==========================================
- Hits        14788    12834    -1954
- Misses       8317    10432    +2115
+ Partials     1627     1466     -161

Flag
Coverage Δ

kind-e2e-tests
31.27% <0.00%> (-15.56%)
:arrow_down:

unit-tests
40.12% <100.00%> (-0.03%)
:arrow_down:

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


Orisa Rate of fire and projectile speed

In GitLab by @vivientes on Nov 27, 2023, 15:10
according to the OW Wiki from the wayback machine in september of 2022 She did 12 RPS. and on the overwatch 2 wiki she shoots at 10 RPS Also in overwatch 1 her projectiles traveled at 120 m/s instead of OW2s 100 m/s

We can't increase fire rate unfortunately, but projectile speed can be fixed.
Thanks for bug report!

In GitLab by @vivientes on Nov 27, 2023, 15:13
i forgot to seperate the issues but it is all with orisas primary fire so i guess it could also count as 1 issue

mentioned in commit e1460324f7fc9e0ac027033bfbedf2dae9609d64


standardize textures to 16 pixel images

standardize textures to 16 pixel images
delete unused textures
added workbench_bottom texture

Please ignore the "complete overhaul" hooplah
that was not supposed to be part of this pull request.
I added that later to my copy...I didnt know it would be included here.

Can you remove it? If not I can once I pull. I still have to review all your changes, but in principle they look ok.


Substance Painter: Thumbnail errors with PBR Texture Set

Changelog Description
When publishing with PBR Metallic Roughness as Output Template, Emissive Map errors out because of the missing channel in the material and the map can't be generated in Substance Painter. This PR is to make sure imagestance.data["publish"] = False so that the related "empty" texture instance would be skipped to generate the output.
Additional info
Need to double check if the maps have some colorspace issues after publishing.
Testing notes:

Launch Substance Painter with your project
Create Instance with PBR metallic roughness as output template.
Publish
Create Instance with default output template(2D_View)
Publish
They should be published successfully and the colorspace of the maps is correct

We can only guess

we might analyze the image using oiio tool as we are already doing in extrac review I think. That should give you information about channels. See https://github.com/ynput/OpenPype/blob/837acf9b2e3710fd52265e8b4351e882b7069e79/openpype/lib/transcoding.py#L476 that is used in extract review. Maybe we could just use it in separate collector to set the flag on thumbnail if it should be generated or not?

We can only guess

we might analyze the image using oiio tool as we are already doing in extrac review I think. That should give you information about channels. See
https://github.com/ynput/OpenPype/blob/837acf9b2e3710fd52265e8b4351e882b7069e79/openpype/lib/transcoding.py#L476
that is used in extract review. Maybe we could just use it in separate collector to set the flag on thumbnail if it should be generated or not?

It wouldn't tell us whether the image is the Specular, Diffuse, Metalness, Height, etc. map. It would only tell us whether the image has one or more channels. (Also, this channel data retrieval is already being done by e.g. the thumbnail extractor).
As such, as my recommendation. I think we should disregard 'what type of output channel it is' in the context of substance painter since the API doesn't reliably allow us to retrieve that data (yet?). But, if e.g. a Height image is written and thus it exists of only one channel as opposed to multiple then we can be sure that the output thumbnail should be a preview of that single channel.

I mean we could change the logic in extract thumbnail so it doesn't look only for rgba channels but if there is at least one, use it and copy it to rgb. We'll need to solve somehow how to deal with data that are not image (like point positions).
Anyway, I think this is work for another PR that would touch how thumbnail are generated in that case.

Anyway, I think this is work for another PR that would touch how thumbnail are generated in that case.

If that's the case - then keep only the publish = False fix in this PR, remove the other code and start the work on this other PR to solve the "height" map thumbnail extractor issue. Keeping this PR focused solely on the fix for the 'non existing maps'.
👍

Anyway, I think this is work for another PR that would touch how thumbnail are generated in that case.

If that's the case - then keep only the publish = False fix in this PR, remove the other code and start the work on this other PR to solve the "height" map thumbnail extractor issue. Keeping this PR focused solely on the fix for the 'non existing maps'.
👍

already made a update to remove the codes.

@LiborBatek can you test? And please keep in mind that the current code would error out height map in extract_thumbnail. Thanks!


Define Groups

Add to Docs information on Groups.
In the following example a group is part of the Event Class.
group → For each attribute ensure you add a group value. Valid values are - Classification, Context, Occurrence, Primary
example:
"hw_bios_manufacturer": {
"description": "The BIOS manufacturer.",
"group": "primary",
"requirement": "optional"
},

There is a subsection on Attribute Groups in the Attributes section of the White Paper.  Please take a look, however it isn't a syntax for specifying groups.  It could be added in the appendix under Adding / Modifying Attributes.  There is also a separate Readme in Schema where it should be added (effectively the same content was lifted for the WP).


Support a containerimage_compliance_failed event

@miq-bot add_label providers/containers

@miq-bot assign moolitayer

@moolitayer is this for darga? or for later?

@moolitayer can you add some more information to this? What's the impact.

@moolitayer can you add some more information to this? What's the impact.

Updated first comment

Turns out this already exists and is working


Missing "undefined reference to" error reporting

Please add error reports:
❯ echo "int foo(); int main() { return foo(); }" | gcc -x c++ - -B ~/Programming/wild/
✦ ❯ ./a.out
./a.out: symbol lookup error: ./a.out: undefined symbol: _Z3foov
✦ ❯ echo "int foo(); int main() { return foo(); }" | gcc -x c++ -
/usr/lib64/gcc/x86_64-suse-linux/13/../../../../x86_64-suse-linux/bin/ld: /tmp/ccuujEtS.o: in function `main':
<stdin>:(.text+0x5): undefined reference to `foo()'
collect2: error: ld returned 1 exit status

I've had undefined symbols reports errors at various points in the past. I think this time when I fix it, it might be time to add a test :)

Just reproducing this to make sure I understand it.
I deleted our config.toml file so it's using the default linker, or so I thought. Not sure how (yet) but it seemed to be using wild.
I don't get any compile time error, but the runtime error, the same as you.
I deleted the wild binaries, and now I get the build time error:
echo "int foo(); int main() { return foo(); }" | gcc -x c++ - -B ~/workspace/wild/ > ./a.out
/usr/bin/ld: /tmp/ccTCOIzO.o: in function `main':
<stdin>:(.text+0x9): undefined reference to `foo()'
collect2: error: ld returned 1 exit status

.cargo/config.toml only affects stuff built with Cargo, but this is C code. The -B ~/workspace/wild/ tells gcc to look in that directory for tools like the linker. If you need to check which linker produced a binary, you can run readelf -p .comment a.out. If the binary was produced with any linker other than GNU ld, there will be a comment saying the name and version of the linker. GNU ld unfortunately doesn't add any such comment.

The bug is that wild no longer reports an error when there's a non-weak reference to an undefined symbol. It used to report errors for this, but some at some point, I must have accidentally lost the code to check for it.
References to undefined symbols are OK if the symbol reference is weak. However if it's not weak, then that should be an error.
So besides fixing the bug and making wild emit an error when a symbol is undefined, the other thing we need here is a test that verifies that we actually emit an error in this case. We don't currently have an error tests, but I suspect the existing tests driven by integration_tests.rs can be extended to support errors. Probably a directive at the top of the file to say to expect an error - maybe with an argument that is a string that should be contained within the error message. e.g.
//# ExpectError:foo

Where foo is a string that we expect to be a substring of the error. Can probably just put the symbol name there, since the error should at least contain the name of the symbol that was undefined.

I just ran into a different bug - when forking, if the subprocess failed, we were exiting with a status of 0. While fixing this bug, I wanted to add a test. In order to do that, I needed a failure test. So that's now done. i.e., we now support //#ExpectError: in integration tests.