sql: new multi-region ORM guidance

In general, we encourage DDL to be done outside of ORMs (especially DDL requiring special CRDB only features). The new multi-region features largely are contained to DDL (and the changes to DML are automatic like homing on insert). However, the one area in which it can be a bit tricky is for regional by row tables using the crdb_region column. How should ORMs map this entity as a user-defined ENUM? You can model your data this way from the start, but what about upgrading from a single-region to multi-region? It's likely that this will be mitigated by user-defined columns set as the crdb_region column https://www.cockroachlabs.com/docs/v21.1/set-locality#regional-by-row but we should still provide guidance for each supported ORM.
I think this likely falls into @ericharmeling area given his work with MovR and ORM expertise but @rmloveland should be aware of it and we are both available for support. cc @vy-ton  for awareness

It's likely that this will be mitigated by user-defined columns set as the crdb_region column

One tricky thing about the user-defined column (also a problem with the hidden column) is that those columns still have to be of type crdb_internal_region, which we need to teach an ORM how to understand.

For Hibernate, I followed this tutorial to map to an ENUM type

For SQLAlchemy, it looks like you can just use an ENUM as well, but you need to specify the right parameters to make sure that it's not attempting to use the native postgres ENUM type.
The SQLAlchemy docs suggest it would look something like:
from sqlalchemy.types import Enum

crdb_internal_regions = Enum(regions_list, name='crdb_internal_regions', native_enum=False)

I think the crdb_internal_regions is just implemented as a string enum in cockroach... but I could be wrong? @otan

So here are two general approaches to representing the crdb_internal_region ENUM in an ORM for DML queries:
1. Just use string-typed columns
I have found this approach works fine in SQLAlchemy when reading/writing against a table with an existing crdb_region column:

Add crdb_region to an existing table object as a string-typed column.
Use string literals as crdb_region values in read/write operations.

For example, suppose that you have a single-region table that has just been transformed into a multi-region table. In the absence of an explicit, back-filling computed column for crdb_region, the following function updates the (hidden, auto-generated) crdb_region column values of rows that were inserted before the multi-region transformation was executed:
def update_region(self, table, region, cities):

    def update_region_helper(session, table, region, cities):
        crdb_region = Column('crdb_region', String)
        table.append_column(crdb_region)
        query = table.update().where(column('city').in_(cities)
                                     ).values({crdb_region: region})
        session.execute(query)

    run_transaction(sessionmaker(bind=self.engine),
                    lambda session: update_region_helper(session, table, region, cities))

(I actually used this approach initially for the movr load generator.)
A few things to note about this approach:

I haven't tested it for any other ORM. I don't see why it wouldn't work with other ORMs, as crdb_internal_region is a string enum, but I could be naive in assuming that.
There is no client-side string validation with an approach this simple. But CRDB validates input on the server-side, so we could just recommend some exception handling for SQL errors.... or we could recommend implementing string validation (which honestly might be more work than doing the 2 approach).

2. Create an enum type, and then use that type for the column
This is the more involved (probably more correct?) approach that I suggested above:

Create an ENUM type (using the ORM/language type library) of name crdb_internal_region, with enumerated values for each of the existing regions.
Create a new column of the new ENUM type, and add it to the table object after the multi-region transformation.

For example (the same scenario as above):
def update_region(self, table, region, cities):

    region_list = self.get_regions()
    region_enum = Enum(*region_list, name='crdb_internal_region', create_type=False, native_enum=False)

    def update_region_helper(session, table, region, cities):
        crdb_region = Column('crdb_region', region_enum)
        table.append_column(crdb_region)
        query = table.update().where(column('city').in_(cities)
                                     ).values({crdb_region: region})
        session.execute(query)

    run_transaction(sessionmaker(bind=self.engine),
                    lambda session: update_region_helper(session, table, region, cities))

This also works, but it might not be as straightforward with other ORMs. And it certainly won't look the same, and will depend heavily on the ORM/language's support for ENUM types.
(I have a PR open that implements this approach for movr: https://github.com/cockroachdb/movr/pull/112).

So here are some of my takes:

It would be difficult to maintain ORM-specific guidance for creating custom crdb_region ENUMs in each ORM we support. As a result, we might need to just give some generic recommendations, based on the 2 approach, with SQLAlchemy (and possibly Hibernate and another common ORM) as examples.

We can add a note recommending 1 in the absence of ENUM support in a given framework, or in the event of some unexpected type-compatibility issues.

The 1 and 2 approaches are limited to representing crdb_region columns in DML operations only (i.e., for reading/writing rows). For DDL statements (e.g., when we need to have some client-side ALTER TABLE ... ADD COLUMN crdb_region schema migration), we can only really recommend using raw SQL until we figure out the best schema migration guidance for ORMs. SQLAlchemy, for example, does not support any DDL statements beyond creating/dropping a table. From their docs:

While SQLAlchemy directly supports emitting CREATE and DROP statements for schema constructs, the ability to alter those constructs, usually via the ALTER statement as well as other database-specific constructs, is outside of the scope of SQLAlchemy itself.

So we will have to treat the way we model the crdb_region column differently for DDL statements (much closer to the 2 approach, I assume), and put it in the context of a schema migration tool, as Andy noted above.

Sorry, late to the part!

I think the crdb_internal_regions is just implemented as a string enum in cockroach... but I could be wrong? @otan

yes.

So here are some of my takes

I agree with the approach.

e.g., when we need to have some client-side ALTER TABLE ... ADD COLUMN crdb_region schema migration

indeed, this seems difficult with existing ORMs :\

Wanted to note that Option #2 would be useful as a general developer recipe for mapping ENUM database type to ENUM in a developer's programming language.


implement DomainWithoutResponsesProvider

Overview of the Solution:
We need to implement the DomainWithoutResponsesProvider . This provides domain but without responses. Used to avoid retraining policies when the response text changes.
This figure shows the component's position in the graph.
Input to the component

a Domain

Output:

same Domain but with nuked responses (set to empty list)

Definition of Done:

[ ] Component is implemented and unit tested

@wochinge / @TyDunn Hey, can you please add me as member to the Rasa notion.so?

Hi @Archish27 ,
Unfortunately we can't as this is our company's internal notion workspace.

Ohh cool no worries, so can you let me know where this file should be placed?
Also, what does nuke responses mean?
Should Domain object be empty?

@Archish27 Thanks for your initiative 🙌🏻
This issue is part of an architecture revamp which we are currently undertaking with relatively tight deadlines. I'd suggest that you'd rather take one of the issues from the contributor board.


Offboard: Fixed Wing Position Controller does not output Thrust

Hi there,
Somewhat related to closed issues and merged fixes: #5927, #630, and #6112.
For fixed wing offboard control
(CASE I): fw_pos_control_l1 does not generate thrust setpoints after receiving velocity setpoints in position setpoint triplet topic.
(CASE II): Vehicle does not enter offboard mode or arms after sending separate thrust setpoints
To reproduce

Similar to the offboard example,  send:
(CASE I):

mavros_msgs::PositionTarget target;
    target.header.stamp = ros::Time::now();
    target.coordinate_frame = 8;
    target.type_mask=0b011111000111;
    target.velocity.x=0;
    target.velocity.y=10;
    target.velocity.z=0;
    target.yaw_rate =  0.05;

or,
(CASE II):
    mavros_msgs::Thrust targetthrust;
    targetthrust.header.stamp = ros::Time::now();
    targetthrust.thrust = 0.5;

(CASE I): Fixed wing enters OFFBOARD mode and arms. position_setpoint_triplet topic contains desired velocity.
(CASE II): Fixed wing does not enter OFFBOARD mode and does not arm.

(CASE I): vehicle_attitude_setpoint topic contains different roll & yaw setpoints while in OFFBOARD mode, no thrust setpoint generated
(CASE II): same as in 2.
Expected behavior
Just as for the multicopter Iris and the VTOL, which took off and displayed behavior as expected with this method (with positive velocity.z setpoint).
Is this a bug, or am I doing something wrong?
Log Files
(CASE I) https://review.px4.io/plot_app?log=3dd4e868-a89b-40e2-a886-651c61ba0869
CASE II) https://review.px4.io/plot_app?log=d9769efa-a316-41b7-8cd7-8697eb293604
Thanks!

@troffel1 In case of attitude setpoints, it is now working after #12311 #12149


