[ACR] Scope map actions enum, typo fixes and showing duplicate actions to user

Addressed review comments by @ankurkhemani in this PR:
https://github.com/Azure/azure-cli/pull/10864/files

Using TokenStatus model to fetch permissible values for status argument

Using ScopeMapAction enum instead of hardcoded strings

Displaying the duplicate actions entered by users for acr scope-map update

Changed description for auto-generated scope map "Created by token: <tokenName>"

Changed the shortened URL redirecting to Official Docs
(The shortened URL https://aka.ms/acr/repo-permissions must be activated by 11/04 - IMPORTANT)

This checklist is used to make sure that common guidelines for a pull request are followed.

[ ] The PR has modified HISTORY.rst describing any customer-facing, functional changes. Note that this does not include changes only to help content. (see Modifying change log).

[x] I adhere to the Command Guidelines.

@yugangw-msft @ankurkhemani
Could you please review this PR?
Let me know if any changes are required.


fix: only read one row to check if table exists

SELECT 1 FROM <table> has the effect of returning 1 for every row. This can cause NewAdapter to hang while churning through the entire rules table.

cc @Blank-Xu

@Blank-Xu plz review

If that works it's fine. I haven't tried that because we don't need/check the schema returned.

That seems to work as it returns zero rows (but is successful) with a valid table name.
mysql> SELECT * FROM role_casbin_rule WHERE 1=0;
Empty set (0.07 sec)

mysql> SELECT * FROM role_casbin_rulev2 WHERE 1=0;
ERROR 1146 (42S02): Table 'roles.role_casbin_rulev2' doesn't exist

Can we get this merged and released / tagged?

Done.

Thanks @Blank-Xu !


DC-554, DC-514: remove perf test config, fix dev test config

Now that the perf environment no longer exists, we can no longer use it for running our nightly tests. As described in DC-554, we will no longer run nightly tests in any environment. Currently the integration tests are run:

on PRs, and after merge to main (via GitHub actions)
on QA deployment to alpha and staging (via QA automation in Jenkins)

This change

adds a working dev deployment (DC-514)
renames the nightly test to integration
renames the existing dev deployment to local, and update scripts / documentation to reflect this
changes the slack notification to link to the job instead of the workflow

See also https://github.com/broadinstitute/dsp-jenkins/pull/639

Example run of integration test using the dev environment: https://github.com/DataBiosphere/terra-data-catalog/actions/runs/3184211014/jobs/5192370900


[Device support]

Anything you want to mention?
I can confirm ZenWiFi XT9 works well with this integration ;)
Your device model
ZenWiFi XT9
Firmware type
Stock
Firmware version
<IP_ADDRESS>.388_23285
Does everything work well?
Yes

Thank you for your report! :+1:


Iptables

Description
Changes proposed in this pull request.
Test plan
Outline the test plan used to test this change before merging it.

Fixes #.

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "",
    "component": "enforcerd",
    "pr-id": "1128",
    "commit-sha": "d994744bf00a1eb9ef2e0d0eb8b94eb6f6711184"
  },
  {
    "project": "",
    "component": "trireme-lib",
    "pr-id": "777",
    "commit-sha": "af6819e403c4f4c5d6655064e5221ae17258cfc5"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "",
    "component": "enforcerd",
    "pr-id": "1128",
    "commit-sha": "42e13c1125d166dfcbf88034359e70b542d44103"
  },
  {
    "project": "",
    "component": "trireme-lib",
    "pr-id": "777",
    "commit-sha": "4a68a283e5b3eae99d1feb6cffef6fccc38a44b3"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "",
    "component": "enforcerd",
    "pr-id": "1128",
    "commit-sha": "42e13c1125d166dfcbf88034359e70b542d44103"
  },
  {
    "project": "",
    "component": "trireme-lib",
    "pr-id": "777",
    "commit-sha": "4a68a283e5b3eae99d1feb6cffef6fccc38a44b3"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "",
    "component": "enforcerd",
    "pr-id": "1128",
    "commit-sha": "e03d7c3b04b95bf6d83ef6f1197484255b3fab36"
  },
  {
    "project": "",
    "component": "trireme-lib",
    "pr-id": "777",
    "commit-sha": "db951a7efece17dd70ad1048538cdec036b15e99"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "",
    "component": "enforcerd",
    "pr-id": "1128",
    "commit-sha": "9b0fd6fa7ea12a005d743482608474e435797d1d"
  },
  {
    "project": "",
    "component": "trireme-lib",
    "pr-id": "777",
    "commit-sha": "d40a4fc9f044caa872974ebad4592a223b80ec5f"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "",
    "component": "enforcerd",
    "pr-id": "1128",
    "commit-sha": "36ad3b3dff3d1efa6bea77626af0e793693e3c1e"
  },
  {
    "project": "",
    "component": "trireme-lib",
    "pr-id": "777",
    "commit-sha": "61005c41e0d1908f6f772bc7126af4d37a3c532b"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "",
    "component": "enforcerd",
    "pr-id": "1128",
    "commit-sha": "36ad3b3dff3d1efa6bea77626af0e793693e3c1e"
  },
  {
    "project": "",
    "component": "trireme-lib",
    "pr-id": "777",
    "commit-sha": "61005c41e0d1908f6f772bc7126af4d37a3c532b"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "",
    "component": "enforcerd",
    "pr-id": "1128",
    "commit-sha": "1dbce2b170dfeaa3de472127c4cd0874e9f4ba7a"
  },
  {
    "project": "",
    "component": "trireme-lib",
    "pr-id": "777",
    "commit-sha": "863b7a0850444b7cc07311202ad7c54101a15117"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "",
    "component": "enforcerd",
    "pr-id": "1128",
    "commit-sha": "2f7f56ff5f66e59b2284e455c9a23155456efafa"
  },
  {
    "project": "",
    "component": "trireme-lib",
    "pr-id": "777",
    "commit-sha": "4f350e8da13b634ba145ca0cbd9eb52b900b40df"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "",
    "component": "enforcerd",
    "pr-id": "1128",
    "commit-sha": "2f7f56ff5f66e59b2284e455c9a23155456efafa"
  },
  {
    "project": "",
    "component": "trireme-lib",
    "pr-id": "777",
    "commit-sha": "59b6c8c50cc3fd8bd89e468a98eb425463b5c598"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "",
    "component": "enforcerd",
    "pr-id": "1128",
    "commit-sha": "2f7f56ff5f66e59b2284e455c9a23155456efafa"
  },
  {
    "project": "",
    "component": "trireme-lib",
    "pr-id": "777",
    "commit-sha": "59b6c8c50cc3fd8bd89e468a98eb425463b5c598"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "",
    "component": "enforcerd",
    "pr-id": "1128",
    "commit-sha": "51d53a362723eb432edae362f3906de7c4cdb704"
  },
  {
    "project": "",
    "component": "trireme-lib",
    "pr-id": "777",
    "commit-sha": "59b6c8c50cc3fd8bd89e468a98eb425463b5c598"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "",
    "component": "enforcerd",
    "pr-id": "1128",
    "commit-sha": "51d53a362723eb432edae362f3906de7c4cdb704"
  },
  {
    "project": "",
    "component": "trireme-lib",
    "pr-id": "777",
    "commit-sha": "59b6c8c50cc3fd8bd89e468a98eb425463b5c598"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "",
    "component": "enforcerd",
    "pr-id": "1128",
    "commit-sha": "51d53a362723eb432edae362f3906de7c4cdb704"
  },
  {
    "project": "",
    "component": "trireme-lib",
    "pr-id": "777",
    "commit-sha": "59b6c8c50cc3fd8bd89e468a98eb425463b5c598"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "",
    "component": "enforcerd",
    "pr-id": "1128",
    "commit-sha": "04405d72b65eab5d0187cb8058f37211e6a0e1f7"
  },
  {
    "project": "",
    "component": "trireme-lib",
    "pr-id": "777",
    "commit-sha": "59b6c8c50cc3fd8bd89e468a98eb425463b5c598"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "",
    "component": "enforcerd",
    "pr-id": "1128",
    "commit-sha": "04405d72b65eab5d0187cb8058f37211e6a0e1f7"
  },
  {
    "project": "",
    "component": "trireme-lib",
    "pr-id": "777",
    "commit-sha": "59b6c8c50cc3fd8bd89e468a98eb425463b5c598"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "",
    "component": "enforcerd",
    "pr-id": "1128",
    "commit-sha": "77bff93acfda651dc6031fb4231e11ae98cc5938"
  },
  {
    "project": "",
    "component": "trireme-lib",
    "pr-id": "777",
    "commit-sha": "59b6c8c50cc3fd8bd89e468a98eb425463b5c598"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "",
    "component": "enforcerd",
    "pr-id": "1128",
    "commit-sha": "efd3ec74e7323dc46bd910de0362b0cd04fca9c4"
  },
  {
    "project": "",
    "component": "trireme-lib",
    "pr-id": "777",
    "commit-sha": "59b6c8c50cc3fd8bd89e468a98eb425463b5c598"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "",
    "component": "enforcerd",
    "pr-id": "1128",
    "commit-sha": "ad944830aab385063c7cdaeff03927bd482ac4d2"
  },
  {
    "project": "",
    "component": "trireme-lib",
    "pr-id": "777",
    "commit-sha": "59b6c8c50cc3fd8bd89e468a98eb425463b5c598"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "",
    "component": "enforcerd",
    "pr-id": "1128",
    "commit-sha": "8f380c3844445b49547966cc91e45670ef059f36"
  },
  {
    "project": "",
    "component": "trireme-lib",
    "pr-id": "777",
    "commit-sha": "59b6c8c50cc3fd8bd89e468a98eb425463b5c598"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "",
    "component": "enforcerd",
    "pr-id": "1128",
    "commit-sha": "66e83e0e28bcab989d7558059aa89623d141eed5"
  },
  {
    "project": "",
    "component": "trireme-lib",
    "pr-id": "777",
    "commit-sha": "59b6c8c50cc3fd8bd89e468a98eb425463b5c598"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "",
    "component": "enforcerd",
    "pr-id": "1128",
    "commit-sha": "66e83e0e28bcab989d7558059aa89623d141eed5"
  },
  {
    "project": "",
    "component": "trireme-lib",
    "pr-id": "777",
    "commit-sha": "59b6c8c50cc3fd8bd89e468a98eb425463b5c598"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "",
    "component": "trireme-lib",
    "pr-id": "777",
    "commit-sha": "59b6c8c50cc3fd8bd89e468a98eb425463b5c598"
  },
  {
    "project": "",
    "component": "enforcerd",
    "pr-id": "1128",
    "commit-sha": "66e83e0e28bcab989d7558059aa89623d141eed5"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "",
    "component": "enforcerd",
    "pr-id": "1128",
    "commit-sha": "66e83e0e28bcab989d7558059aa89623d141eed5"
  },
  {
    "project": "",
    "component": "trireme-lib",
    "pr-id": "777",
    "commit-sha": "59b6c8c50cc3fd8bd89e468a98eb425463b5c598"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "",
    "component": "enforcerd",
    "pr-id": "1128",
    "commit-sha": "66e83e0e28bcab989d7558059aa89623d141eed5"
  },
  {
    "project": "",
    "component": "trireme-lib",
    "pr-id": "777",
    "commit-sha": "c2c98634c873fbcf3ce150e00b7e8cbc8f6aab0a"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "",
    "component": "trireme-lib",
    "pr-id": "777",
    "commit-sha": "c2c98634c873fbcf3ce150e00b7e8cbc8f6aab0a"
  },
  {
    "project": "",
    "component": "enforcerd",
    "pr-id": "1128",
    "commit-sha": "fbe2ee2e2fd9bb211d8aeb5c226358880555ef32"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "",
    "component": "enforcerd",
    "pr-id": "1128",
    "commit-sha": "4d0a307250084a9796b61347b9b7034a75f718c0"
  },
  {
    "project": "",
    "component": "trireme-lib",
    "pr-id": "777",
    "commit-sha": "c2c98634c873fbcf3ce150e00b7e8cbc8f6aab0a"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "",
    "component": "enforcerd",
    "pr-id": "1128",
    "commit-sha": "ba467bce7be951d1993055995d2579ca3360b936"
  },
  {
    "project": "",
    "component": "trireme-lib",
    "pr-id": "777",
    "commit-sha": "c2c98634c873fbcf3ce150e00b7e8cbc8f6aab0a"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "",
    "component": "enforcerd",
    "pr-id": "1128",
    "commit-sha": "ba467bce7be951d1993055995d2579ca3360b936"
  },
  {
    "project": "",
    "component": "trireme-lib",
    "pr-id": "777",
    "commit-sha": "c2c98634c873fbcf3ce150e00b7e8cbc8f6aab0a"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "",
    "component": "enforcerd",
    "pr-id": "1128",
    "commit-sha": "ea2cce3f56eb7899ed6fb53c2dbcd21d7f2214ee"
  },
  {
    "project": "",
    "component": "trireme-lib",
    "pr-id": "777",
    "commit-sha": "bdba5fbde8171a9a66d9aaa3f48c6aea2cfff185"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "",
    "component": "enforcerd",
    "pr-id": "1128",
    "commit-sha": "65df7124c3242b536223062c7c740808ce9cbc39"
  },
  {
    "project": "",
    "component": "trireme-lib",
    "pr-id": "777",
    "commit-sha": "bdba5fbde8171a9a66d9aaa3f48c6aea2cfff185"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "",
    "component": "trireme-lib",
    "pr-id": "777",
    "commit-sha": "bdba5fbde8171a9a66d9aaa3f48c6aea2cfff185"
  },
  {
    "project": "",
    "component": "enforcerd",
    "pr-id": "1128",
    "commit-sha": "aeb6b1cf3ed18f07fb869b0aa2a3a5c7189ed073"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "",
    "component": "enforcerd",
    "pr-id": "1128",
    "commit-sha": "aeb6b1cf3ed18f07fb869b0aa2a3a5c7189ed073"
  },
  {
    "project": "",
    "component": "trireme-lib",
    "pr-id": "777",
    "commit-sha": "2e3d988ab9a359c46d0376bac4ca18d7c0203083"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "",
    "component": "enforcerd",
    "pr-id": "1128",
    "commit-sha": "7d8514ed17cb4b8fbd8c1db7ad4b4c8dd78f022f"
  },
  {
    "project": "",
    "component": "trireme-lib",
    "pr-id": "777",
    "commit-sha": "2e3d988ab9a359c46d0376bac4ca18d7c0203083"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "",
    "component": "enforcerd",
    "pr-id": "1128",
    "commit-sha": "d9deafdf1e1d498913b45e1d69dc9c7f85fe089c"
  },
  {
    "project": "",
    "component": "trireme-lib",
    "pr-id": "777",
    "commit-sha": "2e3d988ab9a359c46d0376bac4ca18d7c0203083"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "",
    "component": "enforcerd",
    "pr-id": "1128",
    "commit-sha": "d9deafdf1e1d498913b45e1d69dc9c7f85fe089c"
  },
  {
    "project": "",
    "component": "trireme-lib",
    "pr-id": "777",
    "commit-sha": "2e3d988ab9a359c46d0376bac4ca18d7c0203083"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "",
    "component": "enforcerd",
    "pr-id": "1128",
    "commit-sha": "acc484753c5547624659ae0bf343096f4ba7ebab"
  },
  {
    "project": "",
    "component": "trireme-lib",
    "pr-id": "777",
    "commit-sha": "2e3d988ab9a359c46d0376bac4ca18d7c0203083"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "",
    "component": "enforcerd",
    "pr-id": "1128",
    "commit-sha": "756ae25801ceaa5ff39424f66b6d555a8a7807c7"
  },
  {
    "project": "",
    "component": "trireme-lib",
    "pr-id": "777",
    "commit-sha": "2e3d988ab9a359c46d0376bac4ca18d7c0203083"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "",
    "component": "enforcerd",
    "pr-id": "1128",
    "commit-sha": "97250ed66570a7805f6f55f98e8a0070ab6486dd"
  },
  {
    "project": "",
    "component": "trireme-lib",
    "pr-id": "777",
    "commit-sha": "2e3d988ab9a359c46d0376bac4ca18d7c0203083"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "",
    "component": "enforcerd",
    "pr-id": "1128",
    "commit-sha": "5c3d93aeb1ed27eb7ce24933c4ac843e224c3fbc"
  },
  {
    "project": "",
    "component": "trireme-lib",
    "pr-id": "777",
    "commit-sha": "2e3d988ab9a359c46d0376bac4ca18d7c0203083"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "",
    "component": "enforcerd",
    "pr-id": "1128",
    "commit-sha": "c5a22567e397761ee409e454147d07c7d19323f9"
  },
  {
    "project": "",
    "component": "trireme-lib",
    "pr-id": "777",
    "commit-sha": "2e3d988ab9a359c46d0376bac4ca18d7c0203083"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "",
    "component": "enforcerd",
    "pr-id": "1128",
    "commit-sha": "647f257806e4459a15a43d75d0148df17dfb3625"
  },
  {
    "project": "",
    "component": "trireme-lib",
    "pr-id": "777",
    "commit-sha": "2e3d988ab9a359c46d0376bac4ca18d7c0203083"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "",
    "component": "enforcerd",
    "pr-id": "1128",
    "commit-sha": "4d53cbff6da97c6ae24b1ceffed9399e023c060e"
  },
  {
    "project": "",
    "component": "trireme-lib",
    "pr-id": "777",
    "commit-sha": "2e3d988ab9a359c46d0376bac4ca18d7c0203083"
  }
]


