Validation in form should validate all fields in Semantic website example

Steps
Go to https://semantic-ui.com/behaviors/form.html
Submit first form
Expected Result
Expect all field to display validation errors
Actual Result
The fields that are not in the first column (Gender, Password) do not show errors.
Version
Semantic UI - 2.3.3
Testcase
No need, it's on your website with the example source code.

This is more than a documentation issue. Validation appears to be broken for dropdowns. See the earlier ticket #6026

@andynu Dropdown validation is totally fine, this is a docs issue. https://jsfiddle.net/7zgfj26k/
Duplicate of https://github.com/Semantic-Org/Semantic-UI/issues/6026


Networked Character Controller

Functional Character Controller

Codecov Report

Merging #136 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff           @@
##           master    #136   +/-   ##
======================================
  Coverage    7.86%   7.86%
======================================
  Files          49      49
  Lines        8841    8841
  Branches     1437    1437
======================================
  Hits          695     695
  Misses       8085    8085
  Partials       61      61

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 cdf2bf0...680a109. Read the comment docs.

Outdated and doesn't really fit the MLAPI.
I want to try to stay away from prototype components. Might reuse this however in the future for reference. But not in the main repo.


Add a Provide Feedback option

This request comes from @burrsutter:

we should have a "provide feedback" option visible in launch.openshift.io so that it is easy for a user to say "hey, I am trying X and it does not work quite right".

Ideally it would be nice to use the Sentry User Feedback dialog, since we are integrated with it for error reports (Sentry also allows creating Github issues from the UI):
https://errortracking.prod-preview.openshift.io/openshift_io/fabric8-launcher-backend/settings/user-feedback/

Ideally it would be nice to use the Sentry User Feedback dialog, since we are integrated with it for error reports (Sentry also allows creating Github issues from the UI):

@gastaldi I think this is only to add feedback when a specific error did occur.

@gastaldi I think this is only to add feedback when a specific error did occur.

@ia3andy right, I think that's when someone wishes to provide feedback, no? :smile:
I think we could start with something like that for now.

I think that's when someone wishes to provide feedback, no?

Lol :) I was thinking about feedback as ideas or suggestions for example..

I think we could start with something like that for now.

I will look into that ;)

I was thinking about feedback as ideas or suggestions for example..

Sure, I think that would be nice to have too. Maybe we could point to the launcher-planning repository and ask them to create an issue there or something like that.

Using Sentry requires resolving https://github.com/fabric8-launcher/launcher-frontend/issues/327 first


LINKTA-132: Implement Header

Description

Integrates a company logo and a top navigation bar into the component
Install Radix's navigation menu for the top navigation bar
Include logic to dynamically render navigation tabs based on location

Fixes #132
Type of change

[X] ✨  New feature (non-breaking change which adds functionality)

How Has This Been Tested?

[X] Manual testing

Checklist:

[X] I have performed a self-review of my own code.
[X] I have commented on my code, particularly in hard-to-understand areas.
[X] My changes generate no new warnings.
[X] Any dependent changes have been merged and published in downstream modules.
[X] I have reviewed the Security Best Practices Document.
[X] I have followed the Naming Conventions Guide for my changes.
[X] I have ensured that my pull request title is descriptive.

Additional Information:

More tabs will be added to the navigation bar as the application's routing structure is further developed.
Comprehensive testing will be conducted to ensure functionality and design consistency.

Will make changes after we fix the absolute path issue and add more tabs to the nav bar. Pls do not merge this PR.

Will make changes after we fix the absolute path issue and add more tabs to the nav bar. Pls do not merge this PR.

You can also change the PR to a draft if it's not ready-for-review

Will make changes after we fix the absolute path issue and add more tabs to the nav bar. Pls do not merge this PR.

You can also change the PR to a draft if it's not ready-for-review

Thank you Dan. That's a good tip!


Script for calculating entropy of ensemble models in certain states

there were too many numbers for me too look at so i decided to try plotting

nice! when you've got one generated, feel free to attach to this PR

Entropy score function:

BALD score function:


added test for bulk_save_objects()

which is new in SQLAlchemy 1.0
see: http://docs.sqlalchemy.org/en/rel_1_0/orm/persistence_techniques.html#bulk-operations

ack


Ensure floating IP configuration is honored when floating IP pool is not set

This addresses the bug referenced in issue #100, where the configuration for a floating IP is incorrectly ignored when the floating IP pool is not set.

+1 here.

maybe this is not a bug, see commit message of original implementation: 84c311544d00286fc2c910f9147892e5ae6c0a5b
It would have been nice though if the limitation was documented.

thx :-)


Simple optimizations in TCP read

This PR has two commits. One fixes a bug IMO, and one is a performance enhancement.
These are both precursors to TCP_INQ.
Patch 1
Update TCP read estimates as soon as we read the whole buffer.
If we have a continous stream of bytes on the socket, we will
never grow the buffer, because we will never get EAGAIN, and
call finish. This is a serious performance issue, which can
be misued.
As soon as we have a full buffer, update the estimate.
Patch 2
Do not wait for allocation if buffer is less than half the target.
We overallocate by 2x for target. Unless buffer is more than half
full, we should not delay read for more allocation.

****************************************************************

libgrpc.so

     VM SIZE                                       FILE SIZE
 ++++++++++++++ GROWING                         ++++++++++++++
  [ = ]       0 [None]                             +144  +0.0%
  +1.3%     +96 src/core/lib/iomgr/tcp_posix.cc     +96  +1.3%
      +9.5%     +83 tcp_do_read                         +83  +9.5%
      +2.8%     +16 tcp_handle_read                     +16  +2.8%

  +0.0%     +96 TOTAL                              +240  +0.0%

****************************************************************

libgrpc++.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]

[trickle] No significant performance differences

[microbenchmarks] Performance differences noted:
Benchmark                                                             allocs_per_iteration    locks_per_iteration
--------------------------------------------------------------------  ----------------------  ---------------------
BM_PumpStreamClientToServer<TCP>/16777216                             -6%
BM_StreamingPingPong<MinTCP, NoOpMutator, NoOpMutator>/16777216/1     -6%
BM_StreamingPingPong<MinTCP, NoOpMutator, NoOpMutator>/16777216/2     -4%
BM_StreamingPingPong<MinTCP, NoOpMutator, NoOpMutator>/2097152/2      -5%
BM_StreamingPingPong<TCP, NoOpMutator, NoOpMutator>/16777216/1        -18%
BM_StreamingPingPongMsgs<MinTCP, NoOpMutator, NoOpMutator>/16777216   -10%
BM_UnaryPingPong<MinTCP, NoOpMutator, NoOpMutator>/0/16777216         -7%
BM_UnaryPingPong<MinTCP, NoOpMutator, NoOpMutator>/16777216/16777216  -14%
BM_UnaryPingPong<TCP, NoOpMutator, NoOpMutator>/16777216/16777216     -6%
BM_UnaryPingPong<TCP, NoOpMutator, NoOpMutator>/2097152/2097152                               -5%

Cool!

Thank you for approval guys!

****************************************************************

libgrpc.so

     VM SIZE                                       FILE SIZE
 ++++++++++++++ GROWING                         ++++++++++++++
  [ = ]       0 [None]                             +144  +0.0%
  +1.3%     +96 src/core/lib/iomgr/tcp_posix.cc     +96  +1.3%
      +9.5%     +83 tcp_do_read                         +83  +9.5%
      +2.8%     +16 tcp_handle_read                     +16  +2.8%

  +0.0%     +96 TOTAL                              +240  +0.0%

****************************************************************

libgrpc++.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]

Objective-C binary sizes
*****************STATIC******************
  New size                      Old size
 1,965,914      Total (>)      1,965,822

 No significant differences in binary sizes

***************FRAMEWORKS****************
  New size                      Old size
10,909,001      Total (<)     10,909,003

 No significant differences in binary sizes

[microbenchmarks] Performance differences noted:
Benchmark                                                          allocs_per_iteration    atm_add_per_iteration
-----------------------------------------------------------------  ----------------------  -----------------------
BM_PumpStreamClientToServer<TCP>/134217728                         -9%
BM_PumpStreamServerToClient<TCP>/16777216                          -9%
BM_PumpStreamServerToClient<TCP>/8                                 +11%                    +4%
BM_StreamingPingPong<MinTCP, NoOpMutator, NoOpMutator>/16777216/1  -18%
BM_StreamingPingPong<TCP, NoOpMutator, NoOpMutator>/134217728/2    -38%
BM_StreamingPingPong<TCP, NoOpMutator, NoOpMutator>/16777216/1     -25%
BM_StreamingPingPong<TCP, NoOpMutator, NoOpMutator>/16777216/2     -13%
BM_StreamingPingPongMsgs<TCP, NoOpMutator, NoOpMutator>/16777216   -11%
BM_UnaryPingPong<MinTCP, NoOpMutator, NoOpMutator>/0/16777216      -12%
BM_UnaryPingPong<TCP, NoOpMutator, NoOpMutator>/0/16777216         -10%

****************************************************************

libgrpc.so

     VM SIZE                                       FILE SIZE
 ++++++++++++++ GROWING                         ++++++++++++++
  [ = ]       0 [None]                             +144  +0.0%
  +1.3%     +96 src/core/lib/iomgr/tcp_posix.cc     +96  +1.3%
      +9.5%     +83 tcp_do_read                         +83  +9.5%
      +2.8%     +16 tcp_handle_read                     +16  +2.8%

  +0.0%     +96 TOTAL                              +240  +0.0%

****************************************************************

libgrpc++.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]

[trickle] No significant performance differences

Objective-C binary sizes
*****************STATIC******************
  New size                      Old size
 1,965,914      Total (>)      1,965,822

 No significant differences in binary sizes

***************FRAMEWORKS****************
  New size                      Old size
10,909,004      Total (<)     10,909,007

 No significant differences in binary sizes