PS4 Controller is paired with desktop bluetooth but doesn't register with DS4

PS4 Controller is paired with desktop bluetooth but doesn't register with DS4. I have other devices that work successfully from the USB bluetooth adapter. The controller works successfully when I have the controller plugged into the computer via USB. I'm not sure what could be the problem/

Unregister all devices that are on the Bluetooth adapter.
I believe DS4Windows will only pick them up if they are the only thing on the Bluetooth.

uhhhh, that's why my 4th controller does not get recognized, I have a bluetooth keyboard


🐛 Fixed sending multiple support email verification emails

refs https://github.com/TryGhost/Team/issues/1686

When the settings are updated with the members_support_address key present, it would always send a verification email
Root cause is that the service failed to check if the email was changed or not. Due to a bug it always thought the email was changed, triggering the verification flow.
The admin app will always send all the settings keys when changing some other value. This causes a lot of email verification emails.
Added tests and email count checks in tests

Test fail is random, retrying...


Question regarding iBeacon

I have created a beacon through the Beacon Simulator app on android and I am trying to scan this by filtering through the UUID I get for the beacon. Ideally it should show up in the scan but its not! Any idea why?
new ScanSettings.Builder().setCallbackType(ScanSettings.CALLBACK_TYPE_ALL_MATCHES)
            .setScanMode(ScanSettings.SCAN_MODE_LOW_LATENCY)
            .build()

this is my Settings and
new ScanFilter.Builder().setServiceUuid(uuid).build()

is my filter

I have just tested locally and it works as expected here. Maybe your device is not advertising the UUID you expect?

I can see it if I use the android BluetoothScanner though! Which app did you use to simulate the iBeacon, if you dont mind me asking?

I did not used any beacon app. I just scanned a known peripheral that advertises a particular service UUID.

Oh that works. I have it working for everything BUT the ibeacon.

I do not know the iBeacon specification and cannot support you in this matter.
You may try some other library designed for specifically for beacons RxBeacon or may go to stackoverflow for help as this is more of a general usage question.
I am closing this topic as it is not an issue with the library.
Best Regards


Introducing Msg part deletion

This PR introduces a new struct field for the message parts: del. If the del flag is set to true, the msgWriter will ignore this part during the writing process. Additionally, the part has now a Delete method that lets the user mark the part as deleted
This allows middleware to take further control of the Msg and is part of #107.

Codecov Report

Merging #108 (c602ba1) into main (91bfed3) will increase coverage by 0.08%.
The diff coverage is 100.00%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@            Coverage Diff             @@
##             main     #108      +/-   ##
==========================================
+ Coverage   80.66%   80.74%   +0.08%
==========================================
  Files          20       20
  Lines        1836     1844       +8
==========================================
+ Hits         1481     1489       +8
  Misses        257      257
  Partials       98       98

Impacted Files
Coverage Δ

msg.go
86.65% <100.00%> (+0.10%)
:arrow_up:

msgwriter.go
86.14% <100.00%> (+0.06%)
:arrow_up:

part.go
100.00% <100.00%> (ø)

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Volume icons fill incorrectly

When you set the volume icon to filled, the arcs for the sound waves inadvertently fill in like circle sections. I think this can be fixed with a simple fill="none" on both of these arcs, or a ... around the arc paths, but I'm not sure about the process for properly editing and submitting a PR for this fix.
This probably applies to more icons with arcs like this, but it came up for me with volume-2, and volume-off. It It applies in principle to volume-1, but the arc is small enough that the fill doesn't become visible.

Example fixes making it so only the speaker part of the icon gets filled:
volume-2
<svg
  xmlns="http://www.w3.org/2000/svg"
  width="24"
  height="24"
  viewBox="0 0 24 24"
  fill="none"
  stroke="currentColor"
  stroke-width="2"
  stroke-linecap="round"
  stroke-linejoin="round"
>
  <path d="M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z" />
  <g fill="none">
    <path d="M16 9a5 5 0 0 1 0 6" />
    <path d="M19.364 18.364a9 9 0 0 0 0-12.728" />
  </g>
</svg>

volume-1
<svg
  xmlns="http://www.w3.org/2000/svg"
  width="24"
  height="24"
  viewBox="0 0 24 24"
  fill="none"
  stroke="currentColor"
  stroke-width="2"
  stroke-linecap="round"
  stroke-linejoin="round"
>
  <path d="M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z" />
  <path fill="none" d="M16 9a5 5 0 0 1 0 6" />
</svg>

volume-off
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="black" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" >
  <path d="M16 9a5 5 0 0 1 .95 2.293"  />
  <path fill="none" d="M19.364 5.636a9 9 0 0 1 1.889 9.96"  />
  <path d="m2 2 20 20"  />
  <path d="m7 7-.587.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298V11"  />
  <path d="M9.828 4.172A.686.686 0 0 1 11 4.657v.686"  />
</svg>

We do not officially support fills (yet), see #458.


Support enhanced export with dsc config export

Summary of the new feature / enhancement

As an operator generating an exportable configuration from an existing system, I want more control over the generation for my exported configuration document. I want to be able to specify whether specific instances should be passed through to the generated document, even if they don't exist on the current system, are in the incorrect state, or are instances of non-exportable resources.

For example, a user might want to generate a configuration that:

Creates a file instance using the existing contents of a file, even thought the Microsoft/File resource isn't exportable.
Defines a set of registry keys, even though they don't exist on the current system.
Retrieves and enumerates every instance of the Microsoft.IIS/WebServer resource in the output document.

Currently, only the last use case is supported.
Proposed technical implementation details (optional)
Add an export keyword to the resource instance schema that takes an enumeration:

passthru (default for non-exportable resources) - indicates that the instance will be added to the output document exactly as it's defined in the input document.
current - indicates that the instance will be added to the output document using its full current state. In this case, the required properties for the instance are used to get the current state of the instance instead of being ignored.
all (default for exportable resources) - indicates that the any defined properties for the instance will be ignored and every instance of the resource should be exported to the output document.

This would better support generative configuration with less work for the end user. This would also enable reliable deterministic behavior for including any instances in the input document, instead of throwing an error for resources that don't support the export operation.
For non-export operations, the keyword should be ignored.

[!NOTE]
An optional future extension to this model could be supporting the export value as an object that has the kind and properties keywords, where kind maps to the enums above and properties is an array of properties to keep for the output document. I bring this up to write it down somewhere, not to include it in the initial scope for this feature.

Alternative implementation: group resources
Instead of extending the keywords for the configuration, the same functionality could be accomplished by one or more group resources:

A single DSC/Export group resource with properties for each kind of export: passthru, current, and all. Possible later support for filtered.
A collection of DSC.Export/* resources, like DSC.Export/PassThru, one per kind of export.

This implementation might be a good alternative that modularizes the implementation and functionality for exporting away from core DSC, so it can use its own release cadence and be modified without affecting the versioning of DSC itself. I'm not sure whether this ends up being more work to maintain or roughly equivalent, but it does seem like it might be more resilient. I think there could be tradeoffs for UX here, but I haven't considered them deeply.

I was thinking about something related to this for set scenario, but I think it could be used for export as well.  Basically similar to your group resource idea, but instead it's simply a DSC/GetGroup.  So similar to the DSC/AssertionGroup which always runs test, this group would always run get.  In the set scenario, you could use this to set variable values in your config, for example.  In export, you would use this to get specific file or registry values as part of your export.

I think it's probably sensible to have both a DSC/GetGroup and DSC/ExportGroup resource - they have different-enough purposes and requirements. For ExportGroup, we could forbid defining the properties of the listed resource types, or ignore that keyword unless/until we support filtered exports.
For GetGroup, we could define the resource to say "If you don't specify the properties keyword for an instance, it retrieves every instance" or similar, but also allow users to retrieve information for a specific resource if needed.
I think another option is to have a DSC/Export resource that only takes a list of resource types - moves away from having to continuously define a name/type/empty propertyset.

We discussed this in the WG and we could potentially reuse the RetrieveGroup (https://github.com/PowerShell/DSC/issues/268) idea such that a config doc that is used for export would process the RetrieveGroup with get operations (the FileResource example above) and the resulting exported config should be valid to use with set on another system.


Perf fix for ProcessHelper.TerminateProcess

Modified the TerminateProcess API to pass Process as argument instead of Process.Id.
This gives a perf benefit of around 100 milliseconds as we used to get Process object using ProcessId which we already have.

@dotnet-bot test Windows_NT / Release Build


skip the tests in the thirdparty directory

From my PR CI results, it seems like some tests are flakey

From my PR CI results, it seems like some tests are flakey

@yuwenma Do you have a link that I can look at?

From my PR CI results, it seems like some tests are flakey

@yuwenma Do you have a link that I can look at?

It is the go build action on both #3028 and #3044 . Rerun passes.

Aha, fortunately I have another open PR:
https://github.com/GoogleContainerTools/kpt/runs/6120859943?check_suite_focus=true
All three PRs have the same failure on go build

@mengqiy I pasted the flaky test log here https://paste.googleplex.com/6427926082879488 and reran the job.

TestApplier/apply_resource_with_existing_object_belonging_to_different_inventory

It seems this tese case is causing some issue. I found this test case was modified after the version we are using. https://github.com/kubernetes-sigs/cli-utils/commit/7aee3cc6b4031a7149d91cb8c2c5f2a17ad455b5#diff-c1319f0853b5d0fa77470af5ed385b3bd933f6e864978c885e7c745d49ecd021L878

@karlkfi Do you have any insight? If this test case was flaky, and https://github.com/kubernetes-sigs/cli-utils/commit/7aee3cc6b4031a7149d91cb8c2c5f2a17ad455b5#diff-c1319f0853b5d0fa77470af5ed385b3bd933f6e864978c885e7c745d49ecd021L878 helps mitigated it?
Here is an example failure: https://github.com/GoogleContainerTools/kpt/runs/6120096965?check_suite_focus=true#step:4:339

Looks like the test have failed in cli-utils as well: https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_cli-utils/572/cli-utils-presubmit-master/1514747907578793984, so it is probably a bit flaky. But overall the cli-utils tests are mostly passing: https://prow.k8s.io/job-history/gs/kubernetes-jenkins/pr-logs/directory/cli-utils-presubmit-master

This looks like a problem I ran into recently while working on my watcher PR (https://github.com/kubernetes-sigs/cli-utils/pull/572).
The issue is probably that the ApplyTask takes long enough that the objec tis already reconciled before the WaitTask starts, which means the  WaitTask skips the ReconcilePending event and goes strait to the ReconcileSuccessful event.
It occurs to me that cli-utils doesn't have periodic tests on master, so we might not have caught that the test was flaky. On the plus side, the code is probably fine. So you can fix the test or just comment it out.

oh wait... missing Current is different that missing Pending... nevermind what I said... I don't know what the cause it for this.

You might want to change the t.Fatalf to t.Errorf in the expectedStatusEvents check. It's blocking us from seeing the other failures that would help debug.

You might want to change the t.Fatalf to t.Errorf in the expectedStatusEvents check. It's blocking us from seeing the other failures that would help debug, specifically the event list comparison, which would include any error events.

Sure. https://github.com/GoogleContainerTools/kpt/pull/3050

I was able to repro locally once, after trying many times:
$ go test ./thirdparty/cli-utils/... -count 1
E0421 17:46:38.787255  201274 task.go:263] Unknown object UID from ResourceCache (status: InProgress): default_foo_apps_Deployment
E0421 17:46:38.787340  201274 task.go:263] Unknown object UID from ResourceCache (status: InProgress): default_secret__Secret
E0421 17:46:38.799146  201274 task.go:248] Empty object UID from InventoryManager: default_foo_apps_Deployment
E0421 17:46:38.819250  201274 task.go:248] Empty object UID from InventoryManager: default_foo_apps_Deployment
E0421 17:46:38.825111  201274 task.go:263] Unknown object UID from ResourceCache (status: InProgress): default_foo_apps_Deployment
--- FAIL: TestApplier (10.08s)
    --- FAIL: TestApplier/apply_resource_with_existing_object_belonging_to_different_inventory (0.01s)
        applier_test.go:1499: Expected status event not received: &testutil.ExpStatusEvent{Identifier:object.ObjMetadata{Namespace:"default", Name:"foo", GroupKind:schema.GroupKind{Group:"apps", Kind:"Deployment"}}, Status:"Current", Error:error(nil)}
FAIL
FAIL	github.com/GoogleContainerTools/kpt/thirdparty/cli-utils/apply	14.620s

Ahh, i see what the problem is.
The test is sending fake status events for InProgress & Current, but the test is supposed to be erroring in the ApplyTask with an InventoryOverlapError. So in a real life situation, the ApplyTask would never have applied the Deployment and the StatusPoller would never have sent InProgress & Current events for the Deployment, except in some edge cases we're not trying to test here. And even if the StatusPoller did send those events, it would still be a race as to whether the applier exits before receiving them, because the WaitTask is skipped, because the ApplyTask errored.
So the fix is probably to just remove the statusEvents & expectedStatusEvents for this test.

https://github.com/kubernetes-sigs/cli-utils/pull/582

Closing this PR in favor of https://github.com/GoogleContainerTools/kpt/pull/3059.


Fixed the strong type change bug

Fixed the strong type change bug

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


[INLONG-8683][Security] Upgrade org.eclipse.jetty:jetty-server to version 9.4.51.v20230217

Prepare a Pull Request
(Change the title refer to the following example)

Title Example: [INLONG-XYZ][Component] Title of the pull request

(The following XYZ should be replaced by the actual GitHub Issue number)

Fixes #8683

Motivation
Upgrade org.eclipse.jetty:jetty-server Version to avoid the security problems
Modifications
Upgrade org.eclipse.jetty:jetty-server version to 9.4.51.v20230217
Verifying this change
(Please pick either of the following options)

[ ] This change is a trivial rework/code cleanup without any test coverage.

[ ] This change is already covered by existing tests, such as:
(please describe tests)

[ ] This change added tests and can be verified as follows:
(example:)

Added integration tests for end-to-end deployment with large payloads (10MB)
Extended integration test for recovery after broker failure

Documentation

Does this pull request introduce a new feature? (yes / no)
If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)
If a feature is not applicable for documentation, explain why?
If a feature is not documented yet in this PR, please create a follow-up issue for adding the documentation

Please update the related version in the license directory, thanks.


feat(telemetry): add otlp metrics

Add the ability to send metrics using OTLP. Package used https://pkg.go.dev/go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp

Issues found along the way:

https://github.com/open-telemetry/opentelemetry-go/issues/4133
https://github.com/grafana/mimir/issues/7875
https://github.com/grafana/mimir/issues/7272


Constantly updated to 1.385

The mod constantly shows a manifest choice migration dialog and then updates to itself.

Is this still happening in the latest version? I've attempted to fix this by changing how github and the foundry module system tracks the version number.

I can confirm that after attempting to update today my foundry is still telling me 1.385 is the latest (and refuses to update further)

Can this be fixed? @Garsondee


Fix PHP version dependency

This allow to use this lib with php 7.

Thank you for contributing! I'm humbled that someone took interest in this quite old project. :smile:
I bumped the composer.json dependency to ~5.4|~7.0 in the master-branch, but didn't merge your PR since it also contains changed regarding the possible WORK_FAIL-bug. For the future: Create a separate branch for every PR-topic, so they can be accepted separately :)
There is also the problem that currently PHPUnit is not a apart of the dev-requirements and the unit-tests were written against an old version. This leads to test-failures. If you have the time I'd be very thankful for a PR that fixes the tests for  PHP7.1.


Upgrade From 2.6 to 3.0

What is the best way to upgrade from 2.6 to 3.0?
Can I utilize this process -- https://github.com/projectcypress/cypress/wiki/Cypress-3.0.0-Alpha-Upgrade-Instructions ?
Thanks,
Ryan

No, 3.0 contains many breaking changes and any upgrade would likely be very unstable. Please follow the install instructions: https://github.com/projectcypress/cypress/wiki/Cypress-3.0.0-Install-Instructions
Now that the Cypress Alpha/Beta release is over, the upgrade instructions are no longer applicable. I've deleted it to prevent further confusion.

Do I have to have a freshly installed Ubuntu Server to follow the 3.0 install instructions or can I follow them on a server already running Cypress 2.6?

We tested in the install instructions on a fresh server. We have not attempted to update a 2.6 server 3.0 as many of the dependencies require different versions between 2.6 and 3.0


db_utils.download_database produces incompatible files for v3.0.0 and v4.0.0

cool update for the cellphonedb tool and db!
for backwards-compatibility we wanted to use the v3.0.0 and v4.0.0 dbs...
we used db_utils.download_database to download both db versions:
which downloads the following files for v3.0.0
Downloaded complex_input.csv into cellphonedb_databases/v3.0.0
Downloaded gene_input.csv into cellphonedb_databases/v3.0.0
Downloaded gene_input_all.csv into cellphonedb_databases/v3.0.0
Downloaded interaction_input.csv into cellphonedb_databases/v3.0.0
Downloaded protein_input.csv into cellphonedb_databases/v3.0.0
and for 4.0.0
Downloaded complex_input.csv into cellphonedb_databases/v4.0.0
Downloaded gene_input.csv into cellphonedb_databases/v4.0.0
Downloaded gene_input_all.csv into cellphonedb_databases/v4.0.0
Downloaded interaction_input.csv into cellphonedb_databases/v4.0.0
Downloaded protein_input.csv into cellphonedb_databases/v4.0.0
these are incompatible it seems with the analyses functions of CellPhoneDB 4.0
(cpdb_analysis_method.call and cpdb_statistical_analysis_method.call)
first complaint was that cellphonedb.zip is missing, but even after zipping all the files, other files are missing like gene_synonym_to_gene_name or multidata_table.csv
any way to be backwards compatible with old dbs when using https://pypi.org/project/CellphoneDB/4.0.0 ?
thank you

Hi.
We currently do not have DB v4 and v3 in the format required by the latest version of the tool.
You can download the DB v4.0.1 and use the newly added files to build v3 a d v4 db.
Note, that newer versions of the DB contain more columns, hence you will need to add them manuall.y
Check this issue.


Update awssdk:auth, awssdk:core, ... to 2.17.144

Updates

software.amazon.awssdk:auth
software.amazon.awssdk:core
software.amazon.awssdk:regions

from 2.17.141 to 2.17.144.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "software.amazon.awssdk" } ]

labels: library-update, early-semver-patch, semver-spec-patch, commit-count:1

Superseded by #47.


Include preview

Hi!
Thank you for the beautiful action!
It could be very nice to have the preview of the message. Currently, this is the notification:

Maybe we can find a way to set the preview or make it customizable?
thanks!

Thanks @ishepard
Your idea is cool !!!
So, I customized to display the preview of the message.
https://github.com/homoluctus/slatify/blob/master/preview.png

Hi!
Thank you for the beautiful action!
It could be very nice to have the preview of the message. Currently, this is the notification:

Maybe we can find a way to set the preview or make it customizable?
thanks!

@ishepard Thanks!
Your idea is cool !!!
So, I customized to display the preview of the message.

That looks pretty cool! Thanks!


How can I use this extension

Issue description
Hi,
I ve installed this extension on vscode. My question is how can I use it. When I click on a random json file, the text editor that opens is the normal one. Further I can not see this extension on the left bar where my other extensions are.
Could somebody help med ? thanks!
Media & Screenshots
No response
Operating system

OS: [e.g. iOS]:

Browser [e.g. chrome, safari]:

Any other details...

Priority this issue should have
High (immediate attention needed)

I also miss a quick intro on how to use the extension.

I am confused as well. Just downloaded the extension. The editor is the same.

I've found a way to start it. You have to use Command Pallete. Seems to work ok.

Yes, [F1] then search for crack
Once you use it, it will be up top of list.

Merging under #29

Documentation has been added now, thanks for the feedback.


Configuring Egress to allow connections to external SMTP servers

Describe the bug
If I try to send an email from my Spring Boot application, I have the following error :
Mail server connection failed; nested exception is javax.mail.MessagingException: Could not connect to SMTP host: in-v3.mailjet.com, port: 587, response: -1.
Am I missing something in my configuration ? How to allow connections to external SMTP ?
Expected behavior
I should be able to send an email via the mailjet SMTP. If I run my application outside of the cluster, it works fine.
Steps to reproduce the bug

Install Istio with sidecar injector.
Add config to allow connections to mailjet SMTP:

apiVersion: networking.istio.io/v1alpha3
kind: ServiceEntry
metadata:
    name: mailjet
spec:
    hosts:
    - "*.mailjet.com"
    ports:
    - number: 587
      name: tls
      protocol: TLS
    resolution: DNS
---
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
    name: mailjet
spec:
    hosts:
    - "*.mailjet.com"
    tls:
    - match:
      - port: 587
        sni_hosts:
        - "*.mailjet.com"
      route:
      - destination:
          host: "*.mailjet.com"
          port:
            number: 587
        weight: 100

Try to send an email from a container.

Version
Istio version: 1.0.2
k8s version: 1.11.1
Installation
Helm & Tiller
Environment
Rancher 2.1.0 on Debian 9

I also tried with TCP but it does not work either.

Your VirtualService also has a whole tls block.

Yes, I tried to use TCP in the VirtualService as well but no luck.
I finally got it working by replacing "*.mailjet.com" with "in-v3.mailjet.com" in the ServiceEntry. But I don't know why I need to specify the exact host.
apiVersion: networking.istio.io/v1alpha3
kind: ServiceEntry
metadata:
    name: mailjet
spec:
    hosts:
    - "in-v3.mailjet.com"
    ports:
    - number: 587
      name: tls
      protocol: TLS
    resolution: DNS
---
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
    name: mailjet
spec:
    hosts:
    - "*.mailjet.com"
    tls:
    - match:
      - port: 587
        sni_hosts:
        - "*.mailjet.com"
      route:
      - destination:
          host: "*.mailjet.com"
          port:
            number: 587
        weight: 100

Thanks for you help.

This may related
REQUIRED. The hosts associated with the ServiceEntry. Could be a DNS name with wildcard prefix (external services only). DNS names in hosts will be ignored if the application accesses the service over non-HTTP protocols such as mongo/opaque TCP/even HTTPS. In such scenarios, the IP addresses specified in the Addresses field or the port will be used to uniquely identify the destination.

https://preliminary.istio.io/docs/reference/config/istio.networking.v1alpha3/#ServiceEntry


Add RFC about new architecture

This RFC describes how we can change the current architecture to make the Kubewarden stack easier to configure and, at the same time, improve scalability and resiliency.
Rendered link.

I'd like to see an effort estimation before we start with the implementation.

@kkaempf if we decide to go with this approach, we can then split down this RFC into smaller cards and then estimate them individually.
This is definitely something to discuss on Mon, during our planning

@kubewarden/kubewaden-developers I think this ready to be discussed during the next planning meeting. I've incorporated all the feedback you gave to me.
Please take a last look before we do planning on Monday :pray:

I'd like to see an effort estimation before we start with the implementation.

@kkaempf if we decide to go with this approach
Do we have a real alternative ?

@kkaempf I don't think we have a real alternative. We have the one mentioned into the "alternatives" section, but it has long term issues.

Should we go ahead and merge this RFC? I think all of us agree on the design and outcomes of it.

Indeed :).

Merged. Let's move this forward. We can always amend if something is not completely right.


Some URL paths already exists in url_rewrite table and not related

Hi
Maybe not a issue, I get a lot of this info. How do I get around this stuff?
I've already tested and deleted all records on url_rewrite table.... where is this coming from ?
Or do I really have to delete in the admin one by one?
Thanks

[CONSOLE MESSAGES]
Some URL paths already exists in url_rewrite table and not related to Product ID: 4402. Please remove them and execute this command ag
ain. You can find them by following SQL:
SELECT * FROM url_rewrite WHERE store_id=1 AND request_path IN (...

I've the same issue with version 1.4.3, do you have any solution for this yet?

Hello @mesnitu , @saxsax1995
This happens when you have two products with same name - so, url_key and Url Rewrites for this products are the same.
Starting from version 1.5.0 this situation is resolved by adding a number suffix ("url-key-of-product-1") to the second Url Rewrite. For the first product Url Rewrite will be original ("url-key-of-product").
Please update extension.
Best regards,
Oleg Koval


Broken with floats if locale decimal_point is not '.'

OpenXLSX fails when used with locales that use decimal_point other than .. This happens because of checking for hardcoded decimal separator at https://github.com/troldal/OpenXLSX/blob/29034465e569675f1677157b65b8263ccb1452f0/OpenXLSX/sources/XLCellValue.cpp#L249

It’s my understanding that this is by design. If it were by locale, then other locales may see an invalid file format.

OpenXLSX uses locale aware routines elsewhere to format floats. Hence it itself generates invalid formats. Either you consistently obey locale or don't. You can't mix.

I don't think this is the case in the raw data, I believe this is stored in the STYLE, otherwise, if you were to send me a file to test, my tests would fail.

Here are steps to reproduce:

Apply this patch:

index 44d6eee..102b571 100644
--- a/Examples/Demo1.cpp
+++ b/Examples/Demo1.cpp
@@ -7,6 +7,8 @@ using namespace OpenXLSX;

 int main()
 {
+    setlocale(LC_ALL, "");
+
     cout << "********************************************************************************\n";
     cout << "DEMO PROGRAM #01: Basic Usage\n";
     cout << "********************************************************************************\n";

Rebuild
LC_NUMERIC=fi_FI.UTF-8 output/Demo1 (Note: Any locale that has non . decimal_point will do, fi_FI.UTF-8 is just one of them)

Result:
********************************************************************************
DEMO PROGRAM #01: Basic Usage
********************************************************************************
terminate called after throwing an instance of 'OpenXLSX::XLValueTypeError'
  what():  XLCellValue object does not contain the requested type.
Aborted

I see, IMHO, the issue is in PUGI__SNPRINTF is using your locale when setting the data.
The raw data itself should always be “.”

This is a bit messy to fix cleanly on all platforms. On POSIX 2008 conforming system this is somewhat ok, as you can uselocale the C locale and use it with snprintf_l and wcstod_l/strtod_l.
Here are some discussion: https://stackoverflow.com/questions/13919817/how-to-parse-numbers-like-3-14-with-scanf-when-locale-expects-3-14


NvimTree disable filetype do not work

THIS IS NOT A ISSUE IS A SOLUTION FOR A SPECIFIC ONE
Well i use LuaLine and Neovim lasted version in Arch Linux and i dont wanna see the buffer of NvimTree so i tried and search around the wiki and issues but nothing work so there is my solution for people whit the same problem
this work in the filename fmt option so you might need to adapt to the other modules
function ()
  local filename = vim.fn.fnamemodify(vim.api.nvim_buf_get_name(0), ":.")
  if filename == "NvimTree_1" then return "" end
  return filename
end

Bump I can seem to get this working either
        options = {
          disabled_filetypes = {
            statusline = {
              "dashboard",
              "aerial",
              "dapui_.",
              "neo%-tree",
              "NvimTree",
            },
          },
...
        },


Houdini: move houdini client code - Add Settings Category

Changelog Description
Add settings category by implementing a base class.
Additional info
I made a separate PR because I'm not sure if this solution is favored.
Testing notes:

Launch Houdini
Settings should be applied to their corresponding plugins correctly.

ayon+settings://houdini/create
ayon+settings://houdini/publish

Note
This solution worked perfectly with creator plugins because I add settings for each single creator plugin.
Unlike with publish plugins. I faced a lot of warnings because many plugins don't have corresponding settings.
To name a few:
*** WRN: >>> { filter_pyblish_plugins }: [  Couldn't find plugin 'ValidatePrimitiveHierarchyPaths' settings under settings category 'houdini'  ]
*** WRN: >>> { filter_pyblish_plugins }: [  Couldn't find plugin 'SaveCurrentScene' settings under settings category 'houdini'  ]
*** WRN: >>> { filter_pyblish_plugins }: [  Couldn't find plugin 'ExtractOpenGL' settings under settings category 'houdini'  ]
*** WRN: >>> { filter_pyblish_plugins }: [  Couldn't find plugin 'ExtractAlembic' settings under settings category 'houdini'  ]
*** WRN: >>> { filter_pyblish_plugins }: [  Couldn't find plugin 'ExtractBGEO' settings under settings category 'houdini'  ]
*** WRN: >>> { filter_pyblish_plugins }: [  Couldn't find plugin 'ExtractComposite' settings under settings category 'houdini'  ]
*** WRN: >>> { filter_pyblish_plugins }: [  Couldn't find plugin 'ExtractHDA' settings under settings category 'houdini'  ]
*** WRN: >>> { filter_pyblish_plugins }: [  Couldn't find plugin 'ExtractMantraIFD' settings under settings category 'houdini'  ]
*** WRN: >>> { filter_pyblish_plugins }: [  Couldn't find plugin 'ExtractRender' settings under settings category 'houdini'  ]
*** WRN: >>> { filter_pyblish_plugins }: [  Couldn't find plugin 'ExtractUSD' settings under settings category 'houdini'  ]
*** WRN: >>> { filter_pyblish_plugins }: [  Couldn't find plugin 'ExtractUSDLayered' settings under settings category 'houdini'  ]
*** WRN: >>> { filter_pyblish_plugins }: [  Couldn't find plugin 'ExtractAss' settings under settings category 'houdini'  ]
*** WRN: >>> { filter_pyblish_plugins }: [  Couldn't find plugin 'ExtractFBX' settings under settings category 'houdini'  ]
*** WRN: >>> { filter_pyblish_plugins }: [  Couldn't find plugin 'ExtractRedshiftProxy' settings under settings category 'houdini'  ]
*** WRN: >>> { filter_pyblish_plugins }: [  Couldn't find plugin 'ExtractVDBCache' settings under settings category 'houdini'  ]
*** WRN: >>> { filter_pyblish_plugins }: [  Couldn't find plugin 'ExtractActiveViewThumbnail' settings under settings category 'houdini'  ]
*** WRN: >>> { filter_pyblish_plugins }: [  Couldn't find plugin 'IncrementCurrentFile' settings under settings category 'houdini'  ]


Redirects saga part 3...

Just noticed this still wasn't working (#570, #572) . I misunderstood how the directive worked last time but I'm 99% sure this will fix it
Signed-off-by: maryaB-osr<EMAIL_ADDRESS>

Umm.. I hit squash and merge, and it's definitely merged into master now, but for some reason this didn't close. So I'm just going to close it


Easier Smart Contract Interaction

Inspiration

Wording changes
Send Modal

Change "Send custom transaction" to "Contract interaction"
Use same "<>" icon as used in the transaction list.

Contract interaction modal
Change title from "Send custom transactions" to "Contract interaction"

Transaction list

Change "Custom transaction" to "Contract interaction"

ABI encoding
Contract interaction initiation

Paste Smart contract address
If possible, retreive ABI from https://etherscan.io/apis#contracts, if not possible require user to paste ABI
Show dropdown with methods (user selects method)
Show input fields for parameter values (user enteres values)
Button "Review"

Review Screen

Show selected method and parameters
Show encoded payload (data hex encoded)

notes:

We will need a design for this.
We assume that we have to validate every input type in the UI, before submitting it.
For the list of methods provided by the ABI, shall we just keep/list only those who create a transaction (.send())?

During our user interviews, some users mentioned, they would also like to have a way to paste a simple function signature instead of the entire abi to call a function. This would then open input fields for the respective params and encode the tx correctly.
i.e. input something like execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)

any ETA for this?
this was possible in the old multisig, but not in the new one (yet)
is there a reason for this feature not being in by default? thanks

This should be implemented within the next 4-5 weeks.
There is already a way to do contract interactions in the Safe Multisig, but the ABI encoding has to be done externally (e.g. MyCrypto). There is no good reason this was not implemented earlier, besides other things being prioritized higher. But now it‘s at the top of the priority list, so as soon as our dev team has capacity, we‘ll take this on.


isConnected return true if I am with data

Hi, I'm using my physical phone to run my app.

That's my code and when I've internet by Wifi it return true (everything fine) but then I turn off wifi and turn on data (I don't have internet with data by the way) it still return true.
Also if I've turn off Wifi and Data it return false (as it should be and it's fine).

Double check the documentation here:
https://github.com/react-native-community/react-native-netinfo#netinfostate
You likely want to use isInternetReachable. isConnected just means there is an active connection to a network, not that it is able to access the internet.


How to remove white margin when highlight element?

The white margin on the highlighted element causes visual inconsistency in my case, how to remove it?

Set the padding option to zero when creating the Driver:
new Driver( { padding:0 } );


xl_prev handling

pg_waldump and presumably postgres wal reader expect to see correct xl_prev in xlog record.
And we don't set it in WAL generated at compute node start.
The simplest way to deal with it is to simply disable the check.

@alubennikova  - this item was put in the done category during the milestone v0.2 planning session on 2021-07-30. I'm closing out. Please re-open if I am mistaken.


Updated UI as per the new design

Fixes #406
Design: https://www.figma.com/file/Ebh2R78Ia9FEVpC4tw6d3N/03-Layouts?node-id=1114%3A2422
Description

Changed: Updated the editor UI as per the new design.

Checklist

[x] ~I have made corresponding changes to the documentation.~
[x] ~I have added the necessary label (patch/minor/major - If package publish is required).~

Reviewers
@karthiknmenon _a please review: https://vimeo.com/761838157/80c32765bc

All the revamp PRs will be merged to v1.0.0 branch.

I am merging this. We'll review once again when the v1.0.0 branch is merged with the main branch.


[Docs][Specifications] Is this intentional or a typo?

Describe the bug, including details regarding any error messages, version, and platform.
The document for Device Stream Interface shows the heading at Level 1, but it is not included in Section Navigation.
Is this intentional? If it's intentional, shouldn't the heading level for this content be Level 2? If it's not intentional, is it okay to adjust it to be positioned independently between The Arrow C Device data interface and Arrow Flight RPC?

Specifications
Device Stream Interface

Component(s)
Documentation

I think that we should use level 2 for "Device Stream Interface" and sub sections in it or use separated page like https://arrow.apache.org/docs/format/CDataInterface.html and https://arrow.apache.org/docs/format/CStreamInterface.html .
@zeroshade What do you think about this?

Hmm, I think I agree that it would make sense for "Device Stream Interface" to use level 2 as it is technically a sub-level to the regular C Data Interface itself. I don't think it would be beneficial for them to be separate pages


Broken multiple tag push

When pushing multiple tags, layers which exist in multiple tags get excluded after the first tag is pushed.
Caused by layersSeen not being reset for each tag push.
https://github.com/docker/docker/commit/810d3b2642d4a82dc186d6eff8c2e487ee624bc5

Hi!
Please read this important information about creating issues.
If you are reporting a new issue, make sure that we do not have any duplicates already open. You can ensure this by searching the issue list for this repository. If there is a duplicate, please close your issue and add a comment to the existing issue instead.
If you suspect your issue is a bug, please edit your issue description to include the BUG REPORT INFORMATION shown below. If you fail to provide this information within 7 days, we cannot debug your issue and will close it. We will, however, reopen it if you later provide the information.
This is an automated, informational response.
Thank you.
For more information about reporting issues, see https://github.com/docker/docker/blob/master/CONTRIBUTING.md#reporting-other-issues

BUG REPORT INFORMATION
Use the commands below to provide key information from your environment:
docker version:
docker info:
uname -a:
Provide additional environment details (AWS, VirtualBox, physical, etc.):
List the steps to reproduce the issue:
1.
2.
3.
Describe the results you received:
Describe the results you expected:
Provide additional info you think is important:
----------END REPORT ---------
#ENEEDMOREINFO


Hide empty facets?

E.g., here:

It’s relatively easy to do this for marks, but it’ll be a little more work to do it for grid lines.

Fixed in #516.


Github action upgrade to Java-21

I changed the project to be more compatible with Java-21 on Github action.

Hi @aminnasiri thank you for your contribution! I think there is some overlap with changes done by @jdubois, could you please check? Thanks!

Hi @aminnasiri thank you for your contribution! I think there is some overlap with changes done by @jdubois, could you please check? Thanks!

Then I will close this one.


HLS - support manifest with several #EXT-X-MAP tags

Have you read the FAQ and checked for duplicate open issues?
Yes
Is your feature request related to a problem? Please describe.
All our content has program segments and each program segment starts with a different init file. One of the primary reason to have multiple EXT-X-MAP tags.
Describe the solution you'd like

Describe alternatives you've considered
Dash version does work but won't be able to use dash manifest in our workflows.
Additional context
Will send sample streams with multiple #EXT-X-MAP tags via email.

This isn't about having multiple EXT-X-MAP tags, but because you use EXT-X-DISCONTINUITY, which we don't support.  See #1335.

Hello @ppatlolla-turner ,
I tested with your sample file, however it looks like it doesn't have multiple EXT-X-MAP tags, and I didn't see any error message. Could you please send us another file that has multiple EXT-X-MAP tags? Thanks!

Are you testing HLS version or DASH version? DASH should work fine.
There should be 6 EXT-X-MAP tags.
#EXT-X-MAP:URI="_169610_0_0.mp4"
#EXT-X-MAP:URI="_169610_0_1.mp4"
#EXT-X-MAP:URI="_169610_0_2.mp4"
#EXT-X-MAP:URI="_169610_0_3.mp4"
#EXT-X-MAP:URI="_169610_0_4.mp4"
#EXT-X-MAP:URI="_169610_0_5.mp4"

Got it. Thanks!

This will be fixed as part of our discontinuity work.

Hello @ppatlolla-turner ,
This code change is on our latest nightly build https://nightly-dot-shaka-player-demo.appspot.com/ .
However, we're seeing "Shaka Error DRM.LICENSE_REQUEST_FAILED" error on our demo app.
Could you please test again with your manifest, and let us know if it works?
Thank you!

I was able to play the stream sent via the above player.
I guess you are not copying the license url correctly.
The license url should not have "https://urldefense.*".
Don't copy the url's using right click.  Copy the content of the email into a text file and then fetch the url's.

Hi @michellezhuogg
I was able to play the multi_init segment stream using the above player.
Just emailed the url's in a text file. Please try and confirm.
If it still doesn't work I need to check if geo-location is turned on. Are you checking form outside US?
Thanks

Sorry I was too fast. Stream wouldn't continue playing after the first program segment.
Earlier playback wouldn't even start.
Thanks

Thank you! Will look into that.

Yes it continues it play after 3:25 but only after a long period off buffering.


Adding GitLab Runner Integration

Checklist
GitHub

[X] I've given this PR a concise, self-descriptive, and meaningful title
[ ] I've linked relevant issues in the PR body
[X] I've applied the relevant labels to this PR
[X] I've assigned a reviewer

PR contents

[X] I've consulted ivadomed's internal developer documentation to ensure my contribution is in line with any relevant design decisions
[X] I've added relevant tests for my contribution
[ ] I've updated the relevant documentation for my changes, including argparse descriptions, docstrings, and ReadTheDocs tutorial pages

Description

This PR provides an experimental hook to run GPU runner to validate unit tests.
Currently, many unit tests from GitHub Actions are running using CPU runner and unable to validate GPU based unit tests. This ensure that the unit test are also occasionally manually triggered to run on GitLab GPU runner when we need a GPU validation.
Linked issues

None.

Hiya @dyt811, thanks again for doing this legwork.
To get us on the same page, here's an archive of the job.log from the most recent run.
I'm just going to focus on .gitlab-ci.yml; there's other changes in this PR but I think they seem to be from other work-in-progress branches?

Yup. there were a few other clean up required to get things going. Going to remove those.

I would like to see what the server side (i.e. your laptop) part of this looks like. This should include documentation, or at least links to documentation, on what you did to get it set up and authorized; did you need to grant special permission to the runner to access the GPUs?

Sure thing. So the documentation to setup/register gitlab runner is shown here: https://docs.gitlab.com/runner/install/. I was on Windows, so no special permission was needed. No special GPU installation was done. I made sure system has python installed and obviously driver as well.

The results this produces aren't accessible to most of the team, much less integrated in an easy workflow for those who do have access. The people it is available to will need to make Gitlab accounts and be granted access to the Gitlab repo, which is a pain point -- I've been working on trying to make less credentials people need to have to work with us, not more.

GitLab has GitHub federation/login but I would probably recommend something more like okta or jumpcloud if this is a scalability issue. Might be an overkill though but I agree, access is not that straight forward unless we open the repo up... which MIGHT be a possibility (so people can at least check the GPU run logs).

The big thing that stopped me in my tracks when I tried with the GitHub runner was the lack of isolation: neuropoly/computers#202 (comment). Running code injected from Github on your local machine isn't very safe; and even ignoring the Getting Hacked angle, it's just not very reliable because each run has access to the same state; in my experiments, it kept reinstalling torch+cpu partly(?) because it was discovering a preexisting venv and reusing it; and even barring that, it was reusing ~/.pip/cache and potentially anything else in ~/ or even / or /tmp. I can see that however this was set up, it's also not isolated:

Agree. There are many ways to secure the runner instance (https://docs.gitlab.com/runner/security/). I didn't bother with any of them because currently only neuropoly team can trigger GitLab builds. The current build script will only be triggered by those who push (not PR) to a specific branch. This means whoever has WRITE/CONTRIBUTOR access to the neuropoly are the only persons that can trigger it or modify the GitLab CI rules. This is probably not the best security but it is the best I can come up so far. So, the next step if this is valid, is to open the repo up so it does not require login to view/change.  Then anyone can view the test run results.

https://gitlab.com/ivadomed/ivadomed/-/jobs/1718264355#L13
**Reinitialized existing Git repository in C:/gitlab_runner/builds/excFTKj_/0/ivadomed/ivadomed/.git/**

https://gitlab.com/ivadomed/ivadomed/-/jobs/1718264355#L33
$ pwd
Python 3.9.7
Path
----
C:\gitlab_runner\builds\excFTKj_\0\ivadomed\ivadomed

It can see your C:\> which means it can, maliciously or accidentally, mix up, corrupt, or cross-reference anything on your disk.

Yup. Absolutely. IF we ever allow any one to trigger CI in the first place, probably very little we can restrict them. Kind of the same reason why GitLab doc mention shell access is only for trusted contributors.

You used venv to address ths, but venv only partly does: venv's stack on top of your base python install in c:\program files\python39\lib\site-packages, e.g. here's a venv I'm working in:

(.venv) [kousu@requiem neuropoly-docs]$ python3 -c 'import sys; print(sys.path)'
['', '/usr/lib/python39.zip', '/usr/lib/python3.9', '/usr/lib/python3.9/lib-dynload', '/home/kousu/src/neuropoly/website/neuropoly-docs/.venv/lib/python3.9/site-packages', '/home/kousu/src/neuropoly/website/neuropoly-docs']

notice that /usr/lib/python3.9 is there. And plus on Windows it's easy for you or even a test run to accidentally or on purpose install things into c:\program files\python39\lib\site-packages without permission, which will garble any future runs.... because the whole thing isn't fully isolated.

Agreed. No venv can be perfectly safe. Anyone can install pretty much whatever they wanted in system python. The alternative is via local docker running but GPU access is a pain. OR ask CI script to setup python somehow which against, also kind of a major PITA too do. Blind trust...that whoever can run CI already is verified and trusted.

And tangentially to that, it's unfortunate for the lab that this is based on infrastructure you own. Putting this in would make us dependent on you being available to sysadmin it, and continuing to be willing to donate your GPU time to the cause. It doesn't seem very organizationally sustainable to me. At least putting CI on romane or rosenberg would mean the lab can maintain it no matter who is involved into the future.

I believe this proof of concept will actually save me more dev time than anything else. Also as a POC, assuming it is secured at CI trigger source is sufficient (which I have not anticipated all attack vectors), it is translatable to any GPU hosts that can be online.

@taowa suggested looking more deeply into cloud rental options. The big advantage there is all the cloud options already have isolation built in, since it's necessary for them to be renting out fractions of their infra in the first place. AWS and DO and OVH and Linode all have on-demand APIs to get a fresh VM with GPUs attached. Probably others too. @jcohenadad gave @taowa some leeway to spend on AWS to see if that approach will work (neuropoly/computers#202 (comment)) and I think we should be focusing in that direction. Github even recommends (https://docs.github.com/en/actions/hosting-your-own-runners/autoscaling-with-self-hosted-runners#recommended-autoscaling-solutions) AWS + https://github.com/philips-labs/terraform-aws-github-runner to do just this, and if we go that route then we'll have feedback built right in alongside the rest of the Github ecosystem that we're invested in...

Fully agree. When we get those GPU VMs up, I think we are going to solve a lot of dev, training and testing problems the students have with resources.

So, I hope you don't feel like this was a waste of your time. Hopefully you learned something interesting along the way. I learned that the Gitlab Runner isn't by default any safer than the Github Runner, which is sort of surprising to me about both of them.

Not at all. Actually, I was applying what I learned at another contract here to leverage GPU runners. Most CI runners are Docker contained for safety reasons and ease of disposal. GPU docker/containers are true bleeding edge PITA to play with and this POC was the quickest path to bring a GPU runner online to achieve what I needed.

btw, python -V and pip -V don't seem to do anything on your system? https://gitlab.com/ivadomed/ivadomed/-/jobs/1718264355#L38
$ python -V
$ pip -V

That is really strange. I need to dig into it. Sus... of powershell windows.

btw do you know that docker isn't a very good security method? You can use https://docs.docker.com/engine/security/rootless/ to help lock it down, or try running containers with --cap-drop=ALL, but none of that is on by default, and lots of containers don't work when locked down.
This is old but the official docker docs still link to it: https://medium.com/@ewindisch/on-the-security-of-containers-2c60ffe25a9e

The loose separation between containers is not a bug, but an asset.

In summary, docker is closer to virtualenv than it is to VMs. And even VMs aren't totally isolated (e.g. rowhammer), which is why you have to be careful when executing remote code submitted through Github.

I believe this proof of concept will actually save me more dev time than anything else. Also as a POC, assuming it is secured at CI trigger source is sufficient (which I have not anticipated all attack vectors), it is translatable to any GPU hosts that can be online.

@taowa suggested looking more deeply into cloud rental options.

Fully agree. When we get those GPU VMs up, I think we are going to solve a lot of dev, training and testing problems the students have with resources.

I'm not really in favour of merging this into mainline. If it's useful to you as a PoC and to keep logs for your own testing then how about this: move https://gitlab.com/ivadomed/ivadomed to https://gitlab.com/yang.ding1/ivadomed, keep your branch there and then you can run your CI tests from there? But delete the branch of the Github fork.


Add outline for Button

It would be a good supplement if we can add outline for Button

https://github.com/Pure-UI/pure/commit/25f58eac23f07357fdd50cb0cb13c80d25d21604


must set  query-log-enabled = true when want to log slow query only.

Bug report
Influxdb version = 1.3.5
I must set 'query-log-enabled = true' when I want to log slow query.
when I configure the influxdb.conf below:
influxdb.conf
[data]
...
query-log-enabled = false
[coordinator]
query-timeout = "60s"
log-queries-after = "10ms"
The result is that influxdb didn't ouput log about any query.
Then I set query-log-enabled = true, I can see all query log including 'slow query log'.
I think it is not reasonable. May be have any better workaround to  log slow query only?

Guess that a doc notice for log-queries-after will be enough to workaround this issue in many cases.

@dgnorton could you maybe reopen the issue? Is there a way to log the slow queries, without logging all queries? If not, then I believe this is still a valid issue.

@jimis did you try setting log-queries-after?  https://docs.influxdata.com/influxdb/v1.7/troubleshooting/query_management/#log-queries-after

Yes of course, I have set it to log-queries-after = 1s together with query-log-enabled = false. It's not clear from the page you linked, if that combination works. I assumed it doesn't after finding this bug report.

This is apparently still an issue in version 1.9.3. Will there be a fix?


General header for table

I often times have the use case to fuzzy search a table without considering which column can have which value.
The dummy enterprise user actually does not care in which cell he can find a specific value. I would really improve this workflow by providing a general searchbox (most likely included in some header component).
Also for example showing/hiding columns is a feature often times requested at a central place in the table which would then also be included in this header. Possibly more possibilities open up when it's possible to include further elements.

@lukasbash Hello, regarding

Also for example showing/hiding columns is a feature often times requested at a central place in the table which would then also be included in this header.

This feature is available starting from version v7.3 here
Regarding the search feature, can you provide us with more information? Because technically, you can already create an InputText and filter the data. Would you like something that is already done, if I understood correctly? Would you also like to highlight the searched data in the respective cell?

@gfazioli Thank you for pointing out the feature. Almost exactly what I wanted to describe, with just one crucial difference to my description in the initial issue.
In fact, all the examples have a "Reset columns" button/toggle to get back all the columns. To reset/keep track of this state we - as users of this library - would have to somehow construct our own container with the table and other elements like filters and more.
A lot of tables provide a general header for this, what was my actual intention in this issue. I tried to visualize this need with the first react table with a header I found online:

Regarding the search feature, can you provide us with more information? Because technically, you can already create an InputText and filter the data. Would you like something that is already done, if I understood correctly?
I did not even mean to request some search logic inside the table, just the general header row so that I could render my own search field component from whatever library I want to use.

Would you also like to highlight the searched data in the respective cell?
Actually this would be a really awesome feature. Maybe to keep it simple, does it make sense to provide a property on the table component like highlightText or similar, and it automatically highlights the text contents of a cell (if not provided with a custom renderer)?

Thank you for the response!


[New game]: Dinosaur game ( chrome's one )

🎮 Game Request
We all have played this many times whenever our network was down and this is google chrome's very own dinosaur game
Where we have Dinosaur which will be moving and has only one control which is to jump. Dinosaur just has to before it collides with cactus plants and gets saved from flying creatures.
I thought it would be great to have this game in this repo.
Point down the features
You can only jump to a particular distance, you have to jump at the correct time to get saved from cactus plants and flying creatures. On moving forward speed will increase and it'll become difficult to jump

Select program in which you are contributing
GSSoC23
Code of Conduct

[X] I follow CONTRIBUTING GUIDELINE of this project.

Hey @Bhuvanchand26 , You can't have another issue before completing the previous one 😀
you already have the following 1 open issues 👀 ! :
#1850

Hey @Bhuvanchand26 ! Thank you so much for your raising the issue💗
It’s all yours, you can come anytime again and make some contributions! 🚀
Alone, we can do little, but together we can do so much! 😇

Hey @Bhuvanchand26 !
Thank you for raising an issue 💗
You can self assign the issue by commenting /assign in comment 😀
Make sure you follow CODE OF CONDUCT and CONTRIBUTING GUIDELINES 🚀
Don’t Forget to ⭐ our GameZone🎮
Make sure you join our Discord🕹

/assign


A metric that just launch an attack and return the success rate (or the model accuracy).

Adding a simple alias to repeated code that launch an attack and returns the success rate into https://github.com/Trusted-AI/adversarial-robustness-toolbox/blob/main/art/metrics/metrics.py can be useful.
It can be as simple as the following.
def empirical_robustness(
    classifier: "CLASSIFIER_TYPE",
    x: np.ndarray,
    attack_name: str,
    attack_params: Optional[Dict[str, Any]] = None,
) -> float:
    crafter = get_crafter(classifier, attack_name, attack_params)
    crafter.set_params(**{"minimal": True})
    adv_x = crafter.generate(x)

    # Predict the labels for adversarial examples
    y = classifier.predict(x)
    y_pred = classifier.predict(adv_x)

    idxs = np.argmax(y_pred, axis=1) != np.argmax(y, axis=1)
    return np.sum(idxs) / len(y)

This can make it explicit to use an attack to "measure" the robustness for attack-based testing.

Hi @TS-Lee I think this could be very useful. I would suggest to call it adversarial_accuracy instead of empirical_robustness.

Sure. I forgot to delete/change the function name when I copied and pasted the empirical_robustness code.


[update]add target kind in experiments/detail

Signed-off-by: “fewdan”<EMAIL_ADDRESS>What problem does this PR solve?
add target kind in experiments/detail
What is changed and how does it work?
add target kind in experiments/detail
Check List

Tests

No code

Code changes

Has Go code change

Side effects

NO

Related changes

NO

Does this PR introduce a user-facing change?

NONE

Codecov Report

Merging #703 into master will decrease coverage by 1.29%.
The diff coverage is 36.12%.

@@            Coverage Diff             @@
##           master     #703      +/-   ##
==========================================
- Coverage   55.78%   54.49%   -1.30%
==========================================
  Files          68       69       +1
  Lines        4383     4652     +269
==========================================
+ Hits         2445     2535      +90
- Misses       1768     1927     +159
- Partials      170      190      +20

Impacted Files
Coverage Δ

api/v1alpha1/networkchaos_types.go
22.98% <ø> (ø)

api/v1alpha1/podchaos_types.go
37.14% <ø> (ø)

controllers/networkchaos/netem/utils.go
0.00% <0.00%> (ø)

pkg/chaosdaemon/netlink_linux.go
0.00% <0.00%> (ø)

pkg/chaosdaemon/stress_server_linux.go
0.00% <0.00%> (ø)

pkg/chaosdaemon/tc_linux.go
42.85% <0.00%> (ø)

pkg/utils/chaosdaemon.go
51.21% <0.00%> (ø)

pkg/utils/grpc.go
0.00% <0.00%> (ø)

pkg/webhook/inject/inject.go
73.49% <0.00%> (-0.68%)
:arrow_down:

pkg/chaosdaemon/util.go
72.48% <9.09%> (-10.60%)
:arrow_down:

... and 16 more

Continue to review full report at Codecov.

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

/merge


Use user-preferred language in labels

All map labels now use the name:* field corresponding to the user’s preferred language if available, falling back to the user’s second preferred language and so on. If none of the preferred languages is available, labels fall back to the local language. English is no longer hard-coded.
Spanish and Traditional Chinese, falling back to the local language:

Working towards #20.

How does this work? Is it based on a user's web browser settings?

Awesome...

I seem to recall that it was once possible for navigator.languages to be empty, but both chrome and firefox appear to default to en-us when I set their respective preference to empty string, so defensive coding there isn't needed.

I seem to recall that it was once possible for navigator.languages to be empty, but both chrome and firefox appear to default to en-us when I set their respective preference to empty string, so defensive coding there isn't needed.

This is actually for Node, which doesn’t support navigator.languages yet.

I seem to recall that it was once possible for navigator.languages to be empty, but both chrome and firefox appear to default to en-us when I set their respective preference to empty string, so defensive coding there isn't needed.

This is actually for Node, which doesn’t support navigator.languages yet.

Node.js doesn't have navigator at all, not sure what you mean here.

Oh, right…

I brought the transportation_label layers under the new localized label system as well. However, due to openmaptiles/openmaptiles#769, roads can only be in English, German, or the local language.

How do we make this change happen? I'm not seeing any place in the main map https://zelonewolf.github.io/openstreetmap-americana to change language

See the instructions on the readme.

#622 implemented a control in the lower-right corner to set the map’s language independently of your browser settings, so you no longer need to know the ISO 639 code of the language you want to see.
Find out more about Americana’s label localization and its use cases in this OSMUS blog post.


Unable to launch the Roku tv app using Appium 2.0 Roku driver

Hi Team,
Unable to launch the Roku tv app using Appium 2.0 with below capabilities. Planning to automation the Roku TV app using appium with java language. Tried with Appium desktop / Script as well.
Could you please help me to resolve the Roku Tv issue
{
"appium:rokuUser": "rokudev",
"appium:rokuPass": 1111,
"appium: rokuHost": "<IP_ADDRESS>",
"appium:rokuEcpPort": 8060,
"platformName": "Roku",
"appium:automationName": "Roku",
"appium:rokuHeaderHost": "<IP_ADDRESS>",
"appium:rokuWebPort": 80,
"appium:platformVersion": "11",
"appium:app": "dev"
}

Appium server is running on <IP_ADDRESS> and port is 4723

This is expected. The Roku driver requires Appium 2. Please follow the installation instructions in the README.

Hi Sir,
i am using Appium 2.0 and Java 11.
using above capabilities and trying to launch the App in Roku using Appium desktop (version: 1.22).
But no luck app is not launching and Roku logs are not showing in Appium server.
Could you help me to reslove the issue.

Hi Sir, i am using Appium 2.0 and Java 11. using above capabilities and trying to launch the App in Roku using Appium desktop (version: 1.22). But no luck app is not launching and Roku logs are not showing in Appium server. Could you help me to reslove the issue.


[string] Wean off of non-String-API.

String._fromCodeUnits is about to disappear; use already existing
String.init calls instead.

@swift-ci please test linux platform

@phausler who is the right person to review this change?

@itaiferber can you review?

@swift-ci please test

@swift-ci please test


Data Pipeline improvements

Improve data pipelines for all tasks available.
Use only albumentations augmentations as default. Reason : https://github.com/albumentations-team/albumentations/issues/765

Added in #148


Notes editor

Improvements to the "notes" editor in PUI.
Ref: https://github.com/inventree/InvenTree/issues/7973

Is this a fix for the notes editor errors?