Fix catchup registration startup e2e

Proposed changes
We cannot know which height each agent will sync at, therefore, the block's number has to be removed from the check.
Fixes
n/a
Types of changes
What types of changes does your code introduce? (A breaking change is a fix or feature that would cause existing functionality and APIs to not work as expected.)
Put an x in the box that applies

[x] Non-breaking fix (non-breaking change which fixes an issue)
[ ] Breaking fix (breaking change which fixes an issue)
[ ] Non-breaking feature (non-breaking change which adds functionality)
[ ] Breaking feature (breaking change which adds functionality)
[ ] Refactor (non-breaking change which changes implementation)
[ ] Messy (mixture of the above - requires explanation!)

Checklist
Put an x in the boxes that apply.

[x] I have read the CONTRIBUTING doc
[x] I am making a pull request against the main branch (left side). Also you should start your branch off our main.
[x] Lint and unit tests pass locally with my changes
[x] I have added tests that prove my fix is effective or that my feature works
[x] I have locally run services that could be impacted and they do not present failures derived from my changes
[x] Public-facing documentation has been updated with the changes affected by this PR. Even if the provided contents are not in their final form, all significant information must be included.
[x] Any backwards-incompatible/breaking change has been clearly documented in the upgrading document.

Further comments
n/a

@angrybayblade there is an unrelated CI error:
https://github.com/valory-xyz/open-autonomy/actions/runs/7990330237/job/21824159764?pr=2170#step:6:14849


Fix index truncation when exporting large glbs

Result has been tested in Blender. I've got a fix for SDK/Toolkit..

@mikeage :

Is this dependent on the SDK change, or should it be merged first?

This is hopefully a noop unless UserConfig.Flags.LargeMeshSupport is set to true - and that's currently undocumented.


Auth: case insensitive username and email address

Username and email address are generally case insensitive. Today, Ambuda auth allows proofer and prooFer as valid users.
Making usernames and email addresses in register and login pages case insensitive requires backward compatibility. On login, if we convert all usernames to lowercase, existing users with uppercase usernames will fail. For a smooth rollout of this feature, existing usernames in the db have to be first converted to lowercase. Then, register and login can apply lowercase conversion on these fields.

I think it may be possible to query the db case-insensitively, without changing any existing usernames. (I'm assuming that we currently don't have two usernames that are identical if compared case-insensitively.)

Good idea. Something like this should work:
diff --git a/ambuda/queries.py b/ambuda/queries.py
index 1ca0f45..116f9f5 100644
--- a/ambuda/queries.py
+++ b/ambuda/queries.py
@@ -8,7 +8,7 @@ import functools
 from typing import Optional

 from flask import current_app
-from sqlalchemy import create_engine
+from sqlalchemy import create_engine, func
 from sqlalchemy.orm import load_only, scoped_session, selectinload, sessionmaker

 import ambuda.database as db
@@ -214,6 +214,13 @@ def user(username: str) -> Optional[db.User]:
         .first()
     )

+def case_insensitive_user(username: str) -> Optional[db.User]:
+    session = get_session()
+    return (
+        session.query(db.User)
+        .filter(func.lower(username)==username.lower(), is_deleted=False, is_banned=False)
+        .first()
+    )

 def create_user(*, username: str, email: str, raw_password: str) -> db.User:
     session = get_session()
diff --git a/ambuda/views/auth.py b/ambuda/views/auth.py
index 7de9a36..c1f7606 100644
--- a/ambuda/views/auth.py
+++ b/ambuda/views/auth.py
@@ -23,6 +23,7 @@ from flask import Blueprint, flash, redirect, render_template, url_for
 from flask_babel import lazy_gettext as _l
 from flask_login import current_user, login_required, login_user, logout_user
 from flask_wtf import FlaskForm, RecaptchaField
+from sqlalchemy import func
 from wtforms import EmailField, PasswordField, StringField
 from wtforms import validators as val

@@ -159,15 +160,15 @@ class SignupForm(FlaskForm):

     def validate_username(self, username):
         # TODO: make username case insensitive
-        user = q.user(username.data)
+        user = q.case_insensitive_user(username.data)
         if user:
             raise val.ValidationError("Please use a different username.")

     def validate_email(self, email):
         session = q.get_session()
         # TODO: make email case insensitive
-        user = session.query(db.User).filter_by(email=email.data).first()
-        if user:
+        user_email = session.query(db.User).filter(func.lower(db.User.email) == email.data.lower()).first()
+        if user_email:
             raise val.ValidationError("Please use a different email address.")


Heatmap Calculation error with equal appVersion name

If the program starts with a emtpy project and then import a knxprod (e.g. MDT_KP_BE_01_Universal_Interface_V16a.knxprod) there are many application programs with equal AppVersion Names (all are "Imported") In this case , the heatmap can't be calculated (errors are shown) Therefore the Names of the AppVersions have to be differently. So, my suggestion is to set the AppVerion name to the name of the application program with "_Imported" as attachment.

@olterion Thank you for the report.
I fixed the bug with a different solution.
I never liked my code with searching by the name.
Now also the correct Application Name will be imported (if no one is set "Imported will be displayed)


adult mouse brain dataset

I wonder where I can find the ./data/molecular-atlas-master/data/slicestable.tsv? Should I generate it by myself? Thank you!

I got it from another issue. thanks!


Add warning if we can't find scene object for #72 (DO NOT MERGE)

Lets see if we get the spawn scene object message

this is a good idea actually. why not merge?

Well,  have at it,  lol.   This does not solve any problem yet though.

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


Change Message interface and fix timestamp tz messages

Codecov Report
Attention: 2 lines in your changes are missing coverage. Please review.

Comparison is base (696e15f) 86.88% compared to head (0963614) 86.88%.

Files
Patch %
Lines

store/postgres/store.go
75.00%
0 Missing and 2 partials :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##             main     #109   +/-   ##
=======================================
  Coverage   86.88%   86.88%
=======================================
  Files           9        9
  Lines         488      488
=======================================
  Hits          424      424
  Misses         49       49
  Partials       15       15

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


[Workflow] Testing backports workflow

Summary
Testing backports in this repo
Fixes NA

Occurred changes and/or fixed issues

Technical notes summary

Areas or cases that should be tested

Areas which could experience regressions

Screenshot/Video

Checklist

[ ] The PR is linked to an issue and the linked issue has a Milestone, or no issue is needed
[ ] The PR has a Milestone
[ ] The PR template has been filled out
[ ] The PR has been self reviewed
[ ] The PR has a reviewer assigned
[ ] The PR has automated tests or clear instructions for manual tests and the linked issue has appropriate QA labels, or tests are not needed
[ ] The PR has reviewed with UX and tested in light and dark mode, or there are no UX changes

/backport v99.99.99 release-99.99.99

/backport v99.99.99 release-99.99.99

/backport v99.99.99 release-99.99.99


mfa device policy resource - fido bug fix

Change Description
Resolves pingone_mfa_device_policy resource unexpected new value after terraform apply error:
│ Error: Provider produced inconsistent result after apply
│
│ When applying changes to pingone_mfa_device_policy.my_awesome_mfa_policy_with_mobile, provider "provider[\"registry.terraform.io/pingidentity/pingone\"]" produced an unexpected new value: .fido2: was null, but now cty.ObjectVal(map[string]cty.Value{"enabled":cty.False, "fido2_policy_id":cty.NullVal(cty.String), "pairing_disabled":cty.NullVal(cty.Bool),
│ "prompt_for_nickname_on_pairing":cty.NullVal(cty.Bool)}).
│
│ This is a bug in the provider, which should be reported in the provider's own issue tracker.

Previously, when the fido2 object was specified (and enabled), then removed, the provider would produce the error above. This PR will resolve this issue.

@wesleymccollam Would it be possible to use the PR template, so the testing outputs are logged against the PR?


python312Packages.aioswitcher: 3.4.2 -> 3.4.3

Diff: https://github.com/TomerFi/aioswitcher/compare/refs/tags/3.4.2...3.4.3
Changelog: https://github.com/TomerFi/aioswitcher/releases/tag/3.4.3
Description of changes

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Result of nixpkgs-review pr 314755 run on x86_64-linux 1

5 packages built:

home-assistant-component-tests.switcher_kis
python311Packages.aioswitcher
python311Packages.aioswitcher.dist
python312Packages.aioswitcher
python312Packages.aioswitcher.dist


keybase log profile command

get a sense for how long timed traces are taking on a log file quick and dirty.
Currently very basic but we can extended as needed. Possible ideas:

add include/exclude filters so you only get traces you're interested in. (or make the output more grep friendly)
include in LogSend by default so we can keep an eye on these numbers high level when logs come in

looks like this:
$ kb log profile
Running `go install github.com/keybase/client/go/keybase`... Done.
Error parsing command line arguments: path must be set

NAME:
   keybase log profile - Analyze timed traces from logs.

USAGE:
   keybase log profile [command options]

OPTIONS:
   -p, --path   Path of logfile to process.

joshblum@joshblum|[16:59:26] ~/go/src/github.com/keybase/client/go(joshblum/logprof)*$ kb log profile -p=/tmp/keybase.service.log
Running `go install github.com/keybase/client/go/keybase`... Done.
▶ WARNING Running in devel mode
newDeviceEKNeeded:
                max: 588.014984ms
                avg: 473.840189ms
                min: 359.665395ms
                len: 2
UserEKBoxStorage#getCache:
                max: 1.054702ms
                avg: 308.115µs
                min: 394ns
                len: 6
DeviceEKStorage#DeleteExpired:
                max: 1.439306ms
                avg: 889.42µs
                min: 539.833µs
                len: 4
Stellar.ShouldCreate:
                max: 25.641701ms
                avg: 25.641701ms
                min: 25.641701ms
                len: 1
...

group by filename:
$ kb log profile -p=/Users/joshblum/Desktop/log.txt
Running `go install github.com/keybase/client/go/keybase`... Done.
▶ WARNING Running in devel mode
device_ek_storage.go

                DeviceEKStorage#getCache:
                        max: 55.421929ms
                        avg: 23.643901ms
                        min: 7.695088ms
                        len: 3

                DeviceEKStorage#deletedWrongEldestSeqno:
                        max: 26.72198ms
                        avg: 26.72198ms
                        min: 26.72198ms
                        len: 1

                DeviceEKStorage#fixKeyFormat:
                        max: 2.138624ms
                        avg: 1.656799ms
                        min: 1.174975ms
                        len: 2

                DeviceEKStorage#get:
                        max: 33.065373ms
                        avg: 33.065373ms
                        min: 33.065373ms
                        len: 1
upak_loader.go

                LoadUser:
                        max: 20.976441ms
                        avg: 20.976441ms
                        min: 20.976441ms
                        len: 1
...


Loading request validation misses some bad parameters

The OutputTypesEnum is used for all data loading requests but all the output types included are not valid for all configurations.  Therefore it does not accurately validate the request as it allows the user to select an output type that is not valid for the configuration they select.
https://github.com/RTIInternational/teehr/blob/0bc0d0eda9cafc0942b8e9b510beb454173c1cc0/src/teehr/loading/nwm22/point_config_models.py#L60

This should be fixed by PR #73 , sorry I should have raised this issue earlier


Lootr Creative tab is missing a language key

the unlocalized name is shown instead of an (english) localized name
Minecraft version:  1.16.5
Lootr version: lootr-1.16.5-<IP_ADDRESS>

Goddamn. Which version is this?

sorry i forgot to add the version. i edited the description now

My bad, this is the one mod I use that doesn't use data gen much so I keep forgetting about things like this. I'll try to include it in the next release.


Mobile design issue on 'Downloads' page

I found a issue viewing the downloads page when browsing from mobile. I checked it on Galaxy s10, Iphone 8 and Iphone 6.
The rest of the pages displayed perfectly.
Screenshot:

Zoom-in:

Fixed in #1099, thanks for reporting the problem :)

It looks great. Thanks!
I planned to work on it today but you was faster than me :)