[microbenchmarks] Performance differences noted:
Benchmark                                                            allocs_per_iteration    atm_add_per_iteration    atm_cas_per_iteration    locks_per_iteration
-------------------------------------------------------------------  ----------------------  -----------------------  -----------------------  ---------------------
BM_PumpStreamClientToServer<TCP>/16777216                            -11%
BM_PumpStreamServerToClient<TCP>/16777216                            -9%
BM_PumpStreamServerToClient<TCP>/8                                   +22%                    +8%                      +11%
BM_StreamingPingPong<MinTCP, NoOpMutator, NoOpMutator>/16777216/1    -28%
BM_StreamingPingPong<MinTCP, NoOpMutator, NoOpMutator>/16777216/2    -15%
BM_StreamingPingPong<MinTCP, NoOpMutator, NoOpMutator>/2097152/1                                                                               -5%
BM_StreamingPingPong<TCP, NoOpMutator, NoOpMutator>/134217728/1      -50%                    -35%                     -43%                     -39%
BM_StreamingPingPong<TCP, NoOpMutator, NoOpMutator>/16777216/1       -30%
BM_StreamingPingPong<TCP, NoOpMutator, NoOpMutator>/16777216/2       -17%
BM_StreamingPingPongMsgs<MinTCP, NoOpMutator, NoOpMutator>/16777216  -28%
BM_StreamingPingPongMsgs<TCP, NoOpMutator, NoOpMutator>/16777216     -28%
BM_UnaryPingPong<MinTCP, NoOpMutator, NoOpMutator>/0/134217728       -6%
BM_UnaryPingPong<MinTCP, NoOpMutator, NoOpMutator>/0/16777216        -6%
BM_UnaryPingPong<TCP, NoOpMutator, NoOpMutator>/2097152/2097152                                                                                -9%

Tool failure is because of #16846


error vite react They don't load backend data in mobile by tunnel dns

Describe the bug
there is a bug with vite react, it doesn't render the data from the backend to the frontend in mobile, but using /ping or routes with res json the backend does respond.
Reproduction
https://github.com/dev-ronaaldll/try-React-Typescript-Redux
Steps to reproduce
Run npm install followed by npm run dev
System Info
System:
    OS: Windows 10 10.0.22621
    CPU: (12) x64 Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz
    Memory: 3.22 GB / 15.94 GB
  Binaries:
    Node: 18.12.0 - C:\Program Files\nodejs\node.EXE
    Yarn: 1.22.19 - C:\Program Files\nodejs\yarn.CMD
    npm: 8.19.2 - C:\Program Files\nodejs\npm.CMD
  Browsers:
    Edge: Spartan (44.22621.675.0), Chromium (107.0.1418.24)
    Internet Explorer: 11.0.22621.1

Used Package Manager
npm
Logs
No response
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.

You are directly requesting to the backend from the browser. There's no room to handle that by Vite.
Closing as this is not likely a bug in Vite.


feat: Add wd (working-directory) variable to metadata comment

Hi, @suzuki-shunsuke
Summary
We are running this actions each working directory (like development / production) with the matrix job.
Why is the feature needed?
I want to hide old comment posted by the github-action-tflint. Currently, I could hide the old comment use github-comment hide command with the following condition.
Comment.HasMeta && (Comment.Meta.SHA1 != Commit.SHA1 && Comment.Meta.JobName == "tflint")

But this condition isn't completely. Because this condition has possibility to hide comment of other working directory.
For example, if working-directory B is executed after the comment for working-directory A is completed, the comment for A will be hidden by github-comment hide command in working-directory B.
So, I want to use Comment.Meta.Vars.wd in condition for hide command.
Example:
github-comment.yaml
hide:
  tflint: Comment.HasMeta && (Comment.Meta.SHA1 != Commit.SHA1 && Comment.Meta.JobName == "tflint") && Comment.Meta.Vars.wd == Vars.wd

$ echo $ENV
dev
$ github-comment hide -k tflint -var "wd:$ENV"

Thank you for your feedback.

For example, if working-directory B is executed after the comment for working-directory A is completed, the comment for A will be hidden by github-comment hide command in working-directory B.

I don't think so because SHA of those matrix jobs are same.

because SHA of those matrix jobs are same.

I see. That’s certainly true. Sorry to bother you again... 🥹


"Update and Rename a User" states inaccurate info

The issue tracker is for reporting product deficiencies. "How do I?" questions should be posted to the discussion forum at https://groups.google.com/group/google-apps-manager. When in doubt, start at the discussion forum and return here only when instructed to do so.
Please confirm the following:

I have upgraded to the latest GAM release from https://git.io/gamreleases and I still have this issue. Yes
I am typing the command as described in the GAM Wiki at https://github.com/jay0lee/gam/wiki Yes

Full steps to reproduce the issue:

Enter https://github.com/jay0lee/GAM/wiki/GAM3DirectoryCommands#update-and-rename-a-user
Run gam update user <e-mail address> changepassword on

Expected outcome (what are you trying to do?):
According to the documentation:

changepassword is optional and indicates whether the user should be forced to change their password on next login.

Actual outcome (what errors or bad behavior do you see instead?):
It logs the user/s out immediately, not only in the next login (plus as documented forces them to change their password).
Either the documentation should reflect that or there should be an option like immediately on/off.

Any update? Please update so your bot won't close it.

Wiki updated.

Thanks! Note there was a missing space though: you wrote changepassword onis specified instead of changepassword on is specified, so I've fixed it.
Also, do you think it's possible to add support for my proposed immediately on/off option?


fix: update to node 18.18.2 and node 16.20.2

will need to update expected-shas.json, but I don't remember how to do that.

@n0cloud Thanks for your PR! Sorry for the delay but I missed it at start, the expected sha must be updated by me once I create a new patch release so don't worry about them :)

node:assert:399
    throw err;
    ^

AssertionError [ERR_ASSERTION]: 108
    at [eval]:45:5
    at Script.runInThisContext (node:vm:125:12)
    at Object.runInThisContext (node:vm:301:38)
    at node:internal/process/execution:82:21
    at [eval]-wrapper:6:24
    at runScript (node:internal/process/execution:81:62)
    at evalScript (node:internal/process/execution:103:10)
    at node:internal/main/eval_string:29:3 {
  generatedMessage: false,
  code: 'ERR_ASSERTION',
  actual: false,
  expected: true,
  operator: '=='
}

Node.js v18.18.2

I'm getting this error when I test, but v19 also throw this error.

@baparham any clue where that error comes from?

Th test script check for process.versions.modules version, but didn't have the version for 16, 18 and 19.
My latest commit should fix it

➜  pkg-fetch git:(update-node-versions) yarn start -t --node-range node16
yarn run v1.22.19
$ node lib-es5/bin.js -t --node-range node16
> /home/gabriel/.pkg-cache/v3.5/built-v16.20.2-linux-x64
ok
Done in 0.23s.
➜  pkg-fetch git:(update-node-versions) yarn start -t --node-range node18
yarn run v1.22.19
$ node lib-es5/bin.js -t --node-range node18
> /home/gabriel/.pkg-cache/v3.5/built-v18.18.2-linux-x64
ok
Done in 0.21s.
➜  pkg-fetch git:(update-node-versions) yarn start -t --node-range node19
yarn run v1.22.19
$ node lib-es5/bin.js -t --node-range node19
> /home/gabriel/.pkg-cache/v3.5/fetched-v19.8.1-linux-x64
ok
Done in 0.40s.

I confirm

Let's see how this goes: https://github.com/yao-pkg/pkg-fetch/actions/runs/6536155016

@n0cloud Are you someway able to create node 20 patches?

PKG 5.9.2 published with latest nodejs version support https://github.com/yao-pkg/pkg/releases/tag/v5.9.2 🎉


Decoupling go tools integration from the rest of the plugin

Is there any possibility to use the go tools integrations separate from the lsp\dap\ts setup? I would like to use them, but i already have my lsp\null\dap set up and dont want to migrate. I can always just copy the code and try to decouple it from the configuration, but id like to be able to be up to date on them easier.
Maybe it would be possible to split the tool integrations into its own package, that can be configured separately, if it is needed?

you can use this option:
  lsp_cfg = false, -- true: use non-default gopls setup specified in go/lsp.lua
                   -- false: do nothing
                   -- if lsp_cfg is a table, merge table with with non-default gopls setup in go/lsp.lua, e.g.
                   --   lsp_cfg = {settings={gopls={matcher='CaseInsensitive', ['local'] = 'your_local_module_path', gofumpt = true }}}

Did not notice that, thank you. Ill try it out.


added spiral traversal of matrix in cpp

Solved #125 !. Kindly check the PR and let me know if any changes are needed.

the problem.md file should be outside the language folder

sorry will change it !


Does the "APIKey" work and is the sdk-doc correct?

Hello developers,
I have the sdk-doc to "APIKey"
https://sdk.skynetlabs.com/?shell--curl#local-node-authentication
I've read and looked at the examples of "curl /CLI /BrowserJS and NodeJS" but I don't understand how to connect to the local node?
I have a few questions about "APIKey":

Does "APIKey" even work locally?

How can I connect to the local node?

I thought with the command "const client = new SkynetClient();" if the portal "https://siasky.net" is selected automatically, how can it then select the local node?
Or is it an issues in sdk-doc?
https://sdk.skynetlabs.com/?shell--curl#local-node-authentication

Only one question does "APIKey" work together with "skynetApiKey", I don't think so. Or is it?

Another question does "APIKey" work together with "onUploadProgress" and "onDownloadProgress"?

What is a local node? important for me to understand.
6.1 - a local siad instances
6.2 - a local skyd instances
6.3 - or both?

I would be grateful if someone can enlighten me about the "APIKey".
According to the skd-doc I don't understand it, but I would like to test it if it works.

This option is only for people who are running their own Skynet node (skyd instance) locally. You would have to set the portal as localhost. This option is not related to skynetApiKey which only authenticates with portals (not single nodes).
As far as I'm aware, this is a pretty niche usecase. This section is also very outdated -- I'll bring it up to date, with a note that you should probably be using skynetApiKey instead. Thanks for the catch!

Also, could you modify the example for "Local Node Authentication" and add a "localhost-address"? To understand the example.

I don't know, I've honestly never set up a local node. You might even need a port number, now that I think about it, but that might depend on how the node is configured. To be honest, I think that very few people -- maybe nobody -- actually uses this option. We thought it would be more useful when Skynet was a new thing two years ago, and I guess we're just keeping it because we promise backwards compatibility (i.e. not to remove stuff).

Sorry for being so annoying, from my point of view the product is the most important thing and the documentation is the second most important thing. But with no or wrong documentation, the developers and end customers get confused when testing and maybe even get errors because they use it wrong.

Don't worry about being annoying, your observations have been really helpful. I totally agree about the importance of the documentation -- I'll try to be more on top of that in the future. So far, I've mainly been relying on users reporting things that are out of date.

Hello m-cat,
I have to ask the question again:
What is a local node? important for me to understand.
1 - a local Siad instance
2 - a local Skyd instance
3 - or both?
For 1 local siad instance the link is ok but "siad api":
Original:
More information
For more information about authentication on local skyd instances please see the Sia Docs.
You just have to change "skyd" back to "siad" instances because the link goes to the "siad api".
For 2 a local Skyd instance the text is ok but the link for "skyd Api" Documentation is wrong.
I found two links:

https://gitlab.com/SkynetLabs/skyd/-/blob/master/doc/api/index.html.md

or 2: https://gitlab.com/SkynetLabs/skyd/-/raw/master/doc/api/index.html.md
For the "Local Node Authentication" example, I found this one:
## Welcome to the Skyd API!

> Example GET curl call

go
curl -A "Sia-Agent" "localhost:9980/accounting?start=1234&end=5678"

> Example POST curl call with data

go
curl -A "Sia-Agent" -u "":<apipassword> --data "period=12096&renewwindow=4032&funds=1000&hosts=50" "localhost:9980/renter"

> Example POST curl call without data or authentication

go
curl -A "Sia-Agent" -X POST "localhost:9980/gateway/connect/123.456.789.0:9981"

I think we should change the example for "BowserJS" like this:
import { SkynetClient } from "skynet-js";

const client = new SkynetClient("localhost:9980/renter");

async function authenticationExample() {
  try {
    const { skylink } = await client.uploadFile(
      file,
      { APIKey: "foobar", customUserAgent: "Sia-Agent" }
    );
  } catch (error) {
    console.log(error);
  }
}

And similar for the other languages too.
What do you think?

You just have to change "skyd" back to "siad" instances because the link goes to the "siad api".

https://gitlab.com/SkynetLabs/skyd/-/blob/master/doc/api/index.html.md#user-content-authentication

Good find, updated.

I think we should change the example for "BowserJS" like this:

Maybe. I haven't tested it.
I would just leave it as-is -- it would take me some time to test this and it's a low-priority for us. Thanks for the suggestion, though.


Can't install Scatterer

Background

Operating System:  Windows 10
CKAN Version: v1.30.4
KSP Version: <IP_ADDRESS>42

Have you made any manual changes to your GameData folder (i.e., not via CKAN)?
No
Problem
Describe the bug
Scatterer can't be installed to KSP it says there is a conflict but I don't think it's a conflict since I can manually install the scatterer mod to the game folder and it works fine. But I need the scatterer from CKAN because I need the dependency for another mod. Without it, I can't install another mod.
Steps to reproduce

Download scatterer contents
See error

Expected behavior
Scatterer can be installed without any conflict
Screenshots (if applicable)

it says there is a conflict but I don't think it's a conflict

No, that's not why it's not installable. The exclamation point here is trying to alert you to the actual cause:

it says there is a conflict but I don't think it's a conflict

No, that's not why it's not installable. The exclamation point here is trying to alert you to the actual cause:

it says there is a conflict but I don't think it's a conflict

No, that's not why it's not installable. The exclamation point here is trying to alert you to the actual cause:

Hi, I just aware that this is a game version issue but I have tried to install it manually and it works fine with my latest KSP. Meanwhile I can't install it from CKAN

Yes, that's because you have KSP 1.12.1, and the author has only marked this as compatible up to 1.12.0 on SpaceDock:
https://spacedock.info/mod/141/scatterer
Hopefully the author will update that, but in the meantime you can tell CKAN to consider all of KSP 1.12 as compatible:
https://github.com/KSP-CKAN/CKAN/wiki/User-guide#choosing-compatible-game-versions

Yes, that's because you have KSP 1.12.1, and the author has only marked this as compatible up to 1.12.0 on SpaceDock:
https://spacedock.info/mod/141/scatterer
Hopefully the author will update that, but in the meantime you can tell CKAN to consider all of KSP 1.12 as compatible:
https://github.com/KSP-CKAN/CKAN/wiki/User-guide#choosing-compatible-game-versions

Ok. Thanks for the support.


[BIOMAGE-2142] Remove media type that is not used

Description
When I was debugging the setup with a lambda function being triggered by the SNS work-results topic and the lambda function calling the api gem2sResults and pipelineResults api endpoints, I noticed that although media type application/json is accepted, in practice it doesn't work. The fact that it doesn't work is subtle to debug, because the error only indicates invalid json. In practice, we are not getting json, but a json string.
I am opening this PR to test if this is also the case with the architecture without the lambda, and if it is, we should remove this media type.
Details
URL to issue
https://biomage.atlassian.net/browse/BIOMAGE-2142
Link to staging deployment URL (or set N/A)
https://ui-ivababukova-api31.scp-staging.biomage.net
Links to any PRs or resources related to this PR

Integration test branch
master

Merge checklist
Your changes will be ready for merging after all of the steps below have been completed.

Code updates
Have best practices and ongoing refactors being observed in this PR

[ ] Migrated any selector / reducer used to the new format.

Manual/unit testing

[ ] Tested changes using InfraMock locally or no tests required for change, e.g. Kubernetes chart updates.
[ ] Validated that current unit tests for code work as expected and are sufficient for code coverage or no unit tests required for change, e.g. documentation update.
[ ] Unit tests written or no unit tests required for change, e.g. documentation update.

Integration testing
You must check the box below to run integration tests on the latest commit on your PR branch.
Integration tests have to pass before the PR can be merged. Without checking the box, your PR
will not pass the required status checks for merging.

[ ] Started end-to-end tests on the latest commit.

Documentation updates

[ ] Relevant Github READMEs updated or no GitHub README updates required.
[ ] Relevant Wiki pages created/updated or no Wiki updates required.

Optional

[ ] Staging environment is unstaged before merging.
[ ] Photo of a cute animal attached to this PR.

You mean to the api we send a json string so something like '{"Asd":420}' and not {"Asd":420}?

You mean to the api we send a json string so something like '{"Asd":420}' and not {"Asd":420}?

Exactly. We never use the json format, only in unit tests. The json format technically is accepted by the validator, but later breaks the api, so we shouldn't accept it. Thanks for catching me trying to wrongly delete the tests. I have fixed them now.


Python3 support - cleanup

Hi, I found your buster repository quite updated so I wanted to contribute.
I added Python3 support and did a general cleanup.
If we want to keep Python 3 and 2 support we should add some tox test, but for the moment this will do the trick :-)

I've fixed the dependencies so to have them working in both py27 and py36.
I've added tox tests and some very basic pytest check.
Some refactoring will be needed to allow a better test suite.


Set the current working directory to the app directory

This can be considered a risky change, but from what I can tell this works.

What's the status of this? Did we decide if we want to do it and accept risks?

Undecided.

Is there a tracking issue?

https://github.com/aspnet/IISIntegration/issues/1469

We have decided not to do this.


[Slider][material-ui] Refactor style to use CSS variables

Closes #38981

[x] I have followed (at least) the PR section of the contributing guide.

I tried to follow Joy UI's implementation, but also deviated quite a bit from it. I removed a memoTheme to get access to ownerState, in the same way as Joy UI, but I am not sure if it is the solution we want to go with. I could go back to the props based solution, if that is preferred. Furthermore, I also made some assumptions about relations between variables and the magic constants currently present, which might require some looking over. For the SliderMarkLabel I did not see any clear correlations, except for maybe the left property aligning with the paddingRight from root on the vertical variant, so I just left the values as constants for now, but that should likely be changed.

@DiegoAndai was it something like this you had in mind? It does seem to make the code DRYer. My switching to using ownerState seems to have had an interesting side effect, caught by argos. It seems to have added the margin of 20px at the bottom of the marked horizontal slider, which I believe is the intended behavior.

@albarv340 I'm closing this as per https://github.com/mui/material-ui/issues/38981#issuecomment-2389476103. We won't apply this change to this version of the Slider but rather when migrating it to Material Design 3. I'm so sorry about this. Hopefully, you will find another issue to work on, which I would be happy to guide you through. Thanks for taking an interest in contributing.


Debugger not mapping to source .ts files

Hello,
I am not sure why but I opened my extension code after a couple of months without changing anything and my breakpoints do not link anymore when debugging.
Debugger
[vadimcn.vscode-lldb] Accessing a resource scoped configuration without providing a resource is not expected. To get the effective value for 'lldb.dereferencePointers', provide the URI of a resource or 'null' for any resource.
Debugger Log
[19:39:33.788 UTC] To client: {"seq":0,"type":"response","request_seq":7,"command":"setBreakpoints","success":true,"body":{"breakpoints":[{"verified":false,"line":353,"message":"Breakpoint ignored because generated code not found (source map problem?).","id":1002},{"verified":false,"line":354,"message":"Breakpoint ignored because generated code not found (source map problem?).","id":1003},{"verified":false,"line":358,"message":"Breakpoint ignored because generated code not found (source map problem?).","id":1004}]}}
tsconfig.json
{
	"compilerOptions": {
		"module": "commonjs",
		"target": "es6",
		"outDir": "out",
		"lib": [
			"es6"
		],
		"sourceMap": true,
		"rootDir": "src",
		"strict": true   /* enable all strict type-checking options */
		/* Additional Checks */
		// "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */
		// "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */
		// "noUnusedParameters": true,  /* Report errors on unused parameters. */
	},
	"exclude": [
		"node_modules",
		".vscode-test"
	]
}

launch config
{
			"name": "Run Extension",
			"type": "extensionHost",
			"request": "launch",
			"runtimeExecutable": "${execPath}",
			"args": [
				"--extensionDevelopmentPath=${workspaceFolder}"
			],
			"outFiles": [
				"${workspaceFolder}/out/**/*.js"
			],
			"preLaunchTask": "npm: watch"
		},

Additional notes
I have tried reconfiguring my launch configuration and tsconfig.json in numerous ways and nothing is linking the source maps, it transpiles and generates the "out" directory fine but the debugger cannot link my ts files
Thank you!

Haha, I'm dumb. I realized I was looking at the wrong listener. Thank you!


Support setting/getting state parameter

Currently it's not possible to set the state parameter for OAuth 2 authorization URLs. I wouldn't mind submitting a PR, however I'd like to understand the reasoning behind the current implementation:
https://github.com/pac4j/pac4j/blob/master/pac4j-oauth/src/main/java/org/pac4j/oauth/client/BaseOAuth20Client.java#L70
Thanks!

By default, the state parameter is generated in getStateParameter and you must say, by client, if the state parameter is required. Though, you could override this method and define it by yourself. The underlying Scribe API should also support state parameter to make the whole thing work.
Could you elaborate on Currently it's not possible to set the state parameter?

@leleuj Essentially I'm proposing to change the behavior of the BaseOAuth20Client to allow the user of the classes to set their own custom state data and then have the ability to retrieve it after the callback.

I'm not against it, would you mind submitting a pull request to have a concrete implementation to talk about?

@leleuj Sure thing


Use of generic constructor

I am trying to use this code to achieve different tasks:

simulating dwave quantum annealing process. Some questions on the parameters:

for Gamma and Jchain can I use the values that they provide for A(s) and B(s) ?
what about invTempJ0 and invTempH0? As far as I understand they compensate for the SQUIDs error, but maybe I don't need this level of detail, how can I get rid of them?
can I obtain the energies? it would be nice to track the eigenvalue spectrum over an s range to see how the gap changes

solve Ising models: s = 1, no transverse field, it should be enough to set Gamma = 0. Am I missing anything? Is it sensible to use this library as such?

This code was published in support of this papers: https://www.nature.com/articles/s41467-021-20901-5. Although it allows generalization, it is not currently very user friendly - apologies.

This code simulates a single model (i.e some fixed values of A(s) and B(s)). If you need variation of A(s) and B(s) as per annealing make a feature request (it should be added in the near term). I think the fact you cannot do annealing with this code probably makes your other questions mute for now? In any case invTempJ0 and invTempH0 encode the problem you want to solve (e.g. in the application this code was optimized for, basically a triangular lattice with all couplers of 1, but you may want to do a more complicated problem type).
If you use this code with Gamma=0 it works fine, and does do classical simulation (Gibbs Updates of classical Ising model). Some of the updates (those relating to non-trivial path integrals) would do nothing, so that adds some inefficiencies, but the algorithm is otherwise not ill-behaved. Again, it doesn't do annealing, so you would be stuck at a fixed temperature.


core: child broker should kill its own process within shutdown grace period

Given the script:
    def test_aborted_on_local_broker_shutdown(self):
        stream = self.router._stream_by_id[self.local.context_id]
        mitogen.utils.log_to_file(level='DEBUG')
        recv = self.local.call_async(time.sleep, 120)
        self.broker.shutdown()
        exc = self.assertRaises(mitogen.core.ChannelError,
            lambda: recv.get())
        self.assertEquals(exc[0], mitogen.core.ChannelError.local_msg)

The ordering of the call_async() enqueuing and transmitting a CALL_FUNCTION to the child vs. broker.shutdown() setting the shutdown flag is entirely dependent on how long the active thread has left before it must release the GIL.
If the GIL is held across both calls, then when Waker causes the broker thread to wake up, broker will see that self._alive is False and enqueue a _DEAD on the child's CALL_FUNCTION channel before the main loop has a chance to run deferred functions, which would cause the time.sleep to be written first.
If on the other hand the GIL was not held across both calls, then broker will continue to see self._alive is true, run deferred functions, causing the CALL_FUNCTION to be written first. This subsequently causes the main thread in the child to block for time.sleep(120) seconds, which means on the subsequent loop iteration, the _DEAD written to the child due to shutdown() will not be processed within the grace period. As a consequence of that, child's broker has no idea the parent has initiated shutdown, and so a shutdown delay and warning message are visible in the parent at random.
Need to change the behaviour so that shutdown delivers message to the broker, not to the main thread, and the broker is responsible for shutting down its own main thread, and if such shutdown doesn't occur expediently, shooting its own process in the head with SIGTERM or stronger.
This probably doesn't fix all shutdown ordering issues, but it's a major source of them
good/bad log:
bad.txt
good.txt

fixed in 8439e889edebb34982a2c66c6da0dc81e2d34a44


Send confirmation email after_commit to avoid background jobs from trying to send email before record is created

When delegating DeviseMailer to something like Resque, sometimes the email tries to get sent before the record has fully been created. So, changing after_create to after_commit which fixes this problem.

Unfortunately this is not ORM agnostic. commit is an AR only concept. We probably need a respond_to? check.

Jose,
Can you please elaborate a little more so I can try to fix it? I'm not entirely sure how to go about this.. Thanks.

You just need to do this:
if respond_to?(:after_commit)
  after_commit  :send_confirmation_instructions, :if => :confirmation_required?
else
  after_create  :send_confirmation_instructions, :if => :confirmation_required?
end

If you run rake, it will run tests for both Mongoid and ActiveRecord, both should pass.

I see, thanks! It's actually causing the tests the fail though. It's not receiving the mail object, and I haven't yet figured out why. Maybe a timing issue?

Jose,
It turns out that to test the after_create callback I need to add 'self.use_transactional_fixtures = false' to the test file so that the records are actually created and not rolled back. But at least in the registerable_test.rb file, if I do that it causes errors because it keeps trying to create records with the same email address.
I want to fix this in an acceptable way, so do you suggest I go that route and make a method to generate unique email addresses, or ... ?

if transactional fixtures is false, we need something like dbcleaner to clean up the db between tests.

I know it's an old one, but just bumped into the same issue as well since all our emails are automatically sent using sidekiq.
Occasionally, there would be a race condition and the mailer will try to access a user id that doesn't exist... I saw this problem explained / described very well on http://www.justinweiss.com/blog/2015/03/10/a-couple-callback-gotchas-and-a-rails-5-fix/ (including how to avoid test issues)
I'm wondering if devise should by default try to use after_commit if it can, like @josevalim described, otherwise fallback to after_create? This should make things work for both synchronous / asynchronous cases.


[fix](index compaction) base compaction failed after restore indexes

after restore from other cluster, then rowsets got different index_id, and make index compaction in base compaction always failed.

run buildall

run p0

run buildall

run External Regression

for branch-2.1: https://github.com/apache/doris/pull/43962

@cambyzju Why was this PR closed on the master branch?


Add license

Could you please choose a license and add it to the repo?
I've just noticed that this project lacks license info. As it stands it is covered by copyright and no-one is rightfully allowed to fork or modify it.

If you would like to take this project over, rather than creating confusion by forking it, please just let me know - I can transfer the repo to you.
https://github.com/dflock/geany-dark-scheme/issues/26

Thanks, but right now I feel I can bring nothing new to this project.
I just forked it to change a few colours, making it suit a Dark GTK Theme I use: Candra-Themes-3.20. I added no new features.


fix: non python runtimes

Fixes #478
Fixes the assumption that the primary runtime of the service is python.
Prevents the python requirements from being injected into the main package.

Hey @thejuan - it's been a long time since this PR was proposed. I'm going to close it, if you feel like the issue is valid, please open a new issue or a new PR against the latest main branch. Thanks 🙇


Prompt / force exiting Insert mode if found idling for x seconds

I have struggled for a little while to shake old habits from VSCode days, including navigating mid-edit.
This means I (still) occasionally navigate while in Insert mode, which isn't recommended. Redditors seem to unanimously agree on "Don't navigate in Insert mode, exit as soon as you're done typing/editing".
So that's a shift in mind set I have been working on. I'm happy to submit a PR for this feature if accepted.
The gist of it would be:

Once entered Insert mode, a timer starts. prompt user after x seconds of inactivity .ie not typing.
Additionally, this can be added as an optional configuration field to force exit to Normal mode.

Cheers,

Hi @csessh, that's an interesting feature. However, hardtime.nvim by default disables the arrow key in insert mode, so I think  this is enough for user to quit the habit of navigating in insert mode. Could you please provide some example situation when you still navigate in insert mode?

I haven't used arrow keys in a while now, thanks to hardtime.nvim.
re the navigation in Insert: Quite often I found myself do this with brackets/quotes:
foo()j

the j key is my attempt to go back in between ().
Or
config = function()
endk

the k is my attempt to go up a line to write this function.
Or
often times, I find myself just sitting in Insert mode without returning to normal mode. So as soon as I need to navigate, I just do without checking to see if I'm in Normal mode. The requires multiple additional keys pressed to undo before I can resume navigating.

@m4xshen It's a good/fun bit of practice for me anyway, so I created a PR.
any feedback would be welcome


Too less information about memory_limit

Describe you feature request
Is your feature request related to a problem? Please describe.
I see some people here talking about memory_limit. Some of them use -1. Mine is by default set to 128M. At the moment I don't see any information about it on the website/documentation or in this repository. The memory_limit is a limit per request. Does this mean that it is the maximum memory for a worker too, because it is a long running request. What is the best value for it in production? What is the best value for it in a Docker container (maybe in combination with a Docker container memory limit)? Also, wouldn't it be nice if we can set it with an environment variable out of the box (e.g. PHP_MEMORY_LIMIT or PHP_WORKER_MEMORY).
Describe the solution you'd like
I want memory_limit covered in the documentation. Possibly I want to be able to set it using a environment variable without having to do much myself.
Describe alternatives you've considered
For now I consider setting memory_limit to -1 in production using a .ini file. I limit my Docker container to 384 MB or 512 MB.

I'll add some docs but it works "as expected". The limit is per request/worker. If it is reached, the worker restarts and an error is logged.
You can use ini_set('memory_limit', 'value'); to change the limit dynamically (as usual), the limit is automatically reset to the one defined in php.ini after the handling of each request.


Error: Network Connection

After updating to the last A6300 firmware, I'd get the Network Connection Error
Loading plugin
Plugin loaded
Starting task
Got task key
Cancelling plugin
Plugin cancelled
Starting download to camera
Error: Network connection
Please help! I'm running firmware 2.0 on a A6300. Thank you!

The web installer is not compatible with the newest firmware anymore. Please use pmca-gui instead.


Make wsUrl configurable after build

Hey there!
I am currently packaging all components of Lightspeed for Arch Linux (for the Arch User Repository).
Did pretty well so far with -ingest and -webrtc. Now I am facing the issue, that the wsUrl is hardcoded, and can't be set by the user when packaging.
It would be nice if this wsUrl is configurable after the build.
I think a simple JSON file somewhere would be sufficient as that can be loaded with a fetch.

Hey that is awesome to hear! I am a fellow Arch user and it is kind of wild to think that I am going to have some software on the AUR. So I am not 100% sure the best way to go about this since I have not dealt with writing packaged software before so any suggestions would be great.

Hey that is awesome to hear! I am a fellow Arch user and it is kind of wild to think that I am going to have some software on the AUR. So I am not 100% sure the best way to go about this since I have not dealt with writing packaged software before so any suggestions would be great.

So I know how Element Web (which even packaged in the official repos on Arch) does it.
They also provide a static web app, which is then configured with a json file that's loaded at the user's browser.
It's fairly simple I guess:
Fetch JSON File -> Use values from that -> Done!

So I know how Element Web (which even packaged in the official repos on Arch) does it.
They also provide a static web app, which is then configured with a json file that's loaded at the user's browser.
It's fairly simple I guess:
Fetch JSON File -> Use values from that -> Done!

So I know how Element Web (which even packaged in the official repos on Arch) does it.
They also provide a static web app, which is then configured with a json file that's loaded at the user's browser.
It's fairly simple I guess:
Fetch JSON File on page load -> Use values from that -> Done!

My concern with this is that the page will only load on the hosts computer.

