🐛 Bug Report: Running tests with extra jest config in package.json

📜 Description
When running yarn backstage-cli repo test from the root of the workspace when i have some additional jest config in the package.json i get errors when running at the repo root but not when running inside each package.
👍 Expected behavior
Tests should run and include config from package.json, in this case the extra reporter should run and i should get junit xml file in each package.
👎 Actual Behavior with Screenshots
I get the following in the command line when running CI=true yarn backstage-cli repo test
The tests do still run but without any of the extra config.
yarn run v1.22.19
$ /Users/scott/Code/greenroom/backstage/node_modules/.bin/backstage-cli package test
● Validation Warning:

  Unknown option "coverageDirectory" with value "/Users/scott/Code/greenroom/backstage/packages/app/coverage" was found.
  This is probably a typing mistake. Fixing it will remove this message.

  Configuration Documentation:
  https://jestjs.io/docs/configuration

● Validation Warning:

  Unknown option "coverageProvider" with value "v8" was found.
  This is probably a typing mistake. Fixing it will remove this message.

  Configuration Documentation:
  https://jestjs.io/docs/configuration

● Validation Warning:

  Unknown option "collectCoverageFrom" with value ["**/*.{js,jsx,ts,tsx,mjs,cjs}", "!**/*.d.ts"] was found.
  This is probably a typing mistake. Fixing it will remove this message.

  Configuration Documentation:
  https://jestjs.io/docs/configuration

● Validation Warning:

  Unknown option "reporters" with value ["default", "jest-github-actions-reporter", ["jest-junit", {"ancestorSeparator": " › ", "classNameTemplate": "{classname}", "outputDirectory": "reports", "outputName": "report", "suiteNameTemplate": "{filepath}", "titleTemplate": "{title}", "uniqueOutputName": "true"}]] was found.
  This is probably a typing mistake. Fixing it will remove this message.

  Configuration Documentation:
  https://jestjs.io/docs/configuration

but when running inside a package/plugin I don't see this issue and the extra config is picked up correctly and i get the junit reports created..
👟 Reproduction steps
Add the following in the package.json
...
"jest": {
    "testPathIgnorePatterns": [
      "/node_modules/",
      "/__fixtures__/"
    ],
    "reporters": [
      "default",
      "jest-github-actions-reporter",
      [
        "jest-junit",
        {
          "outputDirectory": "reports",
          "outputName": "report",
          "uniqueOutputName": "true",
          "ancestorSeparator": " › ",
          "suiteNameTemplate": "{filepath}",
          "classNameTemplate": "{classname}",
          "titleTemplate": "{title}"
        }
      ]
    ]
  }
...

And then run CI=true yarn backstage-cli repo test results in some validation errors from jest like this
📃 Provide the context for the Bug.
I want to enable to extra reporters for jest so i can use the test results for futher reporting.
This did used to work but has stopped at some point and i have come across this error when debugging.
🖥 Your Environment
yarn run v1.22.19
$ /Users/scott/Code/greenroom/backstage/node_modules/.bin/backstage-cli info
OS:   Darwin 21.6.0 - darwin/arm64
node: v18.12.1
yarn: 1.22.19
cli:  0.21.1 (installed)
backstage:  1.8.2
Dependencies:
@backstage/app-defaults                          1.0.8
@backstage/backend-common                        0.16.0
@backstage/backend-plugin-api                    0.1.4
@backstage/backend-tasks                         0.3.7
@backstage/catalog-client                        1.1.2
@backstage/catalog-model                         1.1.3
@backstage/cli-common                            0.1.10
@backstage/cli                                   0.20.0, 0.21.1
@backstage/config-loader                         1.1.6
@backstage/config                                1.0.4
@backstage/core-app-api                          1.2.0
@backstage/core-components                       0.11.2, 0.12.0
@backstage/core-plugin-api                       1.1.0
@backstage/dev-utils                             1.0.8
@backstage/errors                                1.1.3
@backstage/integration-react                     1.1.6
@backstage/integration                           1.4.0
@backstage/plugin-api-docs                       0.8.11
@backstage/plugin-app-backend                    0.3.38
@backstage/plugin-auth-backend                   0.17.1
@backstage/plugin-auth-node                      0.2.7
@backstage/plugin-catalog-backend-module-github  0.2.1
@backstage/plugin-catalog-backend                1.5.1
@backstage/plugin-catalog-common                 1.0.8
@backstage/plugin-catalog-graph                  0.2.23
@backstage/plugin-catalog-import                 0.9.1
@backstage/plugin-catalog-node                   1.2.1
@backstage/plugin-catalog-react                  1.2.1
@backstage/plugin-catalog                        1.6.1
@backstage/plugin-github-actions                 0.5.11
@backstage/plugin-home                           0.4.27
@backstage/plugin-org                            0.6.1
@backstage/plugin-permission-common              0.7.1
@backstage/plugin-permission-node                0.7.1
@backstage/plugin-permission-react               0.4.7
@backstage/plugin-proxy-backend                  0.2.32
@backstage/plugin-scaffolder-backend             1.8.0
@backstage/plugin-scaffolder-common              1.2.2
@backstage/plugin-scaffolder                     1.8.0
@backstage/plugin-search-backend-node            1.0.4
@backstage/plugin-search-backend                 1.1.1
@backstage/plugin-search-common                  1.1.1
@backstage/plugin-search-react                   1.2.1
@backstage/plugin-search                         1.0.4
@backstage/plugin-stack-overflow-backend         0.1.7
@backstage/plugin-stack-overflow                 0.1.7
@backstage/plugin-tech-radar                     0.5.18
@backstage/plugin-techdocs-backend               1.4.1
@backstage/plugin-techdocs-module-addons-contrib 1.0.6
@backstage/plugin-techdocs-node                  1.4.2
@backstage/plugin-techdocs-react                 1.0.6
@backstage/plugin-techdocs                       1.4.0
@backstage/plugin-user-settings                  0.5.1
@backstage/release-manifests                     0.0.6, 0.0.7
@backstage/test-utils                            1.2.2
@backstage/theme                                 0.2.16
@backstage/types                                 1.0.1
@backstage/version-bridge                        1.0.2
Done in 0.61s.
👀 Have you spent some time to check if this bug has been raised before?

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

🏢 Have you read the Code of Conduct?

[X] I have read the Code of Conduct

Are you willing to submit PR?
Yes I am willing to submit a PR!

No, it's not just coverage that is triggering this. We don't have any explicit coverage settings in the package.json (root or package).
The errors above are just a snippet of the output. It seems to repeat the same errors for each package that it runs test for when you run repo test. From what I can see in the code in the cli it constructs a config from combining default config in the cli package with things in the package.json and then feeds that into jest.

I think i can see a potential issue (or at least a difference)
When running CI=true yarn test --showConfig in both the root and then within a package.
When running in the package i can see the reporters config from the root package.json is being put into the globalConfig.reporters in the output
But when running in the root i can see it is put in globalConfig.projects[x].reporters im not sure if this is the cause..
But it seems like this per project config is what you were saying but not just for coverage and some change is now putting the "extra" config from the packages.json in globalConfig.projects rather than in directly in globalConfig.
I suspect any config in the root packages.json should go direct into the globalConfig object.

A temporary workaround here is as you mention to run lerna run test

I think it has to do with the jest.js file of backstage-cli:
https://github.com/backstage/backstage/blob/v1.9.1/packages/cli/config/jest.js
It looks like the config we put into the root package.json is never applied as root global config but instead added to every project configuration.

@qutax indeed, I think a good fix here might be to only apply config from the local package.json in the case where getRootConfig() runs in workspace mode where it loads in all configurations from the repo. So each package config would only look at its own package.json, and the root config would look at the root package.json. We'd still do the search upwards when loading the config for a single package though, although it might be better to make it explicitly only look at the root and local package json rather than a full search. I'm not entirely sure this approach makes sense in practice either, so it would need some validation.
I'll open this up for contributions for anyone that wants to pick this up, let us know if any more details are needed.

Looking into this issue now 👋

This isn't stale it still seems to be an issue.

I also wait for this issue to be resolved

I'd like to work on this just want to clarify the expectation. I'm trying to reproduce and added this section to root package.json.
"jest": {
    "testPathIgnorePatterns": [
      "/node_modules/",
      "/__fixtures__/"
    ],
    "reporters": [
      "default",
      "jest-github-actions-reporter",
      [
        "jest-junit",
        {
          "outputDirectory": "reports",
          "outputName": "report",
          "uniqueOutputName": "true",
          "ancestorSeparator": " › ",
          "suiteNameTemplate": "{filepath}",
          "classNameTemplate": "{classname}",
          "titleTemplate": "{title}"
        }
      ]
    ]
  },

Currently when I run this command in backstage root
CI=true yarn backstage-cli repo test --showConfig

it is adding the reporters section into each project like this:
{
  ...
  "globalConfig": {
    "projects": [
      {
        "displayName": "example-app",
        "reporters": [                                                             << reporters is being added here
          "default",
          "jest-github-actions-reporter",
          [
            "backstage/node_modules/jest-junit/index.js",
            {
              "outputDirectory": "reports",
              "outputName": "report",
              "uniqueOutputName": "true",
              "ancestorSeparator": " › ",
              "suiteNameTemplate": "{filepath}",
              "classNameTemplate": "{classname}",
              "titleTemplate": "{title}"
            }
          ]
        ],
        "id": "backstage_cli_8615e494b5adaa65202bbf6f7574df18"
      },
      ...
    ]
  }
}

and instead the desired behavior is to have something like this
{
  "reporters": [                                                             << reporters should be added at root only
          "default",
          "jest-github-actions-reporter",
          [
            "backstage/node_modules/jest-junit/index.js",
            {
              "outputDirectory": "reports",
              "outputName": "report",
              "uniqueOutputName": "true",
              "ancestorSeparator": " › ",
              "suiteNameTemplate": "{filepath}",
              "classNameTemplate": "{classname}",
              "titleTemplate": "{title}"
            }
          ]
        ],
  "globalConfig": {
    "projects": [
      {
        "displayName": "example-app",
        "id": "backstage_cli_8615e494b5adaa65202bbf6f7574df18"
      },
      ...
    ]
  }
}

I think that looks about right from what i understand from the jest docs

Is there any activity on this issue?

Just stumble upon this one, and still no workaround or fix ?


Error when using cast etherscan-source with -d to output souce tree

Component
Cast
Have you ensured that all of these are up to date?

[X] Foundry
[X] Foundryup

What version of Foundry are you on?
forge 0.2.0 (f817db3 2022-08-16T00:12:12.954668Z)
What command(s) is the bug in?
cast etherscan-source
Operating System
macOS (Apple Silicon)
Describe the bug
Using command
cast etherscan-source 0x34d85c9cdeb23fa97cb08333b511ac86e1c4e258 -c mainnet --etherscan-api-key=$ETHERSCAN_API_KEY -d output

got error
Error:
Read-only file system (os error 30)