No problem, it was fun to debug.
If you can, please test and review the PR, so we can merge it soon :)


crictl show container status is running even container is exited.

Description
[root@A800-paas-controller-0-0:/home/pict]$ ./crictl ps -a |grep 32d20
32d20bd3f3b4f       2e00eadf86026       10 hours ago        Running             init-op-psd-pconf                           0                   d6776a2669916

[root@A800-paas-controller-0-0:/home/pict]$ nerdctl  -n k8s.io ps -a |grep 32d20bd3f3b4
32d20bd3f3b4    swr-plat:2524/admin/image/op-psd-pconf:v<IP_ADDRESS>.17704944                                  "/home/pconf/init.sh"     6 hours ago     Exited

nerdctl  -n k8s.io inspect 32d20bd3f3b show it is exited at  2024-03-27T07:52:07
[root@A800-paas-controller-0-0:/paasdata/op-log/op-containers-containerd]$ nerdctl  -n k8s.io inspect 32d20bd3f3b4 --mode=native
WARN[0000] failed to inspect NetNS                       error="failed to Statfs \"/proc/913301/ns/net\": no such file or directory" id=32d20bd3f3b4f825508c5638465c7bc5f56b458ae94ad1141429
[
    {
        "ID": "32d20bd3f3b4f825508c5638465c7bc9848f52f490f5f56b458ae94ad1141429",
        "Labels": {
            "io.cri-containerd.kind": "container",
            "io.kubernetes.container.name": "init-op-psd-pconf",
            "io.kubernetes.pod.name": "op-psd-pconf-cim-5bdbfbbbb8-vw8dw",
            "io.kubernetes.pod.namespace": "admin",
            "io.kubernetes.pod.uid": "49b28d61-8984-4ed3-8c4b-0762628c55fe",
            "shim-pid": "913209"
        },

         "Process": {
            "Pid": 913301,
            "Status": {
                "Status": "stopped",
                "ExitStatus": 0,
                "ExitTime": "2024-03-26T23:52:07.016309279Z"
            }
        }

containerd log
[root@A800-paas-controller-0-0:/paasdata/op-log/op-containers-containerd]$ cat containerd.dlog |grep 32d20bd3f3b4
Mar 27 07:51:36 A800-paas-controller-0-0 containerd[853996]: time="2024-03-27T07:51:36.419557799+08:00" level=info msg="Container 32d20bd3f3b4f825508c5638465c7bc9848f558ae94ad1141429: CDI devices from CRI Config.CDIDevices: []"
Mar 27 07:51:36 A800-paas-controller-0-0 containerd[853996]: time="2024-03-27T07:51:36.445696277+08:00" level=info msg="CreateContainer within sandbox \"d6776a26699169458bc4601d7da4546b59bba8fc452bf185ee80\" for &ContainerMetadata{Name:init-op-psd-pconf,Attempt:0,} returns container id \"32d20bd3f3b4f825508c5638465c7bc9848f52f490f5f1141429\""
Mar 27 07:51:36 A800-paas-controller-0-0 containerd[853996]: time="2024-03-27T07:51:36.446149033+08:00" level=info msg="StartContainer for \"32d20bd3f3b4f825508c563846f490f5f56b458ae94ad1141429\""
Mar 27 07:51:36 A800-paas-controller-0-0 containerd[853996]: time="2024-03-27T07:51:36.708622716+08:00" level=info msg="StartContainer for \"32d20bd3f3b4f825508c563846f490f5f56b458ae94ad1141429\" returns successfully"

container 32d20 shim is running.
root      913209  0.0  0.0<PHONE_NUMBER>8 ?        Sl   07:51   0:05 /usr/bin/containerd-shim-runc-v2 -namespace k8s.io -id d6776a26699169ee10d3dbe6fe458bc4601d7da4546b5
65535     913256  0.0  0.0    972     4 ?        Ss   07:51   0:00  \_ /pause

containerd reboot at  2024-03-27T07:52:07.651817896
[root@A800-paas-controller-0-0:/paasdata/op-log/op-containers-containerd]$ cat containerd.dlog |grep booted
Mar 26 12:47:10 a800-paas-controller-0-0 containerd[39035]: time="2024-03-26T12:47:10.732029934+08:00" level=info msg="containerd successfully booted in 0.033621s"
Mar 26 12:59:42 A800-paas-controller-0-0 containerd[97431]: time="2024-03-26T12:59:42.659079183+08:00" level=info msg="containerd successfully booted in 0.034071s"
Mar 27 07:47:55 A800-paas-controller-0-0 containerd[853996]: time="2024-03-27T07:47:55.239736792+08:00" level=info msg="containerd successfully booted in 2.689147s"
Mar 27 07:52:07 A800-paas-controller-0-0 containerd[920519]: time="2024-03-27T07:52:07.651817896+08:00" level=info msg="containerd successfully booted in 2.259311s"
Mar 27 18:21:18 A800-paas-controller-0-0 containerd[371467]: time="2024-03-27T18:21:18.917885590+08:00" level=info msg="containerd successfully booted in 2.822029s"

Steps to reproduce the issue
It is difficult to reproduce. It is often hapen when containerd is restarted and run  init container in k8s.
Describe the results you received and expected
crictl show same status with ctr or nerdctl
What version of containerd are you using?
1.7.6
Any other relevant information
No response
Show configuration if it is related to CRI plugin.
No response

Hi! I'm a UT Austin CS student working on a final project in my virtualization course where my project team has to contribute to an open source project. I was wondering I could get this issue assigned to me, to work on with my group?

@ja-pavi easier for you to start with something smaller like this one https://github.com/containerd/containerd/issues/9886 given that the person who filed the bug says ...

It is difficult to reproduce. It is often hapen when containerd is restarted and run init container in k8s.

Okay thanks for the heads up, will check that one out!

Hi! I'm a UT Austin CS student working on a final project in my virtualization course where my project team has to contribute to an open source project. I was wondering I could get this issue assigned to me, to work on with my group?

you can see https://github.com/containerd/containerd/issues/9979 and https://github.com/containerd/containerd/pull/10002 and try to understand why use shim-v2(containerd-shim-runc-v2) can't reap zombie process  but shim-v1 (containerd-shim) will not  generate  zombie process even use higer kernel version.


fix(connector): [NMI] Populating ErrorResponse with required fields and Mapping connector_response_reference_id

Type of Change

[x] Bugfix
[ ] New feature
[ ] Enhancement
[x] Refactoring
[ ] Dependency updates
[ ] Documentation
[ ] CI/CD

Description

In ErrorResponse, the reason and connector_transaction_id were not being populated even though we were receiving transaction_id from the connector for failed response.
connector_response_reference_id were not being populated to reference transaction in merchant dashboard

Additional Changes

[ ] This PR modifies the API contract
[ ] This PR modifies the database schema
[ ] This PR modifies application configuration/environment variables

Motivation and Context

How did you test it?

For testing if connector_response_reference_id being filled, make a payment through NMI in postman:
{     "amount": 2000,     "currency": "USD",     "confirm": true,     "capture_method": "automatic",     "amount_to_capture": 2000,     "capture_on": "2022-09-10T10:11:12Z",     "customer_id": "StripeCustomer",     "email"<EMAIL_ADDRESS>    "name": "John Doe",     "phone": "999999999",     "phone_country_code": "+65",     "description": "Its my first payment request",     "authentication_type": "no_three_ds",     "return_url": "https://google.com",     "setup_future_usage": "off_session",     "billing": {         "address": {             "first_name": "Sakil",             "last_name": "Mostak",             "line1": "1467",             "line2": "Harrison Street",             "line3": "Harrison Street",             "city": "San Fransico",             "state": "California",             "zip": "94122",             "country": "US"         }     },     "browser_info": {         "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36",         "accept_header": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",         "language": "nl-NL",         "color_depth": 24,         "screen_height": 723,         "screen_width": 1536,         "time_zone": 0,         "java_enabled": true,         "java_script_enabled": true,         "ip_address": "<IP_ADDRESS>"     },     "shipping": {         "address": {             "line1": "1467",             "line2": "Harrison Street",             "line3": "Harrison Street",             "city": "San Fransico",             "state": "California",             "zip": "94122",             "country": "US",             "first_name": "John",             "last_name": "Doe"         }     },     "routing": {         "type": "single",         "data": "nmi"     },     "statement_descriptor_name": "joseph",     "statement_descriptor_suffix": "JS",     "metadata": {         "udf1": "value1",         "new_customer": "true",         "login_date": "2019-09-10T10:11:12Z"     },     "payment_method": "card",     "payment_method_type": "credit",     "payment_method_data": {         "card": {             "card_number": "4000000000002503",             "card_exp_month": "08",             "card_exp_year": "25",             "card_holder_name": "joseph Doe",             "card_cvc": "999"         }     } }
The response must have reference_id populated.
{     "payment_id": "pay_Z8TyCLxPkzoXogZpSnCF",     "merchant_id": "merchant_1703759854",     "status": "processing",     "amount": 2000,     "amount_capturable": 0,     "amount_received": null,     "connector": "nmi",     "client_secret": "pay_Z8TyCLxPkzoXogZpSnCF_secret_MzdpFURC3tvhz18crsWu",     "created": "2023-12-28T10:56:13.668Z",     "currency": "EUR",     "customer_id": "StripeCustomer",     "description": "Its my first payment request",     "refunds": null,     "disputes": null,     "mandate_id": null,     "mandate_data": null,     "setup_future_usage": "off_session",     "off_session": null,     "capture_on": null,     "capture_method": "automatic",     "payment_method": "card",     "payment_method_data": {         "card": {             "last4": "2503",             "card_type": null,             "card_network": null,             "card_issuer": null,             "card_issuing_country": null,             "card_isin": "400000",             "card_exp_month": "08",             "card_exp_year": "25",             "card_holder_name": "joseph Doe"         }     },     "payment_token": "token_78tPq2vYjIh4YJ804uqP",     "shipping": {         "address": {             "city": "San Fransico",             "country": "US",             "line1": "1467",             "line2": "Harrison Street",             "line3": "Harrison Street",             "zip": "94122",             "state": "California",             "first_name": "John",             "last_name": "Doe"         },         "phone": {             "number": null,             "country_code": null         }     },     "billing": {         "address": {             "city": "San Fransico",             "country": "US",             "line1": "1467",             "line2": "Harrison Street",             "line3": "Harrison Street",             "zip": "94122",             "state": "California",             "first_name": "Sakil",             "last_name": "Mostak"         },         "phone": {             "number": null,             "country_code": null         }     },     "order_details": null,     "email"<EMAIL_ADDRESS>    "name": "John Doe",     "phone": "999999999",     "return_url": "https://google.com/",     "authentication_type": "no_three_ds",     "statement_descriptor_name": "joseph",     "statement_descriptor_suffix": "JS",     "next_action": null,     "cancellation_reason": null,     "error_code": null,     "error_message": null,     "unified_code": null,     "unified_message": null,     "payment_experience": null,     "payment_method_type": "credit",     "connector_label": null,     "business_country": null,     "business_label": "default",     "business_sub_label": null,     "allowed_payment_method_types": null,     "ephemeral_key": {         "customer_id": "StripeCustomer",         "created_at":<PHONE_NUMBER>,         "expires":<PHONE_NUMBER>,         "secret": "epk_49cfc8bf67df4a30baa7c89150e22140"     },     "manual_retry_allowed": false,     "connector_transaction_id": "9054843414",     "frm_message": null,     "metadata": {         "udf1": "value1",         "login_date": "2019-09-10T10:11:12Z",         "new_customer": "true"     },     "connector_metadata": null,     "feature_metadata": null,     "reference_id": "9054843414",     "payment_link": null,     "profile_id": "pro_mKIVSDBNRPrZHFxTs7Ws",     "surcharge_details": null,     "attempt_count": 1,     "merchant_decision": null,     "merchant_connector_id": "mca_d1o8Efbxy4FCjNtEZvOy",     "incremental_authorization_allowed": null,     "authorization_count": null,     "incremental_authorizations": null }

Checklist

[x] I formatted the code cargo +nightly fmt --all
[x] I addressed lints thrown by cargo clippy
[x] I reviewed the submitted code
[ ] I added unit tests for my changes where possible
[ ] I added a CHANGELOG entry if applicable

@prasunna09 Changes LGTM, please confirm all the flows has been tested

setupmandate
automatic capture
refunds, checked the ref amt as well in connector response body
3ds- auto capture
the above flows tested end-to-end.
Manual Capture is not working because of the amount_capturable being none.
@hrithikesh026 mentioned he ll be raising a fix for this.

@prasunna09 , Need to add same test in postman aswell.


Research a better way to add controller support

The current implementation does not handle if a controller is unplugged or plugged in during runtime. This is a known issue with JInput. Look into potential work arounds.

LWJGL3 via GLFW can do this. As LWJGL3 is still in alpha, there are no utility projects that I know of to currently help with the task with that framework. I wrote some toy code that detects the current state of connected controllers and am in the process of putting it into a module for reuse.
That does not help us as we use legacy LWJGL.  One way that might, is to try @PerfectSlayer's patch that was mentioned here. I have a fork of JInput where I can test it out.


Web Parts: Render method this.domElement undefined after modern navigation event

Category

[ ] Question
[ ] Typo
[x] Bug
[ ] Additional article idea

Expected or Desired Behavior
After navigating between modern pages within a site, custom web parts should render as per usual.
Observed Behavior
After a 'modern' navigation between pages, custom web parts never finish loading. The user will only see "Loading ..." with the loading spinner.
Behind-the-scenes, an exception is thrown: "Cannot read property 'domElement' of undefined" when calling ReactDom.render(element, this.domElement);.
Reloading the page causes the web parts to function correctly.
Steps to Reproduce
Add a custom SPFx web part to a modern page (Note: Have only tested React web parts). Navigate to one modern page within the same site, then back to the original. In order to replicate the issue, the navigation must be handled via the 'modern' navigation (partial page reload).
Temporary Workaround
The domElement is still available in the onInit method of the same scenario, so can be stored as a variable and used to render your element.

On further testing, I believe that this is a result of a Redux action being triggered in onInit subsequently triggering the render method. Bug is on my part, nothing to see here!


Add JoblibShardLoader

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

Project coverage is 100.00%. Comparing base (8a7ee50) to head (ea9021f).
Report is 10 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff            @@
##              main      #303   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           73        74    +1
  Lines         1549      1561   +12
  Branches        55        55
=========================================
+ Hits          1549      1561   +12

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


Python: fix for lack of persist on persistentclient with chroma > 0.4

Motivation and Context

I noticed that the new version of ChromaDB (after 0.4.0) no longer needs an explicit call to persist, so got rid of that.
Description

Deleted all persist calls, as well as the self._persist_directory since that was no longer used.
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:

@eavanvalkenburg There was another PR that removed the persist calls within the chroma memory code. I would like to keep persist_directory however - users may want to place the database files somewhere other than the default location. and we actually do this for the integration tests. Thank you for your contribution though :)

I agree that putting it in a different place is needed, but chromadb handles that in it's settings so the extra variable in the wrapper isn't needed AFAIK? @awharrison-28


pixel level or latent level

Thanks for your great work!
I noticed that in your work, the image input is pixel-level (consistent with the prior work: splatter image). I am wondering if we can consider using the VAE to encode the image into the latent code and train the unet in the latent space. If not, what may be the concern or drawback?
Thanks for your reply!

@wenqsun Hi, since we are interpreting the output features as Gaussians, and the number of Gaussians is determined by the output resolution, it maybe problematic if we are using latent space to compress the spatial dimensions. It may require different designs to make it work.


Fix path of require statement

Currently if you run bundlesize-init you get:
Error: Cannot find module './src/build'

Thanks!
Published in 0.12.1


Feat/3d

Enable Storage urls in DEBUG Mode

In Addition the "make run-frontend" command is added

@jarkenau you will need these changes when you want to complete this Issue https://github.com/naturerobots/HSOS-SEP-PlantMap-2022/issues/92 and make the files avaiable in the storage/media folder

I have no experience in what will happen when this pull request and the Feat/tokenauth https://github.com/naturerobots/HSOS-SEP-PlantMap-2022/pull/129 pull request will be merged, since we both change the same files

@lniehaus The first to merge the PR will have no problems, the second will have to resolve the conflicts manually. This should not be a problem with one file.


At the end of boot-two-way-ssl-example from client they said authentication required username and password..

At the end of boot-two-way-ssl-example from client they said authentication required username and password..what should be enter for username and password in this example for ClientAuthApplication

load the ssl keystore from resttemplate


Solely using the response in the optimisation step

Hey guys,
Sorry for posting this as an 'issue', since It's more like a discussion.
I wonder if could we only give the 'Response' to the active model and reference model in the optimisation step. I mean in the docs, the example defined Query as 'The movie is' and the corresponding response as 'really great', and it makes sense to use Query + Response as a whole complete sentence. However, consider a case where we try to add positive sentiment to the response of queries in a search engine. For example, suppose the Query is 'Who is Cristiano Ronaldo' and the response is 'A footballer', and we want our model to generate something like 'A great and renowned footballer'. As we can see, the Response, in this case, is a complete sentence, so we will get a reasonable likelihood (log probs) for the tokens in the Response if we use it as an input in the optimisation step for KL-div part.
My question is that in such a case, should we keep feeding Query + Response to the LMs in the optimisation step, or we can only use Response?
Thanks in advance!

I think you'll always want to use both parts in the optimization steps. We use the log-probs of each token and they can be very different if you don't use the full context when you do the forward pass in the model. However, we already mask out query tokens from the optimization step. Also if you only want to rate the response then you should take care of that with the reward model - e.g. only pass the response to a sentiment classifier.
Hope that makes sense :)

I think you'll always want to use both parts in the optimization steps. We use the log-probs of each token and they can be very different if you don't use the full context when you do the forward pass in the model. However, we already mask out query tokens from the optimization step. Also if you only want to rate the response then you should take care of that with the reward model - e.g. only pass the response to a sentiment classifier.
Hope that makes sense :)

I completely agree with you that incorporating both the Query and Response is crucial for nearly all tasks, including ones like Translation or Paraphrasing.


Remote turn off of Heiman smoke sensor?

Hi,
Is it possible with this plugin to turn off the alarm (e.g. false alarm) remotely?
Thanks
Stefan

Does the sensor even support that?

I would think so, when I'm reading the manufacturers website:

Last time I checked, the siren couldn’t be activated (nor deactivated) over Zigbee.  I’m not sure about resetting the alarm condition, it needs to be exposed by the deCONZ REST API, before Homebridge Hue can support it.  I had a loaner a couple of years ago, maybe they added these features in later (firmware) revisions.  I don’t think they have a native hub and corresponding app that could be sniffed?

They do seem to have a native gateway and corresponding app.  I would appreciate the sniffer logs if any who has the gateway can sniff what it sends to the sensor when silencing the alarm.


Some Minor Tweaks

Fairly obvious from the code but I pulled out bind_method as there were no methods to bind in there.  Not sure if that is necessary but I don't think it is.  Added your Steam send enum from your note.  And the most important, I switched it to the Flat API system which should help with MinGW compiling.

@Gramps I reverted the pr, I had a large number of errors in the actions and I tried to generate it here with local scons and it gave errors too.

https://github.com/expressobits/steam-multiplayer-peer/actions/runs/11061636240/job/30734631884


Crash on Range.unshare() when Range isn't sharing to begin with.

Operating system or device, Godot version, GPU Model and driver (if graphics related):
Ubuntu 16.04 LTS, Godot 3.0 master 2017-09-23 AppImage from https://dl.bintray.com/calinou/godot/
Issue description:
When calling unshare() on a Range from within GDScript, if the Range isn't already "sharing" the game crashes with no error message in the engine console. (But backtrace from terminal included below.)
Steps to reproduce:
Place something that inherits from Range in the scene (I've tried ScrollBars, ProgressBars etc...) then have a script call unshare() on it. Like this -> get_node("VScrollBar").unshare(). If .share(some_other_range) was not called on it previously, the game crashes. If the Range IS "sharing" with another range, calling .unshare() twice will cause it to crash. (First unshare will do what it's supposed to, second will crash it). I expect it to do nothing normally, I'm not sure what else it could do, but at least not crash.
Link to minimal example project:
Minimal example project. Hit run and it should show off the bug.
scrollbug.zip
Backtrace:
Dumping the backtrace. Please include this when reporting the bug on https://github.com/godotengine/godot/issues
[1] /lib/x86_64-linux-gnu/libc.so.6(+0x354b0) [0x7f09a69104b0] (??:0)
[2] Range::_unref_shared() (??:?)
[3] Range::_ref_shared(Range::Shared*) (??:?)
[4] MethodBind0::call(Object*, Variant const**, int, Variant::CallError&) (??:?)
[5] Object::call(StringName const&, Variant const**, int, Variant::CallError&) (??:?)
[6] Variant::call_ptr(StringName const&, Variant const**, int, Variant*, Variant::CallError&) (??:?)
[7] GDFunction::call(GDInstance*, Variant const**, int, Variant::CallError&, GDFunction::CallState*) (??:?)
[8] GDInstance::_ml_call_reversed(GDScript*, StringName const&, Variant const**, int) (??:?)
[9] Node::_notification(int) (??:?)
[10] Control::_notificationv(int, bool) (??:?)
[11] Object::notification(int, bool) (??:?)
[12] Node::_propagate_ready() (??:?)
[13] Node::_propagate_ready() (??:?)
[14] Node::_set_tree(SceneTree*) (??:?)
[15] SceneTree::init() (??:?)
[16] OS_X11::run() (??:?)
[17] /tmp/.mount_Godot-erDqss/usr/bin/godot(main+0xaf) [0x93f3bf] (??:?)
[18] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0) [0x7f09a68fb830] (??:0)
[19] /tmp/.mount_Godot-erDqss/usr/bin/godot() [0x9405d0] (??:?)
-- END OF BACKTRACE --

