Create IAM user with least privileges

Is your feature request related to a problem? Please describe.
amplify configure creates an IAM user with administrative access as noted in the docs:

By default we give administrator access to this IAM user since the CLI needs access to a variety of services for deployments.

This seems to go against the principle of least privilege outlined by the AWS Well-Architected Framework - Security Pillar (July 2018) whitepaper:

Establishing a principle of least privilege ensures that authenticated identities
are only permitted to perform the most minimal set of functions necessary to
fulfill a specific task, while balancing usability and efficiency.

Describe the solution you'd like
An IAM user with least privilege. In the interim, there should be more guidance on what developers could do to lock down privileges (e.g., example policies).

The documentation at https://docs.amplify.aws/cli/usage/iam contains the set of privileges needed for Amplify CLI to perform correctly across all categories. For larger teams it could be created as a Managed Policy which has a size limit of 6Kb and then attach that Managed Policy straight to a IAM User or create a single Role that is assigned to the Users directly, that way that is an decoupling provided which can be scaled for various team sizes with less management overhead. If you find a missing permission in the above stated policy feel free to open a new issue about that.

How to give particular instance types with amplify

creating a User with administrative access is very dangerous. My client account got Un-Authorized access due to this and his account got suspended we wasted 4 to 5 days figuring out and fixing it.
I would recommend to change the Default IAM user permission to as minimum as possible.

https://aws-amplify.github.io/docs/cli-toolchain/usage#iam-policy-for-the-cli

This link does not seem to be working, i got re-directed to CI\CD pipeline documentation. Can you please provide new correct link?

Created a policy to explicitly deny access to amplify prod environment as shown below. But user still can go to and delete prod environment. Any help on why will be appreciated
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Deny",
"Action": [
"amplify:ListJobs",
"amplify:DeleteBranch",
"amplify:StartDeployment",
"amplify:CreateDeployment",
"amplify:UpdateBranch",
"amplify:CreateWebHook"
],
"Resource": "arn:aws:amplify:*:675783035647:apps/d12e5legwh80tb/branches/prod"
}
]
}


Condition.assertedDate is not truncated

Asserted Date is not listed among the dates that need to be truncated to year under the "Date Truncation" section of the UDS+ Diagnosis Resource IG page (https://fhir.org/guides/hrsa/uds-plus/StructureDefinition-uds-plus-diagnosis.html)
Inferno does not validate this date is truncated, however the UDS+ testing sandbox does.
Please update the IG to call out that this date needs to be truncated as well.

The updates being done for 1.0.2 will be pushed to include these date truncation requirements as constraints and will be incorporated into INFERNO also and can be validated before submitting data to HRSA.


Disable javadoc temporarily

Failing currently https://github.com/square/okhttp/actions/runs/6198721220/job/16829730445
    Reason: Task ':logging-interceptor:dokkaJavadocJar' uses this output of task ':mockwebserver:dokkaGfm' without declaring an explicit or implicit dependency. This can lead to incorrect results being produced, depending on what order the tasks are executed.

    Possible solutions:
      1. Declare task ':mockwebserver:dokkaGfm' as an input of ':logging-interceptor:dokkaJavadocJar'.
      2. Declare an explicit dependency on ':mockwebserver:dokkaG
      3.

@swankjesse can revert if we have a fix, but not sure what that is.


Remove en-us from links

The links should be locale-independent (they will redirect to the appropriate language based on user browser settings)

Pull Request Test Coverage Report for Build 940200119

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.002%) to 43.362%

Totals

Change from base Build 940070529:
-0.002%

Covered Lines:
26602

Relevant Lines:
55744

💛  - Coveralls

Not planning on updating the extensions FYI since this is a pretty small change and isn't breaking anything - they'll just be updated as the extensions release new versions naturally.


[Snyk] Upgrade eslint-config-semistandard from 15.0.1 to 17.0.0

This PR was automatically created by Snyk using the credentials of a real user.Snyk has created this PR to upgrade eslint-config-semistandard from 15.0.1 to 17.0.0.
:information_source: Keep your dependencies up-to-date. This makes it easier to fix existing vulnerabilities and to more quickly identify and fix newly disclosed vulnerabilities when they affect your project.

Warning: This is a major version upgrade, and may be a breaking change.

The recommended version is 2 versions ahead of your current version.
The recommended version was released 6 months ago, on 2022-07-18.

Release notes

Package name: eslint-config-semistandard

17.0.0 - 2022-07-18What's Changed

Get up to date with eslint-config-standard version 17.0.0 by @ voxpelli in #40

New Contributors

@ patrikjuvonen made their first contribution in #39 / #40

Full Changelog: v16.0.0...v17.0.0

16.0.0 - 2021-06-14
Breaking: Now based on eslint-config-standard version 16.x a53c7c9
Semi-breaking: Renamed .eslintrc.js to eslintrc.json to be more in sync with eslint-config-standard baab8bf
Docs: Sync documentation with eslint-config-standard 3c5d6cb
...as well as some internal tricks and tweaks

Credit to @ hoobdeebla for suggesting many of these in #35 🥳
All changes: v15.0.1...v16.0.0

15.0.1 - 2020-06-2415.0.1

    from eslint-config-semistandard GitHub release notes

Commit messages

Package name: eslint-config-semistandard