What directory are you running the command in? The error suggests you are in a folder that is not writeable, e.g. a mounted filesystem or a folder you don't have permission for.

I was able to reproduce it and the error seems to be coming from the SourceTree. There's a ... problematic path:
        SourceTreeEntry {
            path: "/contracts/main/Land.sol",
            contents: "...

Fixed here: https://github.com/gakonst/ethers-rs/pull/1603

closing as this will land automatically with next ethers bump


Send Request Sidepanel

Hi! Great theme. The README makes it look like you can utilize a sidepanel to send requests. I didn't see any configuration for that in your docs. Is this an actual feature? If so, how is it enabled?

I'm sorry that the English documents have not been published. It will be automatically generated when you use <CURL> components. The example can be found at docs/zh/configurations/components.md#curl-%E7%BB%84%E4%BB%B6
<CURL>
```bash
curl -X POST http://api.example.com/api/auth/login \
  --data '{
    "username": "my-username",
    "password": "my-password"
  }'
```
</CURL>


Don't round in the vger-rs renderer

This makes pixel aligned lines render correctly instead of being split across pixels.
We probably need some better rounding scheme.
@dzhou121 Could you take before and after screenshots of the widget gallery on Mac to see the impact there?

It's pretty much identical
before

after

The rounding is pretty important for svgs as well because they will be blurry if placing on subpixel.

I think I see the reason why this improves thing. We have to specify the center lines of strokes which are in the middle of a pixel, so the rect has to be at +0.5 for it to be pixel perfect and rounding messes that up. We don't see any difference with 200% scaling since the widget gallery has no 1 pixel lines.
Could you take screenshots with a list border changed to border(0.5) before and after this PR?

The rounding is pretty important for svgs as well because they will be blurry if placing on subpixel.

Rendering of SVG and images have rounding which is not modified here. They should probably rely on views being pixel aligned though. Text seem to round in Y direction only, which doesn't seem right given that it also has subpixel bins.

border(0.5) does make a difference.
before PR

after PR

rounding for text is a special one. It rounds based on 0.25 intervals (SubpixelBin). And when Swash does rasterising, it offsets it based on the SubpixelBin.

I see svg isn't affected by this


plugin: support for type rename in FFXIV_ACT_Plugin <IP_ADDRESS>

Thanks to @ngld for most of these fixes.
Sorry for the headaches, let me know if there's any way to improve this.

Oh, I just saw #3731. Not sure what the best way forward is now that this conflicts, let me know if I need to do anything to fix this!

Oh, I just saw #3731. Not sure what the best way forward is now that this conflicts, let me know if I need to do anything to fix this!

Sorry, I just wanted a quick fix to get something out.  Feel free to just take your changes over that one.

Think I got it? It's actually the first time I've resolved conflicts in github so please double check I didn't screw it up..

Looks good to me. Should fix the issue and it won't break the KR and CN versions. 👍


redirect to site root explicitly

fix issue #969
Signed-off-by: Tw<EMAIL_ADDRESS>

This issue is causing my head to spin, I need to look into it some more. I'm afraid that a redirect here might cause redirect loops in some cases but I haven't yet confirmed that. I also wonder if there's a way to correct the logic we already have rather than adding a new condition.
Right now, this redirect assumes that any path prefix leads to a directory (trailing "/") which I'm not sure is always the case. It makes sense in theory, I suppose, for base paths to be a directory (because, it is a base path, not a final endpoint necessarily)...
I just need to think about this some more. Thanks for working on it!

So, Tw, I think I'm going to decline this PR simply because, although it 'fixes' the issue linked to, I think it's a bit hasty to assume that the base path must always be a directory and should always have the trailing slash.
I don't yet know a better solution, but I'll recommend in the issue that we just update the documentation for now. Thank you!!

Ok @mholt , make sense.


Fix ReadProcessMemory

PInteractor.cs/Read() possibly is not working.

Was this fixed?

No. I haven't worked on this for 4 years, so development is non-existent. However, if you want to submit a PR, I would be happy to review.

Ok will do, can you recall why it might not be working?

I don't recall. Sorry about that.


Error code not covered

Hi!
I was checking some of the dual write table map health checks, and i have found one with Error Code 1900. Can you please update this page with the new Error codes and their detailed explanation?
Thanks in advance!

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

ID: 2e86b1e0-0759-24c4-67f9-189c67246c80
Version Independent ID: 2e86b1e0-0759-24c4-67f9-189c67246c80
Content: Errors codes for the table map health check - Finance & Operations | Dynamics 365
Content Source: articles/fin-ops-core/dev-itpro/data-entities/dual-write/table-map-health-check.md
Service: dynamics-365-cross-app
GitHub Login: @NHelgren
Microsoft Alias: nhelgren

@Alpa-Chino, thank you for the feedback.
@NHelgren, please review this feedback and update the content as needed.

@Alpa-Chino, @twheeloc  I am no longer the owner of this area.
@RamaKrishnamoorthy Could you please review?

Following PR has been created to fix this issue - https://github.com/MicrosoftDocs/Dynamics-365-Operations/pull/13987

Sure Nathan, I am on it.
Thank you,
Rama.
From: Nathan Helgren @.>
Sent: Friday, May 27, 2022 8:04 AM
To: MicrosoftDocs/dynamics-365-unified-operations-public @.>
Cc: Rama Krishnamoorthy @.>; Mention @.>
Subject: Re: [MicrosoftDocs/dynamics-365-unified-operations-public] Error code not covered (Issue #4022)
@Alpa-Chinohttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FAlpa-Chino&data=05|01|ramasri%40microsoft.com|11a7a1381700473b2d5008da3ff231d8|72f988bf86f141af91ab2d7cd011db47|1|0|637892606694622628|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=jrEz8ER9LPkRFjSsiXF2ApWXC5r8CFN9FeVBMnH1ye8%3D&reserved=0, @twheelochttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ftwheeloc&data=05|01|ramasri%40microsoft.com|11a7a1381700473b2d5008da3ff231d8|72f988bf86f141af91ab2d7cd011db47|1|0|637892606694622628|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=3O43aHWCpB95dv1xzm2RII3%2FxAKMsDBVPzhuHytAdxI%3D&reserved=0 I am no longer the owner of this area.
@RamaKrishnamoorthyhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FRamaKrishnamoorthy&data=05|01|ramasri%40microsoft.com|11a7a1381700473b2d5008da3ff231d8|72f988bf86f141af91ab2d7cd011db47|1|0|637892606694622628|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=tKO5zN18UanHsl0pes1HYw%2FQCmMn2YlWeKQZIRF7HsU%3D&reserved=0 Could you please review?

Reply to this email directly, view it on GitHubhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2Fdynamics-365-unified-operations-public%2Fissues%2F4022%23issuecomment-1139704065&data=05|01|ramasri%40microsoft.com|11a7a1381700473b2d5008da3ff231d8|72f988bf86f141af91ab2d7cd011db47|1|0|637892606694622628|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=6TrREET1deQ8uul7wDE%2BzpuaejLUYZJUG3cJmNqeFK8%3D&reserved=0, or unsubscribehttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAIM55KMB3LBVDG75FES3QYTVMDP7XANCNFSM5WVSL5EQ&data=05|01|ramasri%40microsoft.com|11a7a1381700473b2d5008da3ff231d8|72f988bf86f141af91ab2d7cd011db47|1|0|637892606694622628|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=1Z08bx8LcdZqc66ltdDSj9QvvBYh1XqihSqRFPOH2Dk%3D&reserved=0.
You are receiving this because you were mentioned.Message ID<EMAIL_ADDRESS>


perf(discovery): cleanup discovery manager and add potential caching capabilities

…ing capability

Okay, @brendt this is a mess, so pardon all of that for a second... I think I may be on to something here.
I've been finding one of the huge bottlenecks appears to be the reading from the filesystem we are currently doing. Since composer is already putting the work into mapping out namespaces, I had a couple of ideas to avoid that bottleneck by using the classmap composer generates (side benefit, we get support for more than just PSR-4).
The other thing I realized while I was refactoring this was that we were redoing a lot of the class reflection work for every discovery class. I tidied this up a little bit by first resolving the "discovery agents", then resolving the reflection classes, and finally running those same reflection class instances through the agents.
Now, keep in mind, I haven't moved over any discoverers to "agents" as this PR calls them, but the early results of this PR are seeming to be very promising. I performed the following tests:
Current Discovery

Added an early return to DiscoveryDiscovery so that no additional discoveries are added.
Added microtime benchmarks to the start and end of the build method on LoadDiscoveryClasses.
Ran php tempest.
Tracked times pretty consistently around 0.283984899520874. (This is on Apple M1 Max, 64 GB RAM)

This implementation

Created a test file with the following code:

<?php

require 'vendor/autoload.php';

$start = microtime(true);

new DiscoveryManager()
    ->addClassLoader(
        new CacheableClassLoader(
            new VendorClassLoader(__DIR__)
        )
    )
    ->addClassLoader(new AppClassLoader(__DIR__))
    ->addAgent(new SampleAgent())
    ->run();

$end = microtime(true);

var_dump($end - $start);

Ran test file by calling php test.php.
Tracked times at 0.038229942321777344. (This is on Apple M1 Max, 64 GB RAM)

As you can see from this, times are automatically faster, but there is also some significant room for improvement on the caching front of this PR (which we are not doing at all).

I have a few other thoughts too, that I'm playing around with such as:

What if instead of leaving it up to the inspect method on the agent on what to do with the class, we had predefined "rulesets" that could be returned. Then whether the ruleset matches a class (e.g., HasAttributeRule) could be cached as well.
If we embraced an async library in Tempest and had a proper event loop, could we keep discovery constantly happening in the background during development?

Ok this is very interesting! But how can you run benchmarks when you've only changed a handful of discovery classes? Shouldn't we change all for a more accurate picture? Maybe I misunderstood though, I only scrolled through it quickly this morning.
Some general thoughts:

This is an area of Tempest where I think performance should be an absolute priority. I'm fine with doing weird internal stuff if it improves performance.
Ideally, I want it to be still relatively easy for people to make their own discovery classes; I don't think I fully understand yet how it works, but I'd like it when people don't have to implement multiple classes to get their own discovery working.

@brendt see the step:

Added an early return to DiscoveryDiscovery so that no additional discoveries are added.

If we embraced an async library in Tempest and had a proper event loop, could we keep discovery constantly happening in the background during development?

Yes, but I'd say out of scope :)

Do you want me to give it a proper read before you continue work on it?

@brendt at least tell me you don't hate the approach before I keep going down the path. 🙃

If I understand it correctly, you benchmarked by disabling all other discovery classes in both implementations?
I still think we need to see performance impact on the whole before making any decision, which unfortunately means refactoring everything. I know the pain, I went through it three times when refactoring discovery last time 😅
I also don't understand what's changed now? I still see a nested loop. Is this about not creating new reflection instances for every discovery but instead reusing them?
Also:

Ideally, I want it to be still relatively easy for people to make their own discovery classes; I don't think I fully understand yet how it works, but I'd like it when people don't have to implement multiple classes to get their own discovery working.

Is there a technical reason all of this can't be in the same class?

One more thought: maybe we should first PR the composer classloader part, and see how that impact performance, then move on to the next part

If I understand it correctly, you benchmarked by disabling all other discovery classes in both implementations?

Basically I disabled auto discovery and then manually registered a console discovery in each implementation.

Is this about not creating new reflection instances for every discovery but instead reusing them?

Yes, but also creating better cache points for each step as well.

Is there a technical reason all of this can't be in the same class?

I'm not sure I understand. All someone has to do is implement DiscoveryAgent.

I'm not sure I understand. All someone has to do is implement DiscoveryAgent.

Right, ok. So this completely replaces the Discovery interface then? Why the namechange?

Basically I disabled auto discovery and then manually registered a console discovery in each implementation.

I meant I wanna see benchmarks with all discoveries, because it'll better show the real impact of this change.

@aidan-casey  you could write a small benchmark using phpbench. You can look in tests/Benchmark/ for some example files and a readme how to run it. The benefit is you get more "stable" numbers. comparing a single run, or even the number 0.038229942321777344 is kind of hard, because you will never see small deviations caused by your changes, or by background tasks executed by your OS.  PHPBench helps you a bit, you can easily isolate the thing you want to benchmark and let it do so as much as you like using iterations, this will make the end result a bit more stable and thus easier to compare between runs.
For the Http rework I wrote a benchmark against the old code and new code to get a good view of the improvement (although this can be quite some work). But what I found a bigger benefit, while working I could easily identify which things hit the performance hard, and which things didn't. I saw for instance that in one instance array_pop + array_reverse was faster and array_unshift was faster.

@aidan-casey Why did you close this?

@Wulfheart I think if you are going to refactor as mentioned in #854, we'll have to rework this a bit, which is fine. 🙂


Get weather

display current weather and forecast in main chat window.
-currently GPT returns error because it can't browse.
From https://github.com/ttt246/RisingBrain/issues/14

We can consider about the interfaces built in brain (autogpt, babyagi, or falcon).


Q4 budget

Our draft budget for Q4 is in our "Stuff!" spreadsheet https://docs.google.com/spreadsheets/d/1vLC4ZIHO3WN-Ah9XwehRmbwLZAeePsxxYQXmLiiJLnQ/edit?usp=sharing
and here's the final one as submitted
https://docs.google.com/spreadsheets/d/19JPcJTBLct0xeGhVnxNEnsaoXqkE9SKMjWnwAqZ7GRI/edit?usp=sharing
Note: after consultation with GEI, we propose that continuity is needed, so the people in the various Admin roles should stay as they are, at least for this Quarter.
Note also a suggestion that we do include some learning resources or activities https://github.com/SingularityNet-Ambassador-Program/AI-Ethics-Workgroup/issues/26

So far, our budget and quarterly report only received one objection (see https://docs.google.com/spreadsheets/d/1q2-njlAwe6QPJYl78XrpXvhjB0v3sU39jN--LEYMKE4/edit?usp=sharing) which was
"The purpose of the workgroup is quite unclear, it is very hard to judge how well an entity is doing and should more resources be put into it if no clarity is provided on what is wants to do and how that aligns with the Ambassador Program's values and goals." This appears to be a minority opinion, and the budget and report do outline pretty clearly what we want to do, so no changes have been made.
The 3rd and final consent round begins today (23rd Sept) and we need 80% approval, so all WG members are encouraged to complete a form.

Update: the WG has passed the 3rd iteration, with only 1 objection (for which no reason was given, so it's invalid), 1 abstention, and 17 consenters. See https://docs.google.com/spreadsheets/d/11zZ-XFCc-vs35cK_pPsgmBPUSBeQNgU3qcB7Xv9Zr8M/edit?usp=sharing
We now need to look at budget-fitting. The current lowering percentage is 21.68%, but the actual figure is likely to be less (partly because Writers WG has agreed to lower its initial budget, and partly because the current price of AGIX is higher than we are assuming).
I estimate we will need to lose approx $800 from our budget.
Possibilities:

move to monthly meetings (saving $180)
fold facilitation of monthly meetings into the Co-Chair role (saving another $90)
Reduce our interview hours from 35 to 25 (saving $500)
Reduce or remove budget line for educational resources (saving $200)
Reduce or remove budget line for survey sharing (saving 180)
Look at whether Q3 interviews are incurring any expenses for interviewees
Transfer funding for any Q3 interviews that are not done, to q4

We agreed to make the following reductions:

reduce interview hours to 25 (saving $500)
meet once a month, on 7th Oct, 4th Nov, 2nd Dec (saving $180)
Remove the budget line for educational resources (saving $200)

This should be suffiecient to conform to the needed lowering percentage.


Non-functional Links in Help Section

Describe the bug
Within the Enatega Multivendor Customer App, there is a critical issue in the Help section where links to the product page, documentation, and the "About Us" section are not working as intended.
To Reproduce
Steps to reproduce the behavior:

Open the Enatega Multivendor Customer App.
Navigate to the Help section.
Attempt to click on the links to the product page, documentation, and "About Us."

Expected behavior
Clicking on the links in the Help section should redirect users to the respective product page, documentation, and "About Us" section, providing relevant information and assistance.
Screenshots
https://github.com/ninjas-code-official/food-delivery-multivendor/assets/152266796/54fb7a35-209e-4e23-a691-2307a6ff8489
Smartphone:

Device: iOS and Android

Additional context
Users are unable to access crucial information and resources through these links, hindering their ability to seek assistance and understand more about the app.

Hi @Inshirah23 ,
Thanks for pointing out this issue, all the links are updated and now the user can navigate to the correct pages.
@ninjas-code-official/ninjas-code
@beKashif


Uncaught TypeError: Failed to execute 'appendChild'

Habit Tracker doesn't work anymore. When I open the note with a habitt codeblock I get the following error Message in the Developer Console:
Uncaught TypeError: Failed to execute 'appendChild' on 'Node': parameter 1 is not of type 'Node'.
at app.js:1
at HTMLDivElement.Element.setText (app.js:1)
at window.createEl (app.js:1)
at HTMLDivElement.Node.createEl (app.js:1)
at HTMLDivElement.Node.createDiv (app.js:1)
at renderBody (eval at  (app.js:1), :168:17)
at renderTable (eval at  (app.js:1), :77:23)
at eval (eval at  (app.js:1), :53:32)
at app.js:1
at Function.t.postProcess (app.js:1)
Habit Tracker: Version 1.0.2
Obsidian: v0.12.12

I've added a pull request with a fix for that issue. @FamRau please try to test it. For me, it works just fine.

Thanks your works @NodyRets

@NodyRets Many thanks. I just upgraded the plugin and now it works again.


Friends of Kubicorn

As we move forward in our ongoing journey to unite the open source Kubernetes community.. we will need a place to show off the orgs/companies that we are working with!
Can we please offer a Friends of Kubicorn markdown file in /docs  that contains a list of projects we work well with and love?
Ideally the file would have the following:

Explanation on how to add your project to the file
A list of projects we love

For each project we love:

A logo
A brief description of what kubicorn can do with the project
Links to documentation on how to run kubicorn with the project

Idea: Have the website check that folder whenever it rebuilds and auto-add those projects there.

There's a section for it on the website now. Do we have any friends we wanna add there off the bat, or should I hide the section for now?

le closed - great job @ellenkorbes


Kubernetes container service: coreos is EOL

On May 26, 2020, CoreOS Container Linux will reach its end of life and will no longer receive updates. We strongly recommend that users begin migrating their workloads to another operating system as soon as possible.
https://coreos.com/os/eol/
ISSUE TYPE

Improvement Request

COMPONENT NAME

Kubernetes container service

CLOUDSTACK VERSION

4.14/4.15

CONFIGURATION

OS / ENVIRONMENT

SUMMARY

STEPS TO REPRODUCE

EXPECTED RESULTS

ACTUAL RESULTS

following @Pearl1594 @shwstppr

We're exploring alternative with https://www.flatcar-linux.org/releases/

@Pearl1594 may update her findings, we compared FlatCar vs Alpine vs Debian and it may make sense to reuse a Debian based template that's common for systemvm, and CKS host.

Closing this, we've the PR https://github.com/apache/cloudstack/pull/4329


Remove jQuery

 This is an automated PR from: https://github.com/NullVoxPopuli/ember-jSquirrels

 In an effort to better ready the Ember ecosystem for the modern web, jQuery must be removed.

 There have been native replacements for jQuery APIs for quite a few years.

 Removing jQuery will reduce everyone's app vendor size by 30-80kb after min+gzip, depending on the jQuery version.

Cleaning up my list of PRs (list at: https://github.com/pulls). If any of this work is still useful, feel free to cherry-pick.

Why this PR was never merged?

Probably partly because I didn't get C.I. passing, and the amount of changes were numerous.
feel free to continue this work, or re-run my jquery-auto-remover script


AutoEIS breaks when EquivalentCircuits can't find any plausible circuit

This should be gracefully handled; Currently, a cryptic error message is thrown.

This is now fixed on the develop branch.


Using workflows with input nodes

Hi, I'm wanting to set up my workflows so that they have input nodes like the image attached. The problem is that when the transpiler is naming the varables, they just appear as int, string, float etc.
I wanted to set it up like this so I can run the transpile output through more scripts to set up things like dynamically adding UI elements to the web interface I'm creating to control them.
Here's my workflow:

Which outputs as:
string = ACEText('')
int = ACEInteger(-1)
int2 = ACEInteger(25)
float = ACEFloat(6.5)
model, clip, vae = CheckpointLoaderSimple(r'pony\autismmixSDXL_autismmixConfetti.safetensors')
string2 = ACEText('')
conditioning = CLIPTextEncode(string2, clip)
string3 = ACEText('')
conditioning2 = CLIPTextEncode(string3, clip)
int3 = ACEInteger(1024)
int4 = ACEInteger(1024)
int5 = ACEInteger(1)
latent = EmptyLatentImage(int3, int4, int5)
latent = KSampler(model, int, int2, float, 'dpmpp_2m', 'karras', conditioning, conditioning2, latent, 1)
image = VAEDecode(latent, vae)
SaveImage(image, string)

I know I could go through and edit them manually, but I'm planning on adding a large amount of workflows to my site.
Do you have any suggestions on how I could get it to work in a more automatic way?

I can add a method for transpiler to get inputs. But there are still ohter problems: how does one modify them? And after running the workflow, how does one get the outputs? Ideally, this should be a workflow class:
@dataclass
class WorkflowInput:
    class_type: str
    node_name: str
    default_value: Any

@dataclass
class WorkflowOutput:
    class_type: str
    node_name: str
    value: Any

class TranspiledWorkflow:
    def inputs(self) -> list[WorkflowInput]:
        pass

    def run(self, inputs: list[Any]) -> list[WorkflowOutput]:
        int, int2, float, ... = inputs
        ...

However, I'm not sure if transpiling is really needed in your case. If you don't need to edit the workflow, maybe directly using the API format JSON is easier? Parsing the inputs and outputs is not hard for API format.


[Question] Any node editor for UnityHfsm?Or other Editor Tool ?

I think it's more intuitional to use tool to create a fsm than to use code.
So is there any editor tool for UnityHFSM?

Hi @mi1890,
UnityHFSM is a primarily code-driven library and does not come with a visual editor / interface out of the box.
Theoretically a visual editor could be built around UnityHFSM, but this is not part of the current roadmap.
If your occasionally interested in visualising more than interactively creating state machines, I personally find myself using Mermaid to illustrate the state machines I've created or plan to create.


Add getters for camera parameters

Is your feature request related to a problem? Please describe.
When using libf3d and an external window you will  need to use yaw, azimuth, elevation to move but to get them in degree you would need to calculate them from the camera position.
Describe the solution you'd like
It could be useful to have getters for these parameters. I know they are not actually parameters, but ways to manipulate the camera, but a getter for yaw/elevation that returns the angle of the camera to the model can be useful, also distance from the model etc.
Suggested implementation
In camera.h and camera.cxx , add camera::getYaw, camera::getAzimuth,  camera::getElevation. Implement them to be computed on the fly.

but a getter for yaw/elevation that returns the angle of the camera to the model can be useful

I suppose they could be computed for easier usage of the class indeed.

distance from the model etc.

This one is way more complex, unless you mean distance to the focal point.

This one is way more complex, unless you mean distance to the focal point.

Yes, from the focal point.

I'd like to work on this.

Do you need help moving forward @Schwarzemann ?

Do you need help moving forward @Schwarzemann ?

Ah no I am fine thanks. I accidentally deleted all of my commits so far so I am restoring them.


Internal / external pre- and postprocessing

Since all papers we implemented so far use a VGG net with caffe weights as encoder, pre- and postprocessing is necessary. IIRC this isn't mentioned in any paper.
Right now we assume that the authors are using an internal preprocessing, i. e. as a first step within the encoder. This is not the normal course of action. Although this might be beneficial at runtime, we should consider using the external processing as default.
Cc @jbueltemeier

The pre- and postprocessing is necessary because of the VGG net with caffe weights used and was not introduced by the authors, but only integrated into the implementation because of the necessity. For this reason, I think it would make sense to completely do without the external preprocessing and use only the internal one?
This does not change anything in the original implementation, but only benefits from the internal preprocessing given by the repository of pystiche.
What do you think of my thoughts?

Never mind. My main assumption is wrong.


[SPARK-39856][SQL][TESTS][FOLLOW-UP] Increase the number of partitions in TPC-DS build to avoid out-of-memory

What changes were proposed in this pull request?
This PR increases the number of partitions further more (see also https://github.com/apache/spark/pull/37270)
Why are the changes needed?
To make the build pass.
At least, two builds (https://github.com/apache/spark/runs/7500542538?check_suite_focus=true and https://github.com/apache/spark/runs/7511748355?check_suite_focus=true) passed after https://github.com/apache/spark/pull/37273. I assume that the number of partitions helps, and this PR increases some more.
Does this PR introduce any user-facing change?
No, test and dev-only.
How was this patch tested?
It's tested in https://github.com/LuciferYang/spark/runs/7497163716?check_suite_focus=true

Merged to master and branch-3.3.


fix: remove use-case from metadata from gen app [FTL-8872]

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

GitHub release
npm package (@latest dist-tag)

Your semantic-release bot :package::rocket:


Assertions caching failure when wrapped with try/catch

I'm getting very unexpected behaviour when catching an assertion error from TestCafe.
fixture('Assertions')

test('Caches failure', async t => {
  try {
    await t.expect('apples').eql('oranges')
  } catch (e) {
    console.log(1, e.errMsg)
  }

  try {
    await t.expect('apples').eql('apples')
  } catch (e) {
    console.log(2, e.errMsg)
  }
})

Output:
 Assertions
1 'AssertionError: expected \'apples\' to deeply equal \'oranges\''
2 'AssertionError: expected \'apples\' to deeply equal \'oranges\''
 ✓ Caches failure

Needless to say I would expect t.expect('apples').eql('apples') to pass and therefore only one message to be logged to the console.
It seems that once an assertion has failed, all other assertions in the same test will fail with the same message, even if the thing being asserted is true (like apples to apples above). I'm aware that TestCafe does a bunch of good magic with its assertions and promises but this seems like the other kind of magic. It certainly magicked away my morning.

All testcafe API methods add their commands to one chain of promises via the then method. This means that if an error occurs in one method of the chain, further methods will also catch the same error. For example, I've rewritten your test with other commands and it behaves in the same manner:
test('Caches failure', async t => {
    try {
        await t.click('non-existing element');
    } catch (e) {
        console.log(1, e.apiFnChain);
    }
    try {
        await t.click('body');
    } catch (err) {
        console.log(2, err.apiFnChain);
    }
});

I recommend you avoid using try/catch blocks with testcafe API methods. Could you please explain why you need the described use case?

I see, thanks.
What I was trying to do is replicate the auto retry logic because I need to assert on the presence of a file in a mock SFTP server but there's nothing in the UI to indicate when it's uploaded. I created the following helper function:
const autoRetry = async (fn, timeout = 5000, delay = 100) => {
  const start = Date.now()
  while (true) {
    try {
      return await fn()
    } catch (err) {
      if (Date.now() > start + timeout) {
        throw err
      }
      logger.debug(`Auto retrying failed assertion:`, err.message || err.errMsg)
    }
    await new Promise(resolve => setTimeout(resolve, delay))
  }
}

Which I can use like
await autoRetry(() => {
  assert.strictEqual(mockFs.readdirSync('/test'), ['expected.file'])
})

This works fine when using Node assert instead of TestCafe expect so that's what we're doing.
Incidentally, it would be neat if we could piggy back on TestCafe's retry logic for stuff like this.


[BUG] exclusive flag option doesn't work with negated flag (allowNo)

Behavior
Flags config
watermelon: flags.boolean({ default: true, allowNo: true }),
apple: flags.string({ exclusive: ['no-watermelon'] })

Execution
> cmd --no-watermelon --apple
[executes]

Expected Behavior
> cmd --no-watermelon --apple
Error: --apple= cannot also be provided when using --no-watermelon=

I'm going to close this since I believe that it's working as designed and that using relationships is the right way to accomplish this.
Setting exclusive to the actual flag name (watermelon) will cause the validation error to throw for both --no-watermelon and --watermelon.
watermelon: flags.boolean({ default: true, allowNo: true }),
apple: flags.string({ exclusive: ['watermelon'] })

If you want exclusivity based on a flag's value, then relationships is the way to go


crash while analyzing

Hi,
this tool is very interesting and I wanted to try on a complex project like robocraft, but after several issues reported, it crashes here:
e:\smandala-ssd-mainline\Robocraft-Unity\Assets\Scripts\Game\Utilities\TextureDebugger.cs(16)
There was an exception running the analysis
System.AggregateException: One or more errors occurred. ---> System.NullReferenc
eException: Object reference not set to an instance of an object.
at UnityEngineAnalyzer.CLI.AnalyzerReport.AppendDiagnostics(IEnumerable1 dia gnosticResults) in D:\GitHub\UnityEngineAnalyzer\UnityEngineAnalyzer.CLI\Analyze rReport.cs:line 30    at UnityEngineAnalyzer.CLI.SolutionAnalyzer.<AnalyzeProject>d__2.MoveNext() i n D:\GitHub\UnityEngineAnalyzer\UnityEngineAnalyzer.CLI\SolutionAnalyzer.cs:line  55 --- End of stack trace from previous location where exception was thrown ---    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNot ification(Task task)    at UnityEngineAnalyzer.CLI.SolutionAnalyzer.<LoadAnadAnalyzeProject>d__0.Move Next() in D:\GitHub\UnityEngineAnalyzer\UnityEngineAnalyzer.CLI\SolutionAnalyzer .cs:line 29    --- End of inner exception stack trace ---    at System.Threading.Tasks.Task.WaitAll(Task[] tasks, Int32 millisecondsTimeou t, CancellationToken cancellationToken)    at UnityEngineAnalyzer.CLI.Program.Main(String[] args) in D:\GitHub\UnityEngi neAnalyzer\UnityEngineAnalyzer.CLI\Program.cs:line 39 ---> (Inner Exception #0) System.NullReferenceException: Object reference not se t to an instance of an object.    at UnityEngineAnalyzer.CLI.AnalyzerReport.AppendDiagnostics(IEnumerable1 dia
gnosticResults) in D:\GitHub\UnityEngineAnalyzer\UnityEngineAnalyzer.CLI\Analyze
rReport.cs:line 30
at UnityEngineAnalyzer.CLI.SolutionAnalyzer.d__2.MoveNext() i
n D:\GitHub\UnityEngineAnalyzer\UnityEngineAnalyzer.CLI\SolutionAnalyzer.cs:line
55
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNot
ification(Task task)
at UnityEngineAnalyzer.CLI.SolutionAnalyzer.d__0.Move
Next() in D:\GitHub\UnityEngineAnalyzer\UnityEngineAnalyzer.CLI\SolutionAnalyzer
.cs:line 29<---

Thanks for writing this up! I will look into it and follow up.

Hi @sebas77
I was not able to reproduce your issue - but I think I might have of found the cause of it. I have created a new build - if you have the chance, could you please let me know how it works out for you? https://github.com/vad710/UnityEngineAnalyzer/releases/tag/alpha-04
Thanks in advance!
Vinny

Sure thing!
On Mon, 16 Jan 2017, 4:39 p.m. Vinny<EMAIL_ADDRESS>wrote:

Hi @sebas77 https://github.com/sebas77
I was not able to reproduce your issue - but I think I might have of found
the cause of it. I have created a new build - if you have the chance, could
you please let me know how it works out for you?
https://github.com/vad710/UnityEngineAnalyzer/releases/tag/alpha-04
Thanks in advance!
Vinny
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/vad710/UnityEngineAnalyzer/issues/5#issuecomment-272909836,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA5s4-AZCcVE04il86-i2V8soSIYyEOVks5rS504gaJpZM4Lg6ni
.

still happening. I dumped the output, but I don't think it will help.
result.txt
BTW, I am pretty sure that sealing classes/methods will not improve performance. I did research on it, since I had the same feeling (sealing should improve the vtable performance right?), but it's just a urban legend. I don't remember right now why, but I can research again if you think I am wrong.

Hey @sebas77 !
Thanks for the feedback! The sealed class analyzer was created based on this article: https://blogs.unity3d.com/2016/07/26/il2cpp-optimizations-devirtualization/ - I have not done any research on this personally. This case is pretty specific to il2cpp - which is why at some point I'd like to make the analyzers react to the target platform.
I'll take a look at the output and see if I can either get to the bottom of it, or allow it to continue when this sort of error occurs.
Thanks again for the feedback! I am a big fan of your work and often run into it when researching performance on Unity.

this project is surely useful for standalone games as well. Once the bug will be fixed, I hope I can add more tests myself.

Taking a look at the exception, it looks like I introduced a new exception in the previous build. I will try to get this fixed this evening when I get home from work.

I fixed the issue I introduced as well as tightened the original fix a bit. Please let me know if this works out for you: https://github.com/vad710/UnityEngineAnalyzer/releases/tag/alpha-05

Hey, it worked! I have just two minor weirdness now. This message in the log:
AD0001  Warning Analyzer 'UnityEngineAnalyzer.StringMethods.DoNotUseStringMethod
sAnalyzer' threw an exception of type 'System.ArgumentException' with message 'U
nable to determine name of method'.             0,0
and the file UnityReport.html is empty, while report.json is ok.

Awesome!
Because the HTML file loads the json dynamically, some browsers have issues with Cross-Origin Request. If you open the HTML file in Firefox it should load. I am not exactly sure how to work around this yet. I might just create an HTML exporter and have the data embedded in the HTML.
I am not sure why you received that error on the DoNotUseStringMethod analyzer - this is one of the Analyzers that I moved to "Information" category and generally don't report it as it does not impact performance. Nevertheless, I will look into it. I will keep this issue open until I get more insight into your new problem.
Thanks again for helping through this issue - I hope you found the report to be helpful.

Yes I am sure it will be helpful and I really hope I can add more tests...let me know if you have plans to make it platform dependent.

I have a local branch where I am converting the tooling to work on dotnet core - Because of some bugs in the dotnet core tooling (https://github.com/dotnet/sdk/issues/527) it's been on hold.
I am also working on a plugin for Unity.
Please let me know if you need a hand making any new analyzers.

@vad710 I just saw that you are working on a plugin for Unity, that sound amazing.
Is it a project open for collaboration?
Also, do you have already an idea about the release date?

Hi @wpinaud ! Thanks for your interest in the project!
I've been working with some folks from Microsoft to get a Mac build of the analyzer and this has been my top priority - as this has been the most requested feature when I show the Analyzer at meetups and other developer events.
I do not have a date for the plugin and I have not opened it for collaboration yet.  If you have specific feature requests for either the plugin or the analyzer, I encourage you to create an issue.
thanks again!


Unresolved address on udp:ConnectClient blocks the program execution

UdpClient.java connect() method assigns the channel before future is success. the channel assignment needs to be done only if the future is success.

Fix #64


[Form Recognizer] Support new features on Document images

API change check
APIView has identified API level changes in this PR and created following API reviews.
azure-ai-formrecognizer


[Question] Authenticating via Actions

Hello,
I'm trying to follow the Chainguard docs for Authenticating with Github Actions so I can start using a Chainguard base image in a new pipeline.
I'm creating the Identity via the following:
chainctl iam identity create github methodaws \
  --github-repo=Method-Security/methodaws \
  --role=registry.pull

The identity gets created and I can see it in the Chainguard UI and via chainctl, but when I try to run the Actions workflow, I get the following (job)
Error: [101] unable to exchange tokens: rpc error: code = PermissionDenied desc = token has invalid subject: repo:Method-Security/methodaws:pull_request

In the chainctl help text, I see the ability to set the refs or the audience, but nothing about the subject.
Any help would be much very much appreciated, as I'm excited to give the Chainguard base images a spin in my projects.

For anyone seeing this in the future, the Chainguard team updated the documentation here and added some capabilities to chainctl to make this doable. To get it to work for me I had to create the identity without any refs:
chainctl iam identity create github <name> \
  --github-repo=<org>/<repo> \
  --role=registry.pull

And then once that was created, run
chainctl iam identity update <name> --subject repo:<org>/<repo>:pull_request

This was on chainctl version 0.1.326.


format: use shfmt to format sh files.

Use shfmt to format all the sh file.
https://github.com/mvdan/sh

lgtm!
Nice one @jcvenegas!
I'm afraid you've been caught by your own trap though :smile::
Kernel directory has changes check kernel/kata_config_version changed
ERROR: Please bump version in kernel/kata_config_version

If you get shfmt run on all the repos, it probably makes sense to integrate it into the CI in:

https://github.com/kata-containers/tests/blob/master/.ci/static-checks.sh

If we are going to do that, should we also consider https://github.com/koalaman/shellcheck ? @jodh-intel - is that the one we discussed before (or is there another lint-for-shell you know of?).

Sounds good.

@jodh-intel  @grahamwhaley  yes that would be great,  we have a lot of bash code in different repos hope we can (someday) in all repos :D .


Switching between Sieving and Primality testing

Sieving is particularly good at producing huge amounts of primes, particularly small ones and in sequential (or roughly sequential order). However their is some crossover point when the integers get large enough and the interval gets small enough that all the precomputation needed to sieve is slower than simply checking all the integers with a individual primality test.
From my comparisons of Machine-Prime and primesieve (the fastest primality testing and sieving software respectively), it seems that the crossover is around 100 million integers near 2^64 (i.e calling a fast primality test for less than 100 million integers around 2^64 is faster than sieving). I haven't benchmarked this program to see what the crossover point is but I suspect it is much higher and is something worth looking into. It would also save a considerable amount of memory.

That is a very good point.
That makes a lot of sense. I'll make some benchmarks to try to find the crossover point for this library. Thank you so much for the insight!


pkger and the pop migrator

Hey @markbates, pkger looks absolutely fantastic! I was wondering, have you given any thought as to how this would work with pop, specifically the migrator? The primary use case we have for packr was bundling sql migration files for use with pop so I'm obviously very interested in that side of things :)
I already see an http.FileSystem source for golang-migrate/migrate is in development, which pkger should easily be able to satisfy.

This is probably a better question over at https:/github.com/gobuffalo/fizz but I can't transfer the issue outside of the org. Would you mind re-opening over there? Sorry.
But the short answer is yes, everything will be migrated from Packr to Pkger, but how quickly I don't know. The Pop maintainers might have more to say on the subject though.


"Maximum object expansion depth exceeded" when importing in Foundry v11

Occasionally, importing a bundle in Foundry v11 with version 0.2.3 fails with a vague error which occurs on the server side:
FoundryVTT | 2023-06-18 17:03:29 | [error] Maximum object expansion depth exceeded
Error: Maximum object expansion depth exceeded
    at _expand (file:///home/dana/foundry/stable/bin/resources/app/common/utils/helpers.mjs:257:29)
    at _expand (file:///home/dana/foundry/stable/bin/resources/app/common/utils/helpers.mjs:263:32)
    at file:///home/dana/foundry/stable/bin/resources/app/common/utils/helpers.mjs:259:55
    at Array.map (<anonymous>)
    at _expand (file:///home/dana/foundry/stable/bin/resources/app/common/utils/helpers.mjs:259:46)
    at _expand (file:///home/dana/foundry/stable/bin/resources/app/common/utils/helpers.mjs:263:32)
    at file:///home/dana/foundry/stable/bin/resources/app/common/utils/helpers.mjs:259:55
    at Array.map (<anonymous>)
    at _expand (file:///home/dana/foundry/stable/bin/resources/app/common/utils/helpers.mjs:259:46)
    at _expand (file:///home/dana/foundry/stable/bin/resources/app/common/utils/helpers.mjs:263:32)

This seems to be a recursion issue, and is reproducible when trying to import the same bundle.

This seems to be fixed as of Foundry release 11.306.


Integrate documentation with readthedocs.

In order to make documentation more accessible, create a Makefile target and host them on readtthedocs.

Resolved by Pull Request #31.


activate does not accept more than one argument: ['bell-style', 'none']

Bug: Notebook Editor, Interactive Window, Editor cells
Steps to cause the bug to occur

Choose a conda environment in the editor
Open up a .ipynb file

Actual behavior
The notebook doesn't become interactive.
Expected behavior
The jupyter notebook to work 😄
Your Jupyter and/or Python environment
Please provide as much info as you readily know

Jupyter server running: Local
Extension version: 2020.4.76186
VS Code version: 1.44.2
Setting python.jediEnabled: false
Python and/or Anaconda version: 3.7.6
OS:  Mac
Virtual environment: conda

Developer Tools Console Output

Activating Python 3.7.6 64-bit ('xxxxx': conda) to run Jupyter failed with Error: Command failed: . /Users/xxx/.conda/bin/activate && conda activate xxxxxx && echo 'e8b39361-0157-4923-80e1-22d70d46dee6' && python /Users/xxx/.vscode-oss/extensions/ms-python.python-2020.4.76186/pythonFiles/pyvsc-run-isolated.py /Users/xxx/.vscode-oss/extensions/ms-python.python-2020.4.76186/pythonFiles/printEnvVariables.py activate does not accept more than one argument: ['bell-style', 'none'] .

thanks!

This would be a conda activate problem with the base extension (not DS specific).

Hi @harritaylor, thank you for reaching out.
I have a few questions to try and narrow down your issue:

Can you provide a sample repo (including your .vscode/settings.json) I could use to reproduce the issue you're facing?
Does this also happen if you pick a non-conda environment?
Does it also happen if you use an older version of the extension (for example 2020.3.71113)?
Where and how did you set bell-style none?

Thank you!

hi @kimadeline, sorry - I totally missed this!

Can you provide a sample repo (including your .vscode/settings.json) I could use to reproduce the issue you're facing?

https://github.com/harritaylor/vscode-issue

Does this also happen if you pick a non-conda environment?

No, looks like pyenv and system python are fine.

Does it also happen if you use an older version of the extension (for example 2020.3.71113)?

I'm still new to VSCode, not sure how to install an older version, sorry!

Where and how did you set bell-style none?

$ cat ~/.bashrc | grep bell
set bell-style none

In bash it seems :)

No problem, glad you got it figured out :)


Open /dev/tty in non-blocking mode

Resolves #452.

See https://code.rocketnine.space/tslocum/cview/issues/58 for additional discussion.

Thank you very much.
It worked fine in my environment.

Can confirm this fixes the issue introduced by https://github.com/gdamore/tcell/commit/7694d9082153d3ddfc0ca0815731e1a093321ac1
However, it seems to add a slight delay when quitting an application. I'll try and make a minimal example to show this.

I've taken a different approach entirely -- doing some more experimentation.  Please see my "tty" branch for an example.  This still uses /dev/tty, but it solves the blocking on disengage, and provides a pluggable interface for folks who want to build a different I/O layer underneath entirely (e.g. for a websocket terminal or something.)

My PR for this is #459  -- would appreciate test feedback.

I've merged #459 -- after making some additional fixes for darwin (which has a buggy tty driver in how it handles close()).  Those changes make this PR obsolete.


[Ticket]: Create a better navbar

Project
Website (potterdb.com)
Describe the ticket you want to create
In creating our new website it would be nice to have an improve navbar, which contains some important links.
It should contain:

Logo (already there)
Link to our documentation
Link to our status page
Hamburger menu, which links to the different DB search pages (e.g. characters, books, movies, etc.)

Make sure to make a branch from new-website.
If you have any questions, feel free to ping me. You can also send some pictures from current progress or make the PR as a draft.
Please the leave a note before starting, so I can assign you to this issue.
Acceptance Criteria

[ ] Has all the required fields / links
[ ] It is splitted in reasonable components
[ ] The navbar is mobile-friendly

Additional Details
No response
Screenshots
No response
Logs
No response

I can try to solve this.

How should this be designed? Is there a design document?

The status page, is usually linked in the footer. Are you sure you want it in the header?

How should this be designed? Is there a design document?

No, there's no design document 😂
Feel free to think of a layout / design for the navbar yourself.

The status page, is usually linked in the footer. Are you sure you want it in the header? And also can we add MUI library?

You probably have a point, I was thinking of just adding a link to the navbar, but def. makes more sense to add it the footer.
No, sorry, we won't add MUI to the new website.

Closed with #784


Update Get-PnPPlannerTask.md Example 3

Changed "Example 3" as -Group and -PlanId parameters cannot be used together
Before creating a pull request, make sure that you have read the contribution file located at
https://github.com/pnp/powerShell/blob/dev/CONTRIBUTING.md
Type

Documentation fix

Related Issues?
Documentation issue for Example 3
What is in this Pull Request ?
Correcting Documentation Example 3

Thank you @koulchi for your contribution !
It has been merged :)


Add additional header search path in the project template

Sometimes when consuming third-party libraries or pods, an additional module.modulemap file must be added somewhere in the header search paths of the underlying Xcode project. Currently, all header search paths are pointing to folders in platforms/ios and none of them is suitable for module.modulemap files coming from plugins (e.g.platforms/ios/Pods/Headers is cleaned by pod install). Currently, the solution is  to add the module.modulemap file manually in a specific path under platforms/ios after every cloning of the app codebase (and maybe after plugin add).
A possible solution is to add a header search path in the project template pointing to a path in platforms/ios, which can be used by plugins to store their custom module.modulemap files e.g. /platforms/ios/headers.

+1 platforms folder should be volatile, don't want to have to keep merging in module.modulemap or whatever else.

I've been trying to build a plugin with this all morning, and it's just endlessly frustring... module.modulemap just keeps getting blown away sometimes on debug, and I never know until I get into the debug and get the cant find variable error.

Hi @sitefinitysteve
Lets continue the discussion of the concrete problem here. I believe that your problem has a solution which doesn't require this feature.

Since we came up with a working solution for such a scenario I am closing the issue.


Native Mac Builder

./scripts/mac-build.sh on a mac device to build a native mac application and DMG installer.

Thanks for the contribution.


db query for the secretKey from accessKey is the bottleneck

In authentication, we quey the sqlite database the secretKey corresponding to the accessKey of the caller. But this is very very slow. I found 98% of the GET Object (50ms in total) is spending here.
First consider, sqlite caching.
Or it may be effective to hold the db as Map in-memory because the number of users will be at most 10000 (10k) in a system. If the User data is 100B it's 1MB thus quite reasonable :)
We can read out a sequential data of 5MB in 50ms if the read speed is 100MB/sec. All data are typically smaller than 5MB. So, minimizing authentication is valuable.

  def doGetSecretKey(accessKey: String): String = {
    val id = server.users.getId(accessKey).get
    server.users.getUser(id).get.secretKey
  }

these two queries are equally expensive though only one of them is indexed.
Maybe, accessing the database needs negligible overhead any way.

I am thinking of simply preserving csv formed table on disk and when the modification type is later than being memory, reread it. The simple is better for backward compatiblity

test: make -> get -> make -> get
don't cache after make (or update) always invalidate

it's ok closed


LinearNonnegative not respected?

Hello,
thanks for this great repo! It was easy to get it to run, and the examples worked fine. I was then trying to plug in some actual numbers from some Uniswap AMMs on a blockchain, for which I believe an arbitrage opportunity exists, but the netflows came out with some negative amounts for 2 of the three tokens - and to me the amounts do not look like they are within tolerance of 0. Any ideas/suggestions on where and why this is going wrong?
Thanks
fees = [0.998, 0.998, 0.997];

local_indices = [[1, 2], [2, 3], [1, 3]];

reserves = [[convert(Int128, 6.02764852e+20), convert(Int128, 1.509e+13)],
            [convert(Int128, 9.33e+12), convert(Int128, 4.63107700e+22)],
            [convert(Int128, 5.96761757e+22), convert(Int128, 6.56508707e+24)]];

pools = ProductTwoCoin[];

for (fee, reserve, indices) in zip(fees, reserves, local_indices)
    push!(pools, ProductTwoCoin(reserve, fee, indices))
end

prices = ones(3);

router = Router(
    LinearNonnegative(prices),
    [pools[1], pools[2], pools[3]],
    3,
)
route!(router)

Ψ = round.(Int128, netflows(router))
Ψ

> 3-element Vector{Int128}:
>  -566405340001681906073600
>        -753428385532417408
><PHONE_NUMBER>698692397400064

The LBFGS solver is likely not converging in the maximum iterations set due to conditioning of the system (the reserve numbers span 12 orders of magnitude, which can lead to numerical issues).
Try setting the keyword arg verbose=true in route! and see what the solver outputs.

Thanks for the quick reply!
The solver does not even go through any iterations it seems:
 N =            3     M =            5
 The initial X is infeasible.  Restart with its projection.

At X0         3 variables are exactly at the bounds

At iterate    0    f=  5.41813D+24    |proj g|=  5.66405D+23

           * * *

Tit   = total number of iterations
Tnf   = total number of function evaluations
Tnint = total number of segments explored during Cauchy searches
Skip  = number of BFGS updates skipped
Nact  = number of active bounds at final generalized Cauchy point
Projg = norm of the final projected gradient
F     = final function value

           * * *

   N    Tit     Tnf  Tnint  Skip  Nact     Projg        F
    3      1     21      1     0     1   5.664D+23   5.418D+24
  F =   5.4181273904498980E+024

ABNORMAL_TERMINATION_IN_LNSRCH

Now, using what you said about the orders of magnitude, in this small problem I can actually still obtain the correct solution by scaling the reserves for tokens 1 and 3 by 1e-10, and adjusting the prices to something like [5, 0.01, 0.01], as I want any profit to accrue in token 1. The solution will then also be scaled down by 1e-10, but I can just reinflate the numbers.
However, even for a given token, I have seen reserves across different CFMMs easily span more than 10 orders of magnitude at times, and I wonder what a possible solution in that scenario might be?
I do like the elegance of the underlying approach, so I am curious whether this can actually be made more robust in some way.
Thanks!

Going to add a note to the docs about numerical issues / scaling issues and then close this.

In this case, as with many iterative methods, the important part is ensuring that the problem is correctly scaled. The termination conditions for many algorithms (such as this one, as you point out) depend on the actual magnitude of the numbers, which is why the algorithm works quite well when you scale everything down by 1e-10 vs. passing the amounts directly to the solver! (We have had a few reports of people using this method/package in production, so we suspect such scaling can be done.)
How to appropriately scale reserve amounts is left as an exercise to the reader :)

How to deal with Uniswap V3/Curve V2 pools?


Project: The notification bot proactively sends messages in Teams channel or group chat or personal chat. You can trigger the notification bot with an HTTP request, such as cards or texts.

Project name
Ai-bot
Description
A common request from companies and organizations considering bots is the ability to be able to notify users on news (e.g. new available features).
This project implements a framework called notifications which enables bot authors to implement a notifications capability, with minimal changes to the actual bot.
It also includes a very simple implementation that illustrates the core concepts with minimal configuration.
This project is written in TypeScript.
Project Repository URL
https://github.com/Vaibhavpan02/Ai-bot
Project video
www.youtube.com
Team members
https://github.com/Vaibhavpan02?tab=repositories

Hi @Vaibhavpan02, I cannot find your details in the registration list. Can you please make sure you register to the hackathon, otherwise you won't be eligible for the digital badge. Registration can be completed from here: https://aka.ms/hack-together-teams/register

Hey @Vaibhavpan02, it seems like the app you've submitted is not a Teams app. As such, it doesn't meet the hackathon's criteria and we'll have to reject it.


Add async library support

Add async support on the entire library -- simply use AsyncClient instead of Client if you want to work in an asyncronous environment.

Here. I did not remove .idea/ from the .gitignore, it is from the JetBrains IDEs.


Embossed widgets' shadows are incorrect

Hey, this package is actually amazing, I really like how easy it is to implement neomorphic containers with it. I only think there is a problem with the emboss parameter in the container.
The shadow of an embossed widget actually should blur on the inside of the Container and not on the outside I guess.
I also know this is not implemented natively in flutter, but there could be a workaround for that.

Yea I have noticed that too @nonoyona @mcaubrey

Hey there, sorry for the delay in response.
You mean something like this,

Instead of something like this,

Right?
I don't know whether or not I'd call either way right or wrong, but they definitely both have value. If someone can come up with a work around I'd definitely incorporate it as an option at least (or maybe even make it default?).
I tried to put together a workaround the other day and failed. Maybe others will have better luck than me.

Hey actually I found a way to implement the first version of the panel, but it has a major drawback.
currently, the ClayContainer has the ability to have a CurveType of convex, concave or none.
With my implementation, the CurveType ist restricted to none.
Just tell if you'd like to see my implementation anyways.

Instead of using emboss: true, using depth: -20 makes ClayContainer more like a reference version but not the same. But, I like this package's approach more 👍

This would be awesome!


optgroup with single select

Hey, can't select only one option when optgroup is enabled:
https://codepen.io/damian-woniak/pen/PomvYeN

Hello in function addOptgroup -> addOptgroup.call(this, i, selectOptions);
Previously was  addOptgroup.call(this, startIndexi, selectOptions);
Work for me!

Hello in function addOptgroup -> addOptgroup.call(this, i, selectOptions);
Previously was addOptgroup.call(this, startIndexi, selectOptions);
Work for me!
Nice workaround! Thanks. Hope this bug will be fixed soon

Hello in function addOptgroup -> addOptgroup.call(this, i, selectOptions);
Previously was addOptgroup.call(this, startIndexi, selectOptions);
Work for me!

Nice workaround! Thanks. Hope this bug will be fixed soon

Sorry but this workaround isn't working for me. Any tips? I've followed everything exactly.

Hello in function addOptgroup -> addOptgroup.call(this, i, selectOptions);
Previously was addOptgroup.call(this, startIndexi, selectOptions);
Work for me!

Sorry but this workaround isn't working for me. Any tips? I've followed everything exactly.

Hello in function addOptgroup -> addOptgroup.call(this, i, selectOptions);
Previously was addOptgroup.call(this, startIndexi, selectOptions);
Work for me!

Sorry but this workaround isn't working for me. Any tips? I've followed everything exactly.

@wastzzz It probably depends on your setup but you may also need to apply the patch to dist/js/bootstrap-select.min.js, if that's what you are using. In my case, I am using webpack which does its own minification so I don't need bootstrap-select.min.js.
If you are using dist/js/bootstrap-select.js then you can install my git version, I did yarn add technical-team/bootstrap-select#152c93764e78eb52a5d20ff88ad5194bd766b061
Maybe would be easier if there would just be 1.14.0-beta-3 release of this library, given that some pretty basic functionality is broken :)

Hi Lee, thanks so much for your reply. I’ll try that today.
Yeah I agree it would be better to wait for next release, but I’ve migrated everything to bs5 and I need to find a temporary fix for this somehow.
Best
Massimo

On 12 Sep 2021, at 22:34, Lee Houghton @.***> wrote:

Hello in function addOptgroup -> addOptgroup.call(this, i, selectOptions);
Previously was addOptgroup.call(this, startIndexi, selectOptions);
Work for me!
Sorry but this workaround isn't working for me. Any tips? I've followed everything exactly.
@wastzzz It probably depends on your setup but you may also need to apply the patch to dist/js/bootstrap-select.min.js, if that's what you are using. In my case, I am using webpack which does its own minification so I don't need bootstrap-select.min.js.
If you are using dist/js/bootstrap-select.js then you can install my git version, I did yarn add technical-team/bootstrap-select#152c93764e78eb52a5d20ff88ad5194bd766b061
Maybe would be easier if there would just be 1.14.0-beta-3 release of this library, given that some pretty basic functionality is broken :)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.


replace merr MultiError with errors.Wrap...

I think the MultiError can be replaced with errors.Wrap to make it consistent with other parts of the code.

Could you provide an example? The functionality seems quite different
On Thu, Jul 5, 2018, 6:32 PM Krasi Georgiev<EMAIL_ADDRESS>wrote:

I think the MultiError can be replaced with errors.Wrap to make it
consistent with other parts of the code.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/prometheus/tsdb/issues/359, or mute the thread
https://github.com/notifications/unsubscribe-auth/AEuA8jkEQYGq43O0Qt2ggyQp4ex8sOXMks5uDj-UgaJpZM4VEMeY
.


Fix PA and salvage magnet scuffedness.

:cl:

fix: You can rotate the salvage magnet and PA parts again.

freezers and heaters need this as well


fix: implement processMap with recursion on ChangeCase

Currently, ChangeCase could not handle Map type input record without schema. So, expands the coverage of this SMT.

Hi @okayhooni! Thanks for submitting this. Can you add a unit test for the new functionality.

@jcustenborder Sure! I added a simple test case for processMap of ChangeCase :)


Demo not available

Hi Vincent,
the new release sounds really good, but your demo on apex.oracle.com is not available:
Error	The application alias "MATERIAL" can not be converted to a unique application ID.
Contact your application administrator.

Can you retry now? There was a problem with the application alias which is now resolved: https://apex.oracle.com/pls/apex/f?p=12192:
You might need to re-import it in your workspace.


Watching logs results in nil pointer exception

Describe the bug
Watching logs of an allocation using follow is causing a nil pointer exception.
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x8 pc=0x95195c]

goroutine 785 [running]:
github.com/robinovitch61/wander/internal/tui/nomad.ReadLogsStreamNextMessage.func1()
	/home/ghthor/go/pkg/mod/github.com/robinovitch61/wander@v0.9.0/internal/tui/nomad/logs.go:106 +0x3c
github.com/charmbracelet/bubbletea.(*Program).StartReturningModel.func6.1()
	/home/ghthor/go/pkg/mod/github.com/charmbracelet/bubbletea@v0.21.0/tea.go:470 +0x33
created by github.com/charmbracelet/bubbletea.(*Program).StartReturningModel.func6
	/home/ghthor/go/pkg/mod/github.com/charmbracelet/bubbletea@v0.21.0/tea.go:468 +0x14d
exit status 2

To reproduce
Steps to reproduce the behavior:

Follow the logs of an allocation
Perform a deployment that will cause that allocation to be stopped
See error

I believe this is the reproduction, but I haven't confirmed as yet. I've seen it twice now, but I was iterating on something else and didn't go intentionally reproduce.
Expected behavior
Return to the allocations page?
OR Post to the logs that the allocation has been stopped maybe?
Screenshots

Please complete the following information:

OS: linux
Terminal: xfce4-terminal
Version: 0.9 built from source
Configuration options: none

Additional context
Add any other context about the problem here.

Good catch! Thanks for the thorough report

I've haven't been able to consistently recreate it, might be data race after and allocation has been stopped/replaced?

Yea, I can't repro either :/. Yea or maybe a connection timeout of some sort. There are definitely things I could do to guard against this better, and I'll keep messing around to see if I can repro too. Let me know if you find a way to do so.

Since I haven't been able to repro this, I'm going to close! Let me know if anyone gets a reliable repro going.


Path is not returned to command line in OS X 10.10+iTerm2

Searching using ctrl-F works perfectly, but pressing Enter/Return returns to the command line without appending the path to the command line. My environment is OS X 10.10 + iTerm2 + bash(3.2.57).

Bash 4.x+ is required for qfc to work.
http://apple.stackexchange.com/a/24635

Ah, sorry I should have noticed/checked the bash version requirement. Thank you.


Connecting twice to existing and opened session gives error

When you have an existing tmux session to a directory and this session is your currently selected session, and you then try to connect to it again (okay, I know, this sounds stupid, but it just happened to me by accident), you get this screen with exit 1 status:

Expected behaviour would be that sesh does nothing.

Thanks for flagging this, should be a quick fix.

I also saw this yesterday when working on my PR, can confirm the behavior as well.

This is fixed, however we're going to figure out how to hide the attached session from the list as it's a feature some people like.
So watch out for future changes. I'll make sure this bug isn't reintroduced.

I've just pulled the latest version of sesh and now I can't change to any open sessions anymore. I'm always getting the error as in the above screenshot...

Sorry about that, I really need to get #36 setup and running. I fix one thing and another breaks!
I appreciate your quick feedback on these issues.

0.7.2 fixes the issue


And if I type multiple underscores this is what it looks like:

I have no terminal specific settings.
alt account of @TylerLeonhardt when using Linux

/duplicate https://github.com/microsoft/vscode/issues/158497
@TylerLeonhardt-alt could you post the font you were using on that issue?

I don't have any font set so I guess:
"editor.fontFamily": "'Droid Sans Mono', 'monospace', monospace"


Replace Route Policy with Component Policy

Signed-off-by: Bernd Verst<EMAIL_ADDRESS>Description
Removes Route Policy in favor of Component Policy for PubSub and Bindings. This simplifies the user experience a lot at this time.

Can you give an example here of the difference in user experience?

Copying from an internal chat:
@halspang wrote:

So we've been noodling on what do with the Route Policies. Here's where I've come down and feel pretty strongly:
We remove the RoutePolicy entirely and just use the ComponentPolicy for all of pubsub/bindings. I feel this way for the following reasons:

I want the barrier to entry to be as low as possible here. RoutePolicies can make sense for advanced users but the more naive a customer is about dapr, the more confusing it'll be. Honestly I feel like ease of access should be the highest priority.

If you really want to have different policies for publish/subscribe you can always make more than one component.

CRDs are additive and adding it later is possible. The opposite is not true, or at least not easy.

The planned Phase 2 of resiliency would take care of a lot of this anyway as it's the API level CEL filtering.

Thanks,  it makes sense overall, but:

If you really want to have different policies for publish/subscribe you can always make more than one component.

That might be a problem since Dapr will essentially be initializing the same component twice with 2 different connections That might lead to some odd behaviors.

The Python SDK for example abstracts the concept of routes because it magically registers default routes for PubSub topics. A user would not be explicitly aware of the existence of routes. It makes more sense for the simple PubSub topic subscription resiliency to be covered by the overall component policy.
I do not think we should expect folks to know about the existence of routes (and their implementation) and having to set route policies at this time.

@artursouza @yaron2 @halspang are we going to proceed with this change? It will certainly make documenting how resiliency works a lot easier.

That might be a problem since Dapr will essentially be initializing the same component twice with 2 different connections. That might lead to some odd behaviors.

Yeah, that's not ideal. That point was more to illustrate that we aren't really losing anything here if a customer needs it immediately. I think this kind of scenario is better covered in Phase 2/with user feedback about how they want it covered.

@halspang @berndverst I agree we can proceed, having looked at the user experience with route policies, I think this makes more sense for this stage of the APIs.
However, regardless of that, I strongly recommend we change this:
type ResiliencySpec struct {
	Policies       Policies       `json:"policies"`
	BuildingBlocks BuildingBlocks `json:"buildingBlocks" yaml:"targets"`
}

type BuildingBlocks struct {
	Services   map[string]EndpointPolicyNames `json:"services,omitempty" yaml:"services,omitempty"`
	Actors     map[string]ActorPolicyNames    `json:"actors,omitempty" yaml:"actors,omitempty"`
	Components map[string]PolicyNames         `json:"components,omitempty" yaml:"components,omitempty"`
}

To this:
type ResiliencySpec struct {
	Policies       Policies       `json:"policies"`
	Targets Targets `json:"buildingBlocks" yaml:"targets"`
}

type Targets struct {
	Apps   map[string]EndpointPolicyNames `json:"apps,omitempty" yaml:"services,omitempty"`
	Actors     map[string]ActorPolicyNames    `json:"actors,omitempty" yaml:"actors,omitempty"`
	Components map[string]PolicyNames         `json:"components,omitempty" yaml:"components,omitempty"`
}

OR
type ResiliencySpec struct {
	Policies       Policies       `json:"policies"`
	Targets Targets `json:"appliesTo" yaml:"targets"`
}

type Targets struct {
	Apps   map[string]EndpointPolicyNames `json:"apps,omitempty" yaml:"services,omitempty"`
	Actors     map[string]ActorPolicyNames    `json:"actors,omitempty" yaml:"actors,omitempty"`
	Components map[string]PolicyNames         `json:"components,omitempty" yaml:"components,omitempty"`
}

Why?
The term building blocks for what it currently stands is confusing, if not wrong. Under building blocks we find Components - Components are not building blocks.
We also find Services, which is an ambiguous name, and also not a building block per-se. To Kubernetes users, this might mean a selector of a Kubernetes service, for example. In Dapr jargon we often try to refer to higher level constructs, in this case, it's an app, and so I recommend to change services to apps and buildingBlocks to targets or appliesTo, for clearer understanding and readability.

@yaron2 can you take another look now? I made the changes you suggested.
targets:
  components:
      pubsub1:
        // specifying values only at the top level is equivalent to setting an output policy
        retry: pubsubRetry
        circuitBreaker: pubsubCB

      pubsub2:
        output:
          retry: pubsubRetry
          circuitBreaker: pubsubCB
        input:
          timeout: general
          retry: pubsubRetry
          circuitBreaker: pubsubCB

@berndverst great changes, thanks!
My only remaining concerns is with the ambiguity of having a top level policy that defaults to an output policy.
I think it would be simpler and much more to the "element of least surprise" if we cancel the top policy feature.

@yaron2 yes I agree - I am totally fine removing the top level way to specify a policy.

/ok-to-test


Add badges to README file

Preview Feature Pull Request
✅Code Review Checklist✅

[x] The head(source) branch for this pull request is a preview feature branch, with the correct naming syntax, in the following example:

A head(source) branch is the branch being merged into a target branch.
Example
Syntax: preview/feature/<issue-num>-<description>
Example: preview/feature/123-my-preview-feature

[x] The head(source) branch for this pull request is created from a preview release branch, with the correct naming syntax, in the following example:
Example
Syntax: preview/v<major>.<minor>.<patch>-preview.<prev-num>
Example: preview/v1.2.3-preview.4

[x] The base(target) branch for this pull request is a preview release branch, with the correct naming syntax, in the following example:

A base(target) branch is the branch that the head(source) branch is merging into.
Example
Syntax: preview/v<major>.<minor>.<patch>-preview.<prev-num>
Example: preview/v1.2.3-preview.4

[x] Pull request title matches the title of the associated issue.

[x] Associated issue exists and is linked to this pull request.

One issue per pull request.

[x] The labels attached to this PR match the labels attached to the associated issue.

[ ] My code follows the coding style of this project.

The style is enforced by the .editorconfig files in the project and displayed as warnings.  If there is an edge case, reach out and let's discuss it.

[x] A https://github.com/KinsonDigital/VersionMiner/labels/preview label has been added to the pull request.

[ ] I have manually tested my code changes to the best of my ability.

[ ] All tests passed locally.

This is required because unit tests might pass locally but not in the CI environment during the status check process or vice-versa.
Tests might pass on the developer's machine but not necessarily on the code reviewer's machine.
This does not mean that the tests pass in both the local and CI environment.
Status checks run for this pull request when merging into the preview/v*.*.*-preview.* branch.  These status checks run every time a change is pushed to the pull request.  These checks validate version syntax, tagging, builds, unit tests, and more.

All I wanted to do is to make a comment that all of the boxes aren't checked.  Not sure if this is the best way to do it.


Another python 2 issue

Weights and Biases version: 0.4.1
Python version: 2.7
Operating System: ubuntu

Description
wandb init

What entity should we scope to? [models]: Traceback (most recent call last):
  File "/home/l2k/.local/bin/wandb", line 11, in <module>
    sys.exit(cli())
  File "/home/l2k/.local/lib/python2.7/site-packages/click/core.py", line 722, in __call__
    return self.main(*args, **kwargs)
  File "/home/l2k/.local/lib/python2.7/site-packages/click/core.py", line 697, in main
    rv = self.invoke(ctx)
  File "/home/l2k/.local/lib/python2.7/site-packages/click/core.py", line 1066, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/l2k/.local/lib/python2.7/site-packages/click/core.py", line 895, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/l2k/.local/lib/python2.7/site-packages/click/core.py", line 535, in invoke
    return callback(*args, **kwargs)
  File "/home/l2k/.local/lib/python2.7/site-packages/click/decorators.py", line 17, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/home/l2k/.local/lib/python2.7/site-packages/wandb/cli.py", line 38, in wrapper
    return func(*args, **kwargs)
  File "/home/l2k/.local/lib/python2.7/site-packages/wandb/cli.py", line 298, in init
    result = ctx.invoke(projects, entity=entity)
  File "/home/l2k/.local/lib/python2.7/site-packages/click/core.py", line 535, in invoke
    return callback(*args, **kwargs)
  File "/home/l2k/.local/lib/python2.7/site-packages/wandb/cli.py", line 38, in wrapper
    return func(*args, **kwargs)
  File "/home/l2k/.local/lib/python2.7/site-packages/wandb/cli.py", line 86, in projects
    projects = api.list_projects(entity=entity)
  File "/home/l2k/.local/lib/python2.7/site-packages/wandb/api.py", line 41, in wrapper
    return func(*args, **kwargs)
  File "/home/l2k/.local/lib/python2.7/site-packages/wandb/api.py", line 156, in list_projects
    'entity': entity or self.config('entity')})['models'])
  File "/home/l2k/.local/lib/python2.7/site-packages/gql/client.py", line 52, in execute
    raise Exception(str(result.errors[0]))
Exception: {u'message': u'Resource not found', u'locations': [{u'column': 3, u'line': 2}]}

I need to make these exceptions pretty again, this is actually a 404 from the backend.  Did you type anything, or just use the default 'models' when prompted?

I fixed the error display in 0.4.2.  Couple things, I'm calling your username "entity" here, but I will change this to username or organization.  I can also grab your username from a more refined login flow.  I'm using "models" as the organization for public models, maybe we should make public models the "zoo" organization?


rafs/v6: pack rdev for rafs v6 image

For special files, we can store rdev into v6
extended inode i_u field.
addresse https://github.com/dragonflyoss/image-service/issues/554

@changweige , a new test job has been submitted. Please wait in patience.

@changweige , The CI test is completed, please check result:

Test CaseTest Result

merge-target-branch:white_check_mark:SUCCESS

build-docker-image:white_check_mark:SUCCESS

compile-nydus:white_check_mark:SUCCESS

compile-ctr-remote:white_check_mark:SUCCESS

compile-nydus-snapshotter:white_check_mark:SUCCESS

start-nydus-snapshotter-config-containerd:white_check_mark:SUCCESS

run-container-with-nydus-image:white_check_mark:SUCCESS

Congratulations, your test job passed!


Persist window state (size, position)

This PR implements issue #451 and adds code to persist the window state of the Electron application, including its size and position so it's starting at the same position and size when opening the application as it was closed. I also added some checks to reset both position or size to default if it's not inside the screen border's (e.g. when switching to a smaller screen).

@jarne this implementation is not working correctly in all cases. At least on Windows when window is maximezed then x and y values are stored with negative values and then during startup reset to undefined.


Updated index file

Updated the index file with summary statement as requested.

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs-ref-conceptual/operationsmanager/index.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

#sign-off


I found two problems about Scheduled Jobs in redisson3.7.5

I am using scheduleWithFixedDelay to create a scheduled job, initialDelay is 0 and delay is 10m. When the job was running, I found the job's interval is 5min.
I found the problem was created by ff..requestId, because the ExecutorOptions.default() is 5m.
Read the script in ScheduledTasksService.java:
commandExecutor.evalWriteAsync(name, LongCodec.INSTANCE, RedisCommands.EVAL_BOOLEAN,
// check if executor service not in shutdown state
"if redis.call('exists', KEYS[2]) == 0 then "
	+ "local retryInterval = redis.call('get', KEYS[6]); "
	+ "if retryInterval ~= false then "
		+ "local time = tonumber(ARGV[4]) + tonumber(retryInterval);"
		+ "redis.call('zadd', KEYS[3], time, 'ff' .. ARGV[2]);"
	+ "elseif tonumber(ARGV[5]) > 0 then "
		+ "redis.call('set', KEYS[6], ARGV[5]);"
		+ "local time = tonumber(ARGV[4]) + tonumber(ARGV[5]);"
		+ "redis.call('zadd', KEYS[3], time, 'ff' .. ARGV[2]);"
	+ "end; "

	+ "redis.call('zadd', KEYS[3], ARGV[1], ARGV[2]);"
	+ "redis.call('hset', KEYS[5], ARGV[2], ARGV[3]);"
	+ "redis.call('incr', KEYS[1]);"
	+ "local v = redis.call('zrange', KEYS[3], 0, 0); "
	// if new task added to queue head then publish its startTime
	// to all scheduler workers
	+ "if v[1] == ARGV[2] then "
	   + "redis.call('publish', KEYS[4], ARGV[1]); "
	+ "end "
	+ "return 1;"
+ "end;"
+ "return 0;",
Arrays.<Object>asList(tasksCounterName, statusName, schedulerQueueName, schedulerChannelName, tasksName, tasksRetryIntervalName),
startTime, request.getId(), encode(request), System.currentTimeMillis(), tasksRetryInterval);

Debug the code, I know startTime is System.currentTimeMillis() + delay, but 'ff'..ARGV[2] is System.currentTimeMillis() + retryInterval. In my program, delay is 10m, retryInterval is 5m, so 'ff'..requestId is before requestId in zset named {jobName:org.redisson.executor.RemoteExecutorService}:scheduler. So, the job's interval is changed to 5 minutes.
Another problem is that {jobName:org.redisson.executor.RemoteExecutorService}:retry-interval was deleted when only one Job was running and first run() was finish.
Read the script in TasksRunnerService.java:
private void finish(String requestId) {
	commandExecutor.evalWriteAsync(name, StringCodec.INSTANCE, RedisCommands.EVAL_VOID,
		   "local scheduled = redis.call('zscore', KEYS[5], ARGV[3]);"
		 + "if scheduled == false then "
			 + "redis.call('hdel', KEYS[4], ARGV[3]); "
		 + "end;" +
		   "redis.call('zrem', KEYS[5], 'ff' .. ARGV[3]);" +
		   "if redis.call('decr', KEYS[1]) == 0 then "
			+ "redis.call('del', KEYS[1], KEYS[6]);"
			+ "if redis.call('get', KEYS[2]) == ARGV[1] then "
				+ "redis.call('set', KEYS[2], ARGV[2]);"
				+ "redis.call('publish', KEYS[3], ARGV[2]);"
			+ "end;"
		 + "end;",
			Arrays.<Object>asList(tasksCounterName, statusName, terminationTopicName, tasksName, schedulerQueueName, tasksRetryIntervalName),
			RedissonExecutorService.SHUTDOWN_STATE, RedissonExecutorService.TERMINATED_STATE, requestId);
}

When tasksCounterName's value is 0, tasksRetryIntervalName is deleted. But tasksRetryIntervalName can't be reset.

Fixed


Adding EventToken, using it in binlog services.

Adding an EventToken structure in query.proto.
Using it in Binlog Streamer and filtered replication.
Using it in Update Stream in POS events as well.

Note the main change there is that an EventToken has a replication
position (GTIDSet), not a transaction ID (GTID). Both server and clients
were computing the position individually anyway by accumulating
transaction IDs, might as well just send the position. And it will make
more sense for later use of EventToken.
Also, we don't set the 'Shard' field of the EventToken just yet. I'm
still not sure vttablet should do it, as opposed to vtgate.

LGTM


Problems with overly when using 2 dialog

Hi team,
When i use 2 dialgos, i close the second but i lose the overlay of the first dialog.
Open first dialog:

Open second dialog:

Close the second dialog and lost the overlay:

Any solution?
Thank you.

In Metro 4, all dialogs are use one global overlay

Thank you for your response olton,
In this case, i should avoid using two dialogs at the same time, right?
Is there no solution?
Thank you.

Hi ShiruJan, please view this post two overlays

in 4.2.24, I was add an attribute data-leave-overlay-on-close='true|false'. When true, overlay stay after dialog close.

Also, you can use events onShow and onClose to create and remove your own overlay

Perfecto, thank you!


Add attachmentURL parameter to postTweet()

Used for posting quote tweets

Sorry for the merge and revert again; I'm still a git noob

Thanks for the PR, this will now be merged.