I'll take a look at this and see what I can do.

Fixed, close issue


feat: add the ability to optionally hide the 'progress' section of the FluentInputFile

🙋 Feature Request
It would be nice to be able to optionally hide the progress section of the FluentInputFile.
😯 Current Behavior
Currently the progress section is always visible.
💁 Possible Solution
I would propose adding a property called: ProgressVisibility that has the possible values:

Visible
WhileUploading
Never

As you might guess, the Visible option would keep the current behavior.
The 'WhileUploading' would make it visible while files are being uploaded and then hidden once all files are complete.
The Never option would never show the progress section.
🔦 Context
I am creating a way to upload images to my application and the image, once uploaded, occupies the space of the FluentInputFile.  It looks a little weird to have the progress section still visible after the image is uploaded. Here is an image:

You could define a variable IsUploaded in your code, set this variable to True behind the event OnCompleted. And hide the FluentInputFile, FluentLabel and FluentProgress when this variable is True:
´´´
@if(!IsUploaded)
{
<FluentInputFile ... />
<FluentProgress ... />
<FluentLabel ... />
}
´´´

@dvoituron - Thanks for the suggestion.  Unfortunately, this won't achieve my desired behavior in this instance as I would still like to use the <FluentInputFile> even after a file has been uploaded.  They should still be able to drag/drop a file over the current image to replace it.  And to be clear, the <FluentProgress> that I'm talking about is the one that is embedded in the <FluentInputFile> and not a custom one that I have added to my component. Thanks

