Expose admin API for load balance

Hi, I am from game server background. Currently I am using ICE rpc framework where I can make my own load balancing rule by creating .so library and register it to ice's ice grid. In such way, I can handle the case where a player's states can move around across back servers with a fixed communication point attached in load balance.  Hopefully I make myself understood.
Is there similar thing existing in istio?
thanks.

I am not sure exactly what you are asking, but all our APIs that define various forms of load balancing can be found in https://istio.io/docs/reference/config/networking/ which may be a good starting place

thanks for your reply.
What I need is actually an programmatic way to make my own load balancing rule instead of hard coded rules.
Current Istio load balancer is perfect for web developments that have a fixed ‘patterns’ of round robin weighted and so on.
But game server does need a customised load balancing rule that is closely coupled with game plays.
If you still do not know I want, please search zero ice load balancer admin api.
Sent from my iPhone
On 1 Jun 2019, at 4:20 am, John Howard <notifications<EMAIL_ADDRESS>wrote:
I am not sure exactly what you are asking, but all our APIs that define various forms of load balancing can be found in https://istio.io/docs/reference/config/networking/ which may be a good starting place
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/istio/istio/issues/13859?email_source=notifications&email_token=ACQWWGPCUURW27AZZP4L6A3PYFUANA5CNFSM4HLFANKKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODWWACPY#issuecomment-497811775, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ACQWWGIKGB6W7KTETCDJ4LDPYFUANANCNFSM4HLFANKA.

if your needs extend beyond
https://www.envoyproxy.io/docs/envoy/v1.5.0/intro/arch_overview/load_balancing
then we probably don't support it. I think the most dynamic you can get
would be to have a layer above Istio that configures the CRDs, but not a
full custom lb strategy
On Fri, May 31, 2019, 7:15 PM Jake Zhang<EMAIL_ADDRESS>wrote:

thanks for your reply.
What I need is actually an programmatic way to make my own load balancing
rule instead of hard coded rules.
Current Istio load balancer is perfect for web developments that have a
fixed ‘patterns’ of round robin weighted and so on.
But game server does need a customised load balancing rule that is closely
coupled with game plays.
If you still do not know I want, please search zero ice load balancer
admin api.
Sent from my iPhone
On 1 Jun 2019, at 4:20 am, John Howard<EMAIL_ADDRESS><EMAIL_ADDRESS>wrote:
I am not sure exactly what you are asking, but all our APIs that define
various forms of load balancing can be found in
https://istio.io/docs/reference/config/networking/ which may be a good
starting place
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub<
https://github.com/istio/istio/issues/13859?email_source=notifications&email_token=ACQWWGPCUURW27AZZP4L6A3PYFUANA5CNFSM4HLFANKKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODWWACPY#issuecomment-497811775>,
or mute the thread<
https://github.com/notifications/unsubscribe-auth/ACQWWGIKGB6W7KTETCDJ4LDPYFUANANCNFSM4HLFANKA>.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/istio/istio/issues/13859?email_source=notifications&email_token=AAEYGXMDPXNNTOC6CCYEWSLPYHLTRA5CNFSM4HLFANKKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODWWWVRY#issuecomment-497904327,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAEYGXPIQQNSD4F4BVLLTPLPYHLTRANCNFSM4HLFANKA
.

ok thanks.
can close this issue
Sent from my iPhone
On 1 Jun 2019, at 12:51 pm, John Howard <notifications<EMAIL_ADDRESS>wrote:
if your needs extend beyond
https://www.envoyproxy.io/docs/envoy/v1.5.0/intro/arch_overview/load_balancing
then we probably don't support it. I think the most dynamic you can get
would be to have a layer above Istio that configures the CRDs, but not a
full custom lb strategy
On Fri, May 31, 2019, 7:15 PM Jake Zhang <notifications<EMAIL_ADDRESS>wrote:

thanks for your reply.
What I need is actually an programmatic way to make my own load balancing
rule instead of hard coded rules.
Current Istio load balancer is perfect for web developments that have a
fixed ‘patterns’ of round robin weighted and so on.
But game server does need a customised load balancing rule that is closely
coupled with game plays.
If you still do not know I want, please search zero ice load balancer
admin api.
Sent from my iPhone
On 1 Jun 2019, at 4:20 am, John Howard <notifications<EMAIL_ADDRESS>notifications<EMAIL_ADDRESS>wrote:
I am not sure exactly what you are asking, but all our APIs that define
various forms of load balancing can be found in
https://istio.io/docs/reference/config/networking/ which may be a good
starting place
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub<
https://github.com/istio/istio/issues/13859?email_source=notifications&email_token=ACQWWGPCUURW27AZZP4L6A3PYFUANA5CNFSM4HLFANKKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODWWACPY#issuecomment-497811775>,
or mute the thread<
https://github.com/notifications/unsubscribe-auth/ACQWWGIKGB6W7KTETCDJ4LDPYFUANANCNFSM4HLFANKA>.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/istio/istio/issues/13859?email_source=notifications&email_token=AAEYGXMDPXNNTOC6CCYEWSLPYHLTRA5CNFSM4HLFANKKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODWWWVRY#issuecomment-497904327,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAEYGXPIQQNSD4F4BVLLTPLPYHLTRANCNFSM4HLFANKA
.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/istio/istio/issues/13859?email_source=notifications&email_token=ACQWWGN5U62WZ4OYW52DUU3PYHP2HA5CNFSM4HLFANKKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODWWXFUY#issuecomment-497906387, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ACQWWGMI6IY5TWTKSBRSKXLPYHP2HANCNFSM4HLFANKA.


VST3 plugins are showing up twice

In all DAWs I've tried, the VST3 version of Sfizz shows up as two separate identical plugins.
I've double checked that I don't have two versions installed by mistake.

It should be the stereo and 16 out versions, if you can try. Only REAPER advertise them properly atm I think.

Hey, you're right! They do look absolutely identical until I find that I can enable the extra channels on one version.
In Studio One at least, I don't see stereo+16, it shows up as 8 stereo feeds, addressed in the SFZ file with output=0 to output=7. Numbers higher than 7 defaults to output 1.
Is the stereo-only version needed at all? As long as the SFZ file doesn't define any outputs, the multi-out one works just the same, right? In some VSTs you can switch between stereo and multi in their preferences.
No multi output version for AU, correct?

Hey, you're right! They do look absolutely identical until I find that I can enable the extra channels on one version. In Studio One at least, I don't see stereo+16, it shows up as 8 stereo feeds, addressed in the SFZ file with output=0 to output=7. Numbers higher than 7 defaults to output 1.

Yeah. I don't know if it defaults to 1, or wrap around modulo 8 but it's one of the two.

Is the stereo-only version needed at all? As long as the SFZ file doesn't define any outputs, the multi-out one works just the same, right? In some VSTs you can switch between stereo and multi in their preferences.

Besides UI clutter with the levels, there is a little added complexity in the multiple output version (if anything it zeros and checks all the empty outputs on each callback).

No multi output version for AU, correct?

I'm not sure, the AU is wrapped from the VST so if the wrapper doesn't do multiple outputs I guess now. Now I have a Mac so I can try.

In some VSTs you can switch between stereo and multi in their preferences.

Hmm in other plugin formats (e.g. LV2) the number of outputs is fixed in the manifest so it order to be compatible I'm not planning on making it a setting.
I added a suffix to the multi-out VST to differentiate. If someone wants to pick up the multi-out AU we can reopen an issue, thanks!


ci: add noxfile to use nox for ease of development

Overview
This PR adds the use of nox for ease of development by creating a noxfile.py configuration.

You will run nox command periodically and it will in turn run the below sessions to do the necessary tasks?

Yepp with this noxfile, you can run pipx run nox it will install the dependencies and run both pre-commit and test since that's listed as the two sessions.


Enhance NFT module

Summary
There are some differences between NFT and ERC721, now let them converge. Here are some rough ideas:

Add Approve function, NFT can be transferred from the owner or the approved address.
Denom adds update_restricted field, the owner can edit the NFT only when the update_restricted is true.
Denom adds Symbol field which is equivalent to ERC721Metadata.symbol().
Only the Denom creator can mint NFT, or it can be optional. Add mint_restricted for it.

The actual work is as follows:

Denom adds Symbol field which is equivalent to ERC721Metadata.symbol().
Denom add MintRestricted filed , MintRestricted is true means that only Denom owners can issue NFTs under this category, false means anyone can
Denom add  UpdateRestricted filed,  UpdateRestricted is true means that no one in this category can update the NFT, false means that only the owner of this NFT can update
Add transferDenom method that the owner of the NFT classification can transfer the ownership of the NFT classification to others


[2008] update new features and sidebar

Context
🚢
Changes proposed in this pull request
🚢
Guidance to review
🚢

 Copy in the right hand column of "Changing your basic details" needs updating


Run preview.yaml without secret key

To avoid the use of secret variable in CI which breaks the pr-preview-action when it runs from forked repo, the preview.yaml is updated to use pull_request_target event instead of pull_request. Permissions are removed as the GITHUB_TOKEN is granted read/write repository permission by default for that event.

The new code from the PR has to be checked out manually

i removed the branch, so it should run for every push.

The new code from the PR has to be checked out manually

i removed the branch, so it should run for every push.

What I mean is: pull_request_target checks out the main branch. You cannot just convert pull_request to pull_request_target and everything works the same.
https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#pull_request_target

This event runs in the context of the base of the pull request, rather than in the context of the merge commit, as the pull_request event does. This prevents execution of unsafe code from the head of the pull request that could alter your repository or steal any secrets you use in your workflow.

Since we decided that we want to run unsafe code from the PR explicitly, we need to check out that branch.

The new code from the PR has to be checked out manually

i removed the branch, so it should run for every push.

What I mean is: pull_request_target checks out the main branch. You cannot just convert pull_request to pull_request_target and everything works the same. https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#pull_request_target

This event runs in the context of the base of the pull request, rather than in the context of the merge commit, as the pull_request event does. This prevents execution of unsafe code from the head of the pull request that could alter your repository or steal any secrets you use in your workflow.

Since we decided that we want to run unsafe code from the PR explicitly, we need to check out that branch.

I think i got it but i am struggled to understand some concepts with pull_request_target and what it takes to checkout the PR and run against it. @perlpunk please check again https://github.com/openSUSE/backlogger/commit/90354506f3df5e4d88e921ae80bdbc609a69c59f

#40 is not doing what's expected.
Possibly because the action is actually doing a checkout itself: https://github.com/openSUSE/backlogger/blob/main/action.yaml#L32


Don't use string interpolation for log messages