a72048c 17.0.0
7afe201 Merge pull request #40
7572168 Remove unused `tap-spec`
404ba65 Dependabot config from `eslint-config-standard`
ac74e1c Borrow CI workflow from `eslint-config-standard`
52be1ed Update peer dependencies
7ba3c59 Replace eslint-plugin-node with eslint-plugin-n
631a9da Upgrade dev dependencies and tests
9eaf00a Add semistandard badge
a25cce1 16.0.0
77a6075 Fix: Update "files" in package.json
ef17f05 Remove Travis CI, replace with GitHub Actions
b195d2f Add GitHub Action test
baab8bf Rename to eslintrc.json + change test script
085b814 Fix typo in CHANGELOG url
3c5d6cb Sync documentation with eslint-config-standard
a53c7c9 update dependencies
7e11a56 Add description of the package (#34)

Compare

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open upgrade PRs.
For more information:
🧐 View latest project report
🛠 Adjust upgrade PR settings
🔕 Ignore this dependency or unsubscribe from future upgrade PRs

Coverage: 100.0%. Remained the same when pulling 4979ceb618570e8b35fa4990fe34bd8f302e3446 on snyk-upgrade-ee8ab4b023aac820cca3a4f4550f7daf into ceb141d33794383372c01535d6034d9df1899eff on main.


Using Microsoft Graph with client credentials and message subscriptions

Hi.  Thank you for this sample code, it's very helpful.   I have the example running no problem creating the test calendar events.
My goal is to use client credentials and Graph subscriptions for messages, for several users in my tenant.   I modified the code to create a subscription for messages, but I get a failure of "Unsupported segment type".
Does graph support client credentials for subscriptions?  If yes, am I doing something wrong?
"error": {
"code": "BadRequest",
"message": "Unsupported segment type. ODataQuery: users//subscriptions",
"innerError": {
"request-id": "e92caf14-0343-40b0-8720-30946d7fd236",
"date": "2018-05-17T17:53:34"
}
}
Here's my subscribe function:
graph.subscribe = function (token, userid) {
var subscription = {
  changeType: 'Created',
  notificationUrl: 'my notification url',
  resource: '/users/<userid removed>/messages',
  clientState: 'blah'
};

request.post({
  url: 'https://graph.microsoft.com/v1.0/users/<userid removed>/subscriptions',
  headers: {
    'content-type': 'application/json',
    authorization: 'Bearer ' + token
  },
  body: JSON.stringify(subscription)
}, function (err, response, body) {
  if (err) {
    console.error('>>> Application error: ' + err);
  } else {
    console.log('>>> Subscription returned ' + body);
  }
});

};

I got the answer:
The POST should be issued to the /v1.0/subscriptions endpoint, not /v1.0/users/{upn}/subscriptions.

When you ran the sample app you went to the localhost:3000 url correct?


update pre-commit, install and fixes

Codecov Report
Patch coverage: 100.00% and no project coverage change.

Comparison is base (f03f587) 74.72% compared to head (77b4f74) 74.72%.

:exclamation: Current head 77b4f74 differs from pull request most recent head 38ec1bb. Consider uploading reports for the commit 38ec1bb to get more accurate results

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #81   +/-   ##
=======================================
  Coverage   74.72%   74.72%
=======================================
  Files          11       11
  Lines        1377     1377
=======================================
  Hits         1029     1029
  Misses        348      348

Impacted Files
Coverage Δ

src/napari_spatialdata/__init__.py
81.81% <100.00%> (ø)

src/napari_spatialdata/_scatterwidgets.py
86.79% <100.00%> (ø)

src/napari_spatialdata/_utils.py
70.00% <100.00%> (ø)

src/napari_spatialdata/_widgets.py
70.60% <100.00%> (ø)

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


[backplane-2.7] Update to go 1.22

This requires some special handling over the changes in the main branch because we have konflux running in the release branch. The first three commits are direct cherry-picks of the commits in main, but the last one exists to make the konflux system happy.
Adding a konflux-specific Dockerfile is required because the only go 1.22 image accessible from the konflux build environment is the one in brew.registry.redhat.io, but that image is not available in openshift CI.
Likewise the ci image isn't available in konflux. Until we have an image that satisfies both systems we'll need to maintain two Dockerfiles.

@eliorerz @tsorya I'm hoping https://github.com/openshift/release/pull/56657 will solve the test failures?

/retest

Looking better :tada:

/lgtm
/approve


add execution policy info to downloads page

thats all

@potatoqualitee : https://dbatools.io/download/ needs some love in this regard, maybe just a link to https://dbatools.io/soup2nutz/ ?

@potatoqualitee : last warning (or feel free to assign to a WP editor of your choice)

sorry my notifications all got lost in the mix. done


Add bounds/sanity checks to XBOS python driver bindings

Such as restrict heating setpoint < cooling_setpoint

This can be incorporated in the generation of Python bindings, but it requires augmenting the interface descriptions to include these bounds


Add Enforcer, Checkstyle, Spotbugs and PMD

[ ] Add Maven Enforcer to check for Dependency Convergence
[ ] Add Checkstyle checks similar to those at Dataverse upstream plus check for good library practices (Like package-info.java, Javadoc etc)
[x] Add Spotbugs and PMD to increase code quality

No Spotbugs, no PMD - Sonarcloud should be fine.

Guess this is done with #35 / #36.
The enforcer plugin is present but not part of a regular build.


ensemble model MODEL_UNAVAILABLE

Hi
When I use ensemble model, it occur an error failed sending synchronous infer request: [inference:0 0] UNAVAILABLE - Inference request for unknown model 'ensemble_model'
I use 19.06 version and my ensemble config file is:

name: "ensemble_model"
platform: "ensemble"
max_batch_size: 32
input [
{
name: "INPUT"
data_type: TYPE_FP32
format: FORMAT_NCHW
dims: [ 3, 112, 112 ]
}
]
output [
{
name: "Attribute"
data_type: TYPE_FP32
dims: [ 113, 1, 1 ]
},
{
name: "Recognition"
data_type: TYPE_FP32
dims: [ 512, 1, 1 ]
}
]
ensemble_scheduling {
step [
{
model_name: "attributes_plan"
input_map {
key: "blob1"
value: "INPUT"
}
output_map {
key: "cat_blob1"
value: "Attribute"
}
},
{
model_name: "insight_plan"
input_map {
key: "data"
value: "INPUT"
}
output_map {
key: "fc1"
value: "Recognition"
}
}
]
}
attributes_plan config file is:

name: "attributes_plan"
platform: "tensorrt_plan"
max_batch_size: 32
input [
{
name: "blob1"
data_type: TYPE_FP32
format: FORMAT_NCHW
dims: [ 3, 112, 112 ]
}
]
output [
{
name: "cat_blob1"
data_type: TYPE_FP32
dims: [ 113, 1, 1 ]
}
]
cc_model_filenames [
{
key: "6.1"
value: "model.plan"
}
]
instance_group [
{
count: 1
gpus: [ 0 ]
}
]
dynamic_batching {
preferred_batch_size: [ 16, 32 ]
max_queue_delay_microseconds: 20000
}
optimization{
graph{
level:9
}
}
insight_plan config file is:

name: "insight_plan"
platform: "tensorrt_plan"
max_batch_size: 32
input [
{
name: "data"
data_type: TYPE_FP32
format: FORMAT_NCHW
dims: [ 3, 112, 112 ]
}
]
output [
{
name: "fc1"
data_type: TYPE_FP32
dims: [ 512, 1, 1 ]
}
]
instance_group [
{
count: 1
kind: KIND_GPU
}
]
dynamic_batching {
preferred_batch_size: [ 16, 32 ]
max_queue_delay_microseconds: 10000
}
optimization{
graph{
level:9
}
}

Hi
I have not used custom backend yet. It just have two models and the same input, so I use ensemble model to avoid http or grpc transfer.
Thanks.

What does the output of status endpoint look like?
curl localhost:8000/api/status

Could you check the server log to see if the ensemble is loaded successfully? And for the step in ensemble_scheduling, you should also specify the model version to be used (-1 for the latest version)

Hi ,
I have tried to set the model version to -1 but still not work.
>  the server log
NVIDIA Release 19.06 (build 6791108)
Copyright (c) 2018-2019, NVIDIA CORPORATION.  All rights reserved.
Copyright 2019 The TensorFlow Authors.  All rights reserved.
Copyright 2019 The TensorFlow Serving Authors.  All rights reserved.
Copyright (c) 2016-present, Facebook Inc. All rights reserved.
Various files include modifications (c) NVIDIA CORPORATION.  All rights reserved.
NVIDIA modifications are covered by the license terms that apply to the underlying
project or file.
I0726 01:31:31.750645 1 main.cc:325] Starting endpoints, 'inference:0' listening on
I0726 01:31:31.750831 1 grpc_server.cc:263] Starting a GRPCService at <IP_ADDRESS>:8001
I0726 01:31:31.750843 1 grpc_server.cc:269] Register TensorRT GRPCService
I0726 01:31:31.750855 1 grpc_server.cc:272] Register Infer RPC
I0726 01:31:31.750861 1 grpc_server.cc:276] Register StreamInfer RPC
I0726 01:31:31.750866 1 grpc_server.cc:281] Register Status RPC
I0726 01:31:31.750871 1 grpc_server.cc:285] Register Profile RPC
I0726 01:31:31.750878 1 grpc_server.cc:289] Register Health RPC
I0726 01:31:31.750883 1 grpc_server.cc:301] Register Executor
I0726 01:31:31.755463 1 http_server.cc:579] Starting HTTPService at <IP_ADDRESS>:8000
I0726 01:31:31.796669 1 main.cc:356]  localhost:8002 for metric reporting
I0726 01:31:31.797951 1 metrics.cc:149] found 1 GPUs supporting NVML metrics
I0726 01:31:31.803287 1 metrics.cc:158]   GPU 0: GeForce GTX 1080 Ti
I0726 01:31:31.803656 1 server.cc:113] Initializing TensorRT Inference Server
I0726 01:31:31.850743 1 server_status.cc:83] New status tracking for model 'attributes_plan'
I0726 01:31:31.850807 1 model_repository_manager.cc:627] loading: attributes_plan:1
I0726 01:31:31.850887 1 server_status.cc:83] New status tracking for model 'ensemble_model'
I0726 01:31:31.850927 1 server_status.cc:83] New status tracking for model 'insight_plan'
I0726 01:31:31.850987 1 model_repository_manager.cc:627] loading: insight_plan:1
I0726 01:31:31.851068 1 server_status.cc:83] New status tracking for model 'retinaface_plan0'
I0726 01:31:31.851198 1 model_repository_manager.cc:627] loading: retinaface_plan0:1
I0726 01:31:31.851301 1 server_status.cc:83] New status tracking for model 'retinaface_plan1'
I0726 01:31:31.851383 1 model_repository_manager.cc:627] loading: retinaface_plan1:1
I0726 01:31:31.851516 1 server_status.cc:83] New status tracking for model 'retinaface_plan2'
I0726 01:31:31.851578 1 model_repository_manager.cc:627] loading: retinaface_plan2:1
I0726 01:31:31.944938 1 plan_backend.cc:209] Creating instance retinaface_plan0_0_0_gpu0 on GPU 0 (6.1) using model.plan
I0726 01:31:33.735256 1 logging.cc:49] Glob Size is 815840 bytes.
I0726 01:31:33.735633 1 logging.cc:49] Added linear block of size 13107200
I0726 01:31:33.735645 1 logging.cc:49] Added linear block of size 13107200
I0726 01:31:33.735649 1 logging.cc:49] Added linear block of size 6553600
I0726 01:31:33.735667 1 logging.cc:49] Added linear block of size 3276800
I0726 01:31:33.735670 1 logging.cc:49] Added linear block of size 819200
I0726 01:31:33.735673 1 logging.cc:49] Added linear block of size 51200
I0726 01:31:34.588460 1 logging.cc:49] Deserialize required 853368 microseconds.
I0726 01:31:34.590076 1 plan_backend.cc:317] Created instance retinaface_plan0_0_0_gpu0 on GPU 0 (6.1) with stream priority 0
I0726 01:31:34.590475 1 model_repository_manager.cc:758] successfully loaded 'retinaface_plan0' version 1
I0726 01:31:34.590539 1 plan_backend.cc:209] Creating instance retinaface_plan1_0_0_gpu0 on GPU 0 (6.1) using model.plan
I0726 01:31:34.590652 1 logging.cc:49] Glob Size is 4823264 bytes.
I0726 01:31:34.591237 1 logging.cc:49] Added linear block of size 169869312
I0726 01:31:34.591247 1 logging.cc:49] Added linear block of size 84934656
I0726 01:31:34.591251 1 logging.cc:49] Added linear block of size 42467328
I0726 01:31:34.591254 1 logging.cc:49] Added linear block of size 11010048
I0726 01:31:34.591256 1 logging.cc:49] Added linear block of size 2752512
I0726 01:31:34.591259 1 logging.cc:49] Added linear block of size 688128
I0726 01:31:34.592285 1 logging.cc:49] Deserialize required 1726 microseconds.
I0726 01:31:34.593771 1 plan_backend.cc:317] Created instance retinaface_plan1_0_0_gpu0 on GPU 0 (6.1) with stream priority 0
I0726 01:31:34.593822 1 model_repository_manager.cc:758] successfully loaded 'retinaface_plan1' version 1
I0726 01:31:34.593974 1 plan_backend.cc:209] Creating instance retinaface_plan2_0_0_gpu0 on GPU 0 (6.1) using model.plan
I0726 01:31:34.594126 1 logging.cc:49] Glob Size is 7669888 bytes.
I0726 01:31:34.594973 1 logging.cc:49] Added linear block of size 471859200
I0726 01:31:34.594983 1 logging.cc:49] Added linear block of size 235929600
I0726 01:31:34.594986 1 logging.cc:49] Added linear block of size 117964800
I0726 01:31:34.594989 1 logging.cc:49] Added linear block of size 30146560
I0726 01:31:34.594992 1 logging.cc:49] Added linear block of size 7536640
I0726 01:31:34.594995 1 logging.cc:49] Added linear block of size 1884160
I0726 01:31:34.595983 1 logging.cc:49] Deserialize required 1963 microseconds.
I0726 01:31:34.598083 1 plan_backend.cc:317] Created instance retinaface_plan2_0_0_gpu0 on GPU 0 (6.1) with stream priority 0
I0726 01:31:34.598152 1 model_repository_manager.cc:758] successfully loaded 'retinaface_plan2' version 1
I0726 01:31:34.598313 1 plan_backend.cc:209] Creating instance attributes_plan_0_0_gpu0 on GPU 0 (6.1) using model.plan
I0726 01:31:34.598467 1 logging.cc:49] Glob Size is 61774440 bytes.
I0726 01:31:34.605405 1 logging.cc:49] Added linear block of size 25690112
I0726 01:31:34.605428 1 logging.cc:49] Added linear block of size 6422528
I0726 01:31:34.605431 1 logging.cc:49] Added linear block of size 6422528
I0726 01:31:34.605434 1 logging.cc:49] Added linear block of size 1605632
I0726 01:31:34.605437 1 logging.cc:49] Added linear block of size 12800
I0726 01:31:34.605440 1 logging.cc:49] Added linear block of size 512
I0726 01:31:34.605443 1 logging.cc:49] Added linear block of size 512
I0726 01:31:34.605446 1 logging.cc:49] Added linear block of size 512
I0726 01:31:34.605449 1 logging.cc:49] Added linear block of size 512
I0726 01:31:34.605452 1 logging.cc:49] Added linear block of size 512
I0726 01:31:34.608146 1 logging.cc:49] Deserialize required 9810 microseconds.
I0726 01:31:34.608872 1 plan_backend.cc:317] Created instance attributes_plan_0_0_gpu0 on GPU 0 (6.1) with stream priority 0
I0726 01:31:34.613171 1 model_repository_manager.cc:758] successfully loaded 'attributes_plan' version 1
I0726 01:31:34.611082 1 plan_backend.cc:209] Creating instance insight_plan_0_0_gpu0 on GPU 0 (6.1) using model.plan
I0726 01:31:34.613344 1 logging.cc:49] Glob Size is 104251392 bytes.
I0726 01:31:34.624344 1 logging.cc:49] Added linear block of size 102760448
I0726 01:31:34.624366 1 logging.cc:49] Added linear block of size 102760448
I0726 01:31:34.624369 1 logging.cc:49] Added linear block of size 25690112
I0726 01:31:34.624372 1 logging.cc:49] Added linear block of size 6422528
I0726 01:31:34.624375 1 logging.cc:49] Added linear block of size 3211264
I0726 01:31:34.629251 1 logging.cc:49] Deserialize required 16030 microseconds.
I0726 01:31:34.630393 1 plan_backend.cc:317] Created instance insight_plan_0_0_gpu0 on GPU 0 (6.1) with stream priority 0
I0726 01:31:34.637055 1 model_repository_manager.cc:758] successfully loaded 'insight_plan' version 1
> the model status:
model_status {
key: "ensemble_model"
value {
config {
name: "ensemble_model"
platform: "ensemble"
version_policy {
latest {
num_versions: 1
}
}
max_batch_size: 32
input {
name: "INPUT"
data_type: TYPE_FP32
format: FORMAT_NCHW
dims: 3
dims: 112
dims: 112
}
output {
name: "Attribute"
data_type: TYPE_FP32
dims: 113
dims: 1
dims: 1
}
ensemble_scheduling {
step {
model_name: "attributes_plan"
model_version: -1
input_map {
key: "blob1"
value: "INPUT"
}
output_map {
key: "cat_blob1"
value: "Attribute"
}
}
}
}
version_status {
key: -1
value {
ready_state: MODEL_UNAVAILABLE
infer_stats {
key: 0
value {
failed {
count: 1
total_time_ns: 109566
}
}
}
}
}
}
}