So I know how Element Web (which even packaged in the official repos on Arch) does it.
They also provide a static web app, which is then configured with a json file that's loaded at the user's browser.
It's fairly simple I guess:
Fetch JSON File on page load -> Use values from that -> Done!

My concern with this is that the page will only load on the hosts computer.

Okay so watch this:
You run npm build which creates you a folder called build.
Now in that folder you can put whatever you want (for example our json file), which will also be available through serve (or any web server to be exact).
So let's say we put the config.json into the build folder and then host that with serve.
We can then just fetch the file from the JS in the client's browser. The location can be ./config.json (seen from index.html) and that's it. It's basically available to everyone who can also access the index.html

Okay so watch this:
You run npm build which creates you a folder called build.
Now in that folder you can put whatever you want (for example our json file), which will also be available through serve (or any web server to be exact).
So let's say we put the config.json into the build folder and then host that with serve.
We can then just fetch the file from the JS in the client's browser. The location can be ./config.json (seen from index.html) and that's it. It's basically available to everyone who can also access the index.html

OHHH that makes so much sense now hahaha that sounds great.

OHHH that makes so much sense now hahaha that sounds great.

If you are not already working on it I could lay my hands on it if you don't mind :D

If you are not already working on it I could lay my hands on it if you don't mind :D

If you are not already working on it I could lay my hands on it if you don't mind :D

Go for it! I have some meetings tonight and did not get a huge amount of sleep last night so I am relaxing on coding for today

If you are not already working on it I could lay my hands on it if you don't mind :D

Go for it! I have some meetings tonight and did not get a huge amount of sleep last night so I am relaxing on coding for today


What is the following

<EMAIL_ADDRESS>

i don't understand what you mean
في الاثنين، ٨ كانون الثاني، ٢٠٢٤, ٢:٣٦ م Galen Reich <
@.***> كتب:

Closed #11
https://github.com/bellingcat/telegram-phone-number-checker/issues/11
as not planned.
—
Reply to this email directly, view it on GitHub
https://github.com/bellingcat/telegram-phone-number-checker/issues/11#event-11416483350,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BE74TQUFFTD5Z3V5YZQIXODYNPK5NAVCNFSM6AAAAABBMUAWEOVHI2DSMVQWIX3LMV45UABCJFZXG5LFIV3GK3TUJZXXI2LGNFRWC5DJN5XDWMJRGQYTMNBYGMZTKMA
.
You are receiving this because you authored the thread.Message ID:
<bellingcat/telegram-phone-number-checker/issue/11/issue_event/11416483350
@github.com>


Remove deprecated lifecycle methods

Component does not pass react strict mode.  Need to remove "componentWillMount" and "componentWillUpdate".  Since they don't seem to actually do anything it should be fine.
Cheers!
index.js:1452 Warning: Unsafe lifecycle methods were found within a strict-mode tree:

componentWillMount: Please update the following components to use componentDidMount instead: SideEffect(NullComponent), t

componentWillUpdate: Please update the following components to use componentDidUpdate instead: t

Learn more about this warning here:
https://fb.me/react-strict-mode-warnings

Thanks for your tip. The change will be included in next release (v2.4.0)

Cool!


add option to not configure nat

Hi!
First: Thank you so much for all the hours you've spared me setting ovpn up :)
Personally I believe it makes sense, not to NAT outgoing VPN traffic, in order to distinguish different clients, for example in service  logs. Thus, a proposal to consider.
Thanks,
Manuel

This PR is actually useful.
On my side the default nat config is not working. I need to forward the trafic from one interface to another.
Like this:
# *nat
# :POSTROUTING ACCEPT [0:0]
# -A POSTROUTING -s <IP_ADDRESS>/24 -j MASQUERADE -o ens224
# COMMIT

The default config is based on the ipv4 address
-A POSTROUTING -s {{ openvpn_server_network }}/24 -j SNAT --to-source {{ ansible_default_ipv4.address }}

This PR only handle iptables. It should be placed into firewalld and ufw as well.


Events aka Reactive-UI