Describe the bug
This is a bug in the least serious sense (and I might be wrong) but you shouldn't be using string interpolation to create message templates when you log errors etc. Explanation is here: https://nblumhardt.com/2015/01/c-6-string-interpolation-and-serilog/ but consider the existing code example:
Logger.ErrorException($"UNLEASH: Unhandled exception from background task '{name}'.", ex);
or a worse example:
Logger.Trace($"UNLEASH: Error {response.StatusCode} from request '{resourceUri}' in '{nameof(UnleashApiClient)}': " + error);
This will create a message template with the values of the interpolated parameters embedded in it as opposed to passing it as a parameters:
Logger.ErrorException("UNLEASH: Unhandled exception from background task '{TaskName}'.", ex, name);
Why is this an issue? In many logging tools, having the same messaging template but with different placeholders allows the logging system to spot a proliferation of the same error even with different parameters, for example lots of Unhandled errors from different background tasks, whereas if you have hard-coded the template, it just looks like lots of completely different log messages.
Lots of logging frameworks also support filtering on the parameters so in the example above, if done properly, you could search for e.g. "report-metrics-task" because it is passed as a separate parameter. By creating the template in-advance with the parameters, your only possibility would be a full-text search which would be either really slow or might pick up lots of results you are not interested with.
There are plenty of articles about doing it with the format string instead of interpolation.

Thank you for bringing this up @lukos, you are of course absolutely correct that this could be handled way better!
There are other things we'd like improve with the logging code as well, the complexity is one of them.
It's not going to happen right now, but we are in the process of looking at this and some alternatives to how we manage/maintain/keep this SDK up to date, as well as other SDKs.
You are of course welcome to submit a pull request, we'd be happy to look at it

There are plenty of articles about doing it with the format string instead of interpolation.

FYI: It would be possible to use message templated and string interpolation - see  https://github.com/serilog/serilog/issues/1643#issuecomment-1118085771


Determine best cloud/cluster deployment solution for MetaMorpheus

Probably would be good to have a working Linux version first.
We should be looking at Chemistry department resources, university resources, commercial solutions such Microsoft Azure and Amazon AWS

Linux version of MM was implemented with .NET core and is part of the Galaxy-P workflow


[Tooling] Apple Matter Developer Profile is no longer valid

Reproduction steps / Feature
The Matter Developer Profile which is required for developing matter devices using a Mac/iOS/iPadOS device is no longer valid.
Link to guide for matter development on Apple devices: https://github.com/project-chip/connectedhomeip/blob/master/docs/guides/darwin.md#profile-installation
Link to profile: https://developer.apple.com/services-account/download?path=/iOS/iOS_Logs/EnableBluetoothCentralMatterClientDeveloperMode.mobileconfig
Platform
other
Platform Version(s)
No response
Type
Manually tested with SDK
(Optional) If manually tested please explain why this is only manually tested
No response
Anything else?
No response

@andrew-elsayeh Thank you for the report.  This is being worked on.

This should be fixed now.


administrator missing

[Enter feedback here]

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

ID: bf1a1d2f-6f7f-e7e3-2c3e-e658e7179877
Version Independent ID: 77f0313f-4513-2434-3ac6-dea428f57f40
Content: Roles you cannot manage in Privileged Identity Management - Azure Active Directory
Content Source: articles/active-directory/privileged-identity-management/pim-roles.md
Service: active-directory
Sub-service: pim
GitHub Login: @curtand
Microsoft Alias: curtand

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


feat(behavior_path_planner): all modules publish modified goal

Signed-off-by: kosuke55<EMAIL_ADDRESS>Description

all modules of behaivor_path publish modified_goal.
Related links

related mission planner update: https://github.com/autowarefoundation/autoware.universe/pull/1495

// TODO(Takagi, Isamu): remove when modified goal is always published

launcher:  https://github.com/tier4/autoware_launch/pull/519
TIERIV INTERNAL LINK
Tests performed

psim
check in all modules.
(wip: currently use current stamp and publish goal pose at 10hz, think about which stamp is better
-> route stamp is better to detect new route, so changed to it)
https://user-images.githubusercontent.com/39142679/196347912-1ab78bc9-38c1-4fb0-a258-733014942c0a.mp4
Notes for reviewers

Pre-review checklist for the PR author
The PR author must check the checkboxes below when creating the PR.

[x] I've confirmed the contribution guidelines.
[x] The PR follows the pull request guidelines.

In-review checklist for the PR reviewers
The PR reviewers must check the checkboxes below before approval.

[ ] The PR follows the pull request guidelines.
[ ] The PR has been properly tested.
[ ] The PR has been reviewed by the code owners.

Post-review checklist for the PR author
The PR author must check the checkboxes below before merging.

[ ] There are no open discussions or they are tracked via tickets.
[ ] The PR is ready for merge.

After all checkboxes are checked, anyone who has write access can merge the PR.

after discussing in https://github.com/orgs/autowarefoundation/discussions/2983, we changed the way.
closed this PR, and send new PR https://github.com/autowarefoundation/autoware.universe/pull/2602


When calculating coverage in github action - it's failing on base branch coverage threshold

Hi,
I am using github action to calculate the coverage and push this info to my pr's.
here is my github coverage workflow. for
name: 'coverage'
on:
  pull_request:
    branches:
      - master

jobs:
  coverage:
    runs-on: [self-hosted]
    if: "!contains(github.event.head_commit.message, '[skip ci]')"
    steps:
      - name: Checkout Codebase
        uses: actions/checkout-action@v2
      - name: Use Node v14.15.1
        uses: actions/setup-node@v1
        with:
          node-version: 14.15.1
      - name: Create code coverage
        uses<EMAIL_ADDRESS>        with:
          github-token: ${{ secrets.GITHUB_TOKEN }}
          test-script: npm run test-coverage

I have specified by jest coverage to be 5 overall in my jest.config.js (apart from other things)
coverageThreshold: {
    global: {
      branches: 5,
      functions: 5,
      lines: 5,
      statements: 5,
    },
  },

I inspected the log of the actions workflow running.
when I use the any version above 2.0 like 2.0-rc.3 2.0-rc.4 or 2.0-rc.1 - it fails with this error
npm ERR!  Some features will be disabled.
Error: testsFailed
Error: Process completed with exit code 1.