@StevenRasmussen I can see the problem.
I think it would be even better to make the ProgressPercent and ProgressTitle properties bindable. Including an UpdateProgression(percent, title) method.
This would make it possible to handle other cases, such as displaying the progress and holding it for 5 seconds after 100%, then returning to 0% and allowing a new Upload.
Or reset the percentage to 0% to solve your problem.
Or always set the percentage to 0% to never display the progress bar.
I can modify this this week for the next release.

@dvoituron - Sounds great! Thanks!

Hello, is there any news about this feature ? Online documentation do not explain how to hide the ProgressSection, which by the way do to not have a nice looking style when you add a FluentInputFile to your project, contrary to the one shown in the documentation. Thanks.

Yes. It's still in our development phases and will be published as soon as possible.
What do you mean by "not have a nice looking style (...), contrary to the one shown in the documentation"?
Do you have a screenshot to explain that?

Yes of course. Maybe I'm doing something wrong but I'm talking about the gray rectangle shown inside the component with the label "Completed" stack to the left side :

I was expecting this kind of style :

What code did you use?
This part of the panel is styled using .fluent-inputfile-container .progress.
You can change this style.

I used this code :
 <FluentInputFile Id="file_upload_existing_plans"                   Mode="InputFileMode.Stream"                   Multiple="true"                   ShowPreview="true"                   MaximumFileSize="50000000"                   Accept=".jpg,.png,.bmp,.pdf,.doc,.docx,.xls,.xlsx"                   OnCompleted="@((IEnumerable<FluentInputFileEventArgs> files) => OnUploadCompleted(FilesType.ExistingPlans,files))"                   OnFileError="@OnUploadError"                   Class="custom-border-dashed">
The class css "custom-border-dashed" is as follow :
.custom-border-dashed {     border: 1px dashed var(--accent-fill-rest);     padding: 5px; }
I'm not overriding ".fluent-inputfile-container .progress" so I'm expecting to have same comportement as in documentation : progressbar visible and text Completed centered.
Looking on the screenshot of @StevenRasmussen above, he seems to have the same issue : text aligned on left side, progressbar not visible and huge gray rectangle.
yet I can see that the styles you've defined seem to apply :

Don't know if I'm missing something obvious, I'm not used to work with web technologies.

In your screenshot, the .progress' class comes from _progress.scss'. That's not a file included in our lib :-)
You probably added Boostrap that contains this CSS class.
During the current FluentInputFile changes, I will update this class name to another to avoid this kind of conflict.

Will be fixed using these changes #1037

Thanks for your quick reply Denis. I'll check if I have a Bootstrap reference still lying around somewhere in my project.


Graceful terminations within Kubernetes