Hi,
when I just start the server and not run client, the model status:

model_status {
key: "ensemble_model"
value {
config {
name: "ensemble_model"
platform: "ensemble"
version_policy {
latest {
num_versions: 1
}
}
max_batch_size: 32
input {
name: "INPUT"
data_type: TYPE_FP32
format: FORMAT_NCHW
dims: 3
dims: 112
dims: 112
}
output {
name: "Attribute"
data_type: TYPE_FP32
dims: 113
dims: 1
dims: 1
}
ensemble_scheduling {
step {
model_name: "attributes_plan"
model_version: -1
input_map {
key: "blob1"
value: "INPUT"
}
output_map {
key: "cat_blob1"
value: "Attribute"
}
}
}
}
}
}

it seems not version status:
version_status {
key: 1
value {
ready_state: MODEL_READY
}
}

Did you create version folder for the ensemble model? TRTIS sees ensemble as the same as other models, so at least one version folder is required. The version folder can be empty as ensemble doesn't require any model file. See detail

HI,
It work!
thanks!


Throttling error for http conflict, fixing Issue #5

Thanks! Looks good. I was thinking of some way to encapsulate this (if someone is polling the API for some number, she already did the same request and the library could just return what was loaded the last time in case it was requested before the limit... sort of caching to overcome small time granularity), but after all, being transparent about this error is probably the best way how to handle it for now.
I'm going to merge this and release the new version soon.

Also, it would be awesome if you could mention this error and the API limitation right in the README. Thanks!

I scanned through issues and I see I discussed the rate limiting problem already in https://github.com/honzajavorek/fiobank/pull/4#issuecomment-25154171. May be useful for further thoughts.

@Visgean Why this got closed? I know I didn't get to Fiobank recently, but I'm planning to dedicate it at least one evening to merge PRs, polish the code and release a new version.

I have closed all my PR that were inactive for a year. I will reopen this one because you seem to be interested.

Thanks!


sap.ui.model.odata.v2.ODataModel.getKey(...) and .createKey(...) do not accommodate OData entitytypes with baseType defined

OpenUI5 version: 1.44
Browser/version: Chrome 60.0.3112.24
Any other tested browsers/devices(OK/FAIL): Not tested
Steps to reproduce the problem:

OData service has multiple entitytypes, most of which have a common BaseType
The metadata is correct, so the entitytypes that have a baseType defined have no explicit key. Instead the key is inherited from the baseType

What is the expected result?
getKey and createKey should return the key from the baseType
What happens instead?
Returns no key
Any other information?
Similar problems exist with other methods that use the properties of the entityType: properties and navigation properties that are inherited from the baseType are not available.

Hi @peterjohnlawrence,
I have created un internal incident with the following number: #1780233442
Kind Regards,
Gery

Hi @peterjohnlawrence,
we know that we do not fully support BaseTypes, but we have no plan to enhance this support for the v2.ODataModel so far.
BR,
Jan


Fix createProgram js docs.

JS doc fixes for createProgram:

Move JS doc to correct function overload (previously it was describing the wrong overload).
Add JS doc for new overload.

Thanks @dsherret!


custom attributes

I have custom attributes in my models. How can I make them show up in the index pages? I tried using the name in the columns array in model config, but that doesn't work.

duplicate


Update docker bases to ubuntu 20 (or 22), and newer python

Python 3.6.9 (used in the Docker images) has reached end of life, as has Python 3.7 .
Furthermore, the ppa:deadsnakes repository which was commonly used to install newer Python versions on Ubuntu 18, has also dropped support for Ubuntu 18, since it too has reached end of life.
As such. clearml-agent docker images based off of Ubuntu 18 lack support for any newer Python versions, and are slowly becoming inoperable. The latest image built from what I could tell in allegroai was built over a year ago.
Perhaps it's time to update? 😁

Thanks for noting @idantene - This is indeed on the todo list.

Is there a roadmap or an expected date for delivery?

While there's no hard set date we can put on this, it is planned to be handled in one of the near releases.
BTW - which docker image has this affecting your work?

Thanks @ainoam, looking forward to it!
We cannot use clearml-agent on Docker or k8s at all because of this.
We're forced to running an agent on prem manually for now, so that it listens to the services queue, and we use the AWS autoscaler script (modified a bit) for scaling.
Once these new docker images are out, we'll transition everything to k8s.

Hey @ainoam, any updates on this?

@idantene Updated dockers are under development.
Which docker are you using/planning to use - agent-services?

@idantene Updated dockers are under development.
Which docker are you using/planning to use - agent-services?

Good to hear! I'm planning to use the k8s glue clearml-agent image.


Move sources into make

The idea is to clean the root of the project of unwanted files.
Sources management are related to the way the library is built, it has to be located inside make.

As I have a bug to fix, moved it to current sprint


CI Compatibility with Chef 14.x and 15.x

Description
This PR resolves following errors detected by Travis-CI:

as of Chef 15+, EULA licenses must be accepted prior to running chef
cookstyle in spec/recipes/*/default_spec.rb (static arrays styling)
build-essential cookbook is deprecated as of Chef 14+, and now integrated into Chef as a resource
(see: https://supermarket.chef.io/cookbooks/build-essential)

Signed-off-by: Christophe Sourisse<EMAIL_ADDRESS>Issues Resolved
Solves Travis-CI issues detected from #211 PR.
Check List

[x] All tests pass. See https://github.com/chef-cookbooks/community_cookbook_documentation/blob/master/TESTING.MD
[x] New functionality includes testing.
[x] New functionality has been documented in the README if applicable
[x] All commits have been signed for the Developer Certificate of Origin. See https://github.com/chef-cookbooks/community_cookbook_documentation/blob/master/CONTRIBUTING.MD

Closing as this is now pretty out of date.
Thanks for making the PR. We're planning to update this cookbook over the next few months to work with Chef 17.


MsalCacheHelper.GetAccountIdentifiersAsync needs CrossPlatLock

When reacting to a cachefile changed event, we create a new PCA and read the cache, looking for added/removed accounts. This isn't behind a CrossPlatLock though, so it can and will try to access the actual cache when it's not available. The fix is to add a CrossPlatLock in the temporary PCA created in that method.

Closing as this should have been released in 2.2.0-preview based on Mark's comment


Store session ivar in _session

Coverage remained the same at 100.0% when pulling 85085cba5d8ab48bf3ab7959f4a23284082f36d3 on feature/_session into 322eb57c244bc85ee04164361323be996a6dea63 on master.


Remove version: Google.Chrome.Canary version 132.0.6826.0

[Automated] It returns code over 400 in all urls
Microsoft Reviewers: Open in CodeFlow

URL: https://dl.google.com/release2/chrome/cahwijcjsqo7vuqudks56y2r7q_132.0.6826.0/132.0.6826.0_chrome_installer.exe
Response Error: The remote server returned an error: (404) Not Found.
(Automated message - build 923)


Python: Remove references to text-davinci-003 text models as it causes tests to hang.

Motivation and Context
Python PR merges were failing due to integration tests. Local integration tests were hanging on running Azure text completions. It appears text-davinci-003 was deprecated, and needed to be replaced by gpt-35-turbo-instruct.

Description
Remove references to text-davinci-003 text models as it causes tests to hang.to hang. Updated to gpt-35-turbo-instruct, which passes. Add EastUS AOAI deployment name var.

Contribution Checklist

[X] The code builds clean without any errors or warnings
[X] The PR follows the SK Contribution Guidelines and the pre-submission formatting script raises no violations
[X] All unit tests pass, and I have added new tests where possible
[X] I didn't break anyone :smile:

Python 3.10 Test Coverage Report • FileStmtsMissCoverMissingTOTAL5838103882% report-only-changed-files is enabled. No files were changed during this commit :)
Python 3.10 Unit Test Overview

Tests
Skipped
Failures
Errors
Time

1257
1 :zzz:
0 :x:
0 :fire:
12.824s :stopwatch:


Markdown headings not represented

Referencing discussion at CZO where markdown headings are all styled the same in Zulip CSS.
It's been suggested to edit static/styles/rendered_markdown.css to fix this.

Fixed in #19400.


Add error page when Istio Config List is not loaded correctly

Istio Config List has project dropdown handled by Openshift to select target project. Problem occurs when OSSMC does not have access to such project (configured in Kiali server - accessible_namespaces field). Since that dropdown is handled by Openshift (not by OSSMC) it is not possible to filter that dropdown to show only accessible projects (done in other pages like Overview and Graph).
Only thing that we can do is to show a proper error message indicating that this namespace is not accessible:

Also shows any other issue that could happen on Istio Object list load (e.g., the project is not found):

Fixes #239

@ferhoyos I'm afraid I can't review this since I don't know how to build and deploy the plugin locally :disappointed:

@josunect or @jshaughn, could any of you just take a look and review this PR? Thanks.

@jshaughn could you approve the PR?


Реализация сериализации

closes #11

Codecov Report

Merging #13 (2578351) into master (40a5138) will decrease coverage by 1.20%.
The diff coverage is 0.00%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@            Coverage Diff            @@
##           master     #13      +/-   ##
=========================================
- Coverage    8.33%   7.14%   -1.20%
=========================================
  Files           2       3       +1
  Lines          12      14       +2
=========================================
  Hits            1       1
- Misses         11      13       +2

Files Changed
Coverage Δ

source/serializer.cpp
0.00% <0.00%> (ø)


feat: add monitoring configuration to acryl-datahub-actions subchart

This PR enables the monitoring endpoint for the acryl-datahub-actions deployment using a new environment variable (see here: https://github.com/acryldata/datahub-actions/pull/118) in case monitoring is enabled globally.
This PR should not be merged until the other PR in the datahub-actions repository has been merged and version v0.0.17 of the image is available.
Checklist

[x] The PR conforms to DataHub's Contributing Guideline (particularly Commit Message Format)
[x] Links to related issues (if applicable)
[x] Tests for the changes have been added/updated (if applicable)
[x] Docs related to the changes have been added/updated (if applicable)

+1 I'm also interested on this!

To make sure that this PR is not automatically closed - here’s a comment.


feat: starknet_specVersion support

This method is missing from Beerus.
Implementing it should be fairly straightforward.
The method should be added to the api module.
Once done, the corresponding test should be restored.
The spec version currently used in Beerus is 0.5.1

I will take this one.

Fixed in #593
Thanks @psychiller!


The create-script-context tool fails with TextEnvelopeTypeError

Summary
The create-script-context doesn't support current body types:

$ create-script-context --generate-tx test_context_equivalence_ci0_qlg_dummy_step2_tx.body --plutus-v1 --cardano-mode --testnet-magic 42 --out-file test_context_equivalence_ci0_qlg_script_context.redeemer
create-script-context: Error creating redeemer from: test_context_equivalence_ci0_qlg_dummy_step2_tx.body Error: ReadTxBodyError (FileError "test_context_equivalence_ci0_qlg_dummy_step2_tx.body" (TextEnvelopeTypeError [TextEnvelopeType "Tx AlonzoEra",TextEnvelopeType "Tx BabbageEra"] (TextEnvelopeType "Unwitnessed Tx BabbageEra")))
CallStack (from HasCallStack):
error, called at app/create-script-context.hs:82:23 in main:Main

When signed tx instead of tx body is used, the error is the same, except TextEnvelopeType "Witnessed Tx BabbageEra"
Transaction files attached.
tx_files.tar.gz
Steps to reproduce the behavior

generate dummy redeemer file, result looks like

{"constructor":0,"fields":[{"list":[]},{"list":[]},{"map":[{"k":{"bytes":""},"v":{"map":[{"k":{"bytes":""},"v":{"int":0}}]}}]},{"constructor":0,"fields":[{"constructor":0,"fields":[{"constructor":1,"fields":[{"int":42}]},{"constructor":1,"fields":[]}]},{"constructor":0,"fields":[{"constructor":2,"fields":[]},{"constructor":1,"fields":[]}]}]},{"map":[{"k":{"bytes":""},"v":{"map":[{"k":{"bytes":""},"v":{"int":0}}]}}]},{"list":[]},{"list":[]},{"list":[]},{"constructor":1,"fields":[]}]}

use the dummy redeemer to generate a dummy Tx
derive the correct redeemer from the dummy Tx - while running the corresponding create-script-context command, it fails with TextEnvelopeTypeError

Actual Result
The create-script-context command fails with TextEnvelopeTypeError
Expected Result
The correct redeemer is derived from the dummy Tx.
Describe the approach you would take to fix this
No response
System info
OS: Fedora 37
Plutus apps: e98c255c66f3aae7f62cdcad15033a09537a0605

Related to https://github.com/input-output-hk/plutus-apps/issues/583, but the error is now different.

That's pretty much because of https://github.com/input-output-hk/plutus-apps/blob/e98c255c66f3aae7f62cdcad15033a09537a0605/plutus-example/src/PlutusExample/ScriptContextChecker.hs#LL203C16-L203C28 .
I've created a repro here: https://github.com/input-output-hk/cardano-api/pull/29/files . unsigned tx envelope and signed tx envelope reproduce the scenarios you described. unsigned tx envelope cddl and signed tx envelope cddl  appear to be working for those two cases. So this should be used for deserialization:
  deserialiseFromTextEnvelopeCddlAnyOf
    [ FromCDDLTx "Witnessed Tx AlonzoEra" CddlTx
    , FromCDDLTx "Witnessed Tx BabbageEra" CddlTx
    ]


Advice and resources for junior developers

This wound up being less about technical specifics and more about general mindset.  Let me know if it's better this way, or if we'd rather dive into technical things instead.

@etagwerker @lubc I think I've addressed all of the review items at this point, and bumped the date to tomorrow.  Feel free to publish whenever you're ready!


Type checking in zero-3 to avoid silent bugs

This is a follow-up PR to the existing one: https://github.com/microsoft/DeepSpeed/pull/2127
The goal is to keep this PR open and investigate the issue in more detail while the PR above removes the annoying repeated printing of the warning.

Hi @awan-10, it seems this has already been merged by another of your PR https://github.com/microsoft/DeepSpeed/pull/2127. Do we still need this PR?


Make the docs for the custom queries a bit more explicit

Thanks for the swift response @jacksonh. This fixes (or at least hints in the right direction) the issue I was facing!


Feat device model

SonarQube analysis reported 15 issues

 11 major
 4 minor

Watch the comments in this conversation to review them.
8 extra issues
Note: The following issues were found on lines that were not modified in the pull request. Because these issues can't be reported as line comments, they are summarized here:

 FirmwareManagementService.java#L224: Use isEmpty() to check whether the collection is empty or not.
 FirmwareManagementService.java#L596: Define and throw a dedicated exception instead of using a generic one.
 FirmwareManagementEndpoint.java#L245: Remove this unused method parameter "request".
 FirmwareManagementEndpoint.java#L418: Remove this unused method parameter "request".
 FirmwareManagementService.java#L269: Define a constant instead of duplicating this literal "Manufacturer doesn't exixts." 3 times.
 FirmwareManagementService.java#L278: Define a constant instead of duplicating this literal "DeviceModel already exixts." 3 times.
 FirmwareManagementService.java#L546: Immediately return this expression instead of assigning it to the temporary variable "firmwares".
 DeviceModelFirmware.java#L63: Move the array designator from the variable to the type.

All is well.

All is well.

SonarQube analysis reported 15 issues

 11 major
 4 minor

Watch the comments in this conversation to review them.
8 extra issues
Note: The following issues were found on lines that were not modified in the pull request. Because these issues can't be reported as line comments, they are summarized here:

 FirmwareManagementService.java#L224: Use isEmpty() to check whether the collection is empty or not.
 FirmwareManagementService.java#L590: Define and throw a dedicated exception instead of using a generic one.
 FirmwareManagementEndpoint.java#L245: Remove this unused method parameter "request".
 FirmwareManagementEndpoint.java#L417: Remove this unused method parameter "request".
 FirmwareManagementService.java#L269: Define a constant instead of duplicating this literal "Manufacturer doesn't exixts." 3 times.
 FirmwareManagementService.java#L278: Define a constant instead of duplicating this literal "DeviceModel already exixts." 3 times.
 FirmwareManagementService.java#L541: Immediately return this expression instead of assigning it to the temporary variable "firmwares".
 DeviceModelFirmware.java#L63: Move the array designator from the variable to the type.

All is well.

All is well.


PR6 Add Redirects

👷 Deploy Preview for bongosian-press processing.

Name
Link

🔨 Latest commit
f9982628a2911d051c1f7dc8c455e773e135f39f

🔍 Latest deploy log
https://app.netlify.com/sites/bongosian-press/deploys/65836383f6cc2d00085f43cf


stop using ntrode

@rly @samuelbray32 @edeno
I noticed that the yaml for spikegadgets_to_nwb, like rec_to_nwb, asks users to define ntrode_electrode_group. can we not do this? an ntrode is something that experimenters define for visualization purposes on Trodes, and as such different people have different conventions for setting ntrodes. the conversion shouldn't take that into account. I suggest that we just work with hwchan.

This issue of ntrodes groupings is addressed using the reconfig file.  Since the same reconfig is used for every session of an animal isn't this less work and less susceptible to user error than entering the 100+ hwChan for each session's metadata yaml?

Hi @khl02007 , could you explain more about how you are using probe interface? We are indeed reading directly from the rec file (as spikegadgets/neo does, but with some additional functions to read), but we are also utilizing the reconfig. This way you are doing things seems to be a different way from anyone else in the lab.
I think we would be open to exploring things like this but of course we need to build things for the way most of the lab does things, so it would be good to know if this way is simpler for people or not.

@edeno Sorry I wasn't clear. I thought that the reconfig refers to the -reconfig flag of trodesexport, which (I thought) we are no longer using. The main issue here seems to be how to associate the recording (read via spikeinterface) with a set of channel-related information, like the locations. My impression (maybe I'm wrong) is that we are currently using trodes config file for that and passing that as a 'reconfig' file. My suggestion is that using probeinterface is better for keeping track of that kind of information because it is better defined and easier to manipulate. For example, here is how I read my recording and then associate with it a set of probes. The recording is made with two Livermore probes.
import spikeinterface as si
import probeinterface as pi

# generate probe object (just need to do once)
def get_Livermore_15um(device_channel_indices: Union[str,List]='SpikeGadgets', order:int=0, shift=[0,0]):
    """Returns a probeinterface Probe object of the Livermore 15um probe plugged into SpikeGadgets H70 probe board

    Parameters
    ----------
    device_channel_indices : str or iterable
        The mapping from the contact IDs to device channel indices; depends on the hardware, by default assumes SpikeGadgets H70 probe board
    order : int
        order in a probegroup, by default 0
    shift : list, optional
        how much to shift the channel locations by, by default [0,0] (important for probegroup)
    """
    Livermore_15um = pi.generate_multi_shank(num_shank=4, shank_pitch=[250, 0],
                                             num_columns=1, num_contact_per_column=32,
                                             xpitch=0, ypitch=26, y_shift_per_column=None,
                                             contact_shapes='circle', contact_shape_params={'radius': 15/2})

    # flip because electrodes should be facing you
    contact_ids = np.concatenate([np.arange(96,128), np.arange(64,96), np.arange(32,64), np.arange(0,32)])
    contact_ids = contact_ids + order*128
    Livermore_15um.set_contact_ids(contact_ids)

    device_channel_indices = np.array([35, 39, 43, 47, 50, 54, 58, 62, 4, 0, 5, 32, 12, 20, 17, 8, 34, 38, 42, 46, 51, 55, 59, 63, 24, 16, 13, 9, 21, 28, 25, 29,
                                       33, 37, 41, 45, 48, 52, 56, 61, 18, 22, 26, 30, 3, 1, 7, 15, 31, 36, 40, 44, 49, 53, 57, 60, 11, 2, 6, 10, 14, 19, 23, 27,
                                       124, 126, 120, 112, 109, 105, 101, 97, 79, 75, 71, 66, 94, 90, 86, 82, 116, 125, 121, 117, 113, 108, 104, 100, 95, 91, 87,
                                       83, 78, 74, 70, 67, 115, 107, 110, 119, 123, 127, 122, 96, 77, 73, 69, 65, 92, 88, 84, 80, 103, 111, 114, 118, 106, 99, 102,
                                       98, 93, 89, 85, 81, 76, 72, 68, 64])
    device_channel_indices = device_channel_indices + order*128
    Livermore_15um.set_device_channel_indices(device_channel_indices)
    Livermore_15um.move(shift)
    return Livermore_15um

recording = si.read_spikegadgets(...)

probe_right_CA1 = get_Livermore_15um(order=0)
probe_left_V1 = get_Livermore_15um(order=1, shift=[-np.sqrt(4000**2+5000**2), 1300])

probegroup = pi.ProbeGroup()
probegroup.add_probe(probe_right_CA1)
probegroup.add_probe(probe_left_V1)

recording = recording.set_probegroup(probegroup)

How would you do something like this with the trodes config - reconfig approach? Do we have a standard for how to specify probe related information in the config file?
I was also just confused by ntrode because it can be any random grouping of electrodes. Specifically it doesn't convey information about whether it is a shank, a probe, etc. For example in my recordings, an ntrode is a group of four electrodes that are nearby. I use four just for historical reasons and because if too many electrodes are included, the computer has difficulty displaying the spike view. Of course these concerns shouldn't matter when converting to NWB, which was my original point.
If you feel like the current approach works, then i would at the minimum suggest that we clearly define what an ntrode is and also have some functions that can help the user easily recreate a config file that has different ntrode groupings for an arbitrary number of probes / tetrodes.

Hi @khl02007,
Thank you for the suggestion. @samuelbray32 and I talked about this and the way you are specifying things in spikeinterface is already handled in the current configuration. We already have a yaml file that carries information about the shank, probe grouping. This is a separate yaml file which is referred to in the main yaml file by the device type (e.g. tetrode_12.5, 128c-4s8mm6cm-20um-40um-sl, etc.).
We are happy to help you understand how this works for your data (@samuelbray32 has a really good handle on this so I'm sure it would take 5 minutes of chatting), but implementing the new feature via spikeinterface would be more work for little gain in functionality and delay the rollout of spikegadgets_to_nwb. In addition, it would confuse the rest of the lab as they are already used to the current configuration.
I am going to close this issue for now, but if you still feel like we are missing something, feel free to reopen.


Can FormatTranslators generate .plc file？

Google circuit training require both initial.plc and .pb.txt  .But Running test2.py only generates pb.txt file. In test2.py, you set  output_file = design + ".plc" , but seems like it is not used.

Yes,  you are right.  We are working on enabling this function.   I will ping you when the function is online.

Thank you so much for working on it! I enabled this function based on your code in the past few days. And the generated initial.plc file seems to work fine in the circuit training process. I would love share it, if you are interested.

Hi  Sharkoo7,  Thanks for your work.  We have enabled this function also.

I would like this feature. would you mind sharing this code with me please


Predictable Release Cycle?

Are you working within a predictable release cycle with regard to publishing updates to the NPM repo? In other words, do you publish NPM versions simply as enhancements, bug fixes, etc, come in or do you push changes to the NPM repo on a set time-table or recurring interval (like weekly, every 6 weeks, etc).

Actually we never thought about it. I think commitment for release cycles involves recruiting a bunch of developers to work on the project together and plan next steps. For now, we are releasing fixes and small enhancements as they come.

That is certainly one approach; however, even on a smaller scale this could be achieved. The dates could be fairly relative and somewhat flexible, but would indicate clear points of enhancements or upgrades. This would make it significantly easier for larger teams to utilize React Toolbox, who don't have the luxury of frequent or immediate upgrades due to QA and other development requirements or dependencies.  Am I missing a change log or release notes somewhere?

Sorry, I've forgot to answer here. Yes, I think maybe with small changes it can be done but I'd need some commitment from people interested in helping out with the project since I'm lacking of spare time to face a more or less strict scheduled.
I agree with you, though. Big changes are documented in the release, the rest are small fixes and improvements :)


Update known_good.json for MoltenVK 1.2.7

Simple update of known good for the latest MoltenVK (1.2.7) used in the 1.3.275.0 SDK release.

CI Vulkan-Tools build queued with queue ID 117557.

CI Vulkan-Tools build # 1356 running.


add os.version

console.log(os.version())

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

Thanks for the PR! LGTM!


[BACK-2537] - Bug fix for Users Get response

Description
This PR addresses a bug in v6.1.0 where we were failing to return the User object on the Users Get method.

Looks like the codegen.types.test.test_templating.TestTemplating tests are failing. TBH, these tests have been a massive PITA and I regret adding them -- every time we update the templating logic, these need regenerated. You have two options (both are totally viable):

git rm -r codegen/types/test/resources codegen/types/test/test_templating.py -- since these tests require tinkering so often, they lose their value as tests and we can just delete them
Edit codegen/types/test/resources/models.expected: line 36, change class GetResponse(ResponseBase): to class GetResponse(ResponseBase, User):

I'm honestly okay with either option. You can choose which one makes more sense to you.

Thanks for the quick look this morning! I went ahead and removed the templating tests.


exp show: Add --keep and --drop

P.R. for https://github.com/iterative/dvc/pull/7141

I have only included changes in the ref because I have a few questions about the user guide:
* What's the scope of the `Examples`section in `ref` v.s. the user guide (`Comparing Experiments`)?

I believe "one liners" can be included in the REF, whereas longer examples are more suitable to the UG. This is my personal view though, and I tend to favor UG for examples than the REF.

* Should we use a more "complex" table in the user guide?

No need to make them artificially complex I believe, they already look complex.

It currently states The table output may become cluttered if you have a large number of parameters and metrics. but the tables have only 2 params and 2 metrics so all the filtering seems a little pointless.
* Should we ensure that the tables and commands used in the user guide (or better, everywhere) are somehow reproducible?

We try to make only the Get Started fully reproducible. Other parts are a bit disparate that trying to make them fully reproducible looks futile.

@jorgeorpinel @iesahin

I believe "one liners" can be included in the REF, whereas longer examples are more suitable to the UG. This is my personal view though, and I tend to favor UG for examples than the REF.

I will try to follow that line and update the user guide as part of this P.R. for revision.

We try to make only the Get Started fully reproducible. Other parts are a bit disparate that trying to make them fully reproducible looks futile.

Didn't mean fully reproducible. In cmd ref we have a note:
https://github.com/iterative/dvc.org/blob/master/content/docs/command-reference/exp/show.md?plain=1#L146-L149
But in user guide I wasn't sure how to replicate the output tables.

What's the scope of the Examplessection in ref v.s. the user guide (Comparing Experiments)?

Great question. It's something we only started considering recently when writing https://dvc.org/doc/user-guide/experiment-management. I tend to think contrary to @iesahin. Examples in the ref. should serve as quick ways for users to grasp how the tool does its job and cover some main use cases. In the UG it's unclear we want separate example sections, as we can embed the examples throughout it. I believe @shcheklein also favors this view. That said we may currently have too many examples in the cmd ref that should just be part of the guide explanations (replaced with more simple stuff in the ref).

Should we use a more "complex" table in the user guide?
the tables have only 2 params and 2 metrics so all the filtering seems a little pointless.

Good point. If the small table is limiting your explanations then I think yes, it should be updated to something longer but not larger than totally necessary.

Should we ensure that the tables and commands used in the user guide (or better, everywhere) are somehow reproducible?

Agree with @iesahin on this: we only worry about "reproducibility" in the GS at this point. We don't have the capacity to maintain all other examples to that level and hopefully it's not necessary.

A bit off-topic but I wonder if there is a way to turn off all params or metrics? Like --include-metrics "" before?

A bit off-topic but I wonder if there is a way to turn off all params or metrics? Like --include-metrics "" before?

No, the new filtering operates on column names and it has no concept of the type of column.


docker-entrypoint.sh: line 331: exec: postgres: not found

Suddenly, I'm getting the error
docker-entrypoint.sh: line 331: exec: postgres: not found
When trying to start my postgres docker container. It just came out of the blue. I've been trying to fix it, to no avail. The docker container is running on a Synology NAS.

This was caused by the docker container having been updated to a newer release recently. I rolled it back to version 13, which fixed it.


Support for S3FileSystem

Hi,
Python 3.6.9
Moto 1.3.5 installed with pip
I have this issue where I want to use S3FileSystem to access files uploaded to a mocked s3 bucket. like follow :
def fill_mocked_s3_buckets(cls, bucket):
     client = boto3.client("s3")

     test_files = {foo_data, bar_data}
     for file in test_files:
         with open(file, "rb") as f:
             data_type = file
             key = f"s3://raw.data/analysis/{data_type].parquet"
             client.upload_file(Key=key, Bucket=bucket, Filename=file.as_posix())

     cls.print_uploaded_files_with_client(bucket) # this work fine

     cls.print_uploaded_files_with_filesystem(bucket) # this does not work

This show that files where indeed uploaded
 def print_uploaded_files(cls, bucket):
     client = boto3.client("s3")
     paginator = client.get_paginator("list_objects_v2")
     for page in paginator.paginate(Bucket=bucket):
         print(page["Contents"])

This return ('raw-data/analysis/', [], [])
 def print_uploaded_files_with_filesystem(cls, bucket):
     file = f"s3://{bucket}/analysis/"
     s3 = s3fs.S3FileSystem()
     for path in s3.walk(file):
         print(path)

Finally when I try to access file with  with s3.open(file, "rb") as utc_file: I get a FileNotFoundError.
For test reason I want to make the S3FileSystem work.
Does Moto include support for S3FileSystem ? From this issue https://github.com/spulec/moto/issues/1596 I though it was the case, but I can't make it work

Hi @TanguyCazalets, are you able to reproduce this with the newest version of moto (1.3.15.dev561)?

HI I reproduced the error with moto 1.3.14.
Hwever with moto 1.3.15.dev561 I get a new error :
E           botocore.exceptions.ClientError: An error occurred (IllegalLocationConstraintException) when calling the CreateBucket operation: The unspecified location constraint is incompatible for the region specific endpoint this request was sent to.

Hi @TanguyCazalets - I think there's an issue with the way you're uploading the file:
key = f"s3://raw.data/analysis/{data_type].parquet"
client.upload_file(Key=key, Bucket=bucket, Filename=file.as_posix())

The key typically doesn't have the s3: part.
When I do this in AWS itself, it creates the following file structure:
s3://raw.data/s3://raw.data/analysis/..
So boto3 itself doesn't recognize a key name in this format, but instead creates a separate folder inside raw_data called s3:
When I upload file with the key analysis/x.parquet I can walk the bucket using S3FS.

INDEED !
Thank you so much for you help, it's working perfectly now !

Glad I could help!

@spulec Does moto library support mocking out AWS calls via s3fs (which uses aiobotocore)?

It should, @parthgala. Moto will mock every call to the boto/boto3 library, even if it's used indirectly.

Hi @bblommers ! I'm having trouble with moto and s3fs. The following snippet, when ran by pytest is giving an assertion error. If I check the file existence using boto3 it works but I have to make it work with s3fs. Any ideas on how to solve that?
# requirements
boto3==1.28.53
s3fs==2023.9.2
moto==4.2.7

Here's my code:
import os
import s3fs
import boto3
import pytest
from moto import mock_s3

@pytest.fixture(scope="function")
def aws_credentials():
    """Mocked AWS Credentials for moto."""
    os.environ["AWS_ACCESS_KEY_ID"] = "testing"
    os.environ["AWS_SECRET_ACCESS_KEY"] = "testing"
    os.environ["AWS_SECURITY_TOKEN"] = "testing"
    os.environ["AWS_SESSION_TOKEN"] = "testing"
    os.environ["AWS_DEFAULT_REGION"] = "us-east-1"

@pytest.fixture(scope="function")
def s3(aws_credentials):
    with mock_s3():
        yield boto3.client("s3", region_name="us-east-1")

@mock_s3
def test_storage_handler_s3_file(s3):

    s3.create_bucket(Bucket="test-bucket")
    s3.put_object(Bucket="test-bucket", Key="test.json", Body='{"key": "value"}')

    s3fs_instance = s3fs.S3FileSystem()

    assert s3fs_instance.isfile("s3://test-bucket/test.json")

@thiagodma Small correction on my comment from before:

Moto will mock every call to the boto/boto3 library as long as there is no multithreading going on, because that is not supported by Moto

aiobotocore does use multithreading, which makes it incompatible with the Moto decorators.
You could use the MotoServer instead. See for example how the s3fs tests are written:
https://github.com/fsspec/s3fs/blob/2c074502c2d6a9be0d3f05eb678f4cc5add2e7e5/s3fs/tests/test_s3fs.py#L76

@bblommers thanks! The link you provided was quite helpful!


Truncated or corrupted coverage data leading to many broken test runs

Description
I get a surprisingly high number of test runs that fail because of this error, after an otherwise successful test run:
Calculating coverage result...
D:\a\_work\_temp\.nuget\packages\coverlet.msbuild\3.1.2\build\coverlet.msbuild.targets(71,5): error : Unable to read beyond the end of the stream. [D:\a\_work\1\s\test\Microsoft.VisualStudio.Composition.Analyzers.Tests\Microsoft.VisualStudio.Composition.Analyzers.Tests.csproj]
D:\a\_work\_temp\.nuget\packages\coverlet.msbuild\3.1.2\build\coverlet.msbuild.targets(71,5): error :    at System.IO.BinaryReader.InternalRead(Int32 numBytes) [D:\a\_work\1\s\test\Microsoft.VisualStudio.Composition.Analyzers.Tests\Microsoft.VisualStudio.Composition.Analyzers.Tests.csproj]
D:\a\_work\_temp\.nuget\packages\coverlet.msbuild\3.1.2\build\coverlet.msbuild.targets(71,5): error :    at Coverlet.Core.Coverage.CalculateCoverage() in /_/src/coverlet.core/Coverage.cs:line 414 [D:\a\_work\1\s\test\Microsoft.VisualStudio.Composition.Analyzers.Tests\Microsoft.VisualStudio.Composition.Analyzers.Tests.csproj]
D:\a\_work\_temp\.nuget\packages\coverlet.msbuild\3.1.2\build\coverlet.msbuild.targets(71,5): error :    at Coverlet.Core.Coverage.GetCoverageResult() in /_/src/coverlet.core/Coverage.cs:line 161 [D:\a\_work\1\s\test\Microsoft.VisualStudio.Composition.Analyzers.Tests\Microsoft.VisualStudio.Composition.Analyzers.Tests.csproj]
D:\a\_work\_temp\.nuget\packages\coverlet.msbuild\3.1.2\build\coverlet.msbuild.targets(71,5): error :    at Coverlet.MSbuild.Tasks.CoverageResultTask.Execute() in /_/src/coverlet.msbuild.tasks/CoverageResultTask.cs:line 83 [D:\a\_work\1\s\test\Microsoft.VisualStudio.Composition.Analyzers.Tests\Microsoft.VisualStudio.Composition.Analyzers.Tests.csproj]

Any idea why? Could it be that the process running the tests terminates before coverage data has been flushed to disk?
Diagnostic logs
testResults-Windows.zip
Environment
Azure Pipelines

It's a known issue of coverlet that relies on process exits to save probes. You should move to the datacollector integration https://github.com/coverlet-coverage/coverlet/blob/master/Documentation/KnownIssues.md#vstest-stops-process-execution-early

We added a workaround a pair of months ago https://github.com/microsoft/vstest/blob/main/src/Microsoft.TestPlatform.CrossPlatEngine/Client/ProxyOperationManager.cs#L311 where you can setup the VSTEST_TESTHOST_SHUTDOWN_TIMEOUT environment variable to extend the defaul 100ms timeout.
@nohwnd do you remember know in what version was been shipped?

Thanks, @MarcoRossignoli. Your first link ultimately leads me to https://github.com/coverlet-coverage/coverlet#vstest-integration-preferred-due-to-known-issue-supports-only-net-core-application, which says it only works on .NET Core. I need to test and collect code coverage for .NET Framework too. So should I use the options in your second paragraph instead? I'm thinking adding --collect "Code Coverage;Format=cobertura" to my existing dotnet test command will be super simple.
Are there any other changes I should make?
My test projects typically contain:
    <PackageReference Include="coverlet.msbuild" Version="3.1.2" />
    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.2.0" />
</ItemGroup>
<PropertyGroup>
    <CoverletOutputFormat>cobertura</CoverletOutputFormat>
    <Exclude>[xunit.*]*</Exclude>
    <!-- Ensure we preserve each coverlet output file per target framework: https://github.com/tonerdo/coverlet/issues/177 -->
    <CoverletOutput>$(OutputPath)/</CoverletOutput>

which says it only works on .NET Core. I need to test and collect code coverage for .NET Framework too.

Sorry it's not up to date...it's working also with .NET Framework(we moved collector to netstandard2.0)
The setup for collector is here https://github.com/coverlet-coverage/coverlet/blob/master/Documentation/VSTestIntegration.md you can remove coverlet.msbuild that is used only to inject MSBuild Tasks.

And I spawn dotnet test with the -p:CollectCoverage=true switch. Should I continue to do that?

Nope with collector you should use runsettings https://github.com/coverlet-coverage/coverlet/blob/master/Documentation/VSTestIntegration.md#coverlet-options-supported-by-vstest-integration

I'm thinking adding --collect "Code Coverage;Format=cobertura" to my existing dotnet test command will be super simple.

If you move to dotnet-coverage the settings are described here https://docs.microsoft.com/en-us/dotnet/core/additional-tools/dotnet-coverage#settings

dotnet-coverage merge is buggy. It drops covered lines that are in at least some of the input reports. Where should I file that bug?

I can't find the repo with the dotnet-coverage tool source code in it, but I see plenty of issues with that tool filed in this repo, so I filed https://github.com/microsoft/vstest/issues/3732.

I'm going to close this one because the correct issue for the merge is already opened.


Uses create-react-app for the docs

Context: #13
Depends on: #41
This PR adds create-react-app to manage the build of the docs. It's a faster, better maintained version of what we had already that lets us focus more on writing great docs instead of messing with build configs.
I don't see us using this forever (I think a system like Gatsby is better in the long run) but this was an easy PR and will save some time in the meantime.
Note: I had to downgrade Jest because of an issue with how Jest resolves dependencies. It looks like it's fixed however we need to wait for CRA to update to the version with the fix. Jest 22 provided support for puppeteer, which is a shame to loose but seeing as we're not using it right now I think it's a good tradeoff.

Warnings

:warning:

Please add a changelog.md entry for your changes.

  Generated by :no_entry_sign: dangerJS


JoshariasSurvival is now selected as the first default gameplay template

Contains
Provides a solution to issue #2352, and also adds an "Enable All" button to the module selection screen, which selects all available mods.
EDIT: Reverted "Enable All" changes.
How to test

Delete the user config file (somehow, perhaps by cloning a fresh copy of the engine?)
Make sure "JoshariasSurvival" template is downloaded and included.

It should be selected by default.

Credits
@Cervator: For giving me advice on this matter.

Hooray Jenkins reported success with all tests good!

Hooray Jenkins reported success with all tests good!

Looks like it works! With two small enhancements needed: with JS set as the default template the CreateGameScreen just picks the first available world gen, no sorting or preference. Yet JS has config to indicate its preferred world gen (in module.txt from JoshariasSurvival):
"defaultWorldGenerator" : "Core:FacetedPerlin"
That's respected when the user changes the gameplay template ("Perlin" gets picked) but as-is "Flat" gets picked by default, which is kinda boring :-)
Secondly the entry in default.cfg results in CoreSampleGameplay remaining enabled even for JS, so you get the Core goodie chest in JS where you should start with a blank inventory. It also enables both JS and CSG if you run a headless server. With "coresamplegameplay", removed it looks good :-)
Btw you can simply delete config.cfg to simulate a clean start without existing config.
One tricky scenario remains: what if JS is not available. The CreateGameScreen should be handling it gracefully, but the default config less so when executed as a headless server?
I tested it out by building the app locally gradlew distApp then copied in a few modules (also noted https://github.com/Nanoware/Terasology/issues/84 as something broke there for local workspaces) but not JS. Headless server attempted to start with JS but failed :(
01:38:08.677 [main] INFO  o.terasology.engine.TerasologyEngine - Initialization completed in 1.81sec.
01:38:08.984 [main] ERROR o.terasology.engine.TerasologyEngine - Uncaught exception, attempting clean game shutdown
java.lang.NullPointerException: null
	at org.terasology.engine.module.StandardModuleExtension.isGameplayModule(StandardModuleExtension.java:55)
	at org.terasology.engine.subsystem.headless.mode.StateHeadlessSetup.createGameManifest(StateHeadlessSetup.java:129)
	at org.terasology.engine.subsystem.headless.mode.StateHeadlessSetup.init(StateHeadlessSetup.java:104)
	at org.terasology.engine.TerasologyEngine.switchState(TerasologyEngine.java:503)
	at org.terasology.engine.TerasologyEngine.changeState(TerasologyEngine.java:486)
	at org.terasology.engine.TerasologyEngine.run(TerasologyEngine.java:367)
	at org.terasology.engine.Terasology.main(Terasology.java:139)
01:38:08.984 [main] INFO  o.terasology.engine.TerasologyEngine - Shutting down Terasology...

So for now it may be easier to just leave it as a convenience in the UI but not in the default config :(
I confirmed with the same build that the UI handles the lack of JS the module just fine. Just headless breaks with the default config change.

Hmm, I'll look into simulating a change to respect the world gen.
I'll remove that entry from the default config file.
Huh, I'll have to discuss that matter more in the Slack chat.

Hooray Jenkins reported success with all tests good!

Initial testing looks good from a UI perspective. Then headless server testi.. :zzz: :sleeping:

Bump - @xrtariq2594 did you have one more commit to add to this? Either a strategy to gracefully default to JS for headless if present or just leave that as it was before?

Hooray Jenkins reported success with all tests good!

Hooray Jenkins reported success with all tests good!

That did it - all set! Thanks :-)


Can't set new twitch alerts

This is always true, I can't set any new alerts:
https://github.com/Harfeur/Harfeur-Bots/blob/a17fb82b85a02eab88fad5771a95fbc76d8274c8/discord_bots/twitchbot.js#L208
How can this be not "GUILD_TEXT"? To avoid DMs? I'm running the command in a channel of a server.

Hi! Thanks for the report. You can use slash commands while I'm fixing this issue


[Rooms] Prepare for release Prepare-Release.ps1 Commit

Description
[Rooms] Prepare for release Prepare-Release.ps1 Commit
If an SDK is being regenerated based on a new swagger spec, a link to the pull request containing these swagger spec changes has been included above.
All SDK Contribution checklist:

[x] The pull request does not introduce [breaking changes]
[ ] CHANGELOG is updated for new features, bug fixes or other significant changes.
[ ] I have read the contribution guidelines.

General Guidelines and Best Practices

[x] Title of the pull request is clear and informative.
[x] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

[ ] Pull request includes test coverage for the included changes.

API change check
API changes are not detected in this pull request.

/check-enforcer evaluate


⚠ Bofrost.nl has degraded performance

In 8cf07c5, Bofrost.nl (https://www.bofrost.nl) experienced degraded performance:

HTTP code: 200
Response time: 869 ms

Resolved: Bofrost.nl performance has improved in ce2153f.


fix(k8s): change etcd2.service in deis-kube-apiserver.service

Code LGTM.

Code LGTM. Thanks for noticing this @krancour.


Update README.md

Describe your changes
Issue ticket number and link
Checklist before requesting a review

[x] I have performed a self-review of my code
[ ] If it is a core feature, I have added thorough tests.
[ ] Do we need to implement analytics?
[ ] Will this be part of a product update? If yes, please write one phrase about this update.

Closed. We will rework it in the future.


I couldn't get Skewer-HTML do the same as impatient-mode.

Thanks for sharing this package, your work is really appreciated. I loved the impatient mode. It remembers me sort of Browserlink for Vim.
Around half year ago, I couldn't get Skewer working so I gave it up. When I tried impatient-mode, I thought I needed to develop a package, so I asked some questions about the structure in this topic.
However, someone attended me on skewer-mode, so I decided to give a second try. But I couldn't get it working again. I decided to open a issue, even when I'm not sure if it's related to Skewer or me.
So could you perhaps tell me what I'm missing yet?
Setup:
GUI version GNU Emacs <IP_ADDRESS> (x86_64-w64-mingw32) of 2015-07-25 on KAEL
Compiled from wemacs-w64.
skewer-mode, using the latest version of skewer-mode from MELPA
Windows 7 x64 bit.
Actions:
I create a page, called foobar.html. The web-mode is the major mode for that buffer. In the browser I see the page foobar.html inside the environment http://intranet-development/app/foobar.html.
When I change something in buffer foobar.html, save it, then refresh the browser, I see the changes.
I would like to make it interactively.

In the buffer foobar.html. I press M-x httpd-start.
Then I check the values of httpd-port with C-h v. The values are 8080. Then I call M-x skewer-mode.

When I open in the browser the following URI: http://localhost:8080/skewer, then I see javascript code from Skewer, version 1.4. So the HTTP-server with skewer seems working.

I paste in foobar.html the following code:
 <!DOCTYPE html>
 <html>
 <head>
     <title>Skewer</title>
     <script src="http://localhost:8080/skewer"></script>
 </head>
 <body> Testing 123
 </body>
 </html>

I save foobar.html, and reload the browser. I see the sentence Testing 123 in my browser. When checking the source code, I see the script source of skewer. When clicking, I see the javascript for Skewer.

I call M-x skewer-html-mode. And it's enabled in the buffer of foobar.html.

When change the sentence of Testing 123 to Test 1, I call skewer-load-buffer, but I don't see anything changed in my browser. I called every skewer function, but without any result. When I press f12 inside Chrome, I type in the console skewer();. But I get the message undefined.

So I guess I could paste the content of /skewer javascript into
<script>
[entire content of /skewer here]
</script>

But I'm not sure about that, because I don't understand what went wrong here. I would like to have the same functionality from Impatient mode, see changes that you type in your buffer directly in your browser, but now on another server than the localhost:8080.
I guess Skewer is able to do that, but I couldn't figure out how get working. Which commands or actions do I need yet to make it 'live' as in impatient-mode?  By the way, I really appreciate all the work you did for the community. I enjoyed your auto-tetris mode. :+1:

Is this issue notified by the way?

I wonder if there might be any update on this thing? And I appreciate all your work that's done, by the way.

@skeeto I wonder if there might be any update on this thing? And I appreciate all your work that's done, by the way.

It's not documented properly, but skewer-load-buffer only works for
JavaScript (js2-mode buffers). In short, if it doesn't start with
"skewer-html" then it's not intended for use in skewer-html-mode. By
default in skewer-html-mode, you need to "evaluate" some element in the
page and the structurally matching element (e.g. "the fourth div under
the second article under body") will be replaced in client page. By
design, the result of this should be obvious and unsurprising. As a
caveat, you cannot "evaluate" the top-level elements -- html, head, and
body -- because browsers currently do not allow these elements to be
replaced. I bring that up because updating the whole page at once by
evaluating these tags is an obvious idea, but it doesn't work.
Skewer isn't really intended for automatic interactive use, in part
because there are different ways to achieve it, each with its own
trade-offs and problems. You could send a refresh page command
(location.reload()") to the page on every change (e.g.
after-change-functions), but that will certainly have problems depending
on what you're doing. Anyway, that's exactly how impatient-mode works,
so you may as well use that instead of skewer-html-mode.
Finally, if you want to check if the page is properly connected as a
client, look at M-x list-skewer-client and/or eval an alert() in a
js2-mode buffer.

Thanks for your well written reply, I appreciate it.

As a caveat, you cannot "evaluate" the top-level elements -- html, head, and
body -- because browsers currently do not allow these elements to be
replaced.

Clear enough. But why am I able to edit the contents of the body-tag, and see them replaced in the browser with impatient-mode?
And there is a reason why I couldn't use Impatient mode. See also this issue for explaination.
So that's why I tried out skewer, after a recommendation from another user. What are the current restrictions to get impatient-mode working with pages that are located on other servers, instead the Emacs HTTP server?

impatient-mode works by refreshing the entire page on each update. This
has the side effect of losing page state (JavaScript variables, some
form fields, etc.). That's the trade-off. Since impatient-mode is
intended for static content, this usually doesn't matter. I didn't want
this for Skewer because it's intended for use in conjunction with
skewer-mode and skewer-css-mode, where refreshing the page would likely
lose important state.
If I understand you correctly, you want to visit an arbitrary page on
the web in your browser, connect Emacs to it via a Skewer-like mechanism
(bookmarklet, etc.), view the page's HTML-serialized DOM (not the
original source, since it may have changed!) in a buffer, and manipulate
this HTML live just like impatient-mode. Skewer currently gets you all
the way to that last part. You can serialize the structural part of the
DOM with skewer-html-fetch-selector-into-buffer (but not JavaScript
state, such as event listeners, since these cannot be serialized or even
accessed), edit it, and evaluate elements that you want updated. To get
live updating, you would need to hook after-change-functions to evaluate
the currently changing element. Then you're just stuck with the problem
we're already discussing: Due to current browser restrictions, it won't
work if you're directly inside a top-level element (html, head, body).
That requires a refresh, but the refresh will match it up with the
original server's content, not Emacs' content.

Thanks for your clear answer. I will figure it out tommorow on my work, and update it to you.
Not related to this issue by the way, but this seems also interesting for you, in the line with impatient-mode and skewer.

With the skewer-html-fetc-selector-into-buffer, I need to fill in which 'Selector' I want to use. Guessing what this means, I thought it asked a element. So I filled the ID-name of a HTML element, like #foobar.
But nothing happens. I found nothing in the documentation about this. The page that I'm testing is running on a XAMPP stack.

As a caveat, it doesn't actually include the tags of the selected
element itself. (This is probably a mistake and perhaps should be
fixed.) You probably want to select #foobar's parent element. Also, just
a heads up, skewer-html-fetch-selector-into-buffer is still a little
flakey and I'm not sure if anyone ever uses it, so there dragons here.


Multicore_launch_core1 fails to complete initialization

In tulip4041.cpp main(), the call to multicore_launch_core1() fails to complete.
The core0 preocessor spins on the function multicore_fifo_rvalid() forever.
This is due to the core1 processor not having a complete reset on POR.
I found that by explicitly adding a reset, using the multicore_reset_core1() function, prior to the multicore_launch_core1() call allowed for a successful initialization of core1.
Below is a patch file which shows this modification.
Note the minor addition of a newline to the bottom of the file, which is compliant with many open source projects: your option to include.
multicore_reset_core1_patch.txt

Thanks for the tip, will include this, just to make certain core1 starts. But never noticed this as an issue


Is it possible to compile using MonoDevelop?

Hi Alexandre Mutel(@xoofx),
Is it possible to compile kalk under MonoDevelop?
If so, could you please provide some instructions on the README.md file?
Many thanks in advance!!
Cheers,
Gus

Can't tell, I have never used MonoDevelop, it's also a bit outdated, don't even know if it supports properly recent version of .NET... so might be probably easier to use VS Code...

Hey Alexandre Mutel(@xoofx),
Well, I was asking about MonoDevelop, but more importantly I was asking of a way to compile under Linux.
So, I guess that underlying question is more: How could I compile your work under Linux?
Cheers,
Gus

Hey Alexandre Mutel(@xoofx),
Nevermind that last question. I now have egg on my face :)
Once I followed the link on the README.md file pointing to the .NET 5.0 SDK install, it all clicked :)
Cheers,
Gus

Hey Alexandre Mutel(@xoofx),
I've now installed the .NET 5.0 SDK and built kalk on my Ubuntu 21.04.
I've ran it and it runs with no apparent issue.
Many thanks for this wonderful piece of work :)
Cheers,
Gus


Question about the alignment-method

Hi,
I have one question about the alignment-method parameter of stereo. When I read the section B.1 of the documentation, it is written:

When alignment-method is set to affineepipolar, stereo will attempt to pre-align [...] such that pairs of conjugate epipolar lines become collinear and parallel to one of the image axes.

I plan to use a home made stereo vision algorithm, but would like to benefit from the preprocessing step of stereo. However, I need to make sure that the epipolar lines are horizontal and not vertical. Therefore, is there a way to know, after the preprocessing step, which axis (vertical or horizontal) the epipolar lines are parallel to? Or is there a way to force these lines to be horizontal?
Thanks,

I honestly don't remember now which direction the epipolar lines end up pointing. What you can do, is run disparitydebug on the obtained D.tif that comes from stereo. If affineepipolar alignment was successful, the obtained disparity in D.tif will be mostly horizontal or mostly vertical. And it will answer your question. If you want to force the lines to be horizontal (if they are not), I suggest you look at our source code in the location where epipolar alignment happens, in AffineEpipolar.cc.


As a developer I want the option to install the project on my local machine or AWS

AC:

have the option to install locally or AWS
If choice is AWS, begin initializing a new instance

DOD:

both choices work properly

I think this is quite broad, and as a developer starting work on this I would have a lot of questions. Just some from the top of my head:

What does "install" mean?
What dependency mesh are we assuming? If we are assuming none, then how do we make sure dependencies are present. If we are assuming all dependencies are present then the value of the "install" decreases IMO.
There will be some meta data attached to the install (once that is defined) such as networking, directories, the user to run as, the entrypoint into the application etc. This will need to be catered for as part of this issue.


[ISSUE #2236] Add unit test for URIPlugin.

// Describe your PR here; eg. Fixes #issueNo
Fixes #2236

Make sure that:

[x] You have read the contribution guidelines.
[x] You submit test cases (unit or integration tests) that back your changes.
[x] Your local test passed mvn clean install -Dmaven.javadoc.skip=true.

Codecov Report

Merging #2454 (19acc0f) into master (6f7c10b) will decrease coverage by 0.41%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master    #2454      +/-   ##
============================================
- Coverage     59.35%   58.94%   -0.42%
+ Complexity     4046     4023      -23
============================================
  Files           638      639       +1
  Lines         18074    18124      +50
  Branches       1680     1687       +7
============================================
- Hits          10728    10683      -45
- Misses         6508     6594      +86
- Partials        838      847       +9

Impacted Files
Coverage Δ

...che/shenyu/sync/data/http/HttpSyncDataService.java
61.38% <0.00%> (-19.81%)
:arrow_down:

...henyu/plugin/grpc/resolver/ShenyuNameResolver.java
51.57% <0.00%> (-12.64%)
:arrow_down:

...a/org/apache/shenyu/common/utils/VersionUtils.java
67.85% <0.00%> (-10.72%)
:arrow_down:

.../apache/shenyu/admin/model/dto/BatchCommonDTO.java
50.00% <0.00%> (-7.15%)
:arrow_down:

...apache/shenyu/admin/model/dto/AuthPathWarpDTO.java
57.14% <0.00%> (-7.15%)
:arrow_down:

...org/apache/shenyu/admin/model/dto/AuthPathDTO.java
58.82% <0.00%> (-5.89%)
:arrow_down:

...che/shenyu/admin/model/vo/DashboardUserEditVO.java
62.50% <0.00%> (-4.17%)
:arrow_down:

...ache/shenyu/admin/model/dto/DataPermissionDTO.java
59.25% <0.00%> (-3.71%)
:arrow_down:

...yu/plugin/grpc/resolver/ShenyuServiceInstance.java
96.29% <0.00%> (-3.71%)
:arrow_down:

...rg/apache/shenyu/admin/model/page/CommonPager.java
44.82% <0.00%> (-3.45%)
:arrow_down:

... and 34 more

Continue to review full report at Codecov.

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


Does ZeroScaler works with Grpc Services (deployed on Pod) ?

Environment summary
K8s Master Info (e.g. AKS, ACS, Bare Metal, EKS)
AKS
Osiris Version
latest
Install Method (e.g. k8s YAMLs, Helm Chart)
helm chart
Issue Details
Let me start with, this is not an Issue rather this is a question, I couldn't find a discussion thread/community section where I can ask question. and hence, creating as an issue.
My question is related to functionalities of the "ZeroScaler", as per the comment in the   Values.yaml file
[ The interval in which the zeroScaler would repeatedly track the pod http request metrics.
The value is the number of seconds of the interval.
metricsCheckInterval: 150  ]
If we look at the ":repeatedly track the pod http request metrics" part, just to ensure I am on the same page, what if the Pod opens only uses Grpc  ....my understanding is since Grpc uses Http 2 underline, ZeroScaler will still be able to track the Grpc requests .... I mean to say if the Pod doesn't have a typical REST service but it has a Grpc Service, the ZeroScaler will still work ....is my understanding correct ?
Or does ZeroScaler will not work if the Pod has a Grpc service ... please confirm.

I'm going to close this in favor of #16.


[WIP] Pre-CRT/Pre-WinMain loader

winmm.dll-based Pre-CRT/Pre-WinMain loader

Native project now lives in winmm.dll
Will allow for performing any hooks before any game code runs (DirectX hooks, steam hooks, etc).

todo(s):

Update documentation regarding Initialize and OnLoad default events.
Document subscribable OnPreMain and OnWinMain, with notes about their (lack of) functionality when reloading.

Just some minor code cleanup + doc updates, then should be good to review/merge.


Empty image button should have a Plus (+) button

If a screenshot is not auto-attached the button should indicate to the user they can hit it in order to attach a screenshot.

Closed by @BNTR with #17.


Startupscripts

Is your feature request related to a problem? Please describe.
On Container startup I have to execute some commands in the container's console to fit the shopware instance to my needs.
But I have to do this manually because I haven't found a way to add custom startup scripts to Dockware.
Describe the solution you'd like
Actually, Dockware already has two startup scripts in /var/www/scripts/shopware6 that are executed in entrypoint.sh if the correct envvars are set.
Now, it would be splendid if I could mount my scripts to e.g. /var/www/scripts/custom and the entrypoint.sh would execute all scripts inside it, after the apache service is running (maybe only if a envvar is set to true).
Best regards,
Niclas

hi niclas
funny thing, had the idea last week
so i guess we'll allow it to inject an additional custom bootscript :)
that should help you right?

Hi,
yes, exactly that would help me a lot, would be superb.
Niclas

hi
i've created a new commit today,
there will be 2 points to inject, start + end
https://github.com/dockware/dockware/commit/f34e08ce521a970682b3612aac6a6bdee93a2aeb
its not published on docker hub yet but you could build it on your own if you need it now
cheers
christian

HI,
that was quick - i will try this today. Thank you!
Niclas


Tag suggestions are inaccurate past 3 characters with tags that have matching prefixes

Describe the Bug
[ This bug is apparently reproducible only in RTL languages. ]
[ Since the issue is language-related, the attached screenshots may help comprehend the problem. ]
When the user intends to add a new tag in a page and searches for a Persian word, only the tags are suggested which START with what the user has typed.
For instance, if the user searches for "سلام", the tag suggestions are as follows:

سلام
سلام بر
سلام بر شما

However, if the word that the user has typed is in the middle of a tag, the so-called tag is not suggested.
For example, if the tag is "درود و سلام و تهیت", which contains the word "سلام", it is not shown.
Steps to Reproduce

Change the interface language to Persian.
Go to some random page of a book.
Click on "Add a new tag".
Search for a Persian string.
See? Suggested tags are only the ones that start with that string.

Expected Behaviour
One should be able to search any part of the tag name and be able to find it in suggested tags.
Screenshots or Additional Context
A good illustration of this issue is the one below.
There is a tag, containing two words.

When the user searches for the first word with which the tag starts, everything is OK.

But when the 2nd word is typed, nothing is suggested.

Browser Details
Google Chrome Version 104.0.5112.102 (Official Build) (64-bit) On Windows 10
Exact BookStack Version
v22.09
PHP Version
No response
Hosting Environment
Ubuntu Server 22.04 (installed via Docker Compose)

Hi @okaeiz,
I don't believe this is specific to RTL languages, this is what I'd expect for all languages.
For searches across potentially larger datasets they will commonly be done on a prefix-match search so that database indexes can be taken advantage of. This is the case here, tag names and values are searched via prefix-match since the values are queried via the back-end and database then returned back to show in a list.

On one hand, I definitely respect the policy and the procedure; On the other hand, when the users do not fully recall the tag name, it seems logical if they could search for a specific part of the tag.
However, the searching tool does really have bugs. I will explain it through screenshots.
I have created some tags whose prefixes are similar.

As you can see, there are a few tags whose name start with "random_".
The problem is that when I search for the string "random_", some mismatching tag names are suggested.

I have clearly typed "random_" and I expect to see the following tags:

random_tag
random_tag_second
random_tag_third
random_tag_fourth
random_tag_fifth

But as you can see, some mismatching tags are shown; such as "randomtag", "randomta" and "randomt".
It seems like there is something wrong with underscores. As if when I type an underscore, the searching suddenly stops.
So what if I was searching for, like, "random_tag_fifth"? What if there were more than 6 similar tags?
According to what I explained, it seems pretty fine if the user be able to search for any part of the tag and have it suggested.

It seems like there is something wrong with underscores. As if when I type an underscore, the searching suddenly stops.
So what if I was searching for, like, "random_tag_fifth"? What if there were more than 6 similar tags?

It's not something wrong with underscores, it's due to tag suggestions only being based upon the first 3 or so characters provided. I can look to address that to better react to most common cases.
I'll update this issue to focus on this specific point.

According to what I explained, it seems pretty fine if the user be able to search for any part of the tag and have it suggested.

I'd prefer to keep our current prefix match to retain use of database indexes, since these suggestions are a minor sub-component.

The above has been addressed as per my comment within 8f3430d3867ca8880c4f259b2c58647eb2b2c5ea so I'll therefore close this off. Will be part of the next feature release.

@ssddanbrown is this issue really solved?
I still encounter problems with searching for tags. It seems like it still matches the prefix. So if the word that I have searched does not exist in the beginning of the tag, it will not be shown.

As said in my previous comments, my preference is to keep prefix matching as it allows efficient usage of database indexes.
I closed this off since I addressed a number of things that were causing confusion in the behaviour:

Aligned prefix-type filtering with back-end.
Increased suggestion search cut-off from 3 to 4.
Increased amount of suggestions shown.
Ordered suggestions to be name asc, as you'd expect on search.
Updated front-end filtering to use full search query, instead of truncated version, for further front-end filtering capability.


How to customize each single dayview in CVCalendar for swift?

I am using CVCalendar in order to setup reminders about which days I am occupied. I do so by darkening the background color of the selected dayview:
func didSelectDayView(_ dayView: DayView, animationDidFinish: Bool) {
if mySwitch.isOn == true {
if dayView.backgroundColor == UIColor.brown {
//This hex string is the default background color
dayView.backgroundColor = UIColor(hexString: "ff9200")
        if let dateForDeletion = selectedRoom {
            do {
                try self.realm.write {
                    self.realm.delete(dateForDeletion.details.filter("dateSelected CONTAINS[cd] %@", "\(calendarView.presentedDate.day)-\(calendarView.presentedDate.month)-\(calendarView.presentedDate.year)"))
                }
            } catch {
                print("Error deleting room,\(error)")
            }
        }
    } else {
        dayView.backgroundColor = UIColor.brown

        if let currentRoomDetails = self.selectedRoom {
            do {
                try self.realm.write {
                    let newDateDetail = Detail()

                    newDateDetail.dateSelected = "\(calendarView.presentedDate.day)-\(calendarView.presentedDate.month)-\(calendarView.presentedDate.year)"
                    currentRoomDetails.details.append(newDateDetail)
                }
            } catch {
                print("Error saving new details, \(error)")
            }
        }
    }
}

}
Note that I am using Realm in order to save this information.
The problem arises when I leave the CVcalendar and reload the app. I saved the dates of the selected dayviews on realm, but I am incapable of programmatically reloading specific dayviews which are the ones that corresponds with the saved dates and will have a darkened background color.
for example, I tried this method, which didn't work:
func supplementaryView(viewOnDayView dayView: DayView) -> UIView {
if let dateSelected = selectedRoom?.details.value(forKey: "dateSelected") as? String {
if dateSelected == "(dayView.date.day)-(dayView.date.month)-(dayView.date.year)" {
dayView.backgroundColor = UIColor.brown
} else {
dayView.backgroundColor = UIColor(hexString: "ff9200")!
}
dayView.backgroundColor = UIColor(hexString: "ff9200")!
}
return dayView
}
func supplementaryView(shouldDisplayOnDayView dayView: DayView) -> Bool {
return true
}

Please use the issue template, otherwise I can't help you.

what do you mean?


fix: Add Jose Jimmy to the list

resolve #842

Thanks,  David Leal for the compliment. It means a lot.  Looking forward to
learn and contribute more  😊😊
On Tue, Nov 16, 2021 at 7:19 AM David Leal @.***> wrote:

Merged #843
https://github.com/EddieHubCommunity/awesome-github-profiles/pull/843
into main.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/EddieHubCommunity/awesome-github-profiles/pull/843#event-5621872353,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AU75HDVWUDTSW3FCM6PEYR3UMG2B5ANCNFSM5IBS33JA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.


stats: Change popover font size and weight to be more readable.

This changes the font size and weight of the popver at the bottom
of the screen (hover over "?" to see) to be a larger font size
(increased to 0.75rem from 11px) and to a bolder font weight
(500 from 300) which improves the readability of it.

Automated message from Dropbox CLA bot
@brockwhittaker, it looks like you've already signed the Dropbox CLA. Thanks!

Yeah, that tooltip was pretty bad.  Merged, thanks @brockwhittaker!


Allow pushing to multiple script id's

Use case
When managing container-bound scripts across multiple containers, it would be helpful if you are able to push to all of them in one go. This way you can have one project source and trust that all the documents will work the same.
Potential Behavior
Given the following clasp.json
{
  "scriptId": "<root-id>",
  "mirrorIds": ["<other-script-id>", "<another-script-id>"]
}

clasp push would push the files to "<other-script-id>" and "<another-script-id>" projects as well as "<root-id>" project.
I've got a rough version of this working, but I figured the exact details would need some discussion and tweaking before submitting a pull request, assuming this is a feature you'd want to support.

I think a better solution would be a bash script push.sh which contains:
clasp setting scriptId <id>
clasp push
clasp setting scriptId <id2>
clasp push

That way, it more customizable, and would solve other problems with creating setting values.
LMK if that works for your use-case.

@oshliaer
My use case needs to use getUi, which as far as I know is only available to container-bound scripts. If there is a way to get around this then I wouldn't need to mirror to multiple scripts, which would be great!

@arichardsmith look at this https://gist.github.com/oshliaer/a1f45e5ae8673dbe55b5074288651695 The main trick is there https://gist.github.com/oshliaer/a1f45e5ae8673dbe55b5074288651695#file-gs_code-gs-L18-L23

@oshliaer
I did not realise that any function triggered by a spreadsheet runs as if it is container bound. That's really helpful!
@grant
Seems like there is a workaround, but if you would still like to add a clasp settings feature I'm happy to finish off working on it.

Adding clasp settings in #350 makes this easy to do now, so closing. Thanks!


deploy pool restrictions

Codecov Report

Merging #82 (4c245d7) into master (a01f74d) will decrease coverage by 0.88%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master      #82      +/-   ##
==========================================
- Coverage   87.46%   86.57%   -0.89%
==========================================
  Files          35       35
  Lines        2138     2138
  Branches      310      310
==========================================
- Hits         1870     1851      -19
- Misses        268      287      +19

Impacted Files
Coverage Δ

contracts/PowerIndexPoolController.sol
61.90% <0.00%> (-35.72%)
:arrow_down:

contracts/PowerIndexPool.sol
93.84% <0.00%> (-6.16%)
:arrow_down:

Continue to review full report at Codecov.

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