Sticky cellect host when the cellect server is dead

https://app.honeybadger.io/fault/40595/fe552106482644da6b247faf0aa64b17
(stack trace below)
The session variable for a user's cellect host here needs to check the node is still available via ZK and hasn't died.
I, [2015-02-19T10:41:48.687000 #5]  INFO -- : Completed 200 OK in 1282ms (Views: 23.0ms | ActiveRecord: 181.0ms)
I, [2015-02-19T10:41:49.069000 #5]  INFO -- : Started GET "/api/subjects?project_id=2&workflow_id=2&sort=cellect" for <IP_ADDRESS> at 2015-02-19 10:41:49 +0000
I, [2015-02-19T10:41:49.095000 #5]  INFO -- : Processing by Api::V1::SubjectsController#index as JSON_API
I, [2015-02-19T10:41:49.096000 #5]  INFO -- :   Parameters: {"project_id"=>"2", "workflow_id"=>"2", "sort"=>"cellect"}
I, [2015-02-19T10:41:52.212000 #5]  INFO -- : Completed 500 Internal Server Error in 3116ms
D, [2015-02-19T10:41:53.131000 #5] DEBUG -- : ** [Honeybadger] Success: Net::HTTPCreated
D, [2015-02-19T10:41:53.131000 #5] DEBUG -- : ** [Honeybadger] Environment Info: [Ruby: 2.0.0] [Rails: 4.1.9] [Env: staging]
D, [2015-02-19T10:41:53.132000 #5] DEBUG -- : ** [Honeybadger] Response from Honeybadger:
{"id":"522315f0-4033-4c36-a200-857bfc09562e"}
F, [2015-02-19T10:41:53.139000 #5] FATAL -- :
Java::JavaNet::NoRouteToHostException (No route to host):
  sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
  sun.nio.ch.SocketChannelImpl.finishConnect(sun/nio/ch/SocketChannelImpl.java:739)
  java.lang.reflect.Method.invoke(java/lang/reflect/Method.java:606)
  RUBY.initialize(celluloid-io (0.16.0.pre) lib/celluloid/io/tcp_socket.rb:92)
  RUBY.open(celluloid-io (0.16.0.pre) lib/celluloid/io/tcp_socket.rb:16)
  RUBY.perform(http (0.7.1) lib/http/client.rb:54)
  RUBY.request(http (0.7.1) lib/http/client.rb:32)
  RUBY.request(http (0.7.1) lib/http/chainable.rb:72)
  RUBY.get(http (0.7.1) lib/http/chainable.rb:16)
  RUBY.send_http(cellect-client (0.0.9) lib/cellect/client/connection.rb:53)
  RUBY.get_subjects(cellect-client (0.0.9) lib/cellect/client/connection.rb:36)
  org.jruby.RubyKernel.public_send(org/jruby/RubyKernel.java:1958)
  Celluloid::Call.dispatch(celluloid (0.16.0.pre) lib/celluloid/calls.rb:26)
  Celluloid::Call.dispatch(celluloid (0.16.0.pre) lib/celluloid/calls.rb:26)
  Celluloid::SyncCall.dispatch(celluloid (0.16.0.pre) lib/celluloid/calls.rb:63)
  Celluloid::SyncCall.dispatch(celluloid (0.16.0.pre) lib/celluloid/calls.rb:63)
  Celluloid::Cell.invoke(celluloid (0.16.0.pre) lib/celluloid/cell.rb:60)
  Celluloid::Cell.invoke(celluloid (0.16.0.pre) lib/celluloid/cell.rb:60)
  Celluloid::Cell.task(celluloid (0.16.0.pre) lib/celluloid/cell.rb:71)
  Celluloid::Cell.task(celluloid (0.16.0.pre) lib/celluloid/cell.rb:71)
  Celluloid::Actor.task(celluloid (0.16.0.pre) lib/celluloid/actor.rb:362)
  Celluloid::Actor.task(celluloid (0.16.0.pre) lib/celluloid/actor.rb:362)
  Celluloid::Task.initialize(celluloid (0.16.0.pre) lib/celluloid/tasks.rb:55)
  Celluloid::Task.initialize(celluloid (0.16.0.pre) lib/celluloid/tasks.rb:55)
  Celluloid::Task.initialize(celluloid (0.16.0.pre) lib/celluloid/tasks.rb:47)
  Celluloid::Task.initialize(celluloid (0.16.0.pre) lib/celluloid/tasks.rb:47)
  Celluloid::TaskFiber.create(celluloid (0.16.0.pre) lib/celluloid/tasks/task_fiber.rb:15)
  Celluloid::TaskFiber.create(celluloid (0.16.0.pre) lib/celluloid/tasks/task_fiber.rb:15)
  java.util.concurrent.ThreadPoolExecutor.runWorker(java/util/concurrent/ThreadPoolExecutor.java:1145)
  java.util.concurrent.ThreadPoolExecutor$Worker.run(java/util/concurrent/ThreadPoolExecutor.java:615)
  java.lang.Thread.run(java/lang/Thread.java:745)

D, [2015-02-19T10:42:08.500000 #5] DEBUG -- : ** [Honeybadger] Sending metrics
D, [2015-02-19T10:42:08.507000 #5] DEBUG -- : ** [Honeybadger] Sending traces

@parrish has just cut a new release including a helper to check the host:
https://github.com/zooniverse/Cellect/blob/dd20ecacc1177902db0a7f836f167c315a846529/lib/cellect/client.rb#L25-L27
Now Panoptes can do something like:
def cellect_host(workflow_id)
  host = cellect_session[workflow_id]
  host = Cellect::Client.choose_host unless Cellect::Client.host_exists?(host)
  cellect_session[workflow_id] = host
end

@parrish - the only problem is we're stuck on an old version of the cellect client gem due to keyworks and jruby https://github.com/zooniverse/Panoptes/pull/444
Any chance we can get it ported back to 0.0.8 (maybe we can bump to 0.0.9 i'd have to check)?

Yeah we can do some more testing of Jruby <IP_ADDRESS>, but it's still in a pre-release stage

You mean the required keyword syntax?  def foo(required:)

I'm not convinced we should be running stargazin on <IP_ADDRESS> pre-release,  http://jruby.org/2015/01/20/jruby-9-0-0-0-pre1.html

Yeah, I thought we'd be able to move to the 2.2 compatible jruby, but it has some problems with ActiveRecord, and that syntax doesn't work with the older JRuby versions.

@camallen I totally agree.


CSS styles are missing in the result bundle

Describe the bug
Styles, that I import in preview.js are ignored in the result bundle without any issue in the console. Storybook stories are unstyled.
To reproduce the issue, try to run storybook in both development/production mode from your example in the repo
https://github.com/RyanClementsHax/storybook-addon-next/tree/main/examples/with-tailwindcss
I'm facing same issue in real project also.
Your minimal, reproducible example
https://github.com/RyanClementsHax/storybook-addon-next/tree/main/examples/with-tailwindcss
Steps to reproduce
To reproduce the issue, try to run storybook in both development/production mode from your example in the repo
https://github.com/RyanClementsHax/storybook-addon-next/tree/main/examples/with-tailwindcss
Expected behavior
Weback pick up the styles that you import in preview.js file.
How often does this bug happen?
Every time
Screenshots or Videos
No response
Platform
OS: macOS
Node: 0.39.1
storybook-addon-next version
1.6.6
Additional context
No response

Thanks for opening this issue!
Unfortunately I'm not able to reproduce this locally. I checked out the main branch of this repo, and within the with-tailwindcss example ran yarn install, yarn build-storybook, and npx serve storybook-static. I was able to see the storybook built and served just fine.
I will unfortunately need a reproduction repo in order to look into this further.
As a side note, I see that you are using node 0.39.1? Is that even a supported node version?


Create studenti.txt

Medical School with bioinformatics class: https://www.unisr.it/offerta-formativa/medicina-chirurgia/corso-di-laurea-ricerca-biotecnologica-in-medicina/piano-studi

Emails are @studenti.unisr.it, as is typical in italian universities. I can't find a web page that confirms it, but it should be self explanatory. I am available if you need more information.

@ThomasBonini Pull request merged. Thank you!


Fix link error on DEBUG=1. Need mshadow::gpu::kDevMask def in TU

Quick fix for mshadow::gpu::kDevMask used in a translation unit (not a header), which causes undefined symbol in debug mode.

I don't think it's the right place to do it, but right now it fixes the build for the release, we should do it in the right way aftwards.

You can use the fix I had in #8788 instead, which is the same fix as in #8692

@szha yep, seems your fix is better, and they don't want any more changes for v1.0.0, so closing this.


Dark theme specs for scrollbar?

Select one ...  (check one with "x")
[ ] bug
[x] feature request
[ ] enhancement

We rely on the native browser's rendering of scrollbars for light (current) theme of Clarity. It would be nice to provide specs and css for the scrollbars in dark theme.
Some screenshots for visuals:
Dark theme with native scrollbars:

Dark theme with custom color:

Environment details

Angular version: 4.x.x

Clarity version:

OS and version:

Browser: [all | Chrome XX | Firefox XX | IE XX | Safari XX | Mobile Chrome XX | Android X.X Web Browser | iOS XX Safari | iOS XX UIWebView | iOS XX WKWebView ]

Yes it would be good to have a spec and some CSS styling to support those browsers that DO let you color/size the scrollbars as most people will need this, and rolling your own JS based scrollbars is problematic.
So far I have webkit based browsers and IE support. Will update as I go.

FF does not support scrollbar styles with css. We do not have plans for a Scrollbar component in JavaScript - there are issues with using the scroll event to update things.
https://developer.mozilla.org/en-US/docs/Mozilla/Performance/Scroll-linked_effects

The technical implementation of custom scrollbars or implementing scrollbar styling is not possible with cross browser support.


Permission denied (HTTP 403) for package repository

It looks like there's a permission problem for libdiorite in the package repository, and as a result I have been unable to update nuvolaplayer to the latest version:
The following NEW packages will be installed:
  libdiorite0.3{a}
The following packages will be upgraded:
  nuvolaplayer3
1 packages upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 523 kB of archives. After unpacking 638 kB will be used.
Do you want to continue? [Y/n/?]
Get: 1 https://tiliado.eu/nuvolaplayer/repository/deb/ jessie/devel libdiorite0.3 amd64 0.3.0~201512301553.57287c9-0+1~jessie [144 kB]
Err https://tiliado.eu/nuvolaplayer/repository/deb/ jessie/devel libdiorite0.3 amd64 0.3.0~201512301553.57287c9-0+1~jessie
  HttpError403
Get: 2 https://tiliado.eu/nuvolaplayer/repository/deb/ jessie/devel nuvolaplayer3 amd64 3.1.0~201512301807.d865d68-0+1~jessie [379 kB]
Err https://tiliado.eu/nuvolaplayer/repository/deb/ jessie/devel nuvolaplayer3 amd64 3.1.0~201512301807.d865d68-0+1~jessie
  HttpError403
0% [Working]E: Failed to fetch https://tiliado.eu/nuvolaplayer/repository/deb/pool/devel/d/diorite/libdiorite0.3_0.3.0~201512301553.57287c9-0+1~jessie_amd64.deb: HttpError403

Or directly:
$ wget  'https://tiliado.eu/nuvolaplayer/repository/deb/pool/devel/d/diorite'/libdiorite0.3_0.3.0~201512301553.57287c9-0+1~jessie_amd64.deb
--2016-01-03 12:27:46--  https://tiliado.eu/nuvolaplayer/repository/deb/pool/devel/d/diorite/libdiorite0.3_0.3.0~201512301553.57287c9-0+1~jessie_amd64.deb
Resolving tiliado.eu (tiliado.eu)... <IP_ADDRESS>
Connecting to tiliado.eu (tiliado.eu)|<IP_ADDRESS>|:443... connected.
HTTP request sent, awaiting response... 403 FORBIDDEN
2016-01-03 12:27:47 ERROR 403: FORBIDDEN.

Thanks!

Hello. The permissions are correct. The Nuvola Player 3.1 Rolling Releases repository requires authentication with a Tiliado account. You can do it with Tiliado Repository Installer or manually. Alternatively, you can switch to the Nuvola Player 3.0 Stable Releases repository, which doesn't require authentication.

Ah, thanks - I was unaware that this was intended behavior. Do note that this means the debian package repository won't work via apt for devel version, since it doesn't have a way (that I know of) to do repo-specific authentication. Switching to the stable release resolved it for me, and I can use the source if I need devel version again. Thanks!

Ah, thanks - I was unaware that this was intended behavior.

It has been mentioned in the announcement of 3.0 Stable Releases and 3.1 Rolling Releases. Maybe I should it make more clear.

Do note that this means the debian package repository won't work via apt for devel version, since it doesn't have a way (that I know of) to do repo-specific authentication.

HTTP Basic Auth<EMAIL_ADDRESS>which is used by the repository, is fully supported by apt.

Maybe I should it make more clear.

Or maybe I should read the announcements and release notes. :-)

HTTP Basic Auth [...] is fully supported by apt.

Ah, yeah - that's obvious now that I see it. :-/
Thanks!


Update README.md

@razat249 we don't add the name of the platform in the front of the name of the course.


[Feature]: Remove the Data Science card from AI/ML main page

Is your feature request related to a problem? Please describe.

https://www.nsccbpit.tech/aiml
we don't need the data science card in the ai/ml page as we have a separate page for data science
Describe the solution you'd like
No response
Describe alternatives you've considered
No response
Additional context
No response

I would like to solve this issue . Please assign this to me .


[ENH] Pass frequency explicitly in ForecastingHorizon

Reference Issues/PRs
Partially addresses #1750. More changes are necessary, but I would prefer to break the change into smaller logically complete PRs.
What does this implement/fix? Explain your changes.
Following this conversation: https://github.com/alan-turing-institute/sktime/pull/2694#issuecomment-1146769665, and this enhancement proposal, I added a new optional argument freq to the constructor of ForecastingHorizon.
Frequency is inferred in ForecastingHorizon methods indirectly, via the forecaster's cutoff passed to methods. In all uses, this is equal to the cutoff of the forecaster, which is the last time index of y seen in fit. This currently carries the freq for all cases of time-like indexing, but will lose it after deprecation, since single time indices will no longer carry freq.
In this PR frequency is passed directly upon construction or via the setter method. Cutoff is no longer used as a source of frequency information.
The biggest consequence of this design update is necessity to pass frequency to the ForecastingHorizon at some point for the forecasters to preserve their behavior. The minimal code change is to assign frequency via setter method to already existing fh in a few of sktime.forecasting.base._base.BaseForecaster methods. Frequency is obtained from y passed to fit, predict, and other public methods of this base class.
Does your contribution introduce a new dependency? If yes, which one?
No
What should a reviewer concentrate their feedback on?

Any other comments?

PR checklist

For all contributions

[X] I've added myself to the list of contributors.
[ ] Optionally, I've updated sktime's CODEOWNERS to receive notifications about future changes to these files.
[X] I've added unit tests and made sure they pass locally.
[X] The PR title starts with either [ENH], [MNT], [DOC], or [BUG] indicating whether the PR topic is related to enhancement, maintenance, documentation, or bug.

@khrapovs, there is already a utility that produces a pandas.Index for most sktime data containers, get_time_index, could that work?
https://github.com/alan-turing-institute/sktime/pull/2852

@khrapovs, there is already a utility that produces a pandas.Index for most sktime data containers, get_time_index, could that work? #2852

Thanks for pointing this out! Now this function is used in infer_freq.

in _check_fh, use self._y instead of y_inner. Why: self._y is always in one of the "utility friendly" formats. For this, _check_fh needs to happen after the first _update_y_X , so you need to move the position in fit (but only there).
The call to self_y in _check_fh can be silent, it already looks up private parameters. This should be added in the docstring.
personally, I would then push the frequency inference down to check_fh (without underscore, in the utilities module)

Awesome! Again, it was not immediately obvious, that y is always stored in self._y in acceptable format. I have implemented all three suggestion above. As a result, the change in _base.py reduced even more. Thanks!

why is there a change to the forecasting notebook? Seems like only execution dates etc are changed. If this is the case, please reset and remove the change from this PR.

I had to add freq="M" to the construction of ForecastingHorizon. Otherwise, conversion to_relative fails in the following cells.

why do we need the freq arg in _to_absolute and _to_relative? Can´t we get it from the ForecastingHorizon?

We don't. Sorry, my lack of attention. It was a remnant from an earlier version where freq was not an attribute.

can we push infer_freq into ForecastingHorizon, so it can take freq a string, or an index? For instance, test_to_absolute_freq, line 302, could then be fh = ForecastingHorizon([1, 2, 3], freq=train). Or, line 1471 in BaseForecaster._check_fh could be fh = check_fh(fh=fh, self._y)

I believe it was our mutual agreement (https://github.com/sktime/enhancement-proposals/blob/main/steps/17_forecasting_horizon_freq/step.md#2a-earlies-possible-pass-in-constructor) that passing frequency string as a minimal information to ForecastingHorizon is our preferred option. Same with check_fh, we pass not a monster y, but rather a simple string. You now think differently?

why is there a change to the forecasting notebook? Seems like only execution dates etc are changed. If this is the case, please reset and remove the change from this PR.

I had to add freq="M" to the construction of ForecastingHorizon. Otherwise, conversion to_relative fails in the following cells.

Can you kindly ensure that the changes are localized to those cells only, and cells are not executed?

I believe it was our mutual agreement (https://github.com/sktime/enhancement-proposals/blob/main/steps/17_forecasting_horizon_freq/step.md#2a-earlies-possible-pass-in-constructor) that passing frequency string as a minimal information to ForecastingHorizon is our preferred option. Same with check_fh, we pass not a monster y, but rather a simple string. You now think differently?

My preference would be for the argument to be polymorphic, that it can be a string, or the entire y and it extracts the string (for easy declaration syntax).
That´s this section: https://github.com/sktime/enhancement-proposals/blob/main/steps/17_forecasting_horizon_freq/step.md#accepting-more-freq-inferrable-formats
(but I´m not too strongly opined about this option)
Well, we did not agree on a particular choice

Can you kindly ensure that the changes are localized to those cells only, and cells are not executed?

It was not easy, but I managed to reduce the change in the notebook to just 3 lines.

My preference would be for the argument to be polymorphic, that it can be a string, or the entire y and it extracts the string (for easy declaration syntax).
That´s this section: https://github.com/sktime/enhancement-proposals/blob/main/steps/17_forecasting_horizon_freq/step.md#accepting-more-freq-inferrable-formats (but I´m not too strongly opined about this option) Well, we did not agree on a particular choice

Let me disagree and voice a couple of arguments for a simple freq argument.

It is simple. Forecasting horizon gets the object ready to be used internally. It does not have to bother with any extraction. If we start giving it all kinds of objects, it will get yet another responsibility of extracting frequency from all of them.
Right now there are not many places where we actually need to pass the frequency. And not many objects to extract frequency from. So, I would prefer to postpone polymorphism implementation to the point when it is really needed.

Again, I trust your judgement more than mine, so would be happy to implement your request if you insist.

How about option 2?

Perfect! Implemented and pushed.

Yes, it can be inferred from cutoff, but only if it is pd.Period and not pd.Timestamp as it is in all test cases in test_fh.py.

I think there are two problems with it:

I think this is factually incorrect, it can be inferred, and easily (?)
even if it were correct, we cannot change common usage patterns of ForecastingHorizon, at least not without major deprecation effort

Why I think your statement is factually incorrect:
import pandas as pd

idx = pd.date_range(start='2020/12/01', end='2020/12/30', periods=30)
pd.infer_freq(idx)
# gives 'D'
type(idx[0])
# gives Timestamp

I think this is factually incorrect, it can be inferred, and easily (?)

Sure, pd.DatetimeIndex, pd.PeriodIndex, and pd.Period objects all have freq and freqstr attributes. But pd.Timestamp will not have this in some future. This is exactly the fact that I am trying to address here. One way or another we have to rule out frequency extraction from pd.Timstamp. Some sacrifices have to be made and this is already my second proposal, as you may remember.

even if it were correct, we cannot change common usage patterns of ForecastingHorizon, at least not without major deprecation effort

Please, let me know what kind of deprecation would you like to see. Should I replace FutureWarning that we currently get all over the place from pandas with our own?

Why I think your statement is factually incorrect:
import pandas as pd

idx = pd.date_range(start='2020/12/01', end='2020/12/30', periods=30)
pd.infer_freq(idx)
# gives 'D'
type(idx[0])
# gives Timestamp

This code snippet is correct, but...

pd.Timestamp will not have freq attribute in the future.
idx is not passed at any stage to ForecastingHorizon. We decided to pass frequency inferred from idx via freq argument in construction. Following your request I even preserved the possibility to infer frequency from cutoff, but only if it happens to be pd.Period object, not pd.Timstamp as in your code snippet.

This code snippet is correct, but...

pd.Timestamp will not have freq attribute in the future.

Yes, you are right. I was wrong in saying that this was factually incorrect, since you were clearly stating this in the post-deprecation state of pandas where this will no longer work, so my counterargument is incorrect.
It's vexing, it does not seem to be easy to solve without major interface changes.
So I went back to the drawing board here, trying to minimize public API changes:
https://github.com/alan-turing-institute/sktime/issues/1750
https://github.com/sktime/enhancement-proposals/pull/24
Let me know what you think.

So I went back to the drawing board here, trying to minimize public API changes:
#1750 sktime/enhancement-proposals#24
Let me know what you think.

In this PR I have solved the problem for a user. I do not see an alternative solution in your enhancement proposal. It keeps frequency with cutoff internally, but does not solve the problem of a user passing pd.Timestamp as a cutoff to ForecastingHorizon.

It keeps frequency with cutoff internally, but does not solve the problem of a user passing pd.Timestamp as a cutoff to ForecastingHorizon.

It does, because it uses your solution for ForecastingHorizon, i.e., with the additional freq argument. My addition concerns the BaseForecaster internal cutoff.

for completeness: after discussion on slack, I branched off this PR and modified it based on "freq as property of ForecastingHorizon" idea: https://github.com/alan-turing-institute/sktime/pull/2932

@khrapovs, should we close this, or are you going to use parts of this?

Closing as this branch was subsumed by https://github.com/alan-turing-institute/sktime/pull/2932


Resource listing - unlink authors info

In addition to not linking, spacing should be adjusted to clearly group an author with a resource.

OK, fixed!


How to use Thread::run_expr_async()?

It seems like your documentation doesn't cover Thread::run_expr_async(). I try to call the VM asynchronously within tokio event loop not to block it and get an abscure compilation error:
use gluon::{self, ThreadExt};

/// An executor error.
pub enum Error {
    GluonError(gluon::Error),
}

/// A command executor for web-parsing.
pub struct Executor {
    thread: gluon::RootedThread,
}

impl Executor {
    /// Creates a new Executor instance.
    pub fn new() -> Executor {
        let mut thread = gluon::Thread::new();
        thread.run_io(true);
        Executor { thread: thread }
    }

    /// Executes a given Gluon script.
    pub async fn execute(&mut self, script: &str) -> Result<(), Error> {
        let res = self.thread.run_expr_async::<()>("test", &script).await;
        match res {
            Ok(()) => Ok(()),
            Err(err) => Err(Error::GluonError(err)),
        }
    }
}

error[E0277]: the trait bound `dyn futures::future::Future<Item = ((), gluon_base::types::ArcType), Error = gluon::Error> + std::marker::Send: std::marker::Unpin` is not satisfied
  --> crawler/src/executor/mod.rs:23:19
   |
23 |         let res = self.thread.run_expr_async::<()>("test", &script).await;
   |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `std::marker::Unpin` is not implemented for `dyn futures::future::Future<Item = ((), gluon_base::types::ArcType), Error = gluon::Error> + std::marker::Send`
   |
   = note: required because of the requirements on the impl of `std::future::Future` for `std::boxed::Box<dyn futures::future::Future<Item = ((), gluon_base::types::ArcType), Error = gluon::Error> + std::marker::Send>`

I suspect I don't get the semantics of this call. Can you explain where I am wrong here? We definitely need some documentaion covering this, especially now, when async/await has been stabilized.
UPDATE Actually I need the VM to call my async functions written in Rust. I.e. it's not a problem that pure in-VM execution will block the event loop, but I need Gluon to unblock it when calling my async functions.

The version on crates.io use futures-0.1 so you need to use https://docs.rs/futures/0.3.4/futures/compat/trait.Future01CompatExt.html#method.compat to convert it into a std::futures::Future. The version on git is updated to std::futures::Future/tokio-0.2

Hmm, don't you have an example of using that somewhere in Gluon documentation?


Set up Biba Server

Struggeling with connecting to Biba-Server, dont see where to put public ssh-key for registration.

May u pls forward the email of our IT to me? I dont know exactly what he want u to do...
Probably u refer to the below link:
https://www.ssh.com/academy/ssh/public-key-authentication#:~:text=The following simple steps are required to set,can prove they have the corresponding private key.

I sent an email to you with the requested emails.

does the vpn work for u? then pls launch terminal and write ssh benutzer@rechner


add first draft for output object

Merge Request - GuideLine Checklist
Guideline to check code before resolve WIP and approval, respectively.
As many checkboxes as possible should be ticked.
Checks by code author:

[ ] There is at least one issue associated with the pull request.
[ ] The branch follows the naming conventions as defined in the git workflow.
[ ] New code adheres with the coding guidelines
[ ] Tests for new functionality has been added
[ ] A local test was succesful
[ ] There is appropriate documentation of your work. (use doxygen style comments)
[ ] If new third party software is used, did you pay attention to its license? Please remember to add it to the wiki after successful merging.
[ ] If new mathematical methods or epidemiological terms are used, has the glossary been updated ? Did you provide further documentation ?
is present or referenced. Please provide your references.
[ ] The following questions are addressed in the documentation*:  Developers (what did you do?, how can it be maintained?), For users (how to use your work?), For admins (how to install and configure your work?)
For documentation: Please write or update the Readme in the current working directory!

Checks by code reviewer(s):

[ ] Is the code clean of development artifacts e.g., unnecessary comments, prints, ...
[ ] The ticket goals for each associated issue are reached or problems are clearly addressed (i.e., a new issue was introduced).
[ ] There are appropriate unit tests and they pass.
[ ] The git history is clean and linearized for the merge request.
[ ] Coverage report for new code is acceptable.

Closes #424
Closes #123
Took ideas from PR #276

Codecov Report
Base: 90.84% // Head: 90.88% // Increases project coverage by +0.03% :tada:

Coverage data is based on head (781ef38) compared to base (7f3cc33).
Patch coverage: 94.68% of modified lines in pull request are covered.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #425      +/-   ##
==========================================
+ Coverage   90.84%   90.88%   +0.03%
==========================================
  Files          91       93       +2
  Lines        6881     6963      +82
==========================================
+ Hits         6251     6328      +77
- Misses        630      635       +5

Impacted Files
Coverage Δ

cpp/models/abm/output_results.cpp
93.67% <93.67%> (ø)

cpp/models/abm/output_results.h
100.00% <100.00%> (ø)

cpp/models/abm/simulation.cpp
100.00% <100.00%> (ø)

cpp/models/abm/simulation.h
100.00% <100.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

Please stay as close as possible to the objects and functionality we already have: https://github.com/DLR-SC/memilio/issues/364

Closed in favor of a new PR instead of it.


requires at least pytorch version 1.3.0

I updated PyTorch version to 0.4.1 as your experiment setting and tried to run pytorch-pwc code for checking
https://github.com/sniklaus/pytorch-pwc
However, it said pytorch-pwc need PyTorch version later than 1.3.0.
If then, the fore mentioned  in my issue, the PSNR and SSIM measure would be the same in my previous issue.....
How did you build https://github.com/sniklaus/pytorch-pwc with pytorch version 0.4.1.???????
I need help

We use the "pytorch-pwc" code downloaded two year ago from https://github.com/sniklaus/pytorch-pwc.
And the "pytorch-pwc" code (https://github.com/sniklaus/pytorch-pwc) have been updated few months ago, which requires new PyTorch version.
We plan to upgrade our codes to support the new version of PyTorch in the near future.

Thank you for your valuable and rapid comment...
However, I should check the PSNR and SSIM of this code because of my individual project...
May I know another programming environment to get the PSNR and SSIM in the paper, please? I'm sorry, but I'm afraid that I cannot do my project before I get the same PSNR with this code.

I mean such as later pytorch version than 1.3.0.

Sorry, I have been occupied with other things recently, and I don't have time to adapt the code for the time being. You can adapt the code to the higher version of PyTorch for your project, or you can try lower PyTorch version like 1.2.0.

That's okay... I am very thankful that you replied to this comment.


Sanctuary repells all things

Minecraft 1.12.2
Forge: <IP_ADDRESS>36
Roots: 3.0.0 (3.0.2)
This may be as intended but the description in the book reads "creatures" and "projectiles that attempt to hit the caster." I prefer that it repels all things but this might not be intended behavior.
Example image shows xp orbs being repelled. Works on dropped items and armor stands too.

re: 5e688ba
a) It should be checking EntityLivingBase
b) We need to stick with Entity and skip anything that isn't EntityLivingBase, and then have a configuration option that allows the specification of classes which should specifically be included/excluded and consult that
b) In addition, this current change will let arrows pass through (as well as any other type of projectile), so we should definitely be special-casing to make sure projectiles aren't allowed in

Further, it looks like anything that implements IProjectile should be rejected.

oof, big fail


Storybook deployment on Netlify

Description
Please provide a short summary explaining what this PR is about.
Deploy storybook stories of fp-class12 on Netlify
Fixes #178
How to test?
https://storybook-fp-class12.netlify.app/?path=/story/*
Please provide a short summary how your changes can be tested?
Checklist

[X] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[X] I have made corresponding changes to the documentation
[X] I have merged the latest version of the source branch (typically develop) into this branch before pushing my changes
[ ] This PR is ready to be merged and not breaking any other functionality

I don't know what is wrong and don't quite have the time to debug this further, but I can reproduce the error locally if I build storybook and try to serve it out of the /storybook-static folder.
Two small things:

Could you change this to a draft PR?
I would prefer if you work directly on the main repo rather than on your own fork. To checkout your code I either need to checkout your fork separately or add it as a remote and that's a bit tedious with many contributors.

I don't know what is wrong and don't quite have the time to debug this further, but I can reproduce the error locally if I build storybook and try to serve it out of the /storybook-static folder.
Two small things:

Could you change this to a draft PR?
I would prefer if you work directly on the main repo rather than on your own fork. To checkout your code I either need to checkout your fork separately or add it as a remote and that's a bit tedious with many contributors.

I closed this PR because I have created a new PR #187


"/apply" command not working.

when getting put or going into /afk will sometimes give a message saying: consider joining our team via '/apply'!
when running /apply it will say "unknown command"

Duplicate of #1343, please see there for update.


chore(readme): Update installation notes

Note that the carousel requires ngTouch for swiping.
Closes #5499

LGTM


RAID Status check

Feature Request
Adding a status check for RAID status on a device. Panorama and certain physical firewalls will do RAID rebuilds after an upgrade and this can cause delays in the autocommit after the upgrade
https://knowledgebase.paloaltonetworks.com/KCSArticleDetail?id=kA14u000000wkxPCAQ
Warnings:
Details: configured traffic quota of 0 MB is less than the minimum 32 MB.
Invalid configuration. Please fix errors and try again.
Failed to commit policy to device
Checking and reporting on the status of the system RAID before and after an upgrade provides both visibility when the RAID rebuild is in progress and the option for a delay in checking the readiness of a firewall.
CLI check is 'show system raid detail'

Thanks @genesyswave, we'll look into that.

I'm thinking should we implement this at all. Couple of reasons:

this wouldn't be a generic test

applicable only to two types of physical devices (5200 and 7000)
applicable only for PanOS 10.1.4 and higher
implementation would require some hardcoding, which we try to avoid as much as possible

implementation would be problematic, according to this note we don't have to wait until the rebuild is done,  we could return True earlier, but that could give false positives.

But the main argument would be, that the package should be generic. All corner cases (like this one) can be handled through pan-os-python (in case of python scripts) or PanOS Ansible collection (for Ansible playbooks).

I think it's worth writing a readiness test to ensure that the system isn't currently in the process of rebuilding the spare - or the RAID at all. There might be edge cases where you do an upgrade to 10.1.4 then immediately want to upgrade to 10.2 (for example) and having a readiness check in place would raise the issue and stop the process. It might be ok to upgrade while the spare is rebuilding but you wouldn't want to attempt an upgrade when the RAID is in another degraded state, so a check that just makes sure the state is not abornmal would be good enough.

fair enough, but should this be a test included in the test suit? meaning when you run all tests, should we run it as well? Or should we implement this as a helper test? Reason I'm asking is that it would be limited   just to some devices and versions.
If we include it as a regular test, how to report a result if the device/versions is not applicable to run it?

As SUCCESS? We didn't run anything, so no success here ;)
As SKIPPED? but this translates to false

No hardcoding. I think "is the RAID rebuilding?" returning passing if there's no RAID because of the version/model is fine, which would make it suitable to run in the test suite (suite-able?). You shouldn't need to code the check based on the model and version, just run the show system raid detail command and if there's no RAID, the test passes.


chore: bump gravitee-node to 1.20.0

Issue
NA
Description
bump gravitee-node to 1.20.0

It will be done automatically during the release


Handle unhandled exceptions in Visual Studio Extension

Hello,
Don’t sure it’s proper place for this question.
In order to be able to fix unexpected exceptions in our extension, we would like to send unhandled exception stack traces to remote logging service.
How could we configure the extension to catch all unhandled exceptions and send them to that service.
Thanks for your help!
Best regards,
Alex

I catch exceptions in all event handlers and show them in the output window and send them to Application Insights

Hello @ErikEJ
Thank you for quick response! Could you please share more information about this approach or maybe some example code?

This is the Core of it, I think something I borrowed from @madskristensen back in the day, you can find usages and walk the call tree to understand usage.
https://github.com/ErikEJ/EFCorePowerTools/blob/master/src/GUI/Shared/Helpers/Telemetry.cs

Thank you @ErikEJ! I'll check it. Great!

@aldanchenko, there is currently no support for collecting or sending telemetry data through Visual Studio SDKs. As Erik mentioned, you could utilize Application Insights or other telemetry endpoints internally in your extension code. Unfortunately, there is also no one common place to catch exceptions for the in-proc SDK but you can wrap command and event handlers in try/catch blocks.
This is something I will mark as an active feature request for the new out-of-process SDK though. The framework design we have right now can make it possible for a central way to handle all unhandled exceptions before they are passed to IDE.
Thanks for the feedback.

Thank you @BertanAygun! Great idea 💡!

We're moving feature suggestions and requests over to our Developer Community site so we can track them better.
This issue has been moved over to this ticket: [VisualStudio.Extensibility] Handle unhandled exceptions in Visual Studio Extension. Please continue the discussion in the new ticket.


Create simpler helm chart for production mina daemons/seeds/block producers

This new "daemon" chart should at a minimum support seed nodes, block producers, and "generic" daemon nodes with no special role. The CLI flags will be as flexible as possible to allow deploying the daemon in nearly any mode, including eventually snark coordination. Archive nodes are not supported at this time as the existing chart is already a great tool for production archival use cases.
This chart should also be multi-cloud to the degree that is possible with the daemon at the moment, at least supporting AWS-based kubernetes clusters.

The main goal at this stage is to support running a clone of our existing mainnet seeds and is at least feature complete with that deployment, additional features to come in future chart updates/releases

Prior work can be found in #12585, for reference.


«Invalid CSS after» after use map.get

Hi.
I ran into a problem that node-sass does not want to process the following mixin:
@mixin colors($colors) {
  $tone: "light";

  @if $dark-theme {
    $tone: "dark";
  }

  @each $color-name, $color-value in $colors {
    .bg-#{$color-name} {
      background: #{map.get($color-value, $tone)};
    }
    .text-#{$color-name} {
      color: #{map.get($color-value, $tone)};
    }
  }
}

After starting, I get the following message:
Invalid CSS after "...ckground: #{map": expected expression (e.g. 1px, bold), was ".get($color-value, ".
How to fix this problem? The regular SASS compiler accepts this code without problems.

can you give me example how are you using this mixin?

(This might be https://github.com/sass/libsass/issues/2309)

The error is quite explicit IMO
Error: Invalid CSS after "...ckground: #{map": expected expression (e.g. 1px, bold), was ".get($color-value, "
        on line 10:24 of /stdin
>>       background: #{map.get($color-value, $tone)};
   -----------------------^

It's map-get, not map.get.

the sass-lang docs show map.get: https://sass-lang.com/documentation/values/maps

I lost like a hour before I understand that the documentation it wrong... PLEASE FIX ASAP

How is this still incorrect in the docs?

The documentation still seems to be wrong. https://sass-lang.com/documentation/modules/map
I'd be happy to update the docs, but I feel someone who has more experience with sass would be more appropriate.

Node sass does not support sass modules. For that capability you'll need to switch to dart-sass.

Thank you for the information, up until then, I used node-sass for sass modules, and it worked, thought.
Since when doesn't it support it anymore ?


Search handler is long and nasty

As the title says, the search handler is fairly long. Maybe that's fine but there are probably some chunks of that logic that could be pulled out and tested in isolation.

Simplifying the interface and switching a SPA + REST API model dissolved this nasty chunk of code.


Awox HomeControl

I have 2 crosslink 2 Eglo lights, I can't find my lights using the Awox Smart Control app but the Awox HomeControl app does work. Is it possible to use this app with the home assistant awox integration?

Are they Bluetooth or ZigBee lights?

They use both bluetooth and zigbee, the app uses bluetooth

Yup, same here. Willing to debug it but not sure how to at this point

This integration uses the Awox Smart Control app API to fetch some needed hardware info and keys. So if you don't see the lights in that app it will probably not work.
You could also check if they are supported by https://www.zigbee2mqtt.io/ or https://github.com/zigpy/zigpy

if your light have ZigBee support I suggest going for that. It's a lot more stable than BLE.


openedFacetList taken into account

linked to #662

Awesome, thank you !
For the pull request itself, can you please try to follow this guideline for the title and description.
Thank you for your help !

Sorry your branch is out of date, can you please rebase it on develop ?
Thanks

@sgoretti Thanks !


PUT requests not recieving id

For some reason, my put requests don't recieve the id, so editing fails. I have the edit_form_class set, and I have the urls.py setup just like your readme says. Nothing is abnormal, I've quadruple checked. ID's are passed in fine for get requests, so I know the URL isn't wrong.
Is this a known issue? Is there a known work around? I pulled the source over into my project, and confirmed that the if statement fails on kwargs.has_key('id').

I figured out the problem... In your readme, you have the urls.py as:
url(r'^widgets', WidgetView.as_view()),

That needs to be:
url(r'^widgets$', WidgetView.as_view()),

Or, come after the id'd url.

Good find! Thanks for the follow up.


New version: Gruntwork.Terragrunt version 0.67.0

Checklist for Pull Requests

[x] Have you signed the Contributor License Agreement?
[ ] Is there a linked Issue?

Manifests

[x] Have you checked that there aren't other open pull requests for the same manifest update/change?
[x] This PR only modifies one (1) manifest
[x] Have you validated your manifest locally with winget validate --manifest <path>?

[x] Does your manifest conform to the 1.6 schema?

Note: <path> is the directory's name containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

Where I can see what is wrong?

Automatic Validation ended with:

Installation failed with exit code -1978335187
2024-08-28 00:50:21.078 [FAIL] Installer failed security check. Url: https://github.com/gruntwork-io/terragrunt/releases/download/v0.67.0/terragrunt_windows_386.exe Result: 0x80004005

Automated error analysis suggests -1978335187 may mean Installer failed security check. Another script should retry this every 18 hours.
Automated error analysis suggests 80004005 may mean Resource missing
(Automated response - build 891.)

/azp run

Automatic Validation ended with:

Installation failed with exit code -1978335187
2024-08-29 08:50:33.969 [FAIL] Installer failed security check. Url: https://github.com/gruntwork-io/terragrunt/releases/download/v0.67.0/terragrunt_windows_386.exe Result: 0x80004005

Automated error analysis suggests -1978335187 may mean Installer failed security check. Another script should retry this every 18 hours.
Automated error analysis suggests 80004005 may mean Resource missing
(Automated response - build 891.)

@wingetbot run

Automatic Validation ended with:

Installation failed with exit code -1978335187
2024-08-30 10:17:42.403 [FAIL] Installer failed security check. Url: https://github.com/gruntwork-io/terragrunt/releases/download/v0.67.0/terragrunt_windows_386.exe Result: 0x80004005

Automated error analysis suggests -1978335187 may mean Installer failed security check. Another script should retry this every 18 hours.
Automated error analysis suggests 80004005 may mean Resource missing
(Automated response - build 894.)

@wingetbot run


Created 1.26 foundation

Issue #, if available:
Description of changes:

Created 1.26 foundation via the make command in https://github.com/aws/eks-distro/pull/1656

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/hold
until everything else is in place

/unhold

/approve


Please be compatible with version 2020.2. Thank you.

Please be compatible with version 2020.2. Thank you.

Thanks for your request, I will fix this ASAP.

Version 1.0.7 of the Convert JSON/SQL to GO Struct plugin has been approved by JetBrains and is now publicly available by the following link: https://plugins.jetbrains.com/plugin/14409-convert-json-sql-to-go-struct/versions/stable/96030.
Enjoy! 🏂


Are you planning to add new channel to Microsoft Bot Framework?

We are using Microsoft Bot Framework to create bot for telegram, messenger, skype, slack and kik. We want to create bots for line and wechat. So I want to know that are you planning to add line, wechat?

We don't have anything to announce at this time - but we're always looking at which channels it makes to integrate next.  I'll note the additional interest in these channels in our backlog.

How about a Skype for Business channel?

Sorry, we don't have anything to announce right now.


fix url

I was browsing this on github and admiring how nicely it was specified when I saw that the URL in the file didn't match up with the url in my url bar. So I fixed it. :tophat:

Thanks!


Access to namespace specific procfs entries fails occasionally with multiple goroutines switching NS

Hi,
We have 2 net namespaces. Let's call it n1 and n2. The golang program is started in n2. n1 has bond interface and we monitor the status of the bond interfaces from the program by switching to namespace n1 and reading /proc/net/bonding/bond0 (os.Read*). We follow the sequence of operations listed in the example (https://github.com/vishvananda/netns) to switch namespaces and read the file.
This works just fine with a single goroutine. If we have 3-4 goroutines doing the same sequence of operations, occasionally 1 goroutine will fail to read the bond0 file with error "open /proc/net/bonding/bond0: no such file or directory". If we have 8 goroutines multiple goroutines report the same failure. I have confirmed that after the ns switch to n1 /proc//task//ns/net the entry points to n1 for the goroutine. I have also confirmed that each of these goroutines are on their own thread (syscall.Gettid()). If instead of using os.Read, I use exec.Command to copy the content to a different file, I have not seen any access issues with any number of goroutines.
What could be going on here? My intent is not to read the procfs from multiple goroutines. This was just a way to recreate the issue easily. We can have 100+ goroutines each switching namespaces for different activities and we encounter procfs access issues on one of the goroutines tasked with reading the status.
Thanks!

Same issue, golang 1.19.5, use runtime.LockOSThread()/runtime.UnlockOSThread() - but it does not helps (


AtlasPrivateEndpoint cdk giving error : required key [ApiKeys] not found

import os

from aws_cdk import (
    Stack, aws_ec2 as ec2,
)

from bda_constructs.bda_constructs import vpc_lookup
from constructs import Construct

from awscdk_resources_mongodbatlas import (AdvancedRegionConfig, AdvancedReplicationSpec,
                                           Specs, AccessListDefinition, IpAccessListProps,
                                           ProjectProps, ClusterProps, AtlasBasic, PrivateEndpoint,
                                           AtlasBasicPrivateEndpoint, AtlasBasicProps, PrivateEndpointProps,
                                           ProjectApiKey)

class MongodbStack(Stack):

    def __init__(self, scope: Construct, construct_id: str, **kwargs) -> None:
        super().__init__(scope, construct_id, **kwargs)

        org_id_var = self.node.try_get_context('org_id') or os.getenv('')
        region_var = self.node.try_get_context('region')
        profile_name_var = self.node.try_get_context('profile')
        ip_addr_var = self.node.try_get_context('ip_addr')
        ip_comment_var = self.node.try_get_context('ip_comment')
        vpc_id = self.node.try_get_context('vpc_id')
        subnets = self.node.try_get_context('subnets').split(",")

        region_configs_var = [
            AdvancedRegionConfig(analytics_specs=Specs(node_count=1, instance_size="M10", ebs_volume_type="STANDARD"),
                                 electable_specs=Specs(node_count=3, instance_size="M10", ebs_volume_type="STANDARD"),
                                 priority=7,
                                 region_name=region_var)]
        replication_specs_var = [AdvancedReplicationSpec(advanced_region_configs=region_configs_var, num_shards=1)]

        access_list_defs_var = [AccessListDefinition(ip_address=ip_addr_var, comment=ip_comment_var)]

        # atlas_basic_l3 = AtlasBasic(self, "AtlasBasic-py-l3",
        #                             cluster_props=ClusterProps(replication_specs=replication_specs_var),
        #                             project_props=ProjectProps(org_id=org_id_var),
        #                             ip_access_list_props=IpAccessListProps(access_list=access_list_defs_var),
        #                             profile=profile_name_var)

        atlas_basic_props = AtlasBasicProps(cluster_props=ClusterProps(replication_specs=replication_specs_var),
                                            project_props=ProjectProps(org_id=org_id_var),
                                            ip_access_list_props=IpAccessListProps(access_list=access_list_defs_var),
                                            profile=profile_name_var
                                            )

        private_endpoint_props = PrivateEndpointProps(private_endpoints=[PrivateEndpoint(
            vpc_id=vpc_id,
            subnet_ids=subnets
        )])

        instance = AtlasBasicPrivateEndpoint(self, "AtlasBasic-private-endpoint-py-l3",
                                             atlas_basic_props=atlas_basic_props,
                                             private_endpoint_props=private_endpoint_props,
                                             # profile=profile_name_var
                                             )

[100%] success: Published 3423c3404b6bf05515dd31cc027c045ff998d549b7b371f3db43415407d8b595:current_account-current_region
Mongodb2Stack: creating CloudFormation changeset...
[█████████████████████████████████▏························] (4/7)

4:25:40 PM | CREATE_FAILED        | MongoDB::Atlas::PrivateEndpoint     | AtlasBasic-private...ate-endpoint-py-l3
Properties validation failed for resource AtlasBasicprivateendpointpyl3privateendpointAtlasBasicprivateendpointpyl309D4273A with mes
sage:
#: required key [ApiKeys] not found
4:25:41 PM | ROLLBACK_IN_PROGRESS | AWS::CloudFormation::Stack          | Mongodb2Stack
The following resource(s) failed to create: [AtlasBasicprivateendpointpyl3atlasbasicAtlasBasicprivateendpointpyl3ipaccesslistatlasba
sicAtlasBasicprivateendpointpyl3D2A51065, AtlasBasicprivateendpointpyl3privateendpointAtlasBasicprivateendpointpyl309D4273A, AtlasBa
sicprivateendpointpyl3atlasbasicAtlasBasicprivateendpointpyl3dbuseratlasbasicAtlasBasicprivateendpointpyl3B2671B84, AtlasBasicprivat
eendpointpyl3atlasbasicAtlasBasicprivateendpointpyl3clusteratlasbasicAtlasBasicprivateendpointpyl39F42C400]. Rollback requested by u
ser.
4:25:41 PM | ROLLBACK_IN_PROGRESS | AWS::CloudFormation::Stack          | Mongodb2Stack
The following resource(s) failed to create: [AtlasBasicprivateendpointpyl3atlasbasicAtlasBasicprivateendpointpyl3ipaccesslistatlasba
sicAtlasBasicprivateendpointpyl3D2A51065, AtlasBasicprivateendpointpyl3privateendpointAtlasBasicprivateendpointpyl309D4273A, AtlasBa
sicprivateendpointpyl3atlasbasicAtlasBasicprivateendpointpyl3dbuseratlasbasicAtlasBasicprivateendpointpyl3B2671B84, AtlasBasicprivat
eendpointpyl3atlasbasicAtlasBasicprivateendpointpyl3clusteratlasbasicAtlasBasicprivateendpointpyl39F42C400]. Rollback requested by u
ser.

While the atlasbasic pick the api keys from profile

Hi 👋
Thank you for bringing this issue to our attention.
I was able to replicate the issue. We will need to release a new version of MongoDB::atlas::PrivateEndpoint in the eu-west-1 region. In the meantime, a temporary workaround is to run the stack in the us-east-1 region as the latest version of MongoDB::atlas::PrivateEndpoint in us-east-1 uses the Profile.
I will add an update as soon as we have released a new version of MongoDB::atlas::PrivateEndpoint in eu-west-1.
Thanks!

MongoDB::Atlas::PrivateEndpoint
if you can publish the latest version of the template in eu-west-1 please i can see us-east-1 has 1.6.0 while eu-west-1 has version 1.2.0

any ETA please?

7:11:51 PM | CREATE_IN_PROGRESS   | MongoDB::Atlas::PrivateEndpoint     | AtlasBasic-private...ate-endpoint-py-l3
[████████████████▌·········································] (2/7)

7:52:21 PM | CREATE_FAILED        | MongoDB::Atlas::PrivateEndpoint     | AtlasBasic-private...ate-endpoint-py-l3
7:52:21 PM | CREATE_FAILED        | MongoDB::Atlas::PrivateEndpoint     | AtlasBasicprivatee...dpointpyl309D4273A
Internal Failure

 ❌  Mongodb2Stack failed: Error: The stack named Mongodb2Stack failed creation, it may need to be manually deleted from the AWS console: ROLLBACK_COMPLETE: Internal Failure
    at FullCloudFormationDeployment.monitorDeployment (/usr/local/lib/node_modules/aws-cdk/lib/index.js:380:10236)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async deployStack2 (/usr/local/lib/node_modules/aws-cdk/lib/index.js:383:145458)
    at async /usr/local/lib/node_modules/aws-cdk/lib/index.js:383:128776
    at async run (/usr/local/lib/node_modules/aws-cdk/lib/index.js:383:126782)

 ❌ Deployment failed: Error: Stack Deployments Failed: Error: The stack named Mongodb2Stack failed creation, it may need to be manually deleted from the AWS console: ROLLBACK_COMPLETE: Internal Failure
    at deployStacks (/usr/local/lib/node_modules/aws-cdk/lib/index.js:383:129083)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async CdkToolkit.deploy (/usr/local/lib/node_modules/aws-cdk/lib/index.js:383:147507)
    at async exec4 (/usr/local/lib/node_modules/aws-cdk/lib/index.js:438:51799)

Stack Deployments Failed: Error: The stack named Mongodb2Stack failed creation, it may need to be manually deleted from the AWS console: ROLLBACK_COMPLETE: Internal Failure

Still failing with  v1.3.0

Mongodb2Stack: creating CloudFormation changeset...
[████████████████▌·········································] (2/7)

8:05:50 PM | CREATE_IN_PROGRESS   | AWS::CloudFormation::Stack          | Mongodb2Stack
8:05:58 PM | CREATE_IN_PROGRESS   | MongoDB::Atlas::PrivateEndpoint     | AtlasBasic-private...ate-endpoint-py-l3
8:05:59 PM | CREATE_FAILED        | MongoDB::Atlas::ProjectIpAccessList | AtlasBasic-private...ate-endpoint-py-l3
Properties validation failed for resource AtlasBasicprivateendpointpyl3atlasbasicAtlasBasicprivateendpointpyl3ipaccesslistatlasbasic
AtlasBasicprivateendpointpyl3D2A51065 with message:
#: required key [AccessList] not found

also i donot like provide ip_access_list_props in the cluster. basically i want the mongo db should be accessible through private endpoint from our vpc. It also gives me error.

Hi 👋 ,

Still failing with v1.3.0

The error is now different though 🤔 .
Could you share the output of cdk synth and the latest version of your CDK code? Thanks

also i donot want to provide ip_access_list_props in the cluster. basically we want the mongo db should be accessible through private endpoint from our vpc. It also gives me error.

Unfortunately, AtlasBasis requires you to provide the access list. Your only option is to use the L1 constructors instead.

{
 "Resources": {
  "AtlasBasicprivateendpointpyl3atlasbasicAtlasBasicprivateendpointpyl3projectatlasbasicAtlasBasicprivateendpointpyl3A20A1681": {
   "Type": "MongoDB::Atlas::Project",
   "Properties": {
    "Name": "atlas-project-419999",
    "OrgId": "640dba22c5b1cc609ab132d0",
    "Profile": "mycom-default"
   },
   "Metadata": {
    "aws:cdk:path": "Mongodb2Stack/AtlasBasic-private-endpoint-py-l3/atlas-basic-AtlasBasic-private-endpoint-py-l3/project-atlas-basic-AtlasBasic-private-endpoint-py-l3"
   }
  },
  "AtlasBasicprivateendpointpyl3atlasbasicAtlasBasicprivateendpointpyl3clusteratlasbasicAtlasBasicprivateendpointpyl39F42C400": {
   "Type": "MongoDB::Atlas::Cluster",
   "Properties": {
    "ClusterType": "REPLICASET",
    "Profile": "mycom-default",
    "ProjectId": {
     "Fn::GetAtt": [
      "AtlasBasicprivateendpointpyl3atlasbasicAtlasBasicprivateendpointpyl3projectatlasbasicAtlasBasicprivateendpointpyl3A20A1681",
      "Id"
     ]
    },
    "Name": "atlas-cluster-6039946",
    "ReplicationSpecs": [
     {
      "NumShards": 1,
      "AdvancedRegionConfigs": [
       {
        "RegionName": "EU_WEST_1",
        "AnalyticsSpecs": {
         "EbsVolumeType": "STANDARD",
         "InstanceSize": "M10",
         "NodeCount": 1
        },
        "ElectableSpecs": {
         "EbsVolumeType": "STANDARD",
         "InstanceSize": "M10",
         "NodeCount": 3
        },
        "Priority": 7
       }
      ]
     }
    ]
   },
   "Metadata": {
    "aws:cdk:path": "Mongodb2Stack/AtlasBasic-private-endpoint-py-l3/atlas-basic-AtlasBasic-private-endpoint-py-l3/cluster-atlas-basic-AtlasBasic-private-endpoint-py-l3"
   }
  },
  "AtlasBasicprivateendpointpyl3atlasbasicAtlasBasicprivateendpointpyl3dbuseratlasbasicAtlasBasicprivateendpointpyl3B2671B84": {
   "Type": "MongoDB::Atlas::DatabaseUser",
   "Properties": {
    "DatabaseName": "admin",
    "Password": "atlas-pwd",
    "ProjectId": {
     "Fn::GetAtt": [
      "AtlasBasicprivateendpointpyl3atlasbasicAtlasBasicprivateendpointpyl3projectatlasbasicAtlasBasicprivateendpointpyl3A20A1681",
      "Id"
     ]
    },
    "Roles": [
     {
      "DatabaseName": "admin",
      "RoleName": "atlasAdmin"
     }
    ],
    "Username": "atlas-user",
    "Profile": "mycom-default"
   },
   "Metadata": {
    "aws:cdk:path": "Mongodb2Stack/AtlasBasic-private-endpoint-py-l3/atlas-basic-AtlasBasic-private-endpoint-py-l3/db-user-atlas-basic-AtlasBasic-private-endpoint-py-l3"
   }
  },
  "AtlasBasicprivateendpointpyl3atlasbasicAtlasBasicprivateendpointpyl3ipaccesslistatlasbasicAtlasBasicprivateendpointpyl3D2A51065": {
   "Type": "MongoDB::Atlas::ProjectIpAccessList",
   "Properties": {
    "AccessList": [
     {
      "IPAddress": "<IP_ADDRESS>"
     }
    ],
    "ProjectId": {
     "Fn::GetAtt": [
      "AtlasBasicprivateendpointpyl3atlasbasicAtlasBasicprivateendpointpyl3projectatlasbasicAtlasBasicprivateendpointpyl3A20A1681",
      "Id"
     ]
    },
    "Profile": "mycom-default"
   },
   "Metadata": {
    "aws:cdk:path": "Mongodb2Stack/AtlasBasic-private-endpoint-py-l3/atlas-basic-AtlasBasic-private-endpoint-py-l3/ip-access-list-atlas-basic-AtlasBasic-private-endpoint-py-l3"
   }
  },
  "AtlasBasicprivateendpointpyl3privateendpointAtlasBasicprivateendpointpyl309D4273A": {
   "Type": "MongoDB::Atlas::PrivateEndpoint",
   "Properties": {
    "GroupId": {
     "Fn::GetAtt": [
      "AtlasBasicprivateendpointpyl3atlasbasicAtlasBasicprivateendpointpyl3projectatlasbasicAtlasBasicprivateendpointpyl3A20A1681",
      "Id"
     ]
    },
    "Region": "us-east-1",
    "PrivateEndpoints": [
     {
      "VpcId": "vpc-06aebd37bfbe4c11f",
      "SubnetIds": [
       "subnet-0e6864b2039026d73",
       "subnet-0fd6dd978ff590f6a"
      ]
     }
    ]
   },
   "Metadata": {
    "aws:cdk:path": "Mongodb2Stack/AtlasBasic-private-endpoint-py-l3/private-endpoint-AtlasBasic-private-endpoint-py-l3"
   }
  },
  "CDKMetadata": {
   "Type": "AWS::CDK::Metadata",
   "Properties": {
    "Analytics": "v2:deflate64:H4sIAAAAAAAA/zPSMzfVM1RMLC/WTU7J1s3JTNKrDi5JTM7WcU7LC0otzi8tSk4FsZ3z81IySzLz82p1AipLMvLz9I31DA2ASDGrODNTt6g0ryQzN1UvCEIDANl+HvZXAAAA"
   },
   "Metadata": {
    "aws:cdk:path": "Mongodb2Stack/CDKMetadata/Default"
   },
   "Condition": "CDKMetadataAvailable"
  }
 },
 "Conditions": {
  "CDKMetadataAvailable": {
   "Fn::Or": [
    {
     "Fn::Or": [
      {
       "Fn::Equals": [
        {
         "Ref": "AWS::Region"
        },
        "af-south-1"
       ]
      },
      {
       "Fn::Equals": [
        {
         "Ref": "AWS::Region"
        },
        "ap-east-1"
       ]
      },
      {
       "Fn::Equals": [
        {
         "Ref": "AWS::Region"
        },
        "ap-northeast-1"
       ]
      },
      {
       "Fn::Equals": [
        {
         "Ref": "AWS::Region"
        },
        "ap-northeast-2"
       ]
      },
      {
       "Fn::Equals": [
        {
         "Ref": "AWS::Region"
        },
        "ap-south-1"
       ]
      },
      {
       "Fn::Equals": [
        {
         "Ref": "AWS::Region"
        },
        "ap-southeast-1"
       ]
      },
      {
       "Fn::Equals": [
        {
         "Ref": "AWS::Region"
        },
        "ap-southeast-2"
       ]
      },
      {
       "Fn::Equals": [
        {
         "Ref": "AWS::Region"
        },
        "ca-central-1"
       ]
      },
      {
       "Fn::Equals": [
        {
         "Ref": "AWS::Region"
        },
        "cn-north-1"
       ]
      },
      {
       "Fn::Equals": [
        {
         "Ref": "AWS::Region"
        },
        "cn-northwest-1"
       ]
      }
     ]
    },
    {
     "Fn::Or": [
      {
       "Fn::Equals": [
        {
         "Ref": "AWS::Region"
        },
        "eu-central-1"
       ]
      },
      {
       "Fn::Equals": [
        {
         "Ref": "AWS::Region"
        },
        "eu-north-1"
       ]
      },
      {
       "Fn::Equals": [
        {
         "Ref": "AWS::Region"
        },
        "eu-south-1"
       ]
      },
      {
       "Fn::Equals": [
        {
         "Ref": "AWS::Region"
        },
        "eu-west-1"
       ]
      },
      {
       "Fn::Equals": [
        {
         "Ref": "AWS::Region"
        },
        "eu-west-2"
       ]
      },
      {
       "Fn::Equals": [
        {
         "Ref": "AWS::Region"
        },
        "eu-west-3"
       ]
      },
      {
       "Fn::Equals": [
        {
         "Ref": "AWS::Region"
        },
        "me-south-1"
       ]
      },
      {
       "Fn::Equals": [
        {
         "Ref": "AWS::Region"
        },
        "sa-east-1"
       ]
      },
      {
       "Fn::Equals": [
        {
         "Ref": "AWS::Region"
        },
        "us-east-1"
       ]
      },
      {
       "Fn::Equals": [
        {
         "Ref": "AWS::Region"
        },
        "us-east-2"
       ]
      }
     ]
    },
    {
     "Fn::Or": [
      {
       "Fn::Equals": [
        {
         "Ref": "AWS::Region"
        },
        "us-west-1"
       ]
      },
      {
       "Fn::Equals": [
        {
         "Ref": "AWS::Region"
        },
        "us-west-2"
       ]
      }
     ]
    }
   ]
  }
 },
 "Parameters": {
  "BootstrapVersion": {
   "Type": "AWS::SSM::Parameter::Value<String>",
   "Default": "/cdk-bootstrap/hnb659fds/version",
   "Description": "Version of the CDK Bootstrap resources in this environment, automatically retrieved from SSM Parameter Store. [cdk:skip]"
  }
 },
 "Rules": {
  "CheckBootstrapVersion": {
   "Assertions": [
    {
     "Assert": {
      "Fn::Not": [
       {
        "Fn::Contains": [
         [
          "1",
          "2",
          "3",
          "4",
          "5"
         ],
         {
          "Ref": "BootstrapVersion"
         }
        ]
       }
      ]
     },
     "AssertDescription": "CDK bootstrap stack version 6 required. Please run 'cdk bootstrap' with a recent version of the CDK CLI."
    }
   ]
  }
 }
}

import os

from aws_cdk import (
    Stack, aws_ec2 as ec2,
)

from bda_constructs.bda_constructs import vpc_lookup
from constructs import Construct

from awscdk_resources_mongodbatlas import (AdvancedRegionConfig, AdvancedReplicationSpec,
                                           Specs, AccessListDefinition, IpAccessListProps,
                                           ProjectProps, ClusterProps, AtlasBasic, PrivateEndpoint,
                                           AtlasBasicPrivateEndpoint, AtlasBasicProps, PrivateEndpointProps,
                                           ProjectApiKey)

class MongodbStack(Stack):

    def __init__(self, scope: Construct, construct_id: str, **kwargs) -> None:
        super().__init__(scope, construct_id, **kwargs)

        org_id_var = self.node.try_get_context('org_id') or os.getenv('')
        region_var = self.node.try_get_context('region')
        profile_name_var = self.node.try_get_context('profile')
        ip_addr_var = self.node.try_get_context('ip_addr')
        ip_comment_var = self.node.try_get_context('ip_comment')
        vpc_id = self.node.try_get_context('vpc_id')
        subnets = self.node.try_get_context('subnets').split(",")

        region_configs_var = [
            AdvancedRegionConfig(analytics_specs=Specs(node_count=1, instance_size="M10", ebs_volume_type="STANDARD"),
                                 electable_specs=Specs(node_count=3, instance_size="M10", ebs_volume_type="STANDARD"),
                                 priority=7,
                                 region_name=region_var)]
        replication_specs_var = [AdvancedReplicationSpec(advanced_region_configs=region_configs_var, num_shards=1)]

        access_list_defs_var = [AccessListDefinition(ip_address=ip_addr_var, comment=ip_comment_var)]

        # atlas_basic_l3 = AtlasBasic(self, "AtlasBasic-py-l3",
        #                             cluster_props=ClusterProps(replication_specs=replication_specs_var),
        #                             project_props=ProjectProps(org_id=org_id_var),
        #                             ip_access_list_props=IpAccessListProps(access_list=access_list_defs_var),
        #                             profile=profile_name_var)

        atlas_basic_props = AtlasBasicProps(cluster_props=ClusterProps(replication_specs=replication_specs_var),
                                            project_props=ProjectProps(org_id=org_id_var),
                                            ip_access_list_props=IpAccessListProps(access_list=access_list_defs_var),
                                            profile=profile_name_var
                                            )

        private_endpoint_props = PrivateEndpointProps(private_endpoints=[PrivateEndpoint(
            vpc_id=vpc_id,
            subnet_ids=subnets
        )])

        instance = AtlasBasicPrivateEndpoint(self, "AtlasBasic-private-endpoint-py-l3",
                                             atlas_basic_props=atlas_basic_props,
                                             private_endpoint_props=private_endpoint_props,
                                             # profile=profile_name_var
                                             )
        print(instance.atlas_basic.m_cluster.props)

Hi
The issue could be related to a mismatch in regions I see in the CDK synth. The cluster configuration is in EU_WEST_1 whereas "MongoDB::Atlas::PrivateEndpoint resource is for us-east-1. Since I don't see in region specified in the AtlasBasicPrivateEndpoint CDK construct specifically, it will default to your default AWS region. Please try setting default AWS region to eu-west-1 and setting the region in  AtlasBasicPrivateEndpoint construct as below:
instance = AtlasBasicPrivateEndpoint(self, "AtlasBasic-private-endpoint-py-l3",
                                             atlas_basic_props=atlas_basic_props,
                                             private_endpoint_props=private_endpoint_props,
                                             region="EU_WEST_1")

i restested but the arn specified is in eu-west-1in my view.

after your proposed changes. i am getting below error

4:56:19 PM | CREATE_IN_PROGRESS   | AWS::CloudFormation::Stack          | MongodbStack6
[████████▎·················································] (1/7)

4:59:13 PM | CREATE_FAILED        | MongoDB::Atlas::PrivateEndpoint     | AtlasBasic-private...ate-endpoint-py-l6
[████████████████▌·········································] (2/7)

4:59:13 PM | CREATE_FAILED        | MongoDB::Atlas::PrivateEndpoint     | AtlasBasic-private...ate-endpoint-py-l6
Resource handler returned message: "Error creating vcp Endpoint: MissingEndpoint: 'Endpoint' configuration is required for this serv
ice" (RequestToken: b8cd9aa8-d704-57c9-8c57-11652a151901, HandlerErrorCode: GeneralServiceException)
4:59:14 PM | ROLLBACK_IN_PROGRESS | AWS::CloudFormation::Stack          | MongodbStack6
The following resource(s) failed to create: [AtlasBasicprivateendpointpyl6atlasbasicAtlasBasicprivateendpointpyl6clusteratlasbasicAt
lasBasicprivateendpointpyl66AAD87C0, AtlasBasicprivateendpointpyl6privateendpointAtlasBasicprivateendpointpyl6F8FA7D0C]. Rollback re
quested by user.
4:59:14 PM | ROLLBACK_IN_PROGRESS | AWS::CloudFormation::Stack          | MongodbStack6
The following resource(s) failed to create: [AtlasBasicprivateendpointpyl6atlasbasicAtlasBasicprivateendpointpyl6clusteratlasbasicAt
lasBasicprivateendpointpyl66AAD87C0, AtlasBasicprivateendpointpyl6privateendpointAtlasBasicprivateendpointpyl6F8FA7D0C]. Rollback re
quested by user.
4:59:23 PM | DELETE_IN_PROGRESS   | MongoDB::Atlas::Cluster             | AtlasBasic-private...ate-endpoint-py-l6

worked for me now. thanks i had to provide instead "eu-west-1" in your proposed solution
region="eu-west-1"

Okay great, thanks for letting us know.
I will go ahead and close this issue in that case.


Readme typo

In this section there is two WhenAny examples, but no After example.

This also occurs here.

This also occurs here.

Thanks for letting me know, fixed now!


Hotfix/synced cron

@apinf/developers , please review this hotfix.
Fixes:

Packages updates
Hostname for apiUmbrella analytics data now is http://<IP_ADDRESS>/ while apinf.com is down
SyncedCron requests frequency changed up to a call per 1 day (so that logs are not overflowing the terminal window)

This pull request contains changes that aren't related to the SyncedCron hotfix. Specifically:

server/methods/elasticSearch.js changes are related to a different branch
server/methods/elasticSearch.js contains hard-coded server information not related to this publicly available, open-source project. I.e. apinf.com and the development server IP address are for internal use, and should be included in a configuration file.

Going forward, please make sure all modifications in any given pull request are relevant to the purpose of the pull request, and that specific server details are kept in configuration files.

@brylie Pull request #198 contains fixes regarding this issues. Please, review.


Cannot process return type annotations for pydantic types

I did a follow up experiment on this issue https://github.com/pydantic/pydantic-ai/issues/134
And changed the get_location tool to have a docstring
@agent_pydantic_output_tool.tool
def get_location(ctx: RunContext[None], place_name: str) -> Location:
    """Gets the lattitude and longitude of a location.

    Args:
        place_name: The name of the place to get location for.

    Returns:
        The location information.
    """
    return Location(latitude=36.53, longitude=-116.93)

This causes a warning.
WARNING:griffe:<module>:7: No type or annotation for returned value 1

Is this expected?
How are the docstrings and return type annotations used by pydantic in tool call results? Is it better to convert the return type into simpler types for tools?

@samuelcolvin I see that this could be related to this issue: https://github.com/mkdocstrings/griffe/issues/293
It seems like the error is happening here in griffe
            # try to retrieve the annotation from the docstring parent
            annotation = _annotation_from_parent(docstring, gen_index=2, multiple=len(block) > 1, index=index)

And because parent is a signature object
this errors out
        annotation = docstring.parent.annotation  # type: ignore[union-attr]

Since the return type annotations and docstrings is not used at all, would the solution be to somehow disable this specific warning?
Alternatively I can just stop putting the returns statement in the docstring, but that does not seem ideal.

weird, yes because we're not using the return type we should find a way to mute this warning or even avoid parsing that part of the function completely.


perf: Debounce offset height measure

fixes #405
This PR debounces the currently synchronous offsetHeight measurement (which causes a reflow) inside __observeOffsetHeight so that it's done on animation frame instead. The change has a significant impact on https://github.com/vaadin/flow/issues/8853 (page render time drops approximately 40%)

Should also fix #405 which appears to be the same issue as mentioned above.

👍  Connected the issue.


Added MagicBricks web scraper in python

Describe the project you want to add with tech stack

I'd add a magic bricks web scraper in python projects, which would be able to scrape the magic bricks data and return it to the user in either the list format or JSON format.
Expected behavior

User makes object of the scraper class and references the function(s) through it.
The function scrapes the desired data of properties in magicbricks based on input parameters(location, date, etc..) given.
User receives the data in list format or JSON.

@TusharKesarwani @MohitGupta121 @pranjay-poddar please assign me this


Add Dvorak US Support.

Associated issue: https://github.com/AgonConsole8/agon-vdp/issues/97
Just adding a US Dvorak keyboard using the standard method.

Closing, this is not the PR I meant to submit.

Shouldn't Dvořak support be in vdp-gl, which handles all other keyboard layouts?

You are correct @lennart-benschop , this was a mistake. It's been a while since I've done github things, my repo management is a bit rusty.
Much obliged. I've updated the appropriate change here: https://github.com/AgonConsole8/vdp-gl/pull/2
I believe we'll still need a change in both vpd and mos to ensure it will actually enable, but I'll make that change later if necessary.


🐛 [Bug report]: @faker-js/faker: faker.name is deprecated since v8.0 and will be removed in v10.0. Please use faker.person instead.

Descrcibe the bug?
[@faker-js/faker]: faker.image.imageUrl has been deprecated since v8.0 and will be removed in v9.0. Please use faker.image.url instead.
Steps to reproduce the bug?
visit https://reactplay.io & check the console, you will see [@faker-js/faker] error. We need to change the deprecated package
Expected behavior
n/a
Desktop (Please provide your system information)
OS: Kali Linux
Browser: Brave
Mobile (Please provide your device information)
No response
Screenshot / Screenshare

Relevant log output
No response
Record

[X] I have checked the existing issues
[X] I have read the Contributing Guidelines
[ ] I want to work on this issue
[ ] I am in Hacktoberfest

Code of Conduct

[X] I agree to follow this project's Code of Conduct

I want to work on this issue

I want to work on this issue

sure


[DOC] alluxioruntime mount root path

Provide a link to that doc page:
What is the defect and your suggestions on improvement:
l want to set root path in alluxio,  when i set alluxio.master.mount.table.root.ufs=s3a://test in runtime's properties, which take no effect. so l hope there is a doc to explain how to mount root path.

You can set path /.


Will this project going to be maintained?

I'm about to create a fork of it because I need to add more features to this plugin to use it.
However, it's always good to prevent unneeded forks so people do not get confused.
If you're looking for maintainers, I'm also willing to help.
/cc @raix @felixfbecker

@felipecrs sorry for the late reply - I'm personally low on time atm. If you are still up for it I can add you to the project, would be great with help :)

@felipecrs I've sent an invite

Amazing, thank you very much!

@felipecrs I could transfer the project to you if you want? (would need to figure out how to do in on npm but it should be doable)

@raix if you are okay with it I'm ok.
And it's quite simple to transfer it on npm as well: https://docs.npmjs.com/transferring-a-package-from-a-user-account-to-another-user-account
My npm profile: https://www.npmjs.com/~felipecrs

@felipecrs sorry about the late response, I'll transfer the package to you - if ok with you?

@felipecrs sorry about the late response, I'll transfer the package to you - if ok with you?

@felipecrs I've added you as maintainer on npm - I tried to transfer this repo but it already exists on your username in github.

@felipecrs I've added you as maintainer on npm - I tried to transfer this repo but it already exists on your username in github.

if ok with you?

Yeap!

I've added you as maintainer on npm

Great! I just confirmed here.

I tried to transfer this repo but it already exists on your username in github.

I just renamed my fork, it should work now.

if ok with you?

Yeap!

I've added you as maintainer on npm

Great! I just confirmed here.

I tried to transfer this repo but it already exists on your username in github.

I just renamed my fork, it should work now.

@felipecrs I've set github to transfer - I'll transfer npm ownership to you later this weekend. Btw. enable 2fa on npm
Thank you :)

@felipecrs I've set github to transfer - I'll transfer npm ownership to you later this weekend. Btw. enable 2fa on npm
Thank you :)

I just enabled. Thanks for reminding! I also accepted the ownership transfer on GitHub.
Thanks so much! I'll keep you as maintainer in the repo.

I just enabled. Thanks for reminding! I also accepted the ownership transfer on GitHub.
Thanks so much! I'll keep you as maintainer in the repo.

@felipecrs I've followed the guide to transfer ownership - part of the guide was to remove myself as maintainer on the package in npm - when trying to add you as the owner I got an error - I've written to npm support to help out fixing the issue.
npm owner add felipecrs semantic-release-vsce
npm ERR! code E403
npm ERR! 403 403 Forbidden - PUT https://registry.npmjs.org/semantic-release-vsce/-rev/20-4e48776---86c19e - Forbidden
npm ERR! 403 In most cases, you or one of your dependencies are requesting
npm ERR! 403 a package version that is forbidden by your security policy.

@felipecrs I've followed the guide to transfer ownership - part of the guide was to remove myself as maintainer on the package in npm - when trying to add you as the owner I got an error - I've written to npm support to help out fixing the issue.
npm owner add felipecrs semantic-release-vsce
npm ERR! code E403
npm ERR! 403 403 Forbidden - PUT https://registry.npmjs.org/semantic-release-vsce/-rev/20-4e48776---86c19e - Forbidden
npm ERR! 403 In most cases, you or one of your dependencies are requesting
npm ERR! 403 a package version that is forbidden by your security policy.

@felixfbecker maybe you can try running npm owner add felipecrs semantic-release-vsce ?

@felixfbecker maybe you can try running npm owner add felipecrs semantic-release-vsce ?

@raix In the last time I did this, I contacted the NPM support and they did it right away.
They should probably answer soon. Let's see.

@raix In the last time I did this, I contacted the NPM support and they did it right away.
They should probably answer soon. Let's see.

I think this is now fixed:
❯ npm owner ls semantic-release-vsce --otp 100982
felixfbecker <x>
felipecrs <x>

@felipecrs yep looks correct now :)
Thank you
Kind regards Morten