Noticed during a rolling update that communication to the Pod was briefly disrupted. After some digging found this discussion: https://github.com/kubernetes/kubernetes/issues/86280#issuecomment-583173036 which highlights the race condition between the app closing the listener and Kubernetes actually disallowing connections to go to the service.
Shutdown line here for reference: https://github.com/ardanlabs/service/blob/master/app/services/sales-api/main.go#L259
Assuming that this is indeed the root cause, we should implement one of the three approaches listed in the linked issue.
Additionally, looking through the linked blog post in the issue (https://freecontent.manning.com/handling-client-requests-properly-with-kubernetes/) they reference removing keep-alive connections towards the bottom which seems can be controlled via: https://pkg.go.dev/net/http#Server.SetKeepAlivesEnabled

John, so we should set the SetKeepAlivesEnabled to false when we received a SIGTERM?

I hate these types of timing issues, K8s should see the rejection and reroute.  Having the readiness handler fail doesn't help since it can take 15 seconds (worse case) for it to be pinged.


bump projects to go 1.22 and fix snyk cve

let's also produce fips versions of the binaries to be prepared for then that is certified.
Acceptance Criteria

We let the product team we are doing this so they know why and what they have to do to be able to consume 3.2.X
All kairos-io golang repositories use go1.22 to build binaries (in pipelines)
all go.mod files refer to go1.22 as well
all packages (luet) are also built with go1.22 (even the fips ones)

This PR should address some of the issues related to the main kairos repo and it doesn't affect fips since it's just testing https://github.com/kairos-io/kairos/pull/2678

https://github.com/kairos-io/kairos-agent/pull/405
https://github.com/kairos-io/immucore/pull/347
https://github.com/kairos-io/kairos-sdk/pull/168
https://github.com/kairos-io/provider-kairos/pull/594
https://github.com/kairos-io/kcrypt/pull/413
https://github.com/kairos-io/kcrypt-challenger/pull/70
https://github.com/kairos-io/enki/pull/135
https://github.com/kairos-io/AuroraBoot/pull/60
https://github.com/kairos-io/go-nodepair/pull/32
https://github.com/kairos-io/osbuilder/pull/172
https://github.com/kairos-io/cluster-api-provider-kairos/pull/29
https://github.com/kairos-io/entangle/pull/11

Everything merged and bumped, all of them also had a tag cut after the go version was bumped so they can be consumed from the packages repo

All packages updated in repos, consider this done


Add optional useCapture 3rd parameter to fromEvent

Looks great to me! Nice addition to what is currently offered :+1:


Add Rundeck exporter

@brian-brazil Thanks for all instructions!
I'll work to make the exporter better.

@brian-brazil, please, could you check the new code to see if I'm on the right path: https://github.com/phsmith/rundeck_exporter/tree/feature/v2

That looks better, the project metric still needs improvement to be useful.

That looks better, the project metric still needs improvement to be useful.

@brian-brazil I've made some modifications on the project metrics, thing that's better now.
https://github.com/phsmith/rundeck_exporter/tree/feature/v2

The status should be a separate gauge, and you can also have the various times as gauges.
As a minor style thing I'd do executions -> execution too.

The status should be a separate gauge, and you can also have the various times as gauges.

@brian-brazil  You meant something like that:
rundeck_project_job_test_execution_info{execution_id="1623097",job_id="job-test",job_name="Job Test"} 1.0 rundeck_project_job_test_execution_status_info{execution_id="1623097",job_id="job-test",job_name="Job Test"} 1.0
And about the Rundeck meters and timers, I'm getting only the count metric, so I thing that it represents a counter.

No,
rundeck_project_execution_status{execution_id="1623097",job_id="job-test",job_name="Job Test"} 0
for example.

And about the Rundeck meters and timers, I'm getting only the count metric, so I thing that it represents a counter.

Yes, those are counters - and if a new enough version of Dropwizard is being used the timers can be made into summaries.

@brian-brazil what about that:
rundeck_project_aic_helloworld_ansible_playbook_execution_status{job_id="helloworld-ansible-playbook-job-test",job_name="Job Test"} 2.0
rundeck_project_bdh_oracle_install_client_execution_status{job_id="dfd6d2aa-5159-46db-a0c5-0b9a8aa04527",job_name="Client Oracle Install"} 0.0
rundeck_project_tbs_servcom_install_execution_status{job_id="servcom_install",job_name="Servcom Client"} 0.0

Bools like this should only be 0/1, and you have a label value in a metric name there which makes life harder for users.

Bools like this should only be 0/1, and you have a label value in a metric name there which makes life harder for users.

Projects executions on Rundeck have 4 status: succeeded, running, failed or aborted, that's the reason that I've put that on a Info Metric before.
And the job_id can be a uuid or a name.
So, what should I do with that metric?

Hmm, I'd presumed that there were only the completed ones. One approach is to have a gauge with a series for each state, and a value of 1 for the one that is true and 0 for the others.
The other approach is to report the status of the most recent non-running job and whether it succeeded or not as one bool.

Hmm, I'd presumed that there were only the completed ones. One approach is to have a gauge with a series for each state, and a value of 1 for the one that is true and 0 for the others.
The other approach is to report the status of the most recent non-running job and whether it succeeded or not as one bool.

@brian-brazil
So, this is a good approach?
rundeck_project_tbs_servcom_install_execution_succeeded{job_id="servcom_install",job_name="Servcom Client Install"} 1.0
rundeck_project_tbs_servcom_install_execution_running{job_id="servcom_install",job_name="Servcom Client Install"} 0.0
rundeck_project_tbs_servcom_install_execution_failed{job_id="servcom_install",job_name="Servcom Client Install"} 0.0
rundeck_project_tbs_servcom_install_execution_aborted{job_id="servcom_install",job_name="Servcom Client Install"} 0.0
rundeck_project_tbs_servcom_install_execution_unknown{job_id="servcom_install",job_name="Servcom Client Install"} 0.0

That's not the best approach. The status should be as a label, plus you still have the job name in the metric name.

That's not the best approach. The status should be as a label, plus you still have the job name in the metric name.

I've made in that format based on what you've mention before, I presume that I understand that wrong:

Hmm, I'd presumed that there were only the completed ones. One approach is to have a gauge with a series for each state, and a value of 1 for the one that is true and 0 for the others.

So I have to add the project and the job name as a metric name? Like that?
rundeck_project_tbs_servcom_install_Servcom_Client_Install_execution{status="succeeded"} 1.0
rundeck_project_tbs_servcom_install_Servcom_Client_Install_execution{status="failed"} 0.0

Or like that is better:
rundeck_project_tbs_servcom_install_execution_status{job_id="servcom_install",job_name="Servcom Client Install",status="suceeded"} 1.0
rundeck_project_tbs_servcom_install_execution_status{job_id="servcom_install",job_name="Servcom Client Install",status="failed"} 0.0

Sorry for the newbie questions, if you known about some exporter that have similar metrics exposition, I'll be pleased to check  it.

More like:
rundeck_project_execution_status{job_id="servcom_install",job_name="Servcom Client Install",status="succeeded"} 1.0
rundeck_project_execution_status{job_id="servcom_install",job_name="Servcom Client Install",status="failed"} 0.0
rundeck_project_execution_status{job_id="servcom_install",job_name="Servcom Client Install",status="aborted"} 0.0

if you known about some exporter that have similar metrics exposition, I'll be pleased to check it.

Kube-state-metrics is where this particular pattern first came up.

@brian-brazil Could check again how it is now please:
https://github.com/phsmith/rundeck_exporter/tree/feature/v2

That metric looks fine.

That metric looks fine.

@brian-brazil So do you think that I can publish this version?

I do, and then this can be merged.

I do, and then this can be merged.

Nice @brian-brazil!
New version published.
Thanks a lot for the great support.

Thanks!


AnimationPlayer: Call track doesn't call method if one of the arguments is an Array[Resource]

Godot version
4.0.3 stable, 4.1.dev [3710f0692]
System information
Godot v4.1.beta (3710f0692) - Windows 10.0.19045 - Vulkan (Forward+) - dedicated NVIDIA GeForce GTX 1660 (NVIDIA; <IP_ADDRESS>49) - AMD Ryzen 5 3600X 6-Core Processor (12 Threads)
Issue description
When using AnimationPlayer and attempting to use Call Track on a node with a script and calling a function where one of the arguments accepts an Array[Resouce] it will just silently fail to do so.
Debugging into the code, it gets to the GDScript VM failing with CALL_ERROR_INVALID_ARGUMENT. To be precise in gdscript_vm.cpp#545
Steps to reproduce

Add AnimationPlayer to the node tree
In node add a script with a function accepting Array[Resource] as an argument
Add new animation and add Call Track for the node with the function
Put a key to call the function with an argument
Fill the array with any amount of Resources
Play the AnimationPlayer track and watch the function not getting called in the set keyframe

Minimal reproduction project
animation_player_call_bug.zip

Debugging a bit more it seems like Call method keyframe in the AnimationPlayer when setting argument as array creates an untyped array so when a function requires a typed array, type mismatch happens which causes it to fail during runtime.


Implement partial JSON cast

SELECT CAST('{"a": 1, "b": [2, 3]}' AS MAP<VARCHAR, JSON>) should work

I'm claiming this one:)

In this particular case we want to pick "1" as JSON?
'{"a": 1, "b": [2, 3]}'
We are extracting from that VARCHAR which we supposed is properly JSON  keys. For every keys we arranged VARCHAR not JSON I think? Should this be changed to:
SELECT CAST('{"a": 1, "b": [2, 3]}' AS MAP<VARCHAR, VARCHAR>) ?
Query like this is working:
SELECT CAST(CAST('{"foo":"bar", "foo2":"foo3"}' AS json) AS map<varchar, varchar>);
I'm not sure what we want to achieve in this example. After read referenced issuse discussion I think it should change to MAP<VARCHAR, VARCHAR>.

After the cast. Lets assume the column is named "my_map". You should be able to do the following:
SELECT json_extract_scalar(my_map['a'], '$') => '1'

and
SELECT json_extract_scalar(my_map['b'], '$[0]') => '2'


Running with no args produces panic

Using the latest v0.17.0-alpha4 release if you run headscale with no command line args it produces an error rather than the help text as in previous versions:
$ ./headscale
panic: runtime error: index out of range [1] with length 1
goroutine 1 [running]:
github.com/juanfont/headscale/cmd/headscale/cli.init.8()
/home/runner/work/headscale/headscale/cmd/headscale/cli/root.go:18 +0x26f

This is still present in the latest docker image. How frequently do you intend to update hub.docker.com?


Document how to: updating sentinel drivers

Need to update the documentation with very specific instructions on updating drivers so that users can do a pull request. Once the drivers are bundled, it will be easier to rely on users grabbing the latest driver and submitting a pull request for an update than by trying to monitoring changing drivers myself.
1.) Download driver
2.) Test driver by doing x
3.) Pull the code.
4.) Submit a pull request.

Related to #66

Documented in the FAQ. Only Chromedriver needs to be regularly updated. IEDriver is locked to the version of Selenium, Firefox's driver hasn't been updated in years, and Safari's is automatically handled by Mac OS X. Now that this is documented, I'm closing this.


rultor test

@rultor hello

@rultor hello

@barlowm Hi there! I understand a few simple commands: "merge", "deploy", etc. This page explains them briefly. Any questions or bug reports are welcome. Have fun :)


Add test for component loading

This tests that components will be loaded for different types of project structures. The one requirement is there should be a 'meld/components/' folder. The user can specify this location with a config variable via MELD_COMPONENT_DIR.
I am not sure the best way to test this. Using the pytest tmpdir_factory fixture works as long as the MELD_COMPONENT_DIR is set. Would it make sense to create a full project structure within the test directory?
Examples:
Flask-Meld/tests/TestProject/meld/components/search.py
Flask-Meld/tests/TestProjectFactory/app/meld/components/search.py

@mikeabrahamsen good question. What I like about your setup now is that it creates it all with tmpdir_factory, so no extra clutter in your tests package. Any objection setting MELD_COMPONENT_DIR as you do?


tmux: compare tty with pane_tty

$TMUX would be set when starting a new terminal emulator from inside
of a pane (e.g. urxvt), but then the escape codes should not be wrapped
for tmux.
pane_tty exists since tmux 1.6 (released in 2012),
tmux display -p since 1.2.

@chriskempson
Where will / have the shell templates move(d)?

https://github.com/chriskempson/base16-shell


templateUrl not working

After you added randomCssClass in 43a00b6, templateUrl stopped working because my own template can't access that class.

Hi Kate,
yes you are right. I just added the randomCssClass to the controller such that you can access it in your template with the following expression: {{viewModel.randomCssClass}}.
I hope this solves your problem. Can you please test it and come back to me such that I can close the issue?
Thanks for reporting it!
Regards,
Guy

Thanks Guy, it's working fine now. I will experiment more with custom templates and let you know if anything other comes up.
Oh, and it seems you forgot to remove a testing binding here.

Ok great. Thanks for mentioning it with the test binding. Forgot to rebuild again ;).
Regards,
Guy

Another issue came up: seems like link function is run just before {{viewModel.randomCssClass}} gets binded, so both searchInputElement and Done button are not found. Adding a tick $timeout(fn); before querying for them helped.

OK, it did help just for a short time, it's not working now even with a tick timeout. Seems like there is a race between compiling template and running link function, which makes looking for elements in link function unreliable.
Maybe you can use delegated event for Done button and query for the search input in showModal method?


Add Ability to Have Gear Other than Weapons & Armor

Requested on the discord to have items other than weapons and armor, notably books and misc. gear.

added in v0.8.9


add Khmer translation

This pull request includes a

[ ] Bug fix
[ ] New feature
[x] Translation

The following changes were made

If this is related to an existing ticket, include a link to it as well.

This will land in time for 4.0.3, in the mean time I'm searching for a few people who can verify the translations.

That is completely fine, no worries. Actually, I'm a Khmer native, and those words are being translated, not just copy from any where :)


Delete CONTRIBUTING.md

Closes #
📑 Description

✅ Checks

[X] My pull request adheres to the code style of this project
[X] My code requires changes to the documentation
[X] I have updated the documentation as required
[X] All the tests have passed

☢ Does this introduce a breaking change?

[ ] Yes
[X] No

ℹ Additional Information

Summary by CodeRabbit

Chores

Removed the CONTRIBUTING.md file, which contained guidelines for project contributions.

@gstraccini codacy bypass


iOS: sometimes the display hangs, a missing update?

Run mc, sometimes it stops updating midway.

Likely I forgot to do an update on the range after feeding the data, easy fix.

Figured it out - too much data was being processed in one go - unlike the LocalTerminalProcess version that fed data in 1k chunks, the SSH version in one case at least collected up to 2 megs of data, which then was processed, and never got a chance to render the UI while it was being parsed.

Fixed by aed87e29735b129f07a2f619434f192ee94a9eaa


JS Array.map on host non-array object is not working

According to https://tc39.es/ecma262/#sec-array.prototype.map

The map function is intentionally generic; it does not require that its this value be an Array object. Therefore it can be transferred to other kinds of objects for use as a method.

This allows to pass non-array objects and use them with Array.map, for example:
function printAndReturnName(x) { console.log(x.name); return x.name; }

jsItem = {
    length: 3,
    0: {
        name: "JsItem 1"
    },
    1: {
        name: "JsItem 2"
    },
    2: {
        name: "JsItem 3"
    }
}
Array.prototype.map.call(jsItem, printAndReturnName);