But If I use lower versions like 1.3 - then it works.  But with 1.3 - it is not able to publish the increase/decrease of coverage, or coverage across individual files ( hence I want to use v2.0 - but the github action is not working for v > v2
What am I doing wrong

Hello @prabhasjoshi! 👋
For this action threshold needs to be specified via options, like this:
# ...

      - name: Create code coverage
        uses<EMAIL_ADDRESS>        with:
          github-token: ${{ secrets.GITHUB_TOKEN }}
          test-script: npm run test-coverage
          #          ↓ value in percents
          threshold: 5

This action currently not resolves the value of the coverageThreshold parameter from jest.config.js 😢. The issue for this feature already exists -> #82

@ArtiomTr another thing to add to this is  - everywhere  (in the github actions marketplace - https://github.com/marketplace/actions/jest-coverage-report and the github repo readme page)
it's been mentioned that if we use a custom script - we always have to use coverageReportes as text and text-summary:
npx jest --silent --ci --coverage --coverageReporters="text" --coverageReporters="text-summary"

so i was also using the same in my custom script - but i was getting this error untill i was giving these coverageReporters ->
but i think that with the newer versions  v > 2.0 -> this no longer holds true (this was true for version 1.3 and version 1.4)
the default script shud have these flags now (in order to run correctly)
npx jest --ci --silent --colors --coverage --testLocationInResults --json --outputFile=report.json

after i changed my custom script - it started working perfectly - you may want to change the readme based on the version selected.

Because v2.0 version is not currently stable, documentation is for v1.x versions. New documentation will appear here


lib/types: allow inline-lua in rawLua type

Another step towards #1935, allowing types.rawLua and strLua to accept _type = "lua-inline" values as an alternative to our custom __raw values.
It may be nice to also implement some "merge" functionality allowing otherwise "equal" definitions to not conflict based on which wrapper type they're using. I.e. currently having an option defined as mkRaw "foo" in multiple places merges fine using mergeEqualOption, but having a mkInlineLua "foo" would not merge.
Maybe we'll deal with that when we get around to coercing __raw -> lua-inline? As currently we'd need to only coerce if there's multiple definitions of different types.

I like the idea, just looks like there's something that needs to be tweaked with the changes.

         error: expected a function but found a list: [ «thunk» «thunk» «thunk» ]

@mergify queue


Bug: All graphs are shifted left by 1 floor

https://baalorlord.tv/runs/1666993589
On this graph, Max HP is halved at the Council of Ghosts event at floor 19, increased by 10 at floor 29 at Bonfire Spirits, and increased by 10 again at floor 53 with a Pear at the Shop. However, these actually happened on floor 20, 30, and 54.
The Gold graph also starts at 111 at Neow, and the HP graph loses 7 on floor 1, despite it being a 0 damage fight (and the floor 2 event was where the damage was actually taken).

Am I mistaken or is it actually shifted by 2 floors? I'm seeing the health drop on Floor 18. Graph also says we spend 400 gold on Floor 20 but it definitely happened on Floor 22 at the shop node.


Feat: Addin GSAP Animations to the website

Describe the feature
I want to add some minimilistic or you can say cool animations , which will make the website attractive , you can refer to my this project :
https://elitecricketacademy.netlify.app/
Add ScreenShots
I have attached a small recording , you can refer above link for whole website
https://github.com/dakshsinghrathore/Brighter-Beginnings/assets/124780421/0ae30360-3888-4fbf-a689-51de47d32c12
Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a SWOC24 contributor
[X] I want to work on this issue

Assigned this issue to @JATIN0926 , kindly drop a star on this repo
HAPPY CODING !

@JATIN0926  any updates ??

@JATIN0926 so you won't be working on this issue ?


Document organization and account reuse

Issue #, if available: https://github.com/awslabs/aws-bootstrap-kit/issues/13
Description of changes:
Document the usage of bootstrap kit when using it on an existing organization and how to leverage existing OUs and accounts.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

We need to bump dependencies to use the version of the construct that support this feature as well: 0.6.1


Browser support in http (non-secure context)

Currently the Clipboard API only works for secure contexts (https) which makes this library unusable in http. If that's intended probably you should add a simple statement in the readme file (or anywhere you place documentations)?

That is intended.

Check out https://github.com/sindresorhus/copy-text-to-clipboard for http.


Adding docker-compose example

Adding docker-compose example.
Three different services running three different endpoints that show part of diffy's features, such as differences in the json objects, response headers and the noise feature. A note was added to the README file in the root directory regarding the example.
Testing is not applicable to that case.
Let me know if you have any question.

@ThanosBaskous Any chance we could get you to review this?

@puneetkhanduri it seems that there is some non determinism towards oraclejdk8. Should we open an issue for that?

@travisbrown Any chance you could help review this request?
@camiloribeiro Let's open an issue regarding oraclejdk8 non-determinism. My guess is this has something to do with scala's runtime reflection libraries.


--bare and --full-report should be mutually exclusive

I ran into this problem way too often 🙂
Like here: https://github.com/wemake-services/docker-image-size-limit/blob/4b9a9c690d6b4ce2d90419ac9bed13f6898659af/.github/workflows/test.yml#L48
I propose to make --bare and --full-report CLI options for check command mutually exclusive. So, passing safety check --bare --full-report would result in ArgumentError. Right now it fallbacks to --bare.

Thanks for the report @sobolevn; Safety >= 2.0.0 fixes this issue.


Improve error handling

As mentioned in https://github.com/brainn-co/xcribe/issues/28 we must given a better feedback on failures.
One way to improve is implement a validation for conn given in tests: https://github.com/brainn-co/xcribe/issues/19
Other idea is improve macro document to save the test name, file and line. So when occur some crash we can display this information to users.

https://github.com/brainn-co/xcribe/pull/37


git support

any plans to add git support?
I am interested in helping.
does [posh-git] (https://github.com/dahlbyk/posh-git) help?
basic functionality list:

modified files
staged file
stage/unstage
commit
change branch
checkout
untracked files
add to ignore

etc..

Thank you, that would certainly be useful. I don't think posh-git will be much help though, as PsISEProjectExplorer is written in C# / WPF and would need some WPF (or at least .NET) library for Git integration. Will do some research when time allows, in worst case we could probably just run git as external process.

https://github.com/libgit2/libgit2sharp looks useful for this feature.

Possibly we could also show Git/SVN Windows Explorer shell extensions (coming from TortoiseGit/TortoiseSVN) in the context menu. See http://stackoverflow.com/questions/2583946/showing-windows-file-directory-context-menu-in-c-sharp-winforms-application.

+1 for Tortoise.
I'm speaking as a TortoiseGit user so i am already a fan but that aside, I think it might offer you a good option because it's already a feature rich solution meant to be accessed via the context menu. Seems like the perfect marriage for your own project.
Plus, this could lay the ground work for other such utilities to hook in ...
Keep up the great work; yours is just one of a select few modules in my ISE profile. I actually miss it when it's not there. Seems to work pretty will with the new ISE preview too.

Thanks @lorenzo2702, I will do that as soon as time allows (hopefully soon :))

The implementation is ready and will be released in version 1.4.0 (waiting for #2 and #35).

One more enhancement to do: reload icon when context menu is closed (e.g. after commit).


Update IdStore spec with public key

WebAuthn requires us to store the public key as well as the credentials.
See https://webauthn.guide/#registration

If the validation process succeeded, the server would then store the publicKeyBytes and credentialId in a database, associated with the user.

WebAuthn requires us to store the public key as well as the credentials.
See https://webauthn.guide/#registration

If the validation process succeeded, the server would then store the publicKeyBytes and credentialId in a database, associated with the user.

additionally from spec:
https://www.w3.org/TR/webauthn-2/#sctn-sample-registration

The server stores the credential public key in its database and associates it with the user as well as with the characteristics of authentication indicated by attestation, also storing a friendly name for later use.


chore: added four resource links

Fixes Issue
Closes #679
Closes #680
Closes #681
Closes #683
Changes proposed
added the following resources:
RIP Tutorial
best Resource Collection
Awesome Certificates list
AI search engine for developers
Screenshots

Note to reviewers
as per instructed I have worked on four addition of a link in one pull request, if you find it difficult to manage I will make each PR for each issue listed above.
Thanks

Since RIP tutorial is an e-book, it could be placed under resources/e-book category
AI search engine, could be added in others/dev-tools category

And for Resources collection and Awesome certificates, you rename this subcategory from websites to other resources

hi @rupali-codes, thanks for review. I have made changes hope it will solve it.

otherresources getting hard to read, could you make it other-resources

hi @rupali-codes, I have just changed it. please suggest if any more changes needed.

Hey, @dhrumilpatel30. Can you resolve these branch conflicts, please?

Hey, @dhrumilpatel30. Can you resolve these branch conflicts, please?

yes sure

hi @CBID2, I have resolved conflicts.

@CBID2 could you please review this PR?

@CBID2 could you please review this PR?

Done @rupali-codes


#Suggestion Use Alpine for lower space usage #2

Title.

Thanks for the suggestion. While I generally agree and also prefer using alpine images I am not completely sure in combination with Python.
If I remember correctly I once ran into problems and came across this article https://pythonspeed.com/articles/alpine-docker-python/ which might be outdated though. I might have to just give it a go for this little project and see for myself.

My alpine branch works fine with it.
https://github.com/lilkidsuave/cosmos-cert-extractor/tree/alpine
And if you are still iffy, someone in the discord also showed me a simpler bash version, and I took it further here.
https://github.com/lilkidsuave/cosmos-cert-extractor/tree/Bash

Thanks for the suggestion. While I generally agree and also prefer using alpine images I am not completely sure in combination with Python.
If I remember correctly I once ran into problems and came across this article https://pythonspeed.com/articles/alpine-docker-python/ which might be outdated though. I might have to just give it a go for this little project and see for myself.

Regarding build speed, its not far off debian, but Bash is much faster.

Yeah I saw the comment on Discord. It's pretty slick doing it in Bash tbh. I am wondering if inotifywait is also triggering multiple times on the file modification like when using watchdog, but you didn't opt for a file size check, so I assume it does not?
Anyway, I gave the alpine image a spin and as expected the image size is significantly lower. It seems to use a couple MB more RAM (approx. 17MB vs 11MB) though.

Yeah I saw the comment on Discord. It's pretty slick doing it in Bash tbh. I am wondering if inotifywait is also triggering multiple times on the file modification like when using watchdog, but you didn't opt for a file size check, so I assume it does not?
Anyway, I gave the alpine image a spin and as expected the image size is significantly lower. It seems to use a couple MB more RAM (approx. 17MB vs 11MB) though.

It doesn't double renew, but it does clog the logs when the config file gets changed.

Anyway, I gave the alpine image a spin and as expected the image size is significantly lower. It seems to use a couple MB more RAM (approx. 17MB vs 11MB) though.

The true savings is in the Bash method.

The true savings is in the Bash method.

Now that's some small memory footprint!

It doesn't double renew, but it does clog the logs when the config file gets changed.

You could try specifying -q twice as then "the program will output nothing at all, except in the case of fatal errors."

Thats true. Honestly that feature is already baked into the logs viewer anyway, it was just a concern of mine.

Closing as main issue is complete.


Refactored E2E benchmark to make it more configurable

cc: @joshfree, @botaberg, @ahsonkhan

@davidfowl, where did you get the request payload from? It would be good to use the same request you use in your perf lab.


 Clearly using rand::thread_rng() to generate a random range rather than the rng provided to you was a mistake (right?)

@StratusFearMe21 Welp, I forget this indeed, thank for the fix!


Proxying causes the "event" request to redirect when trailingSlash: true

I'm setting up Plausible on my NextJS site (using Vercel).
Using the default settings in next.config.js to set up the proxy:
const { withPlausibleProxy } = require('next-plausible')

module.exports = withPlausibleProxy()({
  // ...your next js config, if any
})

When visiting a page on my site, the page request to /api/event gets 308 redirected from /api/event to /api/event/ because I have "trailingSlash: true" in my next.config.js.
See screenshot:

Maybe a "trailingSlash: true" option in the PlausibleProxyOptions would be the simplest way to account for this. I'm sure a lot of NextJS users have the trailingSlash option enabled.
https://nextjs.org/docs/api-reference/next.config.js/trailing-slash

By the way, you don't have to do anything for this to work. It will automatically pick up the trailingSlash option from nextConfig.

Yes, it is working! Thanks for fixing this so quickly.


Have an endpoint which returns a single value

Hi,
Trying to get to grips with this framework, have an endpoint which returns a single value on post such as "e1adb336a630ec7a7e7fefeaa23e53f2".
The new version from yesterday throws the exception can not decode object, which is true its not an object. This endpoint comes from Magento 2 at /rest/V1/guest-carts/.
In reality we know it should be retuned something like
{
  "cart_id":"e1adb336a630ec7a7e7fefeaa23e53f2"
}

Will most likely try and fix magneto and issue a pull request there, but is there any way to get $save to ignore this check?

Yes, we added a check to ensure that $decode receives an object. Try adding a hook to the after-request event that sanitizes the response, like this:
$hooks: {
  'after-request': function(_request) {
    if(typeof _request.data == 'string') _request.data = { id: _request.data };
  }


authentication providers page to reflect status

Hey, I just made a Pull Request!
authentication providers page to reflect status
:heavy_check_mark: Checklist

[ ] A changeset describing the change and affected packages. (more info)
[ ] Added or updated documentation
[ ] Tests for new functionality and regression tests for bug fixes
[ ] Screenshots attached (for UI changes)
[ ] All your commits have a Signed-off-by line in the message. (more info)

fixes #17861


Add auto-update to panel like wordpress

Well, the panel doesn't really have a central authority unlike Wordpress so I don't know who well that would work, especially since not everyone places their files in the same place and structure as it is shipped with.
To update the panel all you really have to save it the unamwebpanel.db. So you can remove all files except unamwebpanel.db, then download the new panel and upload that, then replace the unamwebpanel.db with the one you saved from your previous version. Then change the password in config.php and you're done.

Hmm, what about making it a wordpress theme/plugin? That's sounds cool

The panel? That wouldn't really be possible due to how it works.


verified flag is also updated on edited invoice object

issue https://github.com/itenium-be/confac/issues/221
This whole edit screen along with some other edit screens should probably be refactored when we decide on how we want to handle forms, like we discussed. It's not great that the invoice object is split into different objects and can be updated separately like in this case for the verified flag on both the initInvoice and invoice objects

Yup, it needs to reviewed. I'll merge this as a temp work-around.
Note that modifying objects like this is typically a no-no in React since it potentially messes up the rendering.


Windows Phone: drag looses event

I use HammerJS for a project I'm working on right now.
It works perfectly on iOS (Safari & Chrome) and Android (Chrome, Firefox, Stockbrowser).
But not on the Windows Phone we have here for testing (Nokia Lumia 920, Windows Phone 8.0).
Especially when I use any Drag related events:
var element_content = document.getElementById('ed_main');
if(element_content != null){Hammer(element_content).on('release dragright swiperight dragleft swipeleft', hammerContent);}
The dragleft and dragright are not behaving correctly, when I start dragging, the draggable object is being moved for a split second, but it seems like the browser forgets that I'm dragging something and releases the draggable object.
I tried to do some remote debugging, but I'm in a restricted environment and I can't access the windows phone for remote debugging.
Anybody had a similar issue? Or any advice on how I can fix that?
Thanks in advance
Cheers H20

Closing this since its about drag and drag was removed in v2


I cannot verify the smart contract on the Rootstock mainnet.

Description
I was able to verify it on the main rootstock explorer, but not on BlockScout. I entered my details, including version 0.8.9+commit.e5eed63a, with optimization enabled (true) and 135 runs. I submitted a flattened .sol file, but it's just stuck on the loading screen. If I enter incorrect details, I receive an error message, but when I input the correct details, it remains stuck on the loading screen.

Type of the installation
Docker-compose
Type of the JSON RPC archive node
Rootstock
Type of the chain
L2
Link to the page
https://rootstock.blockscout.com/address/0x50506944cEB4b22eb872d01359E5060a5FCfa291/contract-verification
Steps to reproduce
No response
Backend version
v5.3.1-beta.+commit.1012b116
Frontend version
v1.16.0+502bcffe
Elixir & Erlang/OTP versions
?
Operating system
No response
Additional information
User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36

The issue related to database corruption, now it works


Heterogeneous capacity

This PR:

Implements support for heterogeneous vehicle capacities.
It is assumed routes are grouped together by vehicle capacities. This is not strictly required but will improve performance.
Inside individual, non-empty routes are shifted forward per group of same capacity-routes.
SREX will now operate on indices of non-empty routes, as they are no longer consecutive at the front. Filtering the non-empty routes first would lose the information about the capacities and create unnecessary copies.
LocalSearch will try moves involving an empty route for all types of empty routes.

Some things that could be added still:

Operators that will move a complete route to a different vehicle type
Examples / benchmarks

[x] Closes #188.
[x] Adds and passes relevant tests.
[] Has well-formatted code and documentation.

I'll review this tomorrow!

I seem unable to respond to comments involving outdated code so here it is:

How much slower would a single std::stable_sort be? It's certainly much shorter, with fewer cases that need comments. Since sorts can swap rather than copy, I'd also not be too surprised if it's actually faster.

I'm fine with this, feel free to implement it if you consider it important.

Can we do this in a separate function, rather than co-opting makeNeighbours for assignments? Assignments is vague. Assignments of what? Maybe something like client2veh?

I considered this but wasn't sure since you always want makeNeighbours and makeAssignments (and evaluate) to be called at the same time so maybe we should even wrap those in another function? Anyway for now I separated it and called assignments assignedRouteTypes.

@N-Wouda FYI I'm working on updating this branch to main. Given that we have the Route object now, I think it's easier to implement your suggestion of using sorting rather than the custom shifting code to move non-empty routes forward.
I think there are some things we should agree on:

How to call the Route/RouteData/VehicleType. I would like to propose RouteType and add a qty attribute similar to what you proposed in #188.
How to deal with SREX and heterogeneous fleet. Currently we mix types and don't care if we 'exchange' between routes of different (capacity) types, as violations will get resolved in the local search. This works, but if we plan to add more heterogenety to types this may get problematic (I'm having a case were this is) so another option may be to just do the exchange per vehicle type.

How to call the Route/RouteData/VehicleType. I would like to propose RouteType and add a qty attribute similar to what you proposed in https://github.com/PyVRP/PyVRP/issues/188.

I'm in favor of VehicleType. I understand your earlier comments that deliveries can be done by bikes, walking delivery men, etc., but the "vehicle" is just the practical name for the delivery person. That person's delivery method is constrained by capacities, forbidden depots, working hours, etc. In the context of solving VRPs, I think most users will understand that vehicles may represent other things.
A route is a sequence of client visits. The same route can even be delivered by different vehicles. Whether a route can be executed or not by some vehicles depends on the vehicle type. So naming RouteType instead of VehicleType is somewhat confusing to me.

How to deal with SREX and heterogeneous fleet. Currently we mix types and don't care if we 'exchange' between routes of different (capacity) types, as violations will get resolved in the local search. This works, but if we plan to add more heterogenety to types this may get problematic (I'm having a case were this is) so another option may be to just do the exchange per vehicle type.

How do we deal with the case where there is just one vehicle of a particular type?

How to deal with SREX and heterogeneous fleet. Currently we mix types and don't care if we 'exchange' between routes of different (capacity) types, as violations will get resolved in the local search. This works, but if we plan to add more heterogenety to types this may get problematic (I'm having a case were this is) so another option may be to just do the exchange per vehicle type.

How do we deal with the case where there is just one vehicle of a particular type?

I agree this is an issue. On the other hand, we currently have the issue if we use PyVRP to solve TSP I think (we don't do that but I think we want to support it)?

I spent some more time thinking about the SREX per vehicle time. This is not clearly defined, since we will typically have different customers assigned to a vehicle type. Therefore, I think we could first exchange the routes per type, but then do the greedy insertion across vehicle types (since here types also not really matter).
With this, it's also not a problem if we have single vehicles of a type, we just pick the route from one parent or the other: if we have 10 different vehicle types each with one vehicle, this means we may take +- 5 from one parent and 5 from the other, which is exactly the purpose of the SREX exchange. The difference is that they are not per se consecutive when sorted by angle (so the diversity may be bigger rather than smaller).

I think we can now close this, as #245 has been merged. @wouterkool can you remove the relevant branch(es)? I'm not sure what you want to keep around.


generic type interface with template literal string wrong generate implemented function

TS Template added by @mjbvz
TypeScript Version: 4.3.0-dev.20210228
Search Terms

implement interface
quick fix

VS Code Version: 1.53.2
OS Version: Darwin x64 19.6.0
typescript version: 4.1.5

Steps to Reproduce:
i make generic type interface with template literal string, and i use implements this type in class.
but vscode quick auto make interface feature wrong work. please look below screenshot.

i expect when i use implements interface and auto make interface function, setName(arg: string), setAddress(arg: number) maked . but in present name: (arg: string) and address: (arg:number) maked. so make type error in vscode...

but when i make this function myself, not make type error in vscode...
why generate implement function code wrong work with template literal string?

Does this issue occur when all extensions are disabled?: Yes

@RyanCavanaugh  hmm... if you time is okay, can you tell me what fix file for fix this bug?

I have same problem, you can reproduce here.

The latest version of TS doesn't suggest Implement interface QF for this case. I think there are two ways: mark this issue as fixed or try to make definitions from Symbol without declarations (current case omit QF because symbol doesn't declarations)
https://github.com/microsoft/TypeScript/blob/719ab0b47721c7dfe72708d8771f6778f2de58c3/src/services/codefixes/helpers.ts#L62-L64
@RyanCavanaugh @DanielRosenwasser @andrewbranch What do you think?

It would be nice for this to work still. We should be able to generate an implementation just from the type structure, no syntax needed. (I was actually surprised to learn recently that the implement interface fix does rely so heavily on the syntax of the declaring interface.)

@andrewbranch Oke, thanks


migrated and updated vcredist2017 from jberezanski

migrated from https://github.com/jberezanski/ChocolateyPackages/tree/master/vcredist2017
version updated to 2017 RC

@matbech thanks for creating this PR.
@jberezanski this looks good to me, any objections to it being pulled into this repo?

@jberezanski I have migrated and updated your package: https://github.com/chocolatey/chocolatey-coreteampackages/pull/420
if you have a chance, please review it. You are also listed as the original author of the package (https://github.com/chocolatey/chocolatey-coreteampackages/pull/420/files#diff-50d53a1b1c571cbec982d31d1a068b4d) which should help with any future PRs. Finally, please add the "chocolatey" user to the list of maintainers in the package administration page. Thank you.

@matbech Thanks for updating this package.  I'm currently in the process of rebuilding my dev machine, so I'm lagging a bit behind in Chocolatey package support.
A few issues:

Since this installer still overwrites the redist from VC++ 2015 (thanks for linking to the valuable comment by STL, by the way!), I'd like to keep the warning in the package description (perhaps with a slightly different wording, now that we know that this is intended behavior). Ultimately, I think both this package and vcredist2015 should be reshaped into metapackages that would depend on appropriate versions of a new vcredist140 package.
This is not RTM yet, so the package version should have a prerelease suffix ("-rc1", in this case).
I'd like to keep providing a short description of package changes in the release notes. "14.10.24629.0-rc1: First package release for Visual Studio 2017 RC" would work here, I think.
Does uninstallation work? Is the entry in Programs and Features actually named "Microsoft Visual C++ vNext Redistributable" now?

(Also, a hint for the future: this PR would be easier to review if you had first imported my code intact and then made your changes in a subsequent commit.)
Anyway, thanks for the PR. I hope I'm able to bring my machine online shortly, so that I'll be able to test this myself and work on building the new vcredist package.

@jberezanski

1
I have added the warning back but as a note instead. I don't think we should scare away users from installing/upgrading the redistributable.

2
Done

3
I believe the package description is self-explaining. Future changes for the same package version should be documented though.

4
Yes, that exact wording is in the uninstaller entry now. I expect it to be changed (again) in the final version.

I propose to merge this PR in the current state, so that it will be easier for you to do any other changes you wish to do.

Looks fine now, let's see if the automatic pushing machinery will work ;-)

...and it's online. Thanks again @matbech for the PR!
@majkinetor this AppVeyor automation stuff is really cool :)

@jberezanski , thx, it is cool :) Will be way cooler in the future if time permits.