Add new Attributes, Data Providers and Code Generators to generate what we know under the name Reactive UI (as explained in this Unite Talk video https://www.youtube.com/watch?v=Phx7IJ3XUzg)
[Event(false)]
public sealed class GameOverComponent : IComponent {
}

[Event(true)]
public sealed class PositionComponent : IComponent {
    public Vector3 value;
}

I plan to generate 2 different events, one that's independent from entities [Event(false)] and one that's bound to a specific entity [Event(true)]
public interface IGameOverListener {
    void OnGameOver(bool isGameOver);
}

public sealed class GameOverListenerComponent : IComponent {
    public IGameOverListener value;
}

public sealed class GameOverEventSystem : ReactiveSystem<GameEntity> {

    readonly IGroup<GameEntity> _listsners;

    public GameOverEventSystem(Contexts contexts) : base(contexts.game) {
        _listsners = contexts.game.GetGroup(GameMatcher.GameOverListener);
    }

    protected override ICollector<GameEntity> GetTrigger(IContext<GameEntity> context) {
        return context.CreateCollector(GameMatcher.GameOver.AddedOrRemoved());
    }

    protected override bool Filter(GameEntity entity) {
        return true;
    }

    protected override void Execute(List<GameEntity> entities) {
        foreach (var e in entities) {
            foreach (var listener in _listsners) {
                listener.gameOverListener.value.OnGameOver(e.isGameOver);
            }
        }
    }
}

public interface IPositionListener {
    void OnPosition(Vector3 position);
}

public sealed class PositionListenerComponent : IComponent {
    public IPositionListener value;
}

public sealed class PositionEventSystem : ReactiveSystem<GameEntity> {

    public PositionEventSystem(Contexts contexts) : base(contexts.game) {
    }

    protected override ICollector<GameEntity> GetTrigger(IContext<GameEntity> context) {
        return context.CreateCollector(GameMatcher.Position);
    }

    protected override bool Filter(GameEntity entity) {
        return entity.hasPosition && entity.hasPositionListener;
    }

    protected override void Execute(List<GameEntity> entities) {
        foreach (var e in entities) {
            e.positionListener.value.OnPosition(e.position.value);
        }
    }
}

This is the idea, the implementation might be different once I see it in action.
Discussion and feedback is welcome

For the attributes i would suggest to name them differently instead of [Event(true)] and [Event(false)]. Currently you would have to know if "false" is an Entity bound event or not instead of just seeing it at a glance. One could read the parameter as "is pure event"  or as "is entity event" (which it currently is)
Maybe call them [Event] and [EntityEvent] or something along these lines, to clearly differentiate them.

I suggest can call it one-to-one event and one-to-many event.

Current state:
You can flag components with [Event(true)] or [Event(false)]
[Event(bool bindToEntity)]
E.g.
[Unique, Event(false)]
public sealed class ScoreComponent : IComponent {
     public int value;
}

After generation you can use the IListener
public class GameHUDController : MonoBehaviour, IScoreListener {

    public Text scoreLabel;

    void Start() {
        Contexts.sharedInstance.game.CreateEntity().AddScoreListener(this);
    }

    public void OnScore(int value) {
        scoreLabel.text = value.ToString();
    }
}

The generated GameScoreEventSystem which notifies all IScoreListeners will be added to the generated EventSystems feature automatically.
When [Event(true)] the listener is on the same entity as the component of interest, e.g.
[Event(true)]
public sealed class PositionComponent : IComponent {
    public Vector3 value;
}

public class View : MonoBehaviour, IView, IPositionListener {

    public virtual Vector3 position { get { return transform.localPosition; } set { transform.localPosition =

    public virtual void Link(IEntity entity, IContext context) {
        gameObject.Link(entity, context);
        var e = (GameEntity)entity;
        e.AddPositionListener(this);
    }

    public virtual void OnPosition(Vector3 value) {
        position = value;
    }
}

I will show this in the Shmup Part 3 video

What if I want multiple listeners to [Event(true)]?

[Event(true)] is bound to one entity, there can only be one. Try using [Event(false)] instead

Copied existing generators and changed to use Action Gist.
It needs extension method for convenience, didn't write generator for it
public static void ListenHealthComp (this GameCEntity ent, Action<float> action) {
   if (!ent.hasHealthCompListener) {
       ent.AddHealthCompListener(null);
   }
   ent.healthCompListener.value	+= action;
   ent.ReplaceHealthCompListener(ent.healthCompListener.value);
}

Here are my thoughts after digging in event generators:

Event(false) and Event(true) serve quite different purposes, and having same interface gives drawbacks. For example ent.AddHealthListener(*) doesn't tell if health is entity event or a global event. Or if at some point developer chooses to switch (false) to (true)version there will be no compilation errors, but behaviour will be broken.
Event(false) and Event(true) generators are tightly coupled. Wanted to change one of them and had to change other too

Agree, I'm not 1005 happy with [Event(bool)]. Suggestions for names?
[Event] and [EntityEvent]?
IXyzEntityListener could pass the entity instead of the value

[Event] and [EntityEvent] sound good

Or One-To-One Event and Many-To-One Event? Btw XyzEntityListener could pass the entity instead of the value? Do u mean passing the whole entity instead of the data from component?

@optimisez

Do u mean passing the whole entity instead of the data from component?

yes

but not sure if that's a good decision as it might encourage modifying the entity

IXyzEntityListener could pass the entity instead of the value
but not sure if that's a good decision as it might encourage modifying the entity
I'd use entity argument in both Event and EntityEvent, sometimes there are additional components on entities.

[Event(false)]
public sealed class GameStateOverEventComponent : IComponent { }

public class UiController : MonoBehaviour
{
	......

    public override void OnGameStateOverEvent(bool isGameStateOverEvent) // this paramenter is not needed
    {
        //do something
    }
}

feature request: empty parameter event function

@roygear eventSystem tracks all value changes of Component. When there are class members system reacts to Added trigger, without class members it reacts to AddedOrRemoved trigger.
EventSystemGenerator.cs
      MemberData[] memberData = data.GetMemberData();
      string newValue1 = memberData.Length == 0 ? "AddedOrRemoved" : "Added";

Do you request separate Added, Removed systems with separate subscription?

but not sure if that's a good idea as it might encourage modifying the entity
So is that the new feature u plan to work on? One use case I encounter when working on game object pooling is I need to pass the entity as parameter to the interface so I can get the entity at MonoBehaviour side to add event listener component as it's Event(true) event that's bound to a specific entity.

Typo in generated code btw: "_listsners"

I love this feature, my animation controllers are doing a lot of polling right now so I'm looking forward to rewriting them in this way.

Why putting EventListenerComponent on the same entity with [Event(true)] and not on a new one with only listening purpose? It's very handy to have as many listeners on one component as you want by registration. In this way it feels like a real Observer/Listener pattern. Will the current solution call the Listener Method after registration automatically if there is already the component or will it only getting called after a new change?

@c0ffeeartc
I like to trigger a event then the listener do something without using any parameter.
public void OnGameStateOverEvent(){ // do things}

It could be done in previous manually way. Of course, use generator way is better if supported.

@StormRene when callbacks are on different entities, how system would trigger only callbacks subscribed to this entity?
How about keeping multiple callbacks in a component of an entity?

@c0ffeeartc creationIndex is the key for that. You are subscribing to the component with the specific creationIndex of that entity to determine if it's the correct one. The Listener Component should look like this:
public class HealthEventListenerComponent : Entitas.IComponent {
	[Entitas.CodeGeneration.Attributes.EntityIndex]
	public int targetCreationIndex;
	public IHealthEventListener listener;
}

So the system which calles it could do this:
//Collector in Health
<...>
protected override void Execute(System.Collections.Generic.List<CoreEntity> entities) {
	foreach (var target in entities) {
		var listeners = context.GetEntitiesWithHealthEventListener(target.creationIndex);
		foreach (var listener in listeners) {
			listener.healthEventListener.listener.HealthChanged(target.health.value);
		}
	}
}
<...>

If we agree on passing entity as argument to Event and EntityEvent, can we use this interface public interface IEntityAction{void Act (Contexts contexts, GameEntity ent);} ?

Imo there are two options:
void HealthChanged(int creationIndex, int newHealth);

or
void HealthChanged(GameEntity healthEntity, int newHealth);

Why do you need the Contexts?

I need Contexts to get access to everything 😄
For example event entity is only a signal that something happened, then view gathers data through contexts and updates itself.
Contexts and entity are present in eventSystem, why not share them. In case these won't pass to final interface, I'll just use Contexts.sharedInstance, and GetEntityWith* to do the same thing.

Why not getting all the necessary data through the Events? If you need other data on a specific event just register new listeners:
void TookDamageChanged(GameEntity e, int damage) {
	listenerEntity.AddAnotherListener(e.creationIndex, this);
}
void AnotherListenerChange(int newData) {
//go for it.
}
This way you are pure reactive.

While its nice to have the classes generated for you by applying the annotation to the component, wouldn't it make more sense to generate using objects that define more elaborate triggers? It would be much more helpful to generate interfaces around a matcher rather than to create them over a single component.

@beck-daniel thought about that, we definitely need that to express more complex scenarios. I've got sth in my head already.

Many cases when for one entity it is necessary to call simultaneously several changes in the UI.
For example, we have several units, each of them has health. And when it changes, this change needs to be shown in two+ different places(hp bar, card info, stats screen etc).
We use group.OnEntityAdded and creation index id for this.

I changed the interface to include the entity:
public interface IPositionListener {
    void OnPosition(GameEntity entity, UnityEngine.Vector3 value);
}

Problem:
Imagine PositionComponent is tagged with [Core] and [Meta]
I have 2 options:

generate ICorePositionListener  and IMetaPositionListener  and have a type-safe entity
only generate IPositionListener  but with IEntityas a parameter

Nr 1 would look like this
public class View : MonoBehaviour, IGamePositionListener {
    // ...
    e.AddGamePositionListener(this);
   // ...

    public void OnPosition(GameEntity entity, Vector3 value) {
        position = value;
    }
}

Nr 2 would look like this
public class View : MonoBehaviour, IPositionListener {
    // ...
    e.AddPositionListener(this);
   // ...

    public void OnPosition(IEntity entity, Vector3 value) {
        position = value;
    }
}

Any thought?
When IEntity:
Since we get the value we don't always have to cast the entity to e.g. CoreEntity.
We could have 1 OnPosition that can handle both entity types

@sschmid First option seems quite nice as u can know the context. Btw will this implementation introduces more method calls and slow down the performance as method call is not cheap.

Maybe I can try to skip the context name, if I only detect 1 context.
@optimisez no additional method call, just signature change

I see you add entity to the parameter but I think make it able to configure attribute at component to make it generate interface that has/without entity as parameter will be even better.  Just like how Event(true) and Event(false) work previously that generate code based on attribute configuration. Although I'm really sure will it affect much performance for 1 parameter vs 2 parameters.

Something like [EntityEvent( hasContextsArg = false, hasEntityArg = true, hasEntityFieldsArgs = true)]. And everyone gets what he wants.

Awesome. Make it generate interface that has no entity parameter by default if there's no eEntityFields. Then maybe [EntityEvent( argFlags = eContexts | eEntityCreationIndex | eEntityFields] is the better way to go.

Changed it to detect if the component only has 1 context and then not prefixing it with the context name. Will pass the entity by default as the sender. For event delegates it is very common to have the sender + args as parameters. The (realdworld) performance is the same.

Changed it to detect if the component only has 1 context and then not prefixing it with the context name.

Sorry to say late, but that's probably not a good decision. After adding context and regenerating it will bring compile errors for every subscriber.
It's great to have it open source to tweak however we like

When I push it I can let you know where to easily change this behaviour

Changed it to detect if the component only has 1 context and then not prefixing it with the context name.

Ya. @sschmid. Make it prefixing it with the context name even he component only has 1 context will be better as it won't introduce breaking change after changing component to more than 1 context.

@optimisez yes, I'm aware of that. Currently I prefer the shorter api though.

Question:
I'm not quite sure about how to handle all the cases, there are many different use-cases. Example
[Event(false, EventType.Added)]
public sealed class GameOverComponent : IComponent {
}

EventSystems will usually be executed in the view phase after the update systems. The behaviour of an reactive system is: if isGameOver = true, the entity gets collected and the system executes even if we isGameOver= false in between.
Now what about events? Should IGameOverListener.OnGameOverAdded() be called or not? GameOver happened but we removed it before.

It probably shouldn't and I filter before

[Event(false, EventType.Added)] generates IGameOverListener.OnGameOverAdded()
[Event(false, EventType.Removed)] generates IGameOverListener.OnGameOverRemoved()
[Event(false)] generates IGameOverListener.OnGameOver()

I think make it able to supports all these 3 events as sometimes u just only want to trigger event when isGameOver = true or isGameOver = false. And sometimes u want trigger both true and false.

Currently I have:
Flag Components:

[Event(false, EventType.Added)] generates IGameOverListener.OnGameOverAdded(GameEntity entity)
[Event(false, EventType.Removed)] generates IGameOverListener.OnGameOverRemoved(GameEntity entity)
[Event(false, EventType.AddedOrRemoved)] generates IGameOverListener.OnGameOver(GameEntity entity, bool isGameOver)

Normal Components:

[Event(false, EventType.Added)] generates IPositionListener.OnPosition(GameEntity entity, Vector3 position)
[Event(false, EventType.Removed)] generates IPositionListener.OnPositionRemoved(GameEntity entity)
[Event(false, EventType.AddedOrRemoved)] generates IPositionListener.OnPositionAddedOrRemoved(GameEntity entity, Vector3 position)

I will probably add a check to the filter, so I ensure that it really isGameOver by the time we notify all listeners

[Event(false, EventType.AddedOrRemoved)] should generate
IPositionListener.OnPosition(GameEntity entity, Vector3 position)
+
IPositionListener.OnPositionRemoved(GameEntity entity)

Another issue I encounter is let say I have UI A and UI B. When I close UI A and switch to UI B, I will remove all the UI A listeners. Then when I close UI B and open UI A, the UI A does not refresh all the data when I add all the UI A listeners. I think I need something like [Event(false, EventType.AddedOrRemoved, RefreshListener)] to generate one more system to make it call listener one time when adding the ListenerComponent to the entity.

Listeners should be everytime getting called with the current state when they are added. We first thought it would be good to make a reactive system that triggers on the listener component getting added. We later found out it's not a very good idea because they are getting called delayed and not directly (like one tick after, when entitas is getting updated). Therefore we generate a ReactiveSystem for changing data and a InitializeSystem which calls the listener on group added so they are getting called instantly. It's working very nice.

Any ETA on updated feature?

Will pack a new version.
Fyi, things I won't implement:

calling the listener delegate method when adding the listener
If needed, call the delegate manually after adding the listener. This is more flexible and work in more scenarios compared to always calling the delegate when added.

Group events
All Entitas events are reactive and aggregate changes for now. No group events planned.

Please feel free to continue the discussion, I will only close because this issue is related to 1.1.0 which is out.

Made a repository EventsCE alternative to Entitas Events feature. Current step is replicate Events generation into Generated/EventsCE folder. After step is done other features are planned see Readme

@sschmid I think just keep the Event(true) and Event(false) attribute naming as I will use extensively and I dun really want to have breaking change anymore.

Another issue I encounter is let say I have UI A and UI B. When I close UI A and switch to UI B, I will remove all the UI A listeners. Then when I close UI B and open UI A, the UI A does not refresh all the data when I add all the UI A listeners. I think I need something like [Event(false, EventType.AddedOrRemoved, RefreshListener)] to generate one more system to make it call listener one time when adding the ListenerComponent to the entity.

For this problem, do you have any good solution for it? I think another way is to just get the component and replace back the component with the same data to make it call listener. Will it better than generate one more system to make it call listener one time when adding the ListenerComponent to the entity?

Another issue I encounter is let say I have UI A and UI B. When I close UI A and switch to UI B, I will remove all the UI A listeners. Then when I close UI B and open UI A, the UI A does not refresh all the data when I add all the UI A listeners. I think I need something like [Event(false, EventType.AddedOrRemoved, RefreshListener)] to generate one more system to make it call listener one time when adding the ListenerComponent to the entity.

For this problem, do you have any good solution for it? I think another way is to just get the component and replace back the component with the same data to make it call listener. Will it better than generate one more system to make it call listener one time when adding the ListenerComponent to the entity?

when adding listeners there is access to needed entity, call listener directly after adding listeners.

@optimisez I already explained the solution directly under your posted issue.

Listeners should be everytime getting called with the current state when they are added. We first thought it would be good to make a reactive system that triggers on the listener component getting added. We later found out it's not a very good idea because they are getting called delayed and not directly (like one tick after, when entitas is getting updated). Therefore we generate a ReactiveSystem for changing data and a InitializeSystem which calls the listener on group added so they are getting called instantly. It's working very nice. Imo that's one of the rare situations where you really want a group added event.

@StormRene If I understand correctly ur solution is using InitializeSystem that only called one time at initialization and will not call anymore later. My use case is I will need to keep switching UI back and forth. So, it will keep adding and removing the same listener and each time when I add back the listener, I will need to refresh the listener to make sure the UI always display the latest data.

Nope that's not what I said. From the beginnig of this discussion I'm saying it's important that listener are getting called directly after the registering. In this text I proposed a problem we found while developing our reactive ui system. Our first solution was write a reactive system with a collector on the specific listener so it can inform the listener. We found out it's not a good solution, because the listener will not be informed instantly but somewhere later (when the next tick is happening in entitas). This leads towards that we wrote all the time in our register listener methods that we also first grab all the data to initialize the object and getting informed with the same data one tick later. So we corrected the whole thing and made a Initialize System per listener with directly onEntityAdded on the group. Like so:
public void Initialize() {
	this.listenerGroup = uiContext.GetGroup(UIMatcher.HealthStateListener);
	this.listenerGroup.OnEntityAdded += Execute;
}

In this text I proposed a problem we found while developing our reactive ui system. Our first solution was write a reactive system with a collector on the specific listener so it can inform the listener. We found out it's not a good solution, because the listener will not be informed instantly but somewhere later (when the next tick is happening in entitas).

Weird. If I understand correctly, @mzaks says before that reactive system will aggregate and execute everything it needs to execute in one shot. Meaning that it will be done in one frame. Can you share how you do it with reactive system previously?

@optimisez Yes that's true it will execute in one shot. But only when your MonoBehaviour.Update / FixedUpdate where your EventsFeature.Execute is  getting called. If you instantiate a bunch of enabled GameObjects and they register itself in the OnEnable on some data they will be not showing the correct data between their particular OnEnable and the next Update call, because the listener is not already called. So with a little bad luck you are showing for a fraction of a second a menu without correct state.

@StormRene this is why i dont use OnEnable or any other unity message. Instead have an initialisation method as part of an interface on my monobehaviour that gets called by the system instantiating the gameobject. Using the unity messages you're giving up control over execution time.

But OnEnable an OnDisable is very handy. When your designers are working on particular views they can drop your listener scripts on their GameObject and connect the data to show it. Otherweise you always need a coder when a designer just want to add a new healthbar somewhere, because you need to write a system/some code, or am I getting you wrong?

I'm just suggesting that the code from OnEnable be moved to another method that's part of an interface e.g. IViewController.InitializeView(); That way, right after you call Instantiate() to create the gameobject, you can do foreach (var view in GetComponents<IViewController>) view.Initialize();
So your listener scripts just have to implement that interface and you change the name of OnEnable() to InitView() or whatever you want. That way they are always initialized at a controlled, defined time, where you know exactly the state of every relevant object / entity.

And how do you solve the problem when a GameObject is not instantiated by the Controller? E.g. a ParticleSystem that needs additional data and the designer just dropped it in the scene.

If they're there on scene load perhaps an initial FindObjectsOfType?

No thats not a good idea at all.  That would be insane for a big scene.

Ok, how about using onEnable to create sth like RequestInitializationComponent and have a system take care of it?

Would it not be the same problem, but in a obfuscated way? You would rather like to see:
void OnEnable() {
   Contexts.SharedInstance.view.CreateEntity().AddRequestInitialization(this);
}
void InitializationAnswer() {
   Contexts.SharedInstance.view.CreateEntity().AddHealthListener(idToListen, this);
}
void IHealthListener.HealthChanged(int newHealth) {
   //stuff
}

than the simple solution:
void OnEnable() {
   Contexts.SharedInstance.view.CreateEntity().AddHealthListener(idToListen, this);
}
void IHealthListener.HealthChanged(int newHealth) {
   //stuff
}

In both you need to use a group.onEntityAdded if you want direct response and not waiting for the next Execute call of your event features.

Forgive me if I'm misunderstanding. I think we have somewhat different architectures that make what I'm suggesting really easy for me, but really awkward for you. I'm allergic to using scenes for level design - i can't deal with the Russian roulette 'who gets initialized first' thing, so i initialize everything with code. I guess ignore me for now, I'm probably not helping! 😄

@FNGgames Haha I know the probem. But if you are working in a team with designers and artists you can't control everything they do - and you shouldn't. They should be creative and life their designing dreams, otherwise you are doing something wrong and don't offer the correct tools. It's also really really annoying if a designer has to come to you every 5 mins, because they want to add something. In the end the are stopping to disturb you and don't make cool stuff.

Sure, that's somewhat outside of my experience - my "team" is an artist and me - he doesn't even touch unity! So yeah probably shouldn't follow my advice here, I'll stfu now 😄


[MXNET-490] Added OpenLSTMRNN together with benchmarks and Tensorboard callback routines.

Description
This PR added an open-source LSTM RNN implementation, and also included benchmarks for comparison between different LSTM RNN backends and tools for measurements. This arxiv paper contains more implementation details.
The end-to-end training throughput comparison on the Wikitext-2 language-modeling benchmark between MXNet default implementation (Default), cuDNN 6 (cuDNN) and OpenLSTMRNN (Open) implementation of LSTM RNN is shown in the diagram below:

Checklist
Essentials
Please feel free to remove inapplicable items for your PR.

[x] The PR title starts with [MXNET-$JIRA_ID], where $JIRA_ID refers to the relevant JIRA issue created (except PRs with tiny changes)
[x] Changes are complete (i.e. I finished coding on this PR)
[x] Code is well-documented:
For user-facing API changes, API doc string has been updated.
For new C++ functions in header files, their functionalities and arguments are documented.
For new examples, README.md is added to explain the what the example does, the source of the dataset, expected performance on test set and reference to the original paper if applicable
Check the API doc at http://mxnet-ci-doc.s3-accelerate.dualstack.amazonaws.com/PR-$PR_ID/$BUILD_ID/index.html
[x] To the my best knowledge, examples are either not affected by this change, or have been fixed to be compatible with this change

Changes

[x] Added OpenLSTMRNN, an LSTM RNN CUDA implementation to the MXNet C++ core library (./src/operator/contrib/).
[x] Added TensorboardSpeedometer and TensorboardLogValidationMetricsCallback for logging training and validation scores as training progresses.
[x] Added benchmarks in example directory for comparison between MXNet default, cuDNN, and OpenLSTMRNN backend implementations.

Comments

If this change is a backward incompatible change, why must this change be made.
Interesting edge cases to note here

@ArmageddonKnight thanks for your contribution!
Looks like some CI tests failed, can you look into it so we can move this forward?

@lupesko Thank you so much for your comment. I have revised accordingly and passed the CI tests.

Thank you @ArmageddonKnight !
Bouncing to get reviews: @szha @sandeep-krishnamurthy @anirudh2290

@ThomasDelteil @safrooze for review

@ArmageddonKnight Can you comment on what the benefit of this implementation is? It would be great if the Readme on example would include a comparison table for a few LSTM configurations. It's not really clear why one would use OpenLSTM. Also, is this implementation based on a paper or some reference?

@safrooze Thank you for your reply. The reason is because in our experiments we see that OpenLSTM is able to beat cuDNN 6 in end-to-end performance evaluation (in terms of training throughput, the benchmarks used are included in this commit). Besides, we also think that it is good to have an open-source LSTM CUDA implementation that other researchers can experiment with or use as a baseline.
The reference is here.

@ArmageddonKnight This is great! Can you please add the link to arxiv to the PR description and also include a comparison table in the description if you have already done a benchmark?

@safrooze Thanks a lot for your suggestions. I have made changes to the descriptions accordingly.

@ArmageddonKnight
Please execute pylint on these files using ci/other/pylintrc in incubator-mxnet folder and fix errors (if any).
Example:
pylint --rcfile=ci/other/pylintrc --ignore-patterns="..so$$,..dll$$,..dylib$$" example/rnn_backends/word_lm/*.py

@vandanavk Hi, I have run the pylint checking on all the submitted python files and fixed the warnings accordingly.
example/rnn-backends/word_lm$ pylint --rcfile=../../../ci/other/pylintrc --ignore-patterns="..so$$,..dll$$,..dylib$$" *.py

-------------------------------------------------------------------
Your code has been rated at 10.00/10 (previous run: 10.00/10, +0.00)

example/rnn-backends/bucketing$ pylint --rcfile=../../../ci/other/pylintrc --ignore-patterns="..so$$,..dll$$,..dylib$$" *.py

-------------------------------------------------------------------
Your code has been rated at 10.00/10 (previous run: 10.00/10, +0.00)

python/mxnet/rnn$ pylint --rcfile=../../../ci/other/pylintrc --ignore-patterns="..so$$,..dll$$,..dylib$$" rnn_cell.py

------------------------------------
Your code has been rated at 10.00/10

python/mxnet$ pylint --rcfile=../../ci/other/pylintrc --ignore-patterns="..so$$,..dll$$,..dylib$$" callback.py

------------------------------------
Your code has been rated at 10.00/10

python/mxnet$ pylint --rcfile=../../ci/other/pylintrc --ignore-patterns="..so$$,..dll$$,..dylib$$" initializer.py

------------------------------------
Your code has been rated at 10.00/10

@szha @eric-haibin-lin @apeforest Can you take a look once if its ready to merge?

@ankkhedia Thank you so much for your reminder. I have addressed her feedback.

@Roshrini It seems that your query has been addressed
@safrooze @apeforest @szha Could you please look into the PR if your concerns has been addressed.

@apeforest @szha pinging for another round of review

@ThomasDelteil @thomelane could you review please?

@roywei for review

@szha @eric-haibin-lin - Can you please help review this PR?


Move antlr4 dependency from python 2 to python 3

All three microservices for Amundsen(data portal) could run on both python 2.x or python 3.x. The data ingestion library(amundsendatabuilder) could run only on python 2.x because of antlr4-python2-runtime.
It is used in ColumnUsage parser. We should explore and see if we could move the dependency to python 3(e.g. https://github.com/antlr/antlr4/tree/master/runtime/Python3)

cc @verdan  @jinhyukchang

Synced with Tao. The best way is to support both but Antlr does not support that.
Unfortunately, we could probably only upgrading this to python3 once our Airflow upgrades.

@jinhyukchang do you know if https://sqlparse.readthedocs.io/en/latest/changes/ could be used to replace the antlr library?

have you looked at using antlr4-python3-runtime when you move to python3?

@alran The thing is that Lyft Airflow internally still uses Python 2.7, thus using antlr4-python2-runtime
We are going to work on python3 version (or generic version if we have more resource) once we upgrade our internal python version.
Are you interested in using this?

yes! I would definitely be interested in a python3 version :)

@jinhyukchang do you know if https://sqlparse.readthedocs.io/en/latest/changes/ could be used to replace the antlr library?

@feng-tao I am not familiar with python-sqlparse but just looking from the front page it seems it only provides tokens?

As per PEP 373, Python 2 will be officially deprecated at the end of 2019. So I think there is a strong incentive in terms of continuing to receive updates to various libraries to make sure this can get migrated to Python 3.


API V2 bridge communication has wrong Source API

Getting this when trying to use the REST API V2, without cql scoped token:
{
  "description": "Unauthorized gRPC operation (Status.Code.PERMISSION_DENIED->401): PERMISSION_DENIED: Missing correct permission on stargate.rest_example_products: Not authorized to access stargate.rest_example_products for CREATE (from source api: cql)",
  "code": 401,
  "grpcStatus": "PERMISSION_DENIED",
  "internalTxId": null
}

It's either that:

REST API does not define a source API in the default parameters
Not using the default parameters
Or bridge does not consider the passed source API for the auth

Implementation idea:

add source api to the bridge-proto/proto/query.proto/QueryParameters
read and set the source api in the io.stargate.bridge.service.QueryHandler#makeParameters (BatchHandler as well)

set as the custom payload item

check if source api is set in the custom payload in the io.stargate.db.dse.impl.StargateQueryHandler#authorizeByToken (all persistence implementations must do this)

if set, overwrite the default SourceAPI.CQL being passed to the auth service

@tatu-at-datastax @jeffreyscarpenter WDYT?

would it be less intrusive to handle the API source as an HTTP header, vs adding to the bridge gRPC API?

would it be less intrusive to handle the API source as an HTTP header, vs adding to the bridge gRPC API?

Yes that would be way easier @jeffreyscarpenter, let s do it like this, we can add a client side gRPC interceptor that will handle this for each API in a single place..


Kotlin-1.4.0

I manage to make it compile but i didn't test it...
Issue: #965

I would also very much like to have this released. I'll also note that I did build it locally myself, and had it tested, and I'd say ship it 🚢

It is coming out soon folks! Sorry it took so long!

Just letting everyone know that both v1.4 versions are out!


Random across different machines

Will a fuzzer generate the same input on different machines on a specific seed? This will be vital to know if we can do a general fuzzer.

GeeksforGeeks says yes for different machines
Should work as long as you are doing integers for seeds
Issues when using strings as seeds on different versions of python, 3.1-3.2
Do not change the python implementation

Everything seems to work so far in practice. I'll keep this issue open for a little longer just to be sure that nothing weird happens.

Something weird happened. When going to python 3.7, the random objects generated by hypothesis become different. This may however be related to tha fact that (Hypothesis is not actually supported on 3.7)[https://hypothesis.readthedocs.io/en/latest/supported.html]


Managed ID for VMs in scaleset vs for scaleset

[Enter feedback here]
The VM scaleset is a resource, as are the VMs that are created by the scaleset.    I'm trying to read about how to do the obvious thing:  I want to create a scaleset and authorize all VMs created by that  scaleset to access a resource like a blob or a database.
This page describes "how to" do something, but it does not describe or link to a clear description of what behavior doing that causes.      Do the VMs inhertit the managed identity?

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

ID: 72647add-87f4-d5dc-0189-39a09bea0a35
Version Independent ID: 8115f027-50fd-9a06-916b-6bb7a2f4210c
Content: Configure managed identities on virtual machine scale set - Azure AD
Content Source: articles/active-directory/managed-identities-azure-resources/qs-configure-portal-windows-vmss.md
Service: active-directory
Sub-service: msi
GitHub Login: @barclayn
Microsoft Alias: barclayn

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

@DavidWHarvey
Thank you for pointing this out! I've created a PR to add a link to the How managed identities for Azure resources work with Azure virtual machines documentation, and it's currently waiting for the author to review and sign off.
When it comes to managed identities when a User-Assigned or System-Assigned Identity is created, the Managed Identity Resource Provider (MSRP) issues a certificate internally to that identity. For more info.
Your code can use a managed identity to request access tokens for services that support Azure AD authentication. Azure takes care of rolling the credentials that are used by the service instance.

I will now close out this issue. Please allow some time for the author to review and the changes to reflect.
Thank you for your time and patience!


GBA+

Describe the task
Get a better understanding of how we can apply a GBA+ lens to our research related to public reporting.
Acceptance Criteria

[ ] GBA+ training (note: there is a free course offered by the Federal Govt)
[ ] Reach out to staff with GBA+ experience ( e.g., Jessica K, Emma S, Jackie D)
[ ] Document how we can apply it to our research

I finished some GBA+ training recently, and if it helps, here are some notes I took during the session. Some of the notes are directly borrowed from the course.

Note: not completed during initial research and discovery phase. Removed from Internal Research EPIC to capture in potential future work. Moved ticket to icebox.

Closing this ticket as it's no longer relevant


Contract Tx - remove cancel

Contract transactions cannot be canceled. Need to remove 'Cancel' option for actions menu in tx table. Now it is just disabled.

Check Blocked by broken dapp contract on master. It Will be checked after the fix

checked


Implementation and processing of V2G Message？

Hello nvdungx,
I am very interested in this project. Thanks to the author for his contribution. I saw that HLC_Test_V2G_Message_Check.xlsx in your docs has not completed the CertificateUpdate/Installation Req/Res Message. Did you encounter any difficulties or problems?

Hi Rob,
I have not implemented the PnC related msg yet, but I think there should be no difficulties with those msgs since they are just a medium to send/receive certificate data between EVCC and SECC.
Assuming that we only validate the conformance of protocol operation, no interaction with secondary actor is required. Test bench/environment can operate locally, provide OEM Cert(OEM provisioning certification installed on EVCC)  and act as root CA(skip the Sub-CA)  to create certification data directly for updating/installing to EVCC.

Thank you very much for your reply, and thank you for the open source project. Because we are planning to design EVCC, we are learning through your project, although your project is related to this part of SECC. But since I have never touched this part before, it is a bit difficult at the beginning. We are currently familiar with ISO 15118-2/ISO 15118-3 and Ethernet, and C++ is still in the learning stage. If there is a chance, we would like to participate in your project.


Changed/Added files on is too bright on explorer (light theme)

Changed/Added files on is too bright on explorer (light theme)
i'm on windows.
:) thanks

Hey, @ranzolinrafa :wave:
Thank you for reporting this issue.
I will work on it in the next few days and will let you know when I finish.
Thx!

Hey, @ranzolinrafa :wave:
Sorry for the delay.
I made some improvements on the git colors on the explorer. Let me know what you think.
Abraço :)


Implement the Cosine Wave generator included into the ESP32 and the ESP32-S2

Implemented using a POKE sequence.


Allow mounting extra secrets/configmaps

In order to support configuring Maven/SBT with files such as:

~/.m2/settings.xml
~/.sbt/repositories
~/.sbt/1.0/plugins.sbt

...so this chart will support running Scala Steward towards a private registry (such as Nexus).

There are some naming variations/patterns on how different charts do this.
Any preference/suggestion?
(in case I or someone else decides to make a PR)

Lemme ask internally.
Offhand, I think if you sent a PR, someone would try to think about it. Hopefully it wouldn't be terribly painful to change the strategy if someone expressed a strong opinion.
I've personally seen at least a couple of these formats.
(Sorry for not noticing the PR. Feel free to tag me going forward, but I've added a watch to the repo for the time being...)

@MPV: are you still up for providing something? I don't think we have a particularly strong opinion.

I needed this, so I added it:
https://github.com/scala-steward-org/charts/pull/11
Then I discovered this issue. I guess that's good as it shows there's a need for this feature.


Add spectrum filter to top level of repo

...to make it more easily accessible.
Also include README from the respective repo.

Resolved by #5


Consider moving the authentication setting page to the basic flow

Currently it can be found only by following the advanced path on the configuration wizard. Let's consider moving position of this page so that it could be found easier.

It's been considered, and has to be done for https://github.com/ruuvi/ruuvi.gateway_esp.c/issues/315. Editing title to reflect the decision

Moving to done


[PR for #13]: Created Templates to add new feature, report bugs and pull requests.

Related Issue
Closes: #13
Description of Changes
Created ".github" folder and added new templates under "issue_template" to report bugs and add new features.
Created file under ".github" folder and added new template for PR.
This template which you can see right now is pull request template.
Checklist:

[x] My code adheres to the established style guidelines of this project.
[x] I have conducted a self-review of my code.
[x] I have included comments in areas that may be difficult to understand.
[x] I have made corresponding updates to the project documentation.
[x] My changes have not introduced any new warnings.

Changes made Screenshots:

Bug Report
Feature Addition
Pull Request

Hey @abhijeet141 , please assign the labels.
Thanks a lot!!

Great Work 🚀 Thank you for your contribution!


Don't show metrics that depend on kube metrics server when it's not available

Looks like we use a couple of stats that are dependent on the native metrics server (see node's list/details page cpu/ram charts)

NODE: 'metrics.k8s.io.nodemetrics',
POD:  'metrics.k8s.io.podmetrics',-

We shouldn't show these if the metrics server isn't set up

Tested locally with minikube (by default enabled, enable with minikube addons enable metrics-server)

@richard-cox I think this issue is fixed now, right?

No, METRIC.NODE is still intermittently used (some guarded, some not)

@richard-cox I don't see any issues with METRIC.NODE - there are a few things not gated in the model, but I think the checks are made further up when they are used.
Going to close - re-open if you still think there is work to do.


adjusting the docs dark theme background colors

Closes https://jira.corp.adobe.com/browse/RSP-1855
📝 Test Instructions:
Docs:
Do the code and examples and page background look okay in dark theme?
🧢 Your Project:
RSP

@ktabors Danni and I had a look and realized that we probably need to keep all of the examples rendering over the top of the default background of gray-100 for them to work properly/be accessible in some cases. So I've pushed a commit that updates the page background to be a bit darker so the examples stand out on top similar to one of your previous examples.


Support preemption when borrowing

What would you like to be added:
Enable preemption while borrowing.
Why is this needed:
Today, preemption is not possible if it requires the CQ to borrow from another one.
There are scenarios where a globally shared quota is put in a separate ClusterQueue. In other words, every ClusterQueue in the cohort is borrowing from the shared CQ. Then, it is necessary to have preemption while borrowing, to be able to implement quality of service.
Completion requirements:
This enhancement requires the following artifacts:

[x] Design doc
[x] API change
[x] Docs update

The artifacts should be linked in subsequent comments.

cc @alculquicondor
/assign

I think a possible API could look like this:
preemption:
  borrowFromCohort:
    policy: Disable | LowerThanThreshold
    priorityThreshold

@mimowo I would like to review this, if you don't mind

Remaining is the docs, but it seems we don't have a good place now. Opend the Issue as prerequisite : https://github.com/kubernetes-sigs/kueue/issues/1587