Output of this code in Google Chrome:

We get the same output if we run it with GraalJS (20.3.0):
import org.graalvm.polyglot.Context;
import org.graalvm.polyglot.Value;
import com.examples.graalvm.ItemCollection.Item;

public class ArrayMapExample {
    public static void main(String[] args) {
        Context ctx = Context.newBuilder("js")
                .allowAllAccess(true)
                .allowExperimentalOptions(true)
                .option("js.experimental-foreign-object-prototype", "true")
                .build();

        // Callback to apply on each element of collection
        ctx.eval("js", "function printAndReturnName(x) { console.log(x.name); return x.name; }");

        // This object can be traversed by Array.map
        /*
        jsItem = {
            length: 3,
            0: {
                name: "JsItem 1"
            },
            1: {
                name: "JsItem 2"
            },
            2: {
                name: "JsItem 3"
            }
        }
        */
        ctx.eval("js", "jsItem = {\n" +
                        "    length: 3,\n" +
                        "    0: {\n" +
                        "    \tname: \"JsItem 1\"\n" +
                        "    },\n" +
                        "    1: {\n" +
                        "    \tname: \"JsItem 2\"\n" +
                        "    },\n" +
                        "    2: {\n" +
                        "    \tname: \"JsItem 3\"\n" +
                        "    }\n" +
                        "}");
        Value rJs = ctx.eval("js", "Array.prototype.map.call(jsItem, printAndReturnName);");
        // Prints `(3)["JsItem 1", "JsItem 2", "JsItem 3"]`
        System.out.println(rJs);
}

Now if I introduce host Java object as Proxy Object and try to use it instead, it wouldn't work, it gives back empty array and we see that Array.map didn't traverse it:
ItemCollection itemCollection = new ItemCollection(new Item[]{new Item("1"), new Item("2"), new Item("3")});
Value bindings = ctx.getBindings("js");
bindings.putMember("items", itemCollection);

// Can access by index
ctx.eval("js", "console.log('item[0]:', items[0].name)");
ctx.eval("js", "console.log('item[1]:', items[1].name)");
ctx.eval("js", "console.log('item[2]:', items[2].name)");
Value rJava = ctx.eval("js", "Array.prototype.map.call(items, printAndReturnName);");
// Prints `(3)[empty × 3]`
System.out.println(rJava);

Full example is in the repo: https://github.com/REASY/graalvm-js-bind-issue, to run it one need installed SBT and run sbt ";runMain com.examples.graalvm.ArrayMapExample" in bash/command prompt.

ItemCollection.java: https://github.com/REASY/graalvm-js-bind-issue/blob/main/src/main/java/com/examples/graalvm/ItemCollection.java
ArrayMapExample.java: https://github.com/REASY/graalvm-js-bind-issue/blob/main/src/main/java/com/examples/graalvm/ArrayMapExample.java

Thank you for the report. You are right. The current implementation of Array.prototype.map does not handle well foreign (non-JavaScript) objects that are not array-like in the sense of implementing ProxyArray but in the sense of having length and 0, 1, ... properties.

Thank you for the report. You are right. The current implementation of Array.prototype.map does not handle well foreign (non-JavaScript) objects that are not array-like in the sense of implementing ProxyArray but in the sense of having length and 0, 1, ... properties.

Thanks for the reply, @iamstolis. Yes, solved it by implementing ProxyArray interface. But is there any plan to improve it without using ProxyArray. I'm asking because in some case it might change a behavior because Array.isArray will give back true for it.

Thanks for the reply, @iamstolis. Yes, solved it by implementing ProxyArray interface. But is there any plan to improve it without using ProxyArray. I'm asking because in some case it might change a behavior because Array.isArray will give back true for it.

But is there any plan to improve it without using ProxyArray.

Sure. In fact, I have just fixed it by https://github.com/oracle/graaljs/commit/34d4d8660c5a4d07062e53d709103cc67b195fdf Your test-case will print
JsItem 1
JsItem 2
JsItem 3
(3)["JsItem 1", "JsItem 2", "JsItem 3"]
item[0]: 1
item[1]: 2
item[2]: 3
1
2
3
(3)["1", "2", "3"]

with this change.

But is there any plan to improve it without using ProxyArray.

Sure. In fact, I have just fixed it by https://github.com/oracle/graaljs/commit/34d4d8660c5a4d07062e53d709103cc67b195fdf Your test-case will print
JsItem 1
JsItem 2
JsItem 3
(3)["JsItem 1", "JsItem 2", "JsItem 3"]
item[0]: 1
item[1]: 2
item[2]: 3
1
2
3
(3)["1", "2", "3"]

with this change.


[BUG] Assay: Different values for a Characteristic for the same Source Name should not be possible

Describe the bug
When creating an Assay and set several rows with the same Source Name, it should not be possible to set different Values for a Characteristic, but it is atm.
To Reproduce
Steps to reproduce the behavior:

Create an Assay with a Swate table
Add Characteristic MyCharacteristic 1
Write MySource in the first value row for column Source Name
Write the same in the second row
Write value 1 in the first value row for column My Characteristic 1
Write value 2 in the second value row for column My Characteristic 1 (see screenshot below for steps 2 – 6)
Parse with common ISA.NET functions
Notice that there are several inputs with different Characteristics yet with the same name

Expected behavior
Forbid this (via, e.g., throwing an error or sth. alike).
Screenshots

I think the expected behavior of a reader should be that as long as the format schema is valid the file should be readable (for example also to potentially autocorrect or automated content testing). NO warning or exception should be thrown based on content testing. Here, we want to separate checking potential rules (e.g. ARC, ISA, ...) from parsing and management whenever possible...

I think the situation increases the need for a separate content validator.

Following @muehlhaus' suggestions. I will switch the tagging. I'm also not sure whether this remains a thing for ISADotNet or for the ArcCommander, so the Issue could potentially also be moved.


Emit hvar

fea-rs has a VariationStoreBuilder with a port of fonttools VarStore optimizer, this could be handy for building other tables that have ItemVariationStore such as HVAR, so maybe we should think about moving it to write-fonts or something that is shared by fontc and fea-rs?

Another thing about HVAR/VVAR. Right now we store advance width and height in the fontir::ir::GlyphInstance alongside contours and components, following font editor source formats:
https://github.com/googlefonts/fontc/blob/927d330f6846e7ce6ded21b0226b205326d4e55f/fontir/src/ir.rs#L998-L1009
however, this means that whenever a glyph varies in its contours/components it must also provide a width/height, and viceversa. But it is conceivable that some variable glyph only varies in one or the other but not both, and in fact the variations for glyph outlines and metrics are stored in different tables and are not tied together like so.
So I was thinking maybe we could store glyph advances separately from the glyph outlines to allow each glyph to define different locations and thus distinct variation models.
Right now in order to decouple glyph outlines from glyph metrics while still allowing them to be sparse in their own right, in the fonttools varLib merge-multiple-master-TTFs-into-VF workflow we resort to hacks like treating an empty glyph (no contours) as if not present (None) from a non-default master and as such "not participating" for gvar deltas computation, or advances of 0xFFFF to similarly mean the glyph does not participate in computation of {H,V}VAR deltas, treat as if missing from this master TTF.

I was thinking maybe we could store glyph advances separately from the glyph outlines to allow each glyph to define different locations and thus distinct variation models

And here I naively thought width 1:1 with outlines. +1 to split them up.

HVAR is currently the only table fontmake writes that fontc doesn't.

Fixed by #490 and #527


gRPC for C# does not properly support C# 8.0 NullableReferences

What version of gRPC and what language are you using?
gRPC 1.18.0
What operating system (Linux, Windows, …) and version?
Windows 10. Probably unrelated.
What runtime / compiler are you using (e.g. python version or version of gcc)
C# 8.0 (VS2019 preview 2.0)
What did you do?
grpc_80.csproj:
<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFramework>netstandard2.0</TargetFramework>
    <LangVersion>8.0</LangVersion>
    <NullableContextOptions>enable</NullableContextOptions>
  </PropertyGroup>

  <ItemGroup>
    <ProtoBuf Include="Proto.proto" Access="Public" />
  </ItemGroup>

  <ItemGroup>
    <PackageReference Include="Google.Protobuf" Version="3.6.1" />
    <PackageReference Include="Grpc" Version="1.18.0" />
    <PackageReference Include="Grpc.Tools" Version="1.18.0" />
  </ItemGroup>
</Project>

Proto.proto: (anything)
syntax = "proto3";

service Test {
  rpc Test(TestRequest) returns (TestResponse);
}

message TestRequest {}
message TestResponse {}

What did you expect to see?
No warnings.
What did you see instead?
obj\Debug\netstandard2.0\ProtoGrpc.cs(63,100): warning CS8625: Cannot convert null literal to non-nullable reference or unconstrained type parameter. [e:\tmp\grpc_80\grpc_80.csproj]
obj\Debug\netstandard2.0\ProtoGrpc.cs(71,127): warning CS8625: Cannot convert null literal to non-nullable reference or unconstrained type parameter. [e:\tmp\grpc_80\grpc_80.csproj]
obj\Debug\netstandard2.0\Proto.cs(56,10): warning CS8618: Non-nullable field '_unknownFields' is uninitialized. [e:\tmp\grpc_80\grpc_80.csproj]
obj\Debug\netstandard2.0\Proto.cs(157,10): warning CS8618: Non-nullable field '_unknownFields' is uninitialized. [e:\tmp\grpc_80\grpc_80.csproj]
obj\Debug\netstandard2.0\Proto.cs(175,19): warning CS8604: Possible null reference argument for parameter 'other' in 'bool TestResponse.Equals(TestResponse other)'. [e:\tmp\grpc_80\grpc_80.csproj]
obj\Debug\netstandard2.0\Proto.cs(74,19): warning CS8604: Possible null reference argument for parameter 'other' in 'bool TestRequest.Equals(TestRequest other)'. [e:\tmp\grpc_80\grpc_80.csproj]
    6 Warning(s)
    0 Error(s)

Anything else we should know about your project / environment?
I'm fully aware that C# 8.0 is still in preview phase, however, the non-nullability checks are probably not going away.

Looks like that this needs some adjustments to the codegen on both gRPC C# side (lives in this repository) and on protobuf C# side (lives in https://github.com/protocolbuffers/protobuf).
Pull requests are welcome.

Right now there's no ETA for this, but it will probably happen at some point.


Add ranking or filter for cytotoxic medications

In Demo C, it will be valuable for the user to either rank cytotoxic drugs lower, or filter them out.
@rtroper
@dkoslicki May we get your assistance setting this up through the ARS?

@edeutsch Do you have suggestions on how we might proceed?


Spliced reads error

Hi @jts ,
I have just installed nanopolish. I tried methylation calling but I got the same error as discussed in #364. I upgraded the htslib, but the error is still there. The read that gave this error is ~430kb long.
My minimap code:
minimap2 -t 32 -a -x map-ont fastq_file > output.sam
Thanks,
Vahid.

Thanks, I need to upgrade htslib to fix this. In the meantime I suggest filtering out these ultralong reads (or upgrade htslib in your version of nanopolish, if you're able to).

Thanks, I need to upgrade htslib to fix this. In the meantime I suggest filtering out these ultralong reads (or upgrade htslib in your version of nanopolish, if you're able to).

Thanks, @jts.
I deleted the reads more than 400kb and it worked. I had a question regarding the nanopolish algorithm.
As mapping with minimap2 gives a bam file with many multi mapped and low quality mapped reads, how nanopolish deal with this? I mean does it automatically consider high quality mapped reads? if yes, which column of a bam file will be considered for filtering low quality reads? I would be grateful if you could give me some information in this regard.
Thanks,
Vahid

Thanks, @jts.
I deleted the reads more than 400kb and it worked. I had a question regarding the nanopolish algorithm.
As mapping with minimap2 gives a bam file with many multi mapped and low quality mapped reads, how nanopolish deal with this? I mean does it automatically consider high quality mapped reads? if yes, which column of a bam file will be considered for filtering low quality reads? I would be grateful if you could give me some information in this regard.
Thanks,
Vahid


/randompokemon mode for /dexsearch

Calls /dexsearch and returns a random Pokemon that would have been included in the results. Without arguments it calls one random Pokemon, otherwise an integer is read as the number of random Pokemon desired (forces "gen" to be used if a gen parameter is desired) and all other parameters are assumed to be used in the dexsearch search.

Is it worth using another method to generate a Pokemon if there is no target? I'm not sure how often this command will get used, but shuffling an array of all the Pokemon is certainly not the fastest method.

Uhm, I don't think this addition is worth it. It's a tad slow, it adds extra code to dexsearch (which already is quite long and needs to be improved). Like, what's the use-case for this? When would we want a random Pokémon?

Art, roleplaying users, and a few other game rooms use offsite services that basically have the same functionality as this command for some of their activities. There isn't really much need for the command because (besides tier information) this can be done offsite, so if you think this is not useful enough to use space in the code I understand.
As far as it's performance actually goes, the speed is roughly 25% slower at worst (for something like /randpoke protect) and about the same as an average search when no parameters besides quantity are given.

Game Corner could use it too

I don't see why you can't /dice 721. Heck, you can even /dice 6d721. For I such a niche use, that is enough. I vote no to adding this to /dexsearch.

/dice 721 wouldn't work for formes, and it wouldn't work for if you wanted a random pokemon of a specific type.
I do see some usefulness in this feature.

While I do see some usefulness in this move, its effect on performance is definitely worrying. I wonder if anyone would ever really need "random Pokemon that learn Flamethrower and Ice Beam" in the first place.

"25% slower" is nothing, in terms of effect on performance.

Also as far as the use-case, most of the time we use it in art, it's for gen or tier or color or type information. Or something like a random mega. Interestingly a lot of the lesser used dexsearch parameters are the most used randpoke parameters. I mean, I can't speak for other rooms but I know Art would use it quite a bit.

As a somewhat related issue, /dexsearch also reassigns target multiple times, which I'd never really paid attention to because that's how it was before I started making changes to it, but wouldn't that cause a similar problem as it's reassigning one of the argument variables?

Re-assigning specific arguments only causes de-optimization if you also check the arguments variable directly within the same function. So no harm done.


Bootstrap: "check online-hosts error: timed out" Issue

I'm attempting to deploy a 3 node cluster on 3 fresh AWS EC2 Ubuntu 16.04.3 instances. I'm following the instruction to a T but keep getting "check online-hosts error: timed out waiting for 3 hosts to come online (currently 0 online)" when doing the bootstrap command. The security policy that i've attached is open to all traffic, has internet, and i'm able to ping all 3 instances.
I must be missing something.
Can someone please offer some wisdom?

This almost always indicates that there is a communication issue between hosts. Check that:

You haven't reused a discovery token.
There are no iptables/ufw rules in place.
UDP is allowed between hosts in your security groups.
Docker is not installed on any hosts.

If all of those things check out, please run flynn-host collect-debug-info and post the resulting gist here.

Flynn is unmaintained and our infrastructure will shut down on June 1, 2021. See the README for details.


Add auto_grader.py script

This commit adds the automated grading script for repy_v2 from https://github.com/Hooshangi/Grading-script. It also adds some documentation.

Let me know if Sara doesn't review these.  If she is too busy, I will take a look.

Is this still in Python 2.7?

Yes, it is the same script from your repository.


Adjust Gem Dependency to use individual aws-sdk v3 gems

Description
The gem aws-sdk installs a plethora of AWS gems, one for each service.  Rather than do this, limit the scope to only the gems which this cookbook's functionality depend on.
Please reference the gem aws-sdk-resources to see the break-out pattern for aws-sdk gem.
Issues Resolved
Should resolve a bunch of issues seen on Windows with regard to native extension compilation and OOM conditions resulting from compilation of gems otherwise not used by this cookbook.
#355 - Probably not... looks like aws-sdk-kms still gets installed as part of something.
Check List

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

I'm sure this is going to have to unintended consequences but it's time to do it.

Yeah. This cookbook is kind of a mess @tas50, I should be able to clean up some of the resources my company uses.

It's been death by 1000 patches for sure. I'd appreciate any fixes you might have.

You got it.   I made a hot patch with this fix at 7.5.1 internally.... :-/

@bdwyertech @tas50 I'm curious what both of your perspectives are on how gem dependencies should be managed in this cookbook as far as AWS releasing new versions of the gems all the time.
For reference: https://github.com/chef/chef/issues/7636
Should this cookbook be pinning to prevent such a problem from incurring?


GEOMESA-1262 List sft and converters

Signed-off-by: Charles Kelly<EMAIL_ADDRESS>

Could you update the documentation as well?

i'll look soon i promise

@jahhulbert-ccri is this ready to merge?

can we update the tools readme with a copy/paste of the output? not sure where else in the doc that is...but it may be in the RST somewhere


Update machine-controller to v1.59.1 and remove fields added in v1.29 from kubelet and kubeproxy configs

What this PR does / why we need it:

Update machine-controller to v1.59.1
Remove fields added in Kubernetes v1.29 from kubelet and kubeproxy configs

This resolves the following warning produced by kubeadm:
[<IP_ADDRESS>] W0511 09:19:23.312331    4023 initconfiguration.go:306] error unmarshaling configuration schema.GroupVersionKind{Group:"kubelet.config.k8s.io", Version:"v1beta1", Kind:"KubeletConfiguration"}: strict decoding error: unknown field "imageMaximumGCAge"
[<IP_ADDRESS>] W0511 09:19:23.313272    4023 initconfiguration.go:306] error unmarshaling configuration schema.GroupVersionKind{Group:"kubeproxy.config.k8s.io", Version:"v1alpha1", Kind:"KubeProxyConfiguration"}: strict decoding error: unknown field "conntrack.tcpBeLiberal", unknown field "conntrack.udpStreamTimeout", unknown field "conntrack.udpTimeout", unknown field "nftables"

What type of PR is this?
/kind chore
Does this PR introduce a user-facing change? Then add your Release Note here:
Update machine-controller to v1.59.1

Documentation:
NONE

/assign @xrstf @embik
/hold for final testing

/approve
/lgtm

/hold cancel


Make crosslisted courses count towards fulfillment even if subject doesn't match

Summary
This PR implements my strategy to use crseId from course roster as the unique identifier for each class. crseId has a nice property that two courses which are crosslisted of each other will have the same crseId. So using crseId as unique ID can make crosslisted courses requirement fulfillment automatically work, since they really appear the same to the graph algorithm. This PR also provides a solid foundation for AP/IB/Transfer credits since now everything has a crseId now.
To make it work, courseTaken must have courseId, which we currently don't store in the database. Therefore, I also updated the createCourse code to store the new field.
Test Plan
Before:

After:

You can see that everything is still the same, except that engineering distribution is now 4/6, which means that cs 2112 is now correctly counted!
Notes
I really don't like the horribly untyped course that does magic on the courses. Hopefully they will all be in TS in one day.

You need to delete and readd all of your courses, since it needs to record crseId in db now.

I guess I'm wondering if there are any solutions that would let us preserve old data? Something like adding a check if a course does not have the id and assigning it when this occurs, adding some sort of dummy id, or making a script to update existing data. But also if you think that deleting user data before launch is inevitable then that would be good to know as well.

Using script to update data is the one I'm thinking about. I can add the script later.

@willespencer I added a script that can be run by cd functions && node update-user-data.js. I already used it to update all dev db data.

Looks good! Thanks for writing the script 😄
Do we want to run this on the prod db now as well? Or hold off for a bit?

It's not very meaningful to run it now, since we still need to run it again before another prod release.


utils.py exists in two places

There's a version of utils.py in the root directory and a newer version of utils.py in the DeepPurpose/DeepPurpose directory. Should the one in the root directory be deleted?

yes you are right, i will delete it right away


Add a jenkins job to run a rake task:

That will take content from yaml files in email-campaign-frontend repo and
move it to draft content store using publishing api
The job is configured to run after every push in the repo

modules/govuk_jenkins/templates/jobs/departmental_projects_content_change_to_draft.yaml should be renamed to modules/govuk_jenkins/templates/jobs/departmental_projects_content_change_to_draft.yaml.erb

Changed the names and put in the command.

I have updated this PR to incorporate our new simplified strategy to editing content. We will now draft and publish all in one stroke. This strategy has been approved by Dai.

@Bob I have changed the hostname so it works on all envs, and added newlines.

@alexmuller  No more triggers.

Looks good to me, thanks!


how to use SDK to get LowState during normal robot movement

I want to use the sdk to get the LowState during the remote control of the robot with the built-in controller, but I just tried to find that it doesn't work. Is there another way?

已在群里回复


[Question] Disable every interface interaction

Reading https://github.com/neovim/nvim-lspconfig/issues/662
but how to disable everything?
I want lsp to just be lsp, not to change anything else.
Since interface change is more convenient for me from the other package (CoC)

What in particular do you want to disable? lspconfig is just a tool to help configure language servers that communicate with neovim's lsp client based on a set of rules.

What in particular do you want to disable? lspconfig is just a tool to help configure language servers that communicate with neovim's lsp client based on a set of rules.

staff like this, from a refered issue:
vim.lsp.handlers["textDocument/publishDiagnostics"] = vim.lsp.with(
    vim.lsp.diagnostic.on_publish_diagnostics, {
        virtual_text = false
    }
)

lspconfig is not only a client, it changes my vim experience by default.
I'd rather disable all, and enable what is neccesarry.
But, again, referring to the issue at the initial post - it looks complicated to do this one by one.
Is there any "global" tumbler?

lspconfig is not a client. did you read the readme? these are all configuration of the built-in language server client in neovim/neovim
All lspconfig does is launch a language server for you, neovim/neovim is the one that automatically displays diagnostics.
You should not be using coc.nvim and the built-in client at the same time.

for neovim 0.6.0+，use this config can disable diagnostic
vim.diagnostic.config({
	underline = false,
	virtual_text = false,
	signs = false,
})

for more setting, you can find in neovim docs


How to execute cf push using curl command?

I'm executing cf push command i.e., working fine but i want that cf push command using curl
command:
cf push HelloWorld -b https://github.com/naveensf/bluemix.git -n helloworld -m 256M -c 'node app.js'
i want this command using curl how to do this
And i want cf oauth-token
command using curl for dynamic oauth-token

@naveensf see this story https://www.pivotaltracker.com/story/show/78235856 for all the things a cf push does.  You'd need to account for all in a curl'd push.
It looks like the main issue is you are using an external auth server and you are trying to push with some auth token that is not native to UAA/CF.  Is that right?

I want to push code using node.js to bluemix app deploying for that i am using curl operation pls help me

@naveensf Hi, I am trying to do the same thing with Node.
Take a look my project here:
https://github.com/jabrena/cf-nodejs-client
I am using "cf_nise_installer" as the platform.

See the conversation at https://www.pivotaltracker.com/n/projects/892938/stories/78235856. Please comment / reopen if you feel strongly otherwise.

@jabrena  Hi i am trying https://github.com/jabrena/cf-nodejs-client while running example code it giving error. can u help me on this
Error:
/home/opteamize/Desktop/testing/node_modules/cf-nodejs-client/lib/utils/HttpUtils.js:33
return new Promise(function (resolve, reject) {
^
ReferenceError: Promise is not defined
at HttpUtils.request (/home/opteamize/Desktop/testing/node_modules/cf-nodejs-client/lib/utils/HttpUtils.js:33:16)
at CloudFoundry.getInfo (/home/opteamize/Desktop/testing/node_modules/cf-nodejs-client/lib/model/CloudFoundry.js:36:22)
at Object. (/home/opteamize/Desktop/testing/test.js:12:14)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
at startup (node.js:119:16)
at node.js:935:3


reduce speed of I2C master bus reset routine and release SDA

The I2C master reset has two major issues I have discovered:

The clock rate of the SCL line is at the maximum speed possible (many MHz), which is likely not a valid I2C data rate. In my case, the bus had too much capacitance and also the slave device could not use a clock rate that fast.
The SDA line is driven low during the reset sequence. This is not correct because a stuck/desynced slave will recognise this as an ACK and may continue to hold the bus. Instead, the SDA line should be released before the clocks.

This pull request sets the clock rate to 100kHz (the standard "slow" I2C clock rate) and releases the SDA line during the reset. At this stage, it is not possible to use the clock rate that the user has provided when configuring the I2C port, because this variable is lost when the I2C controller is reset on i2c.c line 582.

Did you find it was necessary to slow it to 100Khz or just enough to overcome capacitive effect?   I think signal should also be Start, 9 clocks, Start, Stop

@jeremyherbert I agree with the speed reduction you propose(I stole it  and added it to my pr #2496), but I think the reset code needs to handle interrupted reads.

@negativekelvin In this case, I needed to slow it down so the chip would be within spec (although at the max frequency, the bus capacitance did prevent the clocks from being generated). It worked at a fair bit above 100kHz, but I think this is out of spec. The other option is to store the user specified clock rate somewhere other than the I2C registers (like a static global) and then use that to compute the correct delay. To be honest, I think that the latter is a better solution, but I didn't want to submit a pull request with new global variables given that I do not know what the rules are around them in this codebase.
@stickbreaker I'm not sure I fully understand the issue with interrupted reads. I just followed the I2C spec which says that if SDA is stuck low, send 9 clocks. Obviously if SDA is stuck low because the ESP32 is holding it low as a GPIO (as is the case at the moment), the clocks won't do anything to release it ;) When performing a read from the slave, according to the I2C spec the NACK will cause the slave to release the line (if it still has the ability to) because it isn't possible to generate a stop without it being released:
Acknowledge signal. The master can then generate either a STOP condition to abort the
transfer, or a repeated START condition to start a new transfer. ```

(section 3.1.6)

If the NACK doesn't allow the master to generate the STOP, then the slave device is probably seriously broken and needs to be hard-reset anyway, so no amount of clocks will help.

@negativekelvin one more thing I realised; it's not possible to generate an initial start condition if the SDA line is stuck low ?
Also I didn't add the stop sequence (and by definition, there also needs to be a start before it, because SDA is high once released). I will add it and squash it into the old commit. I don't really mind  which pull request gets added though, as long as the problem is fixed :)

it's not possible to generate an initial start condition if the SDA line is stuck low ?
You are right but you can still generate the rising clock edge and it shouldn't hurt to try to generate the first start and the second start should work.

@jeremyherbert in my experience with 24LCxx EEPROMS, The NAK will not stop the EEPROM from outputting the next byte when it sees the clock signal.  I wrote the current I2C driver for the Arduino-ESP32 repo, during my testing of I2C bus recovery I discovered these I2C devices would hold the bus forever as long as a STOP or START was not issued. A NAK did not release the bus. When I reset the ESP32 while it was transacting a READ operation, a 9 bit manual stimulation of the SCL pin with SDA high would not cause the EEPROM to release SDA.  The only way to get the 24LCxx EEPROMS to drop out of READ mode was to generate a valid STOP or START.   This behavior also applied to the 9 axis MPU9250.
Before I figured out the need to synchronize with NAK or a 1 bit, I had to power cycle the EEPROM to reliably exit READ mode after a reboot.  This only occurred because the data in my EEPROM had a big block of ZEROS,  and the MPU9250 also had a block of ZEROS in its fifo/registers.  I was testing with READS of 64k-1, so I usually reset the ESP32 while it was in the middle of one of these block reads.
Unless the data being read out happened to end at a 1bit, the existing reset code could not generate a STOP.
If the I2C hardware peripheral was initialized with SDA low, the peripheral would lockup in a BUS_BUSY state and never manipulate SDA and SCL.

@jeremyherbert
If the NACK doesn't allow the master to generate the STOP, then the slave device is probably seriously broken and needs to be hard-reset anyway, so no amount of clocks will help.

Yes, but the reset code needs to synchronize with the NAK to generate the STOP.

@jeremyherbert
The other option is to store the user specified clock rate somewhere other than the I2C registers (like a static global) and then use that to compute the correct delay.

You can regenerate the clock rate by directly reading scl_high_period.period and scl_low_period.period
I do it like this in arduino-esp32:
  uint32_t old_count = (i2c->dev->scl_low_period.period+i2c->dev->scl_high_period.period);
    if(old_count>0) {
        result = APB_CLK_FREQ / old_count;

dev-> is the direct offset into the peripheral register block.
This is the arduino-esp32 code to clear a stuck i2c bus checkLineState()
With my implementation of i2c, I have found it is not necessary to actually generate the STOP.  It is enough just to get SDA and SCL HIGH then start the peripheral.  The peripheral's first action will be to generate a START.
Chuck.

@stickbreaker what you are saying makes sense to me now, thank you. Although that behaviour does appear to violate the I2C standard (I think?) I'm sure there are devices out there which do not meet it.
As far as the scl_high_period, I did try to print those values in-place, but I believe that they are destroyed when the I2C statemachine is reset in i2c.c line 582 as I mentioned earlier. But I could be mistaken in this regard? Maybe there are multiple call sites for this function that I haven't found?

Thanks for contributing this fix, @jeremyherbert . This commit has been cherry-picked with some other I2C fixes and should be merged to master shortly.


feat(api.js): added option to remove line endings on readTextFile

What kind of change does this PR introduce?

[ ] Bugfix
[x] Feature
[ ] Docs
[ ] New Binding issue #___
[ ] Code style update
[ ] Refactor
[ ] Build-related changes
[ ] Other, please describe:

Does this PR introduce a breaking change?

[ ] Yes, and the changes were approved in issue #___
[x] No

Checklist

[ ] When resolving issues, they are referenced in the PR's title (e.g fix: remove a typo, closes #___, #___)
[ ] A change file is added if any packages will require a version bump due to this PR per the instructions in the readme.
[ ] I have added a convincing reason for adding this feature, if necessary

Other information

I don't think I like this tbh, this function should be for reading only, any further manipulation to the content should be done in user-land.

I agree.

thanks @thegame4craft for the PR but I am afraid we can't accept it for the reason I mentioned above.


Docs improvements based on doc review

This isn't fully finished yet, but I figured I might as well make it a draft already! It aims to tackle the points I listed in #184

Should be good to go!


Make Promise and Dataloader thread-safe

Hi @syrusakbary,
This fixes the thread-safety issues in Promise and Dataloader that have been reported by https://github.com/syrusakbary/promise/pull/80, https://github.com/syrusakbary/promise/pull/70 and https://github.com/syrusakbary/promise/issues/68. These are major security issues that are potentially impacting all Graphql servers that run in threaded mode, including all wsgi applications (see reproduction).
1. Promise issue
Currently promise tasks (ie then functions) can be executed on a different thread from the one they were scheduled on. If the tasks rely on any thread-scoped global variables such as Flask's or Django's contexts, the tasks will be executed with incorrect values. For example, a GraphQL viewer field may resolve to the wrong logged-in user and may expose very sensitive informations. You can reproduce the issue by running the test test_promise_thread_safety on master.
2. Dataloader issue
Currently Dataloader batches load calls from different threads on one single thread. While it seems it could be a good idea to globally batch load calls, this currently leads to same hard-to-reproduce concurrency bugs. For example, Dataloader will run all the load promises on the thread that happens to run dispatch_queue_batch, causing the same issue as #1. You can reproduce the issue by running the test test_dataloader_thread_safety on master.
Next steps
It is critical that we release this patch as soon as possible since all GraphQL servers running in threaded-mode are currently impacted (see reproduction).
Even though all the tests pass on this branch, the build is currently failing due to some mypy errors. If you wish to have build errors resolved before merging this, I recommend you first merge https://github.com/syrusakbary/promise/pull/79 since it is very safe to merge and it fixes all those lint issues. I rebased my changes on top of that branch to make sure the build will pass.
Please let me know what I can do to help get this released as fast as possible.
Thanks,
J

@syrusakbary Thanks for merging this. Would you mind releasing a new version on PyPi today? It's critical that we roll out this security patch as soon as possible. Thanks