Remove event delegation on detached nodes

fixes a rare edge case where a node is detached during mouseleave,
but mouseout event is still fired on the node

Hi @j3tan, thanks for the pull request. Before we can merge it, we need you to sign our Contributor License Agreement. You can do so electronically here: http://opensource.box.com/cla
Once you have signed, just add a comment to this pull request saying, "CLA signed". Thanks!

Is this change testable? Also, don't forget to sign the CLA. :)

I couldn't think of a good test strategy for this since its kind of like a race condition with browser events.

CLA signed

Verified that @j3tan has just signed the CLA. Thanks, and we look forward to your contribution.

Can you add some comments in the code describing this edge case? I'm still not sure I understand what is happening and I can see us forgetting over time.

Here's a fiddle that represents this edge case: http://jsfiddle.net/fjgjb2bh/
This happens when you have things like 'edit-in-place' that show and hide automatically.


Disable caching so CSRF tokens are not cached.

In Django CMS 3, the rendered plugin will be cached without this attribute, and this will end up caching one user's CSRF token for everyone.

Closing this PR as the branch has moved beyond its purpose and no interest has been expressed.


Disambiguate data with the same variable name

when I try
import cosima_cookbook as cc
session = cc.database.create_session()
sea_level = cc.querying.getvar('01deg_jra55v13_iaf','eta_t',session)

I get
ValueError                                Traceback (most recent call last)
<ipython-input-2-777fead40ac4> in <module>
      1 import cosima_cookbook as cc
      2 session = cc.database.create_session()
----> 3 sea_level = cc.querying.getvar('01deg_jra55v13_iaf','eta_t',session)

/g/data3/hh5/public/apps/miniconda3/envs/analysis3-19.04/lib/python3.6/site-packages/cosima_cookbook/querying.py in getvar(expt, variable, session, ncfile, n, start_time, end_time, chunks, time_units, offset, decode_times, check_present)
     94                            chunks=file_chunks,
     95                            decode_times=False,
---> 96                            preprocess=lambda d: d[variable].to_dataset() if variable not in d.coords else d)
     97
     98     # handle time offsetting and decoding

/g/data3/hh5/public/apps/miniconda3/envs/analysis3-19.04/lib/python3.6/site-packages/xarray/backends/api.py in open_mfdataset(paths, chunks, concat_dim, compat, preprocess, engine, lock, data_vars, coords, autoclose, parallel, **kwargs)
    717             data_vars=data_vars, coords=coords,
    718             infer_order_from_coords=infer_order_from_coords,
--> 719             ids=ids)
    720     except ValueError:
    721         for ds in datasets:

/g/data3/hh5/public/apps/miniconda3/envs/analysis3-19.04/lib/python3.6/site-packages/xarray/core/combine.py in _auto_combine(datasets, concat_dims, compat, data_vars, coords, infer_order_from_coords, ids)
    551     # Repeatedly concatenate then merge along each dimension
    552     combined = _combine_nd(combined_ids, concat_dims, compat=compat,
--> 553                            data_vars=data_vars, coords=coords)
    554     return combined
    555

/g/data3/hh5/public/apps/miniconda3/envs/analysis3-19.04/lib/python3.6/site-packages/xarray/core/combine.py in _combine_nd(combined_ids, concat_dims, data_vars, coords, compat)
    473                                                          data_vars=data_vars,
    474                                                          coords=coords,
--> 475                                                          compat=compat)
    476     combined_ds = list(combined_ids.values())[0]
    477     return combined_ds

/g/data3/hh5/public/apps/miniconda3/envs/analysis3-19.04/lib/python3.6/site-packages/xarray/core/combine.py in _auto_combine_all_along_first_dim(combined_ids, dim, data_vars, coords, compat)
    491         datasets = combined_ids.values()
    492         new_combined_ids[new_id] = _auto_combine_1d(datasets, dim, compat,
--> 493                                                     data_vars, coords)
    494     return new_combined_ids
    495

/g/data3/hh5/public/apps/miniconda3/envs/analysis3-19.04/lib/python3.6/site-packages/xarray/core/combine.py in _auto_combine_1d(datasets, concat_dim, compat, data_vars, coords)
    509         concatenated = [_auto_concat(list(ds_group), dim=dim,
    510                                      data_vars=data_vars, coords=coords)
--> 511                         for id, ds_group in grouped_by_vars]
    512     else:
    513         concatenated = datasets

/g/data3/hh5/public/apps/miniconda3/envs/analysis3-19.04/lib/python3.6/site-packages/xarray/core/combine.py in <listcomp>(.0)
    509         concatenated = [_auto_concat(list(ds_group), dim=dim,
    510                                      data_vars=data_vars, coords=coords)
--> 511                         for id, ds_group in grouped_by_vars]
    512     else:
    513         concatenated = datasets

/g/data3/hh5/public/apps/miniconda3/envs/analysis3-19.04/lib/python3.6/site-packages/xarray/core/combine.py in _auto_concat(datasets, dim, data_vars, coords)
    363                                  'concatenate: %s' % concat_dims)
    364             elif len(concat_dims) == 0:
--> 365                 raise ValueError('cannot infer dimension to concatenate: '
    366                                  'supply the ``concat_dim`` argument '
    367                                  'explicitly')

ValueError: cannot infer dimension to concatenate: supply the ``concat_dim`` argument explicitly

As a first thought, maybe it'd be worth splitting up the querying function a bit so it's a bit easier to follow what's going on. If I run the query manually, I get the following file list:
['output019/ocean/rregionocean_daily.nc',
 'output017/ocean/rregionocean_daily.nc',
 'output020/ocean/rregionocean_daily.nc',
 'output018/ocean/rregionocean_daily.nc',
 'output001/ocean/ocean_daily.nc',
...

This error is because the "rregionocean" files have a length 0 "time" dimension (which also doesn't appear to be a record dimension), so xarray doesn't pick it up as a concatenation axis.
It doesn't actually seem like these files are useful in the first place, so perhaps we shouldn't have even picked them up during indexing? Perhaps it'd be useful to be able to "unindex" specific files. I'm not sure whether this issue should be motivation for restricting queries based on file paths themselves, because I think we're trying to avoid that to abstract away the underlying layout of files, etc.

Aah, OK, I see what is happening. These files are actually useful - they are regional outputs, but they are handled slightly differently in MOM5, which is presumably why the time dimension is having trouble. It might need some investigation as to what information these files have in them...

If the same variables exist in different files there needs to be some way to disambiguate them. In some cases they may have different time resolution, so can be differentiated in that way. In this case they have different grids.
Angus and I had a chat about this a while back, in a different context, but I can see now this is an absolute requirement. The dimensions of the variables are in the database, but it needs some mechanism for selecting them.
Thinking more broadly, we also discussed some way of uniquely identifying grids so we could say with confidence that data from different collections were on the same grid. Or perhaps more usefully, specify that the data returned match a certain grid. Say for comparing a regridded obs product with model output.

The old way of disambiguating variables was to specify the filename, e.g. ocean.nc, ocean_month.nc. These have no informational value, are completely arbitrary and unintuitive for those not familiar with how the data has been saved.
Good data discovery is the best way to address this, but it is also desirable to specify the very minimum required to get a unique dataset. With this in mind it would be good if the library detects if a unique dataset will be returned, and if not warn the user what additional constraints are required, and list the duplicate values from which they can choose constraints.

Since this is still popping up through various confusing errors (concatenation, chunking, etc.), I think it'd be good to fail in a nice way if:

there are multiple variables from the variables table selected by the query (e.g. salt from ocean.nc vs. a restart file, where the restart file doesn't have the same long_name or standard_name)
dimensions across the selected variables aren't consistent (regional outputs may have e.g. xt_ocean_sub01, or timeseries vs. static)
are there any other inconsistencies?

Additionally, and tangentially, a warning if chunking varies across the dataset. This isn't necessarily an error (we'll just pick the chunking from the first file), but it may be much less efficient to do significant on-the-fly rechunking.

I agree failure with an error message is better than hard coded heuristics
for the query to try to guess the right files.
On Tue, Jul 16, 2019 at 11:14 PM Angus Gibson<EMAIL_ADDRESS>wrote:

Since this is still popping up through various confusing errors
(concatenation, chunking, etc.), I think it'd be good to fail in a nice way
if:

there are multiple variables from the variables table selected by
the query (e.g. salt from ocean.nc vs. a restart file, where the
restart file doesn't have the same long_name or standard_name)
dimensions across the selected variables aren't consistent (regional
outputs may have e.g. xt_ocean_sub01, or timeseries vs. static)
are there any other inconsistencies?

Additionally, and tangentially, a warning if chunking varies across the
dataset. This isn't necessarily an error (we'll just pick the chunking from
the first file), but it may be much less efficient to do significant
on-the-fly rechunking.
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/COSIMA/cosima-cookbook/issues/137?email_source=notifications&email_token=ABPFFOZZ66R6QA5R6QANTKLP72MBNA5CNFSM4H3O2I62YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD2C7EWA#issuecomment-512094808,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABPFFO54XOD5F242DLKORF3P72MBNANCNFSM4H3O2I6Q
.

--
JAMES MUNROE   |   ASSOCIATE PROFESSOR
Department of Physics and Physical Oceanography
Memorial University of Newfoundland
230 Elizabeth Avenue
St. John’s, Newfoundland, Canada   A1C 5S7
Chemistry and Physics Building   |   Room C 4060
T<PHONE_NUMBER>   |   M<PHONE_NUMBER>
www.physics.mun.ca

I am not sure if there are edge cases that I am missing, but it looks like it will be enough to use the time frequency and variable name to uniquely identify a variable for a given experiment.

For a well constructed experiment I agree @jmunroe, however there is no restriction on saving the same variable with the same frequency in two different files. I'm not advocating we support that, but you'd definitely want to check that wasn't the case. I don't know what xarray would do if you asked it to load two identical datasets in one open_mfdataset call.

With the new function cc.querying.get_variables() we can see the source of the problem, same variable at multiple diagnostic frequenceis:
import cosima_cookbook as cc
session = cc.database.create_session()
df = cc.querying.get_variables(session, '01deg_jra55v13_iaf')
df[df.name=='eta_t']

| name | frequency | ncfile | # ncfiles | time_start | time_end
-- | -- | -- | -- | -- | -- | --
eta_t | None | output018/ocean/rregionocean_daily.nc | 4 | None | None
eta_t | 1 daily | output197/ocean/ocean_daily.nc | 197 | 1984-12-30 00:00:00 | 2017-12-30 00:00:00
eta_t | 1 monthly | output016/ocean/ocean_month.nc | 16 | 1984-12-30 00:00:00 | 1987-12-30 00:00:00
So if we add an optional frequency= parameter to get_variables() we can have:
import cosima_cookbook as cc
session = cc.database.create_session()
sea_level = cc.querying.getvar('01deg_jra55v13_iaf', 'eta_t', session,
                              frequency = '1 monthly')

then we get
<xarray.DataArray 'eta_t' (time: 36, yt_ocean: 2700, xt_ocean: 3600)>
dask.array<shape=(36, 2700, 3600), dtype=float32, chunksize=(1, 675, 900)>
Coordinates:
  * xt_ocean  (xt_ocean) float64 -279.9 -279.8 -279.7 ... 79.75 79.85 79.95
  * yt_ocean  (yt_ocean) float64 -81.11 -81.07 -81.02 ... 89.89 89.94 89.98
  * time      (time) object 1985-01-14 12:00:00 ... 1987-12-14 12:00:00
Attributes:
    long_name:      surface height on T cells [Boussinesq (volume conserving)...
    units:          meter
    valid_range:    [-1000.  1000.]
    cell_methods:   time: mean
    time_avg_info:  average_T1,average_T2,average_DT
    coordinates:    geolon_t geolat_t

as expected.
To know which are valid diagnostic frequencies we may use:
cc.querying.get_frequencies(session, experiment='01deg_jra55v13_iaf')

frequency

0
None

1
1 daily

2
1 monthly

3
static

@aidanheerdegen is correct: is possible to have the same variable, at the same frequency in multiple filenames for given experiment.
Example:
experiment = '025deg_jra55v13_ryf9091_gmredi6'
sea_level = cc.querying.getvar(experiment, 'eta_t', session, frequency = '1 monthly')

This experiment has ncfiles of both form output%d%d%d/ocean/ocean_month.nc and ``output%d%d%d/ocean/ocean_snapshot.ncover the same times, at the same frequency, and both contain the variableeta_t.  The call to cc.querying.getvar()` appears to succeed though, which is strange.

It is possible to have pretty much anything. It may be that we need to define what we would regard as a well designed experiment, and that is that cosima cookbook supports.
Seeing as MOM supports averaging over a time period, or instantaneous values, it may be that those could not be disambiguated.
I also had a suggestion, to "hash" the grid variables in some way so as to uniquely identify them. This would allow regional outputs to be separated from global ones with the same variables and frequency. This would also allow easy inter-experiment comparisons, as it could find all data on a shared grid.
In order to expose grids to users, it would be necessary to give them an identifier that was sufficiently easy to type. Could default to "nx.ny.nz.####" where "####" is the first four digits of the grid hash. The name could be altered for readability and to aid discovery. In the grid table could have an information column with some longer description, again to aid with discovery.

MOM supports not just averages and instantaneous values, but also rms, min, max, diurnal average and raising to a power - see https://github.com/mom-ocean/MOM5/blob/64990e1de853a175335848b67b580363053a79b4/src/shared/diag_manager/diag_table.F90#L150

So we should also be tracking the attribute cell_methods:   time: mean or cell_methods:  time: point to be able to distinguish variables.
For my example with ocean_month.nc and ocean_snapshot.nc, Xarray merges them together because the times are interleaved between the two dataset.  The cell_method attribute is stripped out -- perhaps an indicator that something is wrong and a warning should be given to the user?

Good point @jmunroe. I agree that cell_methods is required for disambiguation in that case. I guess it needs to be added to the DB @angus-g

I agree that cell_methods could be in important disambiguator. [Is that a new word BTW?]
A key thing that we have to remember here is how to make it easy on the user. We really want to eliminate the ncFiles argument to make it easier on the user, but if they have to know, in advance, an arcane argument for cell_methods, have we really progressed?
One option here is that, for most variables, all this gets hidden from the user, unless they specifically query it. Then, we ask the cc.querying.getvar() to check for data ambiguity. If there is any ambiguity, it prompts the user, and suggests possible disambiguators. Is this option viable, or worthwhile?

I am taking a look at this as I need it for data discovery purposes.


Error on develop while evaluating form with new bindings in development

dharrigan pointed out on discord that they can't eval forms anymore with my Lua mapping API updates, I think it's a clash between this code and a nvim breaking change or the highlight flash feature.
E5108: Error executing lua: Vim:Error executing Lua callback: /home/david/.vim/bundle/conjure/lua/conjure/eval.lua:50: attempt to index local 'range' (a number value)
stack traceback:
        /home/david/.vim/bundle/conjure/lua/conjure/eval.lua:50: in function 'highlight_range'
        /home/david/.vim/bundle/conjure/lua/conjure/eval.lua:157: in function 'eval_str'
        /home/david/.vim/bundle/conjure/lua/conjure/eval.lua:189: in function </home/david/.vim/bundle/conjure/lua/conjure/eval.lua:183>
        [C]: at 0x558102bbc2d0
stack traceback:
        [C]: at 0x558102bbc2d0

Just more teething pains as I rewrite all of the mappings, will address.

neovim details:
:version                                                                                :q
NVIM v0.7.2
Build type: Release
LuaJIT 2.1.0-beta3
Compiled by builduser

Features: +acl +iconv +tui
See ":help feature-compile"

   system vimrc file: "$VIM/sysinit.vim"
  fall-back for $VIM: "/usr/share/nvim"

Run :checkhealth for more info```

Found and fixed!

w00t! will give it a try!


A2DP device name scan

Is there any way to scan the A2DP device around in source mode?

The following performs a scan the first time it connects and then subsequently just reconnects to the same address
a2dp_source.start("RadioPlayer", get_data_channels);

The following always performs a scan in order to determine the device before connecting:
a2dp_source. set_auto_reconnect(false);
a2dp_source.start("RadioPlayer", get_data_channels);

Bluetooth speaker name is hard coded in sketch. I need to scan the A2DP sink devices around for a list and choose the name and connect to it dynamically.
Regards

Are you aware that you can specify a vector of alternatives ?

And if this is not good enough just create your own subclass of BluetoothA2DPSource and overwrite the filter_inquiry_scan_result() method...

I've been searching the closed issues and I just want to confirm that there is currently no method in the repo to scan for all available A2DP sinks and allow the user to select one to connect to?  And that I have to develop this code myself by changing the  filter_inquiry_scan_result() function?
Not wanting to re-invent the wheel, has anyone done this yet?  It seems like a very basic function in applications where the A2DP sink device (any bluetooth speaker) is not known in advance.
Thanks.

Hi,
I'm also missing the feature of scanning/listing all available speakers.
But I found out you can give an empty String "" to a2dp_source.start an name, this will connect to the first device found.
Greets, Sebastian.


chrome_grid and firefox_grid support for selenium local stack

Added chrome_grid and firefox_grid new browsers types as a first phrase to switch to local stack

I have read the CLA Document and I hereby sign the CLA

:tada: This PR is included in version 2.0.7 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Add missing #[inline] to get_fixed_seeds

This was missing on the fallback implementation that uses compile-time constants, which is the default implementation used by hashbrown.

ping @tkaitchuck! This is causing performance issues with users of hashbrown.


Documentation: Add Example App

Can we have an example app that uses Controllers, Permissions, Services, Modules and dependency injection?

Absolutely +1
Topic for me wouldn't be important. Do DRF or Ninja already have an example that would be easy to fork?

I don't know. Maybe you can check and see if there are any.

I found this existing one from you https://github.com/eadwinCode/bookstoreapi which is fine for me. Would it make sense to take this one and update it to the current version?

Yes. The current version works fine on it


Fix Typo: meta node != data node - fix #1633

The first line of text under the heading "Confirm the data node was added" is "Confirm the new meta-node has been added by running:" -- this should read "Confirm the new data node has been added by running:"
I expect the text was copied from section 2.4 and incompletely mutated.
Close issue #1633

Nice catch and thanks for the PR.


feat: check Chains signing secret is present

Description
Adds a test to check if the Tekton Chains signing secret required to generate image and attestation signatures is present.
Issue ticket number and link
Ref. https://issues.redhat.com/browse/HACBS-2623
Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

How Has This Been Tested?
We'll see on the test run
Checklist:

[x] I have performed a self-review of my code
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] I have added meaningful description with JIRA/GitHub issue key(if applicable), for example HASSuiteDescribe("STONE-123456789 devfile source")
[ ] I have updated labels (if needed)

/retest-required

/retest-required

/retest-required

/retest

/retest

CI failure is due to RHTAPBUGS-848.

/test redhat-appstudio-e2e

/test redhat-appstudio-e2e

/lgtm

/approve

/lgtm

/test redhat-appstudio-e2e

/test redhat-appstudio-e2e

/lgtm


label_prefix modification

When label_prefix is not given, a hyphen is added to the resource name. Please correct .

fixed in #7


Helm 3 chart for octopod

First version of a helm 3 chart.
@dredozubov @ilyakooo0 mentioning you as requested

Let's mention the helm 3 installation part in the English documentation as well. Otherwise, fantastic work!

Let's mention the helm 3 installation part in the English documentation as well. Otherwise, fantastic work!

I've mentioned it in b1844f5 in both russian and english documentations.

You're right, I haven't noticed an English version. LGTM then!


There is a problem with the button layout

After entering the program, the button to select the folder path does not display properly.
The screen resolution is 1366*768
No matter how much you enlarge or resize the window, it will not solve the problem

Hi @manchang666 I am not seeing it locally on a 1366x768 res.
Are you still experiencing this with the latest version?


RTL javascript freeze

If you have data-dir="rtl" on the html tag, using textcomplete freezes the browser.

We are experiencing this problem . Actually we have disabled emoji at the time . Thanks for noticing the bug . We were desperately stunning with it .


Add NoLoss

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 92.09%. Comparing base (ee7a325) to head (d6f4a93).

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #48      +/-   ##
==========================================
+ Coverage   91.96%   92.09%   +0.13%
==========================================
  Files          23       24       +1
  Lines         473      481       +8
  Branches       70       70
==========================================
+ Hits          435      443       +8
  Misses         38       38

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


unit tests and migration problems with PageUserGroup

hi all .. i have a lil problem with migrations. Im running Django 1.7.3 and have the CMS up and running fine .. all migrations applied as far as i can tell. But when i try to run my test suite i get the following error:
django.db.migrations.state.InvalidBasesError: Cannot resolve bases for [<ModelState: 'cms.PageUserGroup'>]
how can this be resolved?
./manage.py migrate tells me there is nothing to apply for the real database .. but when setting up the test database i get this error :/
google tells me this might have to do with my custom user model .. but like i said, the cms itself works, but the test runner cant setup the database

Could you provide your installed apps? Have you tried with latest Django 1.7 patch release?

somehow got it fixed but dont remember how .. closing the ticket ..


Jsonable dicts

Description
This PR adds a new data model utility to support type hinting and proto serialization for arbitrary json-serializable dicts
Changes

Add the new caikit.core.data_model.json_dict module containing the JsonDict type definition and dict_to_struct/struct_to_dict converter utilities
Add support in ModuleBase to detect Struct/JsonDict fields and convert accordingly in to_proto/from_proto

Ok, this PR led to some wild behavior. For some reason, the usage of struct_pb2.Struct led to consistent segfaults in CI that were occasionally reproducible in a local build environment. This led us down several rabbit holes, including refactoring how we use tox (labels like py39 instead of 3.9) and removing bad versions of grpcio that were recently released. Eventually, this seemed to all resolve by removing the unused import of struct_pb2 from base.py. We can't confirm explicitly that this was the cause, but it seems that after removing that import, things work cleanly.


Language Parsing is bugged

It didn't pull in Infernal as a language, but picked up the other two Languages Common, Infernal, Shadowtongue

Originally posted by @Lavaeolous in https://github.com/Lavaeolous/PF1-StatBlock-Converter-Module/issues/391#issuecomment-829894854

Fixed in 3.1.4


Netty seemingly inactive since 2015 on mvnrepository.com

On mvnrepository.com the last releases of Netty artifacts (group io.netty) seem to be from 2012 and 2015.
This comes from alpha versions published in Maven Central back then (e.g. https://repo1.maven.org/maven2/io/netty/netty-all/).
It maybe could be fixed by setting the latest and release elements in the Maven metadata accordingly.
https://repo1.maven.org/maven2/io/netty/netty-all/maven-metadata.xml

Sounds good, would you like to do a PR?

I just wonder, is it possible to modify 'latest', 'release' elements in maven-metadata.xml of maven central repository?

Either the obsolete 5.0.0.Alpha1 and 5.0.0.Alpha2 are removed from Maven Central (maybe Sonatype can help?) or Netty is moving to 5.0.0+ and releasing new jars to Maven Central which will override the status quo.
Netty main branch is at 5.0.0.Alpha6-SNAPSHOT so I am hoping the latter will soon happen.

Netty 5 (the new effort, not the obsolete 2015 one) has a netty5- prefix in all its artefact ids, so 5 and 4.1 can co-exist in projects and on the classpath. That's why those old artefacts are not replaced in the search results by the newer ones.
Removing artefacts from Maven Central is something that's almost never done, and certainly not for reasons like this.


[V3] Error on build in CI: Cannot find module 'node:path' in vite.config.ts

Describe the bug
As Vite v3 is released, I've updated my project to use it. However, I am getting a new error when building in CI (GitHub workflows).
The error is Error: Cannot find module 'node:path' which seems to mean that the build isn't running in a node environment. However this script used to run fine on CI without any changes. Updating to Vite 3 made it break.
My vite.config.ts file uses node's path.resolve which I found advised somewhere in docs in regards to using the lib mode I think. It was a while ago. Relevant bit of the config:
      lib: {
        entry: path.resolve(__dirname, 'src/lib/lib.ts'),
        name: 'narrat',
        fileName: (format) => `narrat.${format}.js`,
      },

It seems using node's path module breaks, whereas it didn't before updating to v3.
In the reproduction link, I put a link to the GitHub workflow that failed.
Reproduction
https://github.com/liana-p/narrat/runs/7337553246?check_suite_focus=true
System Info
Using vite v3 and a config in TypeScript. The build is running in GitHub CI (Ubuntu, [see workflow config](https://github.com/liana-p/narrat/blob/v2.1.0/.github/workflows/main.yml))

Used Package Manager
npm
Logs
Run npm run build --if-present

<EMAIL_ADDRESS>build
vue-tsc --noEmit && vite build && npm run generate-types
failed to load config from /home/runner/work/narrat/narrat/vite.config.ts
error during build:
Error: Cannot find module 'node:path'
Require stack:

/home/runner/work/narrat/narrat/node_modules/vite/dist/node-cjs/publicUtils.cjs
/home/runner/work/narrat/narrat/node_modules/vite/index.cjs
/home/runner/work/narrat/narrat/vite.config.ts
/home/runner/work/narrat/narrat/node_modules/vite/dist/node/chunks/dep-561c5231.js
at Function.Module._resolveFilename (node:internal/modules/cjs/loader:924:15)
at Function.Module._load (node:internal/modules/cjs/loader:769:27)
at Module.require (node:internal/modules/cjs/loader:996:19)
at require (node:internal/modules/cjs/helpers:92:18)
at Object. (/home/runner/work/narrat/narrat/node_modules/vite/dist/node-cjs/publicUtils.cjs:5:14)
at Module._compile (node:internal/modules/cjs/loader:1092:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1121:10)
at Object._require.extensions..js (file:///home/runner/work/narrat/narrat/node_modules/vite/dist/node/chunks/dep-561c5231.js:62742:13)
at Module.load (node:internal/modules/cjs/loader:972:32)
at Function.Module._load (node:internal/modules/cjs/loader:813:14)
Error: Process completed with exit code 1.

Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Make sure this is a Vite issue and not a framework-specific issue. For example, if it's a Vue SFC related bug, it should likely be reported to vuejs/core instead.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
[X] The provided reproduction is a minimal reproducible example of the bug.

For example you can see the following example in the docs about building in library mode:
// vite.config.js
import { resolve } from 'path'
import { defineConfig } from 'vite'

export default defineConfig({
  build: {
    lib: {
      entry: resolve(__dirname, 'lib/main.js'),
      name: 'MyLib',
      // the proper extensions will be added
      fileName: 'my-lib'
    },
    rollupOptions: {
      // make sure to externalize deps that shouldn't be bundled
      // into your library
      external: ['vue'],
      output: {
        // Provide global variables to use in the UMD build
        // for externalized deps
        globals: {
          vue: 'Vue'
        }
      }
    }
  }
})

Which means using path is advised by the docs and should work. I tried avoiding the default import and  using import { resolve } from path;  but the same issue happened

Also worth noting, I've just managed to fix my build by updating my CI to use node 18 instead of node 15.
I don't know if vite recommends a specific node version (couldn't find any in the docs), but before vite 3 my build worked fine on node 15 in CI, so I suppose something changed

Vite uses node: import which is supported in v16.0.0+ and v14.18.0+. v15 does not support this. https://nodejs.org/api/esm.html#node-imports

Right but this has to be a change in v3 that wasn't in v2 right? Because my vite config worked fine until now, it's specifically updating to v3 that broke my CI.
So all I'm saying is that this can be an unexpected a breaking change for anyone else who was doing something similar and running an older version of node

Yes, this is a change introduced in v3. This was forgotten to mention in docs/migration guide.
This is a intended breaking change because node 15 is already EOL.

I have the same issue with node v14.17.5, everything works after update node to v18.6.0 :)


Issue(s) with usage example: fixture 'mqtt_settings' not found

I am encountering issues when trying to execute the basic example.
I am running pytest with this test:
from pytest_mqtt.model import MqttMessage
import pytest

@pytest.mark.capmqtt_decode_utf8
def test_mqtt_send_receive(mosquitto, capmqtt):
    """
    Basic send/receive roundtrip, using text payload (`str`).

    By using the `capmqtt_decode_utf8` marker, the message payloads
    will be recorded as `str`, after decoding them from `utf-8`.
    Otherwise, message payloads would be recorded as `bytes`.
    """
    # Submit a basic MQTT message.
    capmqtt.publish(topic="foo", payload="bar")

    # Demonstrate the "messages" property.
    # It returns a list of "MqttMessage" objects.
    assert capmqtt.messages == [
        MqttMessage(topic="foo", payload="bar", userdata=None),
    ]

    # Demonstrate the "records" property.
    # It returns tuples of "(topic, payload, userdata)".
    assert capmqtt.records == [
        ("foo", "bar", None),
    ]

However, I get the error
file /home/aaron/Developer/factory-activity-detection/mqtt_xes/venv/lib/python3.10/site-packages/pytest_mqtt/mosquitto.py, line 83
  @pytest.fixture(scope="session")
  def mosquitto(mqtt_settings: MqttSettings):
E       fixture 'mqtt_settings' not found

How can I fix this issue?
Furthermore, I noticed that import pytest is missing for the basic usage example.

Hi. We just yanked the release 0.4.0 from PyPI. Apologies for the delay.

pytest-mqtt 0.4.1 has been released and verified on behalf of https://github.com/daq-tools/lorrystream/pull/95. Closing this. Thanks again.

Furthermore, I noticed that import pytest is missing for the basic usage example.

Thanks. Fixed with 3e410fb2cff.


deps: bump sigs.k8s.io/karpenter to v1.0.5

Fixes #N/A
Description
How was this change tested?
Does this change impact docs?

[ ] Yes, PR includes docs updates
[ ] Yes, issue opened: #
[x] No

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>8
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.01%) to 79.377%

Totals

Change from base Build<PHONE_NUMBER>6:
0.01%

Covered Lines:
5962

Relevant Lines:
7511

💛  - Coveralls


Treat Shift+Scroll (with wheel mouse) as horizontal scrollng

Shift+scroll with wheel mouse scrolls horizontally in many apps.
However Scroll Reverser treats this as vertical scrolling for the purposes of reversing.
Should it treat it as horizontal? I'm not sure.
Ref:
https://twitter.com/krisztianhu/status/781579143708340224

 Hold shift for sideways scrolling

It seems that it actually does work 🤔


Update device factory docs

Updates docs on how to create a beamline for changes in ophyd-async and dodal.
After #405 goes in with the epics-containers mocks, we could have the docs built against those devices?
Instructions to reviewer on how to test:

Read the changed docs to ensure they make sense
Make the example beamline described in the docs
Ensure that devices connect/skip/mock appropriately

Checks for reviewer

[ ] Would the PR title make sense to a scientist on a set of release notes
[ ] If a new device has been added does it follow the standards
[ ] If changing the API for a pre-existing device, ensure that any beamlines using this device have updated their Bluesky plans accordingly
[ ] Have the connection tests for the relevant beamline(s) been run via dodal connect ${BEAMLINE}

Can I suggest we close this until https://github.com/DiamondLightSource/dodal/issues/874 is resolved?

Revisit after #874


refinement of how the code works

good day.
could you please clarify.
at this point are you expecting an exception to be thrown or just a text alert?
https://github.com/AcademySoftwareFoundation/openexr/blob/0d7e229c31db294489749217ff4d571f5a6a8249/src/lib/OpenEXR/ImfIDManifest.cpp#L337

That code is throwing an exception, because the IDManifest has been found to be in an unknown format. A calling program would need to take an appropriate action, such as catching the exception and showing a text alert.

shouldn't we add the word throw in this case?

You're right, that line is indeed missing a throw. It simply constructs the exception object and then it goes out of scope without being thrown, clearly an oversight. Good catch.

Fixed #1062.

haha, thanks for clarifying! I didn't notice the throw was missing! I have been looking at these macros too long and my brain filled in the blanks :)


[NEW GAME] : HIT YOUR FRIEND

PR Description 📜
There will be 2 players and 1 ball. Each player will alternatively get a chance to hit the other player with the ball with buildings being an obstacle. The one who hits the other first, wins!
Point down the features
You may drag the ball more to increase its velocity.
The buildings shall serve as your obstacles.
You may reload the page to bring changes into the heights of the buildings!
Simple, easy to play, two players game.
Fixes #3729

Mark the task you have completed ✅

[x] I follow CONTRIBUTING GUIDELINE & CODE OF CONDUCT of this project.
[x] I have performed a self-review of my own code or work.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] My changes generates no new warnings.
[x] I have followed proper naming convention showed in CONTRIBUTING GUIDELINE
[x] I have added screenshot for website preview in assets/images
[x] I have added entries for my game in main README.md
[x] I have added README.md in my folder
[x] I have specified the respective issue number for which I have requested the new game.

Add your screenshots(Optional) 📸

Once someone wins:

Thank you soo much for contributing to our repository 💗

Thank you @18Venus ,for creating the PR and contributing to our GameZone 💗
Review team will review the PR and will reach out to you soon! 😇
Make sure that you have marked all the tasks that you are done with ✅.
Thank you for your patience! 😀

Hey @18Venus,
You can't work on a closed issue 👀!
Follow the proper guideline and make a new PR again 😀.
Happy Hacking 💗

Thank you  @18Venus , for your valuable time and contribution in our GameZone 💗.
It’s our GameZone, so Let’s build this GameZone altogether !!🤝
Hoping to see you soon with another PR again 😇
Wishing you all the best for your journey into Open Source🚀


Control price visibility

I want to merge this change because I'd like to able to control the visibility of prices for products. Either prices are publicly available, for registered customers or for staff only.
There are a few reasons for this feature:

Businesses that cannot publicly publish prices, can choose to only shown prices to known users.
Once a user is shown a price, there is an obligation to offer that price. This allows for more protection over publicly showing the price.
Businesses that have complex products and allow users to 'shop' for products before getting a price quoted to them.

The feature isn't finished as it requires support on the GraphQL API, which would require field-level permissions. PWA support can be added, but it's probably best to get some agreement on what a user would see if the price is unavailable; show "Price unavailable" or a "Ask a question" etc.
Tasks outstanding

[ ] Remove price from cart
[ ] Remove price from checkout
[ ] API support i.e. price not shown if user can't request it
[ ] PWA support
[ ] Dashboard 2.0 support

Screenshots
If a user does not have permission to see the price, the following is shown:

Dashboard edit view:

Dashboard detail view:

Pull Request Checklist

[ ] Privileged views and APIs are guarded by proper permission checks.
[x] All visible strings are translated with proper context.
[x] All data-formatting is locale-aware (dates, numbers, and so on).
[x] Database queries are optimized and the number of queries is constant.
[x] Database migration files are up to date.
[ ] The changes are tested.
[ ] The code is documented (docstrings, project documentation).
[ ] GraphQL schema and type definitions are up to date.
[ ] Changes are mentioned in the changelog.

Old dashboard — will raise a separate PR for dashboard-next


Update to prettier v3

ci: Update to prettier v3
build: Update to typescript v5.1

@mikewuu I don't want to merge this if it will mess up your draft PR. I know you are going ti break it up some though, so let me know what you prefer.


Fail to execute simple Lua code with kaguya

Hi,
I've tried to compile and run some simple code using kaguya.
I compiled the same code twice, first with my system binary and
libraries (64 bits archlinux up to date) and then with a toolchain
for 32 bits x86.
In both cases the compilation is successful, my problem is when I run
the version compiled with the toolchain I get an error : "attempt to index a nil value"
(which I don't get with the version compiled directly with my system).
I tried to replicate the code logic using only the lua C api and then compiled
it again with my system binary and libraries then with the toolchain. In this
case both binaries works as expected.
My system uses g++ 6.2.1 while the toolchain is using g++ 4.9.2 (both meeting kaguya
requirements). I'm compiling with the std=c++11 option.
My system uses lua 5.3.3 while the toolchain uses 5.2.2
Here is the code which get me the "attempt to index a nil value" error :
     #include "kaguya.hpp"

     kaguya::State luaState;

     auto scriptAdding2CppVariables = R"(
         return valA + valB
     )";

     // Loading script in Lua context.
     kaguya::LuaFunction luaFunc = luaState.loadstring(scriptAdding2CppVariables);

     auto a = 1;
     auto b = 2;

     // Exporting variables to Lua context (under the same they're used in the previous script).
     luaState["valA"] = a;
     luaState["valB"] = b;

     if (luaFunc() == a + b)
     {
         std::cout << "SUCCESS" << std::endl;
     }
     else
     {
         std::cout << "FAILED" << std::endl;
     }

And here is the equivalent with the C api which does not trigger any error.
     #ifdef __cplusplus
     #include <lua.hpp>
     #else
     # include <lua.h>
     # include <lualib.h>
     # include <lauxlib.h>
     #endif

     lua_State* state;

    auto scriptAdding2CppVariables = R"(
        function add (varA, varB)
            return varA + varB
        end
     )";

     /* initialize Lua */
     state = luaL_newstate();

     luaL_dostring(state, scriptAdding2CppVariables);
     lua_getglobal(state, "add");

     auto varA = 1;
     lua_pushnumber(state, varA);

     auto varB = 2;
     lua_pushnumber(state, varB);

     lua_call(state, 2, 1);

     /* call the add function */
     auto sum = (int)lua_tointeger(state, -1);
     lua_pop(state, 1);

     if(sum == varA + varB)
     {
           std::cout << "SUCCESS" << std::endl;
     }
     else
     {
          std::cout << "FAILED" << std::endl;
     }

     /* cleanup Lua */
     lua_close(state);

I've tried modifying scriptAdding2CppVariables (in the code version using kaguaya) to
"return 1 + 2" and removed the statements to export the variables a and b into the lua
context but I still get the same error. It leaves us with only 3 statements using lua.
Commenting the call to luaFunc() does stop the error from occurring.
If anyone could tell me why I got this behavior I'd be grateful.
Thanks

Hi,
I don't get it error.  but look like slightly different for C api and kaguya code.
Could you try it with code like the one below?
Match completely code with your C api code.
 kaguya::State luaState;
//load 'add' function to global
auto scriptAdding2CppVariables = R"(
  function add (varA, varB)
    return varA + varB
  end
)";
luaState.dostring(scriptAdding2CppVariables);

//get 'add' function from global
kaguya::LuaFunction luaFunc = luaState["add"];

auto a = 1;
auto b = 2;

if (luaFunc(a, b) == a + b)
{
  std::cout << "SUCCESS" << std::endl;
}
else
{
  std::cout << "FAILED" << std::endl;
}

If you do not want global to dirty.
kaguya::LuaFunction luaFunc = luaState.loadstring("local arg = {...}; return arg[1] + arg[2]");
auto a = 1;
auto b = 2;
assert (luaFunc(a, b) == a + b)

or
//load function returning function.
kaguya::LuaFunction getAddFunc = luaState.loadstring("return function(varA, varB) return varA + varB end");
// get 'add' function
kaguya::LuaFunction luaFunc = getAddFunc ();

// or omitted getAddFunc
// kaguya::LuaFunction luaFunc = luaState.loadstring("return function(varA, varB) return varA + varB end")();

auto a = 1;
auto b = 2;
assert (luaFunc(a, b) == a + b)

Hi,
Thanks for this quick answer. I tried your code sample, all three version of it (thanks for the alternatives by the way) and it's still the same.
When using the tool chain -> "attempt to call a nil value", when using my system binary and libraries it's ok.
There must be some incompatibility with some of my toolchain's component I guess but which one ...

Hi
What is tool chain?
Could it be that you used different lua_State* or _ENV .

A toolchain is a set of utilities used for programming. It ensures among other things that your "tools" are compatible with each other.
It allows you to make sure that no matter if the system you're developing on is up to date, no matter if it uses another version of a library than the target you're developing for, the output software will be able to run on the target you're developing for (the ld binary of the toolchain link against the version of the libraries which are available on the final target).
I'm sorry for this "confused" explanation, I'd suggest to check it out on the internet for a better one it is definitely worth to know what it is.
I doubt I'm using a different lua_State with the C api than with Kaguya since both are using the same headers and library (I obviously might have forgotten something so please, feel free to suggest any idea).
As for the _ENV I just quickly googled it but I have to admit I didn't get exactly what it was or what it was used for, let alone how I could be using a different one.
Thanks for your help


Export hook response types

Re: #232

This is a great start, we also need Use<Query|Mutation|Subscription>Args to be exported.

@mxstbr let's merge this and get a separate PR going since this has been open for a while


[Website] change banner

change banner, add related images, change css

before:

after:

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Mention the appropriate issue in your description (for example: addresses #123), if applicable. This will automatically add a link to the pull request in the issue. If you would like the issue to automatically close on merging the pull request, comment fixes #<ISSUE NUMBER> instead.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.
To check the build health, please visit https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md
GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI.

R: @AKosolapov

Looks good, thank you, Bulat!
R: @jrmccluskey R: @sysede Could you please help with review and merge?

Thanks!


[Feature Request] render function should be supported as well as Notification

Existing Component
Yes
Component Name
Notification
Description

message: function(h){return h(sth.)} should be used instead of directly call the h function
because it is strange to define const h = this.$createElement at the beginning

This makes little difference, so we have no plan to support this.


Material UI React tree

Is there any way to virtualize material react tree .
I have large number of nodes 15- 20 k and I am getting performance issues when all nodes are expanded.
Thanks

@oliviertassinari Is there any timeline if this feature would be added to react material tree .

Duplicate of #17064


Add manifest_from_string

A unit test was calling a function that didn't exist - this adds that function and makes the unit test work.

Codecov Report

Merging #339 into master will increase coverage by 0.01%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #339      +/-   ##
==========================================
+ Coverage   73.78%   73.79%   +0.01%
==========================================
  Files          59       59
  Lines        5340     5346       +6
==========================================
+ Hits         3940     3945       +5
- Misses       1400     1401       +1

Impacted Files
Coverage Δ

opentimelineio/plugins/manifest.py
91.01% <100%> (+0.53%)
:arrow_up:

opentimelineio/adapters/cmx_3600.py
91.56% <0%> (-0.2%)
:arrow_down:

Continue to review full report at Codecov.

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


Add Netctl node type and samples for network control V3

Add netctl fbp node and samples include list services, connect or disconnect service, get service state, turn on or off radios
Signed-off-by: guchaojie<EMAIL_ADDRESS>

@barbieri @bdilly @vcgomes @wzhen12
According to previous PR V2 comments to update PR, please have a review.

we're almost there! See my latest comments to the previous PR and the ones in this one, I guess we can merge